Chris Robinson
b5ed2a5351
Pass a device to the effect update functions
2012-03-13 14:49:58 -07:00
Chris Robinson
560f34e3df
Channel angle is already in radians, not degrees
2012-03-12 18:29:46 -07:00
Chris Robinson
335232207d
With DirectChannels enabled, don't try to mix channels that have no matching output
2012-03-12 18:27:25 -07:00
Chris Robinson
f5f519aa80
Properly make the source velocity relative to the listener velocity
2012-03-09 23:53:45 -08:00
Chris Robinson
7db29a2332
Clamp the upper and lower bound of the doppler velocity scale more like the original
2012-03-09 22:38:26 -08:00
Chris Robinson
6e70ae9958
The listener velocity is specified in world coordinates, too
2012-03-08 18:27:05 -08:00
Chris Robinson
e190fc9416
Refactor the doppler shift calculations
2012-03-08 18:19:15 -08:00
Chris Robinson
487d05a73e
Invert a nested loop
2012-03-03 10:31:27 -08:00
Chris Robinson
91ed077eba
Handle BS2B cross-feed right after click removal
2012-03-03 09:41:16 -08:00
Chris Robinson
58316a97d5
Override the resampler as needed right after calculating the step value
2012-02-20 20:08:45 -08:00
Chris Robinson
cc2cb1142b
Remove unused variables
2012-02-17 12:32:43 -08:00
Chris Robinson
75aa96a4a6
Silence an MSVC warning
2012-02-17 01:29:23 -08:00
Chris Robinson
1140b3ae83
Support signed and unsigned 32-bit int output
2012-02-14 11:44:57 -08:00
Chris Robinson
e394d14cda
Use more proper enum names for the resampler
2012-02-12 08:45:19 -08:00
Chris Robinson
61be01efc1
Rename SpeakerGain to ChannelGain
2012-02-10 00:29:47 -08:00
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