Commit Graph
470 Commits
Author SHA1 Message Date
Steve Checkoway 99c41cde08 Cleanup registered threads. 2005-12-20 03:20:31 +00:00
Glenn Maynard dcfff261ed use RageThreadRegister. These should be freed properly, so things still work if the driver is recreated for some reason. There may be no guarantee that the same thread will always call the I/O callback--it may recreate the thread on overload, for example ... 2005-12-19 02:06:56 +00:00
Steve Checkoway 510254abb4 Add more property listeners, name the two threads created by the audio HAL. 2005-12-17 13:10:23 +00:00
Steve Checkoway 223c541ecc This stops crashes when headphones are removed. If they're removed during gameplay, the arrows stop scrolling and the receptors stop flashing to the beat. After the hardware reconfigures itself (~.5s), the music resumes.
My guess (which I don't have time to test right now) is that the returned position is reset when the hardware starts back up.
2005-12-15 11:44:46 +00:00
Glenn Maynard 6497ac8f94 style 2005-12-07 03:03:21 +00:00
Glenn Maynard 321931c19a not used 2005-12-07 03:01:23 +00:00
Glenn Maynard b617542b62 cleanup 2005-12-07 03:00:27 +00:00
Glenn Maynard b6ba17a7bb fix busy looping on slower systems, inefficient buffer filling 2005-11-28 17:17:35 +00:00
Glenn Maynard b948f686cc cleanup 2005-11-25 20:38:03 +00:00
Glenn Maynard 9ed3cde95a cleanup 2005-11-25 18:36:44 +00:00
Renaud Lepage 6e6e89276d Fix for Xbox compilation. It was easier with HAVE_FOO, but oh well. 2005-11-16 04:38:28 +00:00
Glenn Maynard 3bbfe9ebc0 Two tests for not filling a buffer:
if( m_iBufferBytesFilled > m_iWriteAhead )

	int iNumBytesEmpty = m_iWriteAhead - m_iBufferBytesFilled;
	if( iNumBytesEmpty < iChunksize )

The latter, manipulated a bit, is actually:

	if( m_iBufferBytesFilled+iChunksize >= m_iWriteAhead )

These do almost the same thing.  This isn't what was intended.  The
former checks whether we *want* to write another buffer (based on our
preferred writeahead).  The latter was meant to check whether it's *possible*
to fit another chunk into the buffer.  It should check against m_iBufferSize,
not m_iWriteAhead.

This fixes writeahead: 4096 means "write if we have less than 4096 frames
buffered", not "write if writing the new chunk would result in still having
less than 4096 frames buffered".  This is important on slower devices, like
USB headsets.
2005-11-10 22:10:05 +00:00
Steve Checkoway 8310140755 Set new arbitrary values with the input handler above the sound decoder. 2005-10-24 11:40:43 +00:00
Steve Checkoway 05201a047c Header cleanup. Use SetThreadPrecedence() and add potential replacement code for GetCurrentTime(). 2005-10-24 11:21:17 +00:00
Steve Checkoway aa0f90feae __MACOSX__ --> MACOSX, keep __MACOSX__ for ogg. 2005-10-24 10:37:56 +00:00
Steve Checkoway 35ad7eb289 Support preferred sample rates and report the latency more correctly. 2005-10-24 08:55:25 +00:00
Steve Checkoway cb229a8774 Remove redundant defines. 2005-10-24 08:17:12 +00:00
Glenn Maynard 539ec6aa5c HAVE_WIN32 -> WINDOWS. HAVE_LINUXKERNEL -> LINUX. If some features originating in Linux work on other systems, then define them specifically (eg. HAVE_LINUX_JOYSTICKS). 2005-10-24 07:22:28 +00:00
Steve Checkoway 532b115aa6 Remove unnecessary. (Funny comment though.) 2005-10-24 06:51:20 +00:00
Glenn Maynard 2791f8f90b remove unneeded
fix use before init
2005-10-24 05:38:04 +00:00
Steve Checkoway a2c1b1443d Cleanup. 2005-10-24 05:28:38 +00:00
Glenn Maynard 06d12e2239 support PREFSMAN->m_iSoundPreferredSampleRate 2005-10-24 02:45:45 +00:00
Glenn Maynard 4bd59b5a7b cleanup 2005-10-24 02:42:56 +00:00
Glenn Maynard 5507c323da cleanup 2005-10-24 02:41:58 +00:00
Glenn Maynard bcf1d288f9 support PREFSMAN->m_iSoundPreferredSampleRate 2005-10-24 02:37:04 +00:00
Glenn Maynard ee5e5dd25a cleanup 2005-10-24 02:28:31 +00:00
Glenn Maynard 74ee22ad04 cleanup 2005-10-24 02:14:43 +00:00
Glenn Maynard 9d32f5e9f5 use PREFSMAN->m_iSoundPreferredSampleRate 2005-10-24 01:21:07 +00:00
Glenn Maynard 9d7ce29cdd report the fake sample rate, so changes to it work 2005-10-23 22:00:23 +00:00
Glenn Maynard 49e8dd1327 cleanup 2005-10-23 21:53:32 +00:00
Glenn Maynard 3044155ce8 fix crash if DirectSoundCreate fails (eg. no sound devices) 2005-10-22 03:10:53 +00:00
Chris Danford e80dcafbdd tracking down volume related assert 2005-10-07 05:29:33 +00:00
Chris Danford 7b345b5c75 make volume changes affect playing sounds 2005-10-02 08:35:46 +00:00
Chris Danford 48ebc53549 return NULL -> return CString() for clarity and efficiency 2005-09-04 16:55:21 +00:00
Glenn Maynard 94abe52637 headers don't include global.h 2005-07-12 04:39:57 +00:00
Glenn Maynard 8661d15ac6 fix includes 2005-06-08 21:21:32 +00:00
Glenn Maynard 9213e57569 style cleanup 2005-06-08 21:19:49 +00:00
Glenn Maynard d9374832cf style 2005-06-04 00:16:27 +00:00
Glenn Maynard f9a3918d37 style 2005-06-03 23:55:04 +00:00
Glenn Maynard 81584d4879 update paths 2005-05-22 03:00:59 +00:00
Glenn Maynard 38b10ca499 one line 2005-05-20 00:18:15 +00:00
Steve Checkoway c0c82a0527 Fix Linux compile. 2005-05-18 02:01:00 +00:00
Glenn Maynard 4e6d716027 GetRedirContents -> GetFileContents 2005-05-17 02:20:43 +00:00
Steve Checkoway 15ce1c2cdd Unused. 2005-05-14 07:39:34 +00:00
Thad Ward 5949e5bc90 (this is possibly going to annoy some people, but..)
put all (obvious) MSVC lines in #if defined(_MSC_VER) blocks, primarilly
to allow alternative win32 compilers to be used.
2005-05-11 04:43:54 +00:00
Steve Checkoway 9b68e25fc8 it is an int 2005-03-26 05:05:24 +00:00
Steve Checkoway 3134764b83 Attempt to support more audio hardware. (I have no way to really test this.) 2005-03-26 02:33:44 +00:00
Steve Checkoway 203caf2ac8 Remove QT1. I do not think it even works any longer. Regardless, it is not needed. 2005-03-23 21:18:01 +00:00
Steve Checkoway 47de0f1783 Yes, Darwin (and OS X) is POSIX, see
http://www.xyroth-enterprises.co.uk/posixos.htm
SDL is used on OS X for some things, but not all.
Use #if defined(...) instead of #ifdef in most of the Selector_*.h files.
2005-03-23 21:15:12 +00:00
Ben Anderson 167e5aebc0 Put all the Make* functions into a single .h/.cpp file (yes, kinda like the way it was), and add Make* functions for DialogDrivers. This means there's only one object that's affected by drivers being added/removed. (Driver default changes are a little different -- 2 or 3 objects.) Also one or two minor cleanups. (note: I apparently don't know much about CVS, it appears that some files might not make it into the repository; hang tight, I'm trying to find a solution.) 2005-03-15 00:30:26 +00:00