Chris Robinson
a7bbf7a741
Rename LOWPASSFREQCUTOFF to LOWPASSFREQREF
2011-09-30 23:07:15 -07:00
Chris Robinson
bf19186223
Apply the initial wet send reverb decay before clamping the gains
2011-09-30 17:51:21 -07:00
Chris Robinson
087e75d47f
Multiply by the reciprocal value instead of dividing
2011-09-29 22:29:10 -07:00
Chris Robinson
f4925a0e6a
Use inline functions to set/restore the FPU mode for mixer updates
2011-09-29 04:03:18 -07:00
Chris Robinson
b6b3ca6e6f
Use inline assembly for fast float-to-int conversions
2011-09-29 03:51:46 -07:00
Chris Robinson
cf56b0733b
Look for and use atan2f, log10f, and floorf
2011-09-24 12:17:39 -07:00
Chris Robinson
b4f9f89480
Use float types for the resamplers instead of double
2011-09-23 23:03:59 -07:00
Chris Robinson
a9b6b284c0
Change a double type to a float
2011-09-23 22:50:33 -07:00
Chris Robinson
da62f50528
Check for asinf and use it
2011-09-23 22:44:34 -07:00
Chris Robinson
9266a37276
Move ConeScale and ZScale to ALu.c and alu.h, and make them floats
2011-09-23 22:33:37 -07:00
Chris Robinson
470b506952
Use macros for float-typed PI values, to avoid manual casts everywhere
2011-09-22 11:17:01 -07:00
Chris Robinson
a4b1239f45
Use cosf and sinf when available
...
Also clear away a few more MSVC precision warnings
2011-09-22 01:00:44 -07:00
Chris Robinson
43350f9066
Silence some MSVC precision warnings
2011-09-22 00:35:08 -07:00
Chris Robinson
25f7c27043
Store the HRTF tables used in the device
2011-09-18 09:52:40 -07:00
Chris Robinson
404cfde33e
Rename the ALEffect_ macros to ALeffectState_ to reflect what they work on
2011-09-12 05:59:23 -07:00
Chris Robinson
1d6ecee64f
Use the active source list when stopping sources on disconnect
2011-09-12 01:11:46 -07:00
Chris Robinson
3ee2826565
Minor cleanup for applying click-removal to wet buffers
2011-09-12 01:09:01 -07:00
Chris Robinson
0ceea27b44
Remove the effect slot parameter from the effect process method
2011-09-12 00:44:52 -07:00
Chris Robinson
d51b93f869
Remove the union from the effect parameter types
2011-09-11 07:42:23 -07:00
Chris Robinson
ccd8cbc2a9
Make some listener properties volatile
2011-09-11 01:26:09 -07:00
Chris Robinson
1075cce7b3
Mark some source properties volatile
2011-09-11 01:18:57 -07:00
Chris Robinson
30510dc478
Set the device-connected flag to false first when handling a disconnect
2011-09-10 19:22:46 -07:00
Chris Robinson
108b43458f
Fix multichannel wet gainhf calculation
2011-09-02 02:54:00 -07:00
Chris Robinson
b28f48c1bd
Store the filter gains directly in the source instead of duplicate filter objects
2011-08-31 02:18:16 -07:00
Chris Robinson
189add1d5a
Use a separate array for the auxiliary slots in the mixer
2011-08-30 20:13:42 -07:00
Chris Robinson
7408396fd4
Use a generic int type to handle enum swaps
2011-08-29 21:30:12 -07:00
Chris Robinson
e4a2b69b37
Make specific functions to lock/unlock UIntMap access
2011-08-29 20:21:28 -07:00
Chris Robinson
8eaa9bb469
Manually lock the map while iterating through its contents
2011-08-29 20:05:50 -07:00
Chris Robinson
58078e2c1e
Use atomic exchanges when checking for updates to objects' internal parameters
2011-08-29 00:50:55 -07:00
Chris Robinson
783375af56
Use a list of contexts in the device instead of an array
2011-08-28 19:28:41 -07:00
Chris Robinson
65d42083e1
Prevent source and effect slot updates from occuring while updates are deferred
2011-08-22 17:13:03 -07:00
Chris Robinson
e51295c79e
Don't scale the wet send by the number of channels
...
Each channel should be treated as a distinct audio source, so multiple channels
should act as multiple sources.
2011-08-19 03:59:57 -07:00
Chris Robinson
14ffb8bd9b
Coalesce some mixer sample converters
2011-08-17 02:33:25 -07:00
Chris Robinson
2f8510db31
Avoid reading some more source parameters multiple times when updating
2011-08-17 01:54:09 -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
b3cb511c06
Fix wet path conehf calculation
2011-08-13 06:58:05 -07:00
Chris Robinson
412cec73de
Avoid a temporary throw-away buffer for mixing null output
2011-08-12 15:42:36 -07:00
Chris Robinson
81d401eab5
Use specialized click removal loops for mono and stereo output
2011-07-30 05:43:47 -07:00
Chris Robinson
f97310c757
Apply the click removal offset first, before decreasing it
2011-07-17 07:23:19 -07:00
Chris Robinson
a7a1f802a8
Invert the device channel map
2011-07-17 01:55:25 -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
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
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
bed264ad77
Use a Lock/UnlockDevice function instead of locking a NULL context
2011-07-06 02:58:43 -07:00
Chris Robinson
f8be0448b0
Don't modify the source's WetGain[HF]Auto because of a slot's state
2011-07-06 00:07:37 -07:00
Chris Robinson
75fa891e0a
Store and use the send slot in the source params
2011-07-05 14:14:20 -07:00