Chris Robinson
23bda38be0
Match the 7.1 channel angles with the speakers
2012-02-09 23:59:24 -08:00
Chris Robinson
e6a0dd10a9
Pre-scale the channel angles
2012-02-09 23:52:20 -08:00
Chris Robinson
ef68aa39f8
Rename non_virtual_channels to direct_channels
2012-02-09 23:35:17 -08:00
Chris Robinson
dd3abd0f16
Use sizeof(ALfloat) when finding the max stepping value
...
The mixer always reads from floats, so the size of the storage type is
unimportant.
2012-01-26 22:33:36 -08:00
Chris Robinson
d807c4bf87
Don't process a default device slot if it doesn't exist
2012-01-25 18:48:26 -08:00
Chris Robinson
86ef115e21
Set the source's slot send parameter to NULL if it's the AL_EFFECT_NULL type
2012-01-23 06:29:03 -08:00
Chris Robinson
51e81f4867
Add a global option to apply a reverb effect on source send 0
...
A special slot on the device is created and processed, so it can be shared
across all contexts on the device. Sources that don't have a slot set on send 0
will use this special slot instead.
2012-01-19 19:30:03 -08:00
Chris Robinson
7f6844e48d
Use a struct to associate channel enums and their angles
2011-12-20 01:17:11 -08:00
Chris Robinson
fcf9034c2b
Calculate the listener matrix when a new orientation is specified
...
This is so the matrix isn't derived each time a source is updated, and it will
make supporting user-defined matrices easier.
2011-10-30 08:27:24 -07:00
Chris Robinson
956e6f95ec
Don't translate the listener velocity
2011-10-30 05:49:17 -07:00
Chris Robinson
50913948a0
Don't transform/translate vectors with an invalid listener orientation
2011-10-30 05:47:14 -07:00
Chris Robinson
0fba3b0e1e
Use the local Device variable
2011-10-11 22:30:58 -07:00
Chris Robinson
92a650c827
Use the local variable instead of re-reading the source property
2011-10-11 22:29:06 -07:00
Chris Robinson
a7d3779dfa
Check for the HRTF object instead of a flag
2011-10-06 01:16:07 -07:00
Chris Robinson
eb277cc578
Remove some unneeded templates and parameters
2011-10-04 09:55:36 -07:00
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