Chris Robinson
8148626ba3
Allow the backend init functions to return failure
2011-08-17 06:05:26 -07:00
Chris Robinson
38a4d9a6c5
Get rid of the remaining min/max usage
2011-08-16 18:53:04 -07:00
Chris Robinson
9f5bf5f930
Rename minF/maxF/clampF to minf/maxf/clampf for consistency
2011-08-16 18:40:21 -07:00
Chris Robinson
04dad28228
Use mini/maxi/clampi and minu/maxu/clampu to replace min/max calls
2011-08-16 18:33:10 -07:00
Chris Robinson
8a51a7ea2d
Use inline minF/maxF/clampF functions instead of the __min/__max macros
2011-08-16 04:21:58 -07:00
Chris Robinson
2f3bd5b5d9
Move an include to where it makes more sense to be
2011-07-23 05:53:53 -07:00
Chris Robinson
fad80a4f92
Don't cast for the float versions of math functions
2011-07-23 05:52:10 -07:00
Chris Robinson
13f9dbe582
Look for ieeefp.h and include it when appropriate
2011-07-23 04:06:29 -07:00
Chris Robinson
d5ddc6acee
Make sure some state values are finite
2011-07-21 16:18:21 -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
6bfb0371eb
Make sure some effect property values are finite
2011-07-20 03:33:06 -07:00
Chris Robinson
1348bf2476
Make sure some listener property values are finite
2011-07-20 03:27:05 -07:00
Chris Robinson
36446f3a58
Make sure source vectors are finite values
2011-07-20 03:18:46 -07:00
Chris Robinson
87b3520d02
Fix GetMovingHrtfCoeffs return type
2011-07-17 07:16:10 -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
292ea0607d
Request a slot update when the gain changes
2011-07-16 03:15:28 -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
17773c5644
Rename the ERROR macro to ERR
2011-07-13 01:43:00 -07:00
Chris Robinson
3245e992c3
Always pass the slot's effect to the update method
2011-07-11 01:51:24 -07:00
Chris Robinson
1299fa2801
Avoid some alListenerfv calls while under the context lock
2011-07-11 01:21:29 -07:00
Chris Robinson
52c78194b3
Update the context when an auxiliary slot is modified
2011-07-11 01:13:58 -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
51c09e94b8
Avoid some alGet* duplication
2011-07-11 00:51:18 -07:00
Chris Robinson
2cd3e9bcdb
Use the logging macro for thunk errors
2011-07-10 21:49:01 -07:00
Chris Robinson
b64156aa2b
Add some macros for logging at various levels, and use them
2011-07-10 21:30:25 -07:00
Chris Robinson
5cb4129bc7
Use a per-device lock instead of a global one
2011-07-06 05:07:36 -07:00
Chris Robinson
bed264ad77
Use a Lock/UnlockDevice function instead of locking a NULL context
2011-07-06 02:58:43 -07:00
Chris Robinson
75fa891e0a
Store and use the send slot in the source params
2011-07-05 14:14:20 -07:00
Chris Robinson
c8d385c998
Use a helper to tell if an effect type is reverb
2011-07-05 04:36:41 -07:00
Chris Robinson
d307ee8c2f
Implement a lerped lookup of the HRTF coefficients/delays
...
Code supplied by Christopher Fitzgerald
2011-07-04 07:20:38 -07:00
Chris Robinson
202f57552a
Use a proper enum for the distance model
2011-07-03 19:39:19 -07:00
Chris Robinson
ac7ca07221
Get rid of a couple typedefs
2011-07-02 21:33:53 -07:00
Chris Robinson
7b87519c15
Move functions to where they're used
2011-07-02 02:54:05 -07:00
Chris Robinson
14bfe0293a
Use separate functions to find valid ALC loopback device formats
2011-07-02 02:51:33 -07:00
Chris Robinson
931d422443
Use separate ALC enums for loopback device formats
2011-07-02 02:25:34 -07:00
Chris Robinson
a5ccae5779
Do air absorption with linear gain values
...
This copies the way the calculation is done with the wet path
2011-07-01 02:30:15 -07:00
Chris Robinson
aea2868ce1
Avoid calling some al[Get]Effect functions while the context is locked
2011-06-30 20:59:35 -07:00
Chris Robinson
723755788d
Rename Suspend/ProcessContext since they are locking a mutex
2011-06-30 18:10:04 -07:00
Chris Robinson
5736bbc3e4
Add a source property to skip channel virtualization for multi-channel buffers
...
With virtualization disabled, channels are mapped directly from input to output
and any input channel that is missing an output is dropped. Any virtualization
effects (such as HRTF filters) for positional cues are also skipped.
The idea is to allow applications a way to play pre-filtered audio that channel
vitualization effects could interfere with.
2011-06-29 23:18:49 -07:00
Chris Robinson
212b187447
Add a function to check if a device is compatible with the Hrtf filter
2011-06-25 21:39:36 -07:00
Chris Robinson
1fc44d5788
Select the mixer during a source update
2011-06-25 00:13:56 -07:00
Chris Robinson
96b6cd46e6
Add a FreeBSD sndio backend
2011-06-22 19:29:13 -07:00
Chris Robinson
0d39ac6528
Allow alThunkAddEntry to return a proper error
2011-06-17 23:59:25 -07:00
Chris Robinson
edf78b077e
Use separate lines for HRTF history and values
2011-06-17 16:22:39 -07:00
Chris Robinson
23ae3c69b5
Handle the device's disconnected status earlier when playing a source
2011-06-17 13:21:02 -07:00
Chris Robinson
bef9c5e2d5
Avoid some al[Get]Effect* calls from under the context lock
2011-06-17 13:07:47 -07:00