Commit Graph
528 Commits
Author SHA1 Message Date
Glenn Maynard 7fecf43f1d update comment 2006-12-13 18:38:07 +00:00
Glenn Maynard 0f76adec67 GetSampleRate(int) -> GetSampleRate(); one sample rate
per driver
2006-12-13 09:13:41 +00:00
Glenn Maynard f75a281c18 GetPosition(pSound) -> GetPosition(); one hardware sound position
per driver
2006-12-13 09:10:08 +00:00
Glenn Maynard fb9639f52c remove RageSoundDriver_DSound (complicated hardware mixer) 2006-12-13 08:58:40 +00:00
Glenn Maynard fae5e9fafa remove RageSoundDriver_ALSA9 (complicated hardware mixer) 2006-12-13 08:56:56 +00:00
Steve Checkoway 06bb8c9582 Use the float interface. 2006-12-11 13:55:05 +00:00
Steve Checkoway 996385f795 All subclasses to get float data. 2006-12-11 13:54:39 +00:00
Chris Danford ad665ee28b fix compile 2006-12-07 07:54:41 +00:00
Glenn Maynard 9be22d5032 define SURROUND masks
for now, use KSAUDIO_SPEAKER_5POINT1 instead of
KSAUDIO_SPEAKER_5POINT1_SURROUND (according
to http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/SpkrConfig5.doc);
maybe try the SURROUND one as a fallback
2006-12-07 07:48:45 +00:00
Glenn Maynard c835b2b01b code style 2006-12-07 07:32:31 +00:00
Glenn Maynard f4c7193c70 RageSound_ -> RageSoundDriver_ 2006-12-07 02:16:51 +00:00
Glenn Maynard 0e8b6ed2e8 simplify; make KSPIN_CONNECT on demand 2006-12-07 02:12:03 +00:00
Glenn Maynard af22cff101 simplify
fix accessing pins > 0
2006-12-06 11:57:01 +00:00
Glenn Maynard 2bd5bffc96 rename 2006-12-06 06:32:48 +00:00
Glenn Maynard 2950767217 filename and driver name are mismatched. Rename to WDMKS and
rename the file.  (I normally don't like renaming files in CVS, but this file
doesn't have history to lose.)
2006-12-06 06:30:49 +00:00
Glenn Maynard 10fa6ceb2e PREFSMAN->m_iSoundPreferredSampleRate == 0 means "do what's right for the hardware". We want a 44.1khz default for most systems, but KS should default to 48khz. 2006-12-06 06:26:24 +00:00
Glenn Maynard 650ece9cec fix weird assignment 2006-12-06 06:22:00 +00:00
Glenn Maynard 75a95323be start playing and prebuffer in the mixing thread 2006-12-06 06:19:57 +00:00
Glenn Maynard 01458632f8 simplify 2006-12-06 06:17:51 +00:00
Glenn Maynard 94b1849a29 assert for bad sample rate 2006-12-06 06:11:49 +00:00
Glenn Maynard 0e40d05762 initial WDM Kernel Streaming driver 2006-12-06 03:56:42 +00:00
Glenn Maynard a0abc1a89e stream frames are 64-bit 2006-11-30 06:41:41 +00:00
Steve Checkoway 73832dfafd Fix comment. 2006-11-28 12:09:51 +00:00
Glenn Maynard 722dca02be cleanup 2006-11-19 18:39:24 +00:00
Steve Checkoway 401514e397 Other arches. Untested. 2006-11-18 20:33:35 +00:00
Steve Checkoway b85a488f89 Move the sound driver out of arch.cpp. 2006-11-18 20:33:27 +00:00
Steve Checkoway 0d10c76e87 Unscatter arch includes. 2006-11-17 18:25:20 +00:00
Steve Checkoway 5f9ee5c5bd Set sample rate of the device, if possible. 2006-11-17 17:37:51 +00:00
Steve Checkoway 1ea6837c02 Header cleanup. 2006-11-17 17:13:39 +00:00
Steve Checkoway e988ea9945 Survive device changes, (external) sample rate changes, etc. 2006-11-17 16:59:22 +00:00
Steve Checkoway 1f79f25240 Fix crash by stopping the audio _on_ the real time thread. This ensures that the current buffer gets played but that it never gets called again. I'm not convinced that the property listeners won't get called but I'm not sure how to handle those sanely just yet, at least in a lockless manner.
This code doesn't handle external format changes very well yet--but then, neither does the other sound driver.
2006-11-12 09:04:14 +00:00
Glenn Maynard e130d73f88 DSERR_BUFFERLOST handling in DSoundBuf::GetPosition 2006-10-04 02:33:20 +00:00
Glenn Maynard 03ce23e9ea ARRAYLEN 2006-09-18 23:27:09 +00:00
Glenn Maynard b77024f3bc include 2006-09-18 22:45:42 +00:00
Glenn Maynard 1f7fe1afd3 include 2006-09-18 22:24:18 +00:00
Glenn Maynard 62c114b49e remove param 2006-08-21 00:20:13 +00:00
Steve Checkoway a07e194cf1 Revert. Fixes Linux build. 2006-07-18 05:51:37 +00:00
Jason Felds 366c3440d4 Fix VC8 macro redef warning. (more to come) 2006-07-18 03:56:37 +00:00
Steve Checkoway b1d08d1f8b This is still a work in progress (although I haven't worked on it in over a month). 2006-07-17 00:44:38 +00:00
Steve Checkoway a2dca95d01 Use native endian. Now Alsa works for powerpc linux. 2006-06-29 03:22:29 +00:00
Steve Checkoway 8d82bdfb82 Do not allocate or deallocate memory in the mixing thread. Doing so can block that thread which is possibly a realtime thread. Distinguish between STOPPED and AVAILABLE. In the STOPPED state, the memory for the sound is still around. It will be deallocated in Update() at which time the state will change to AVAILABLE.
The BUFFERING state is to keep all other threads from accessing the sound while StartMixing() is prebuffering. It corresponds to the old state STOPPED with available set to false.
2006-06-19 06:43:43 +00:00
Steve Checkoway 78d055dfad Beginning of a sound driver that uses AUHAL instead of dealing with the HAL itself. Apple engineers claim it's easier to use (although, I note there's almost zero documentation) and it correctly handles things like device format changing. It currently works, for the most part (on 10.4 and above). 2006-06-18 19:05:40 +00:00
Steve Checkoway 8d9c59287d Handle JackChanged getting called when the device is stopped. 2006-06-18 18:55:48 +00:00
Steve Checkoway 2572b8c5ea That last commit was a bit more than I intended. Oh well. It (and this one) simplify the property listener code and add more listeners. 2006-06-18 09:40:56 +00:00
Steve Checkoway 1f72db5efc Fix parameter order. 2006-06-18 08:28:18 +00:00
Glenn Maynard 3a70b367c0 temporary fix for crash (proper fix will take more time) 2006-06-11 19:07:54 +00:00
Steve Checkoway bc6cf3b9a3 missed commit 2006-05-20 05:37:03 +00:00
Steve Checkoway 76e98bdaf5 More logging, but less noisy logging (log instead of info). 2006-05-19 20:26:25 +00:00
Steve Checkoway 59c663b238 Attempt to handle devices other than the built-in audio correctly. Not tested on anything but the built-in audio. 2006-05-19 08:09:38 +00:00
Steve Checkoway 060b68ff00 Add more logging: Check that the sample rate we just set matches what the device declares as it's sample rate; log if the device's sample rate changes while it's running. 2006-05-17 07:40:54 +00:00