Chris Robinson
91c6bc58dc
Use unnamed events for winmm
2011-07-28 08:16:09 -07:00
Chris Robinson
c722579c18
Make the DSound and MMDevAPI events initially non-signaled
2011-07-24 05:29:43 -07:00
Chris Robinson
1b0a55f44c
Use real-time priority by default on Windows
...
It's actually "time-critical", but it seems normal priority doesn't cope as
well when the system is under moderate load.
2011-07-23 05:44:55 -07:00
Chris Robinson
0c8c3b16d2
Round UpdateSize to the nearest multiple of MMDevAPI's period size
2011-07-21 18:53:15 -07:00
Chris Robinson
3d2812bd35
Reset the MMDevAPI and DSound events before starting playback
2011-07-21 17:04:33 -07:00
Chris Robinson
a0e5cbc47f
Fix DSound UpdateSize calculation when NumUpdates is clamped
2011-07-21 16:53:25 -07:00
Chris Robinson
30750d8763
Create and close the DSound event handle with the device
2011-07-21 03:38:43 -07:00
Chris Robinson
3e4659076a
Use an event to signal the mmdevapi backend to mix
...
Also, use a multiple of the default period size for the update size, since the
event apparently triggers on period boundaries.
2011-07-21 03:32:20 -07:00
Chris Robinson
7cd6327969
Use DSound notifications to wake up the mixer thread
2011-07-21 02:48:09 -07:00
Chris Robinson
77128d298e
Add an option to emulate EAX reverb using standard reverb
2011-07-20 22:53:46 -07:00
Chris Robinson
1e8a379a03
Add a config option to boost reverb output
2011-07-20 22:26:16 -07:00
Chris Robinson
b889823b21
Set real-time priority for the WaveOut backend
2011-07-20 19:59:47 -07:00
Chris Robinson
9723c553b6
Scale reverb output based on the number of channels
...
A scale of sqrt(2/numchannels) is used so the perceived volume matches as if it
was stereo output, which seems to match other implementations.
2011-07-20 19:57:24 -07:00
Chris Robinson
244d60fb96
Slightly improve the gain change delta calculation
2011-07-19 00:43:31 -07:00
Chris Robinson
0ae9638aa5
Add a lost comment
2011-07-18 17:44:37 -07:00
Chris Robinson
55b893c784
Improve buffer metrics when using the MMDevAPI backend
2011-07-17 19:42:03 -07:00
Chris Robinson
c9b6bc848f
Simplify some reverb update calculations
2011-07-17 17:51:13 -07:00
Chris Robinson
f97310c757
Apply the click removal offset first, before decreasing it
2011-07-17 07:23:19 -07:00
Chris Robinson
87b3520d02
Fix GetMovingHrtfCoeffs return type
2011-07-17 07:16:10 -07:00
Chris Robinson
887de0523f
Scale the delay down once for the post-stepping mix loop
2011-07-17 02:34:35 -07:00
Chris Robinson
a7a1f802a8
Invert the device channel map
2011-07-17 01:55:25 -07:00
Chris Robinson
163cc62a00
Add a couple new functions to handle deferred updates
...
Currently no-ops, they will be used in place of alcSuspendContext and
alcProcessContext for batching updates since the mentioned functions have no
coherent functionality between system implementations.
2011-07-16 16:59:20 -07:00
Chris Robinson
5f566ebf05
Fade between HRTF coefficients, to reduce noise from sudden changes
2011-07-16 16:24:01 -07:00
Chris Robinson
1622986467
Fix some format types
2011-07-16 04:21:40 -07:00
Chris Robinson
ce6db53e5f
Apply the slot gain during the effect update method
2011-07-16 03:35:51 -07:00
Chris Robinson
3bd7256dc8
Pass the effect slot to the effect update method
2011-07-16 03:02:16 -07:00
Chris Robinson
da2429a1d0
Allow effect slots to be updated asynchronously
...
Updates when the slot changes effect type is still sychronous, however, to
ensure a proper state for the Process method call. Fixing this would
essentially require all effects to work from the same state.
2011-07-16 02:41:02 -07:00
Chris Robinson
54b5f35125
Warn about HRTF being disabled in the compatibility check function
2011-07-16 00:39:13 -07:00
Chris Robinson
23bfb03d2a
Improve the external HRTF data file format
...
Although more parameters are read from the file, some must currently conform to
specific values. In the future, these restrictions may be lifted.
2011-07-16 00:22:01 -07:00
Chris Robinson
7381b1a696
Make the sample rate part of the HRTF struct
2011-07-15 23:45:03 -07:00
Chris Robinson
17773c5644
Rename the ERROR macro to ERR
2011-07-13 01:43:00 -07:00
Chris Robinson
2bb3d31d5c
Avoid holding the global list lock while calling some capture methods
2011-07-13 01:21:30 -07:00
Chris Robinson
2a7bf1234b
Use the correct send slot when mixing
2011-07-11 22:32:27 -07:00
Chris Robinson
e56e462317
Fix default room air absorption
2011-07-11 22:07:37 -07:00
Chris Robinson
58466a304b
Use a flag to signifiy that all sources need updating
2011-07-11 01:05:42 -07:00
Chris Robinson
22ccaf7f4a
Trace device update size and count
2011-07-11 00:05:53 -07:00
Chris Robinson
b237ebba44
Trace when the format is being requested
2011-07-10 23:57:45 -07:00
Chris Robinson
6038bbd6ec
Avoid redundantly tracing HRTF status
2011-07-10 23:50:55 -07:00
Chris Robinson
84a67ef766
Trace device parameters when updating
2011-07-10 22:54:39 -07:00
Chris Robinson
e03df97919
Accept "openal soft" and "openal-soft" to open a device
2011-07-10 22:36:10 -07:00
Chris Robinson
7bedd9ef7a
Replace some AL_PRINT calls with proper logging
2011-07-10 22:32:44 -07:00
Chris Robinson
72cd670636
Use logging macros in the opensl backend
2011-07-10 22:31:24 -07:00
Chris Robinson
9b028e76d2
Use logging macros in the wave backend
2011-07-10 22:29:25 -07:00
Chris Robinson
479b4c9531
Use logging macros in the solaris backend
2011-07-10 22:28:34 -07:00
Chris Robinson
28f7d2151e
Use logging macros in the winmm backend
2011-07-10 22:27:46 -07:00
Chris Robinson
cd1560e2b0
Use logging macros in the coreaudio backend
2011-07-10 22:26:02 -07:00
Chris Robinson
87b4c93af9
Use logging macros for the portaudio backend
2011-07-10 22:22:38 -07:00
Chris Robinson
0393d4ba71
Use logging macros in the sndio backend
2011-07-10 22:20:34 -07:00
Chris Robinson
717a0592ba
Use logging macros in the oss backend
2011-07-10 22:17:12 -07:00
Chris Robinson
a67aff220f
Use logging macros in the null backend
2011-07-10 22:15:16 -07:00