Chris Robinson
e47557630e
Use a double to store the source offset and don't use milliseconds for seconds
2012-04-16 22:11:03 -07:00
Chris Robinson
e394d14cda
Use more proper enum names for the resampler
2012-02-12 08:45:19 -08:00
Chris Robinson
ef68aa39f8
Rename non_virtual_channels to direct_channels
2012-02-09 23:35:17 -08:00
Chris Robinson
1075cce7b3
Mark some source properties volatile
2011-09-11 01:18:57 -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
4a5dd73a3c
Make the source's NeedsUpdate volatile
2011-08-29 13:43:59 -07:00
Chris Robinson
01503f8a7b
Use an enum instead of an boolean for some flags
...
They still only hold AL_TRUE or AL_FALSE, but some systems can't properly
handle atomic swaps of 1-byte types.
2011-08-29 00:03:09 -07:00
Chris Robinson
f5195ee4f2
Remove the Buffer field from the source
2011-08-23 09:55:22 -07:00
Chris Robinson
858592832f
Defer source offset changes requested by the app
2011-08-21 00:49:04 -07:00
Chris Robinson
f196a9fc67
Defer source state changes from alSourcePlay/Pause/Stop/Rewind calls
2011-08-20 23:59:24 -07:00
Chris Robinson
7ea71d8bfa
Use a separate function to set the source state
2011-08-20 06:31:10 -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
75fa891e0a
Store and use the send slot in the source params
2011-07-05 14:14:20 -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
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
1fc44d5788
Select the mixer during a source update
2011-06-25 00:13:56 -07:00
Chris Robinson
edf78b077e
Use separate lines for HRTF history and values
2011-06-17 16:22:39 -07:00
Chris Robinson
7ddfacb58f
Use a minimum phase HRTF data set
...
This reduces the coefficient size from 128 down to 32, with a set of delays
2011-06-03 01:06:00 -07:00
Chris Robinson
c00b2f9254
Avoid looking in the buffer queue to find the frame size
2011-05-18 17:02:18 -07:00
Chris Robinson
06f5f0b7c8
Make mixers channel-count agnostic
...
As a result, this combines/removes a bunch of mixers
2011-05-17 13:25:15 -07:00
Chris Robinson
2972de1047
Use function pointers to call the source mixer
2011-05-06 00:20:40 -07:00
Chris Robinson
f843b7e2e3
Implement HRTF mixers for multi-channel sources
2011-05-02 02:22:30 -07:00
Chris Robinson
0109104027
Add some source fields for HRTF data
2011-05-01 13:21:56 -07:00
Chris Robinson
c3cd4c80b2
Use a matrix when rendering to the dry buffer
2010-12-09 16:37:23 -08:00
Chris Robinson
9e8fb89a52
Rename OUTPUTCHANNELS to something more descriptive
2010-12-01 18:33:17 -08:00
Chris Robinson
f09ae196a8
Avoid making Resampler[Pre]Padding static
2010-11-28 17:37:14 -08:00
Chris Robinson
08827efae3
Remove an unnecessary 'struct' keyword
2010-11-26 20:35:47 -08:00
Chris Robinson
7287b5cd3c
Make the buffer padding size dependent on the resampler
2010-11-26 02:53:15 -08:00
Chris Robinson
e1c0b5ea24
Call MixSource directly, instead of through a function pointer
2010-11-25 23:09:18 -08:00
Chris Robinson
30820c1bde
Add a cubic resampler
2010-11-25 23:05:44 -08:00
Chris Robinson
596514f7aa
Make the buffer queue a double-linked list
2010-11-25 18:30:57 -08:00
Chris Robinson
aaff188b3b
Remove the cosine resampler
...
It's too slow when auxiliary sends are being used.
2010-11-25 13:49:51 -08:00
Chris Robinson
6ab22e7cbb
Reorder some stored source params
2010-11-24 10:01:50 -08:00
Chris Robinson
65e033c64b
Increase the max number of source sends to 4, and decrease the default to 1
2010-11-06 15:08:54 -07:00
Chris Robinson
92d8d2f8a4
Pass the device to the mix function and localize the dry mix and click buffers
2010-09-26 12:23:22 -07:00
Chris Robinson
9fbd6c6c3f
Make the SourceMix function a method of the ALsource struct
2010-09-26 01:15:27 -07:00
Chris Robinson
ba32a52bb6
Remove unused struct member
2010-09-07 16:07:35 -07:00
Chris Robinson
2915d9dbd9
Use click removal to handle harsh panning/volume changes
2010-08-15 00:19:38 -07:00
Chris Robinson
5f22d30fc9
Calculate the source stepping value with the param calculations
2010-08-07 05:43:16 -07:00
Chris Robinson
e74976e645
Use a callback to specify the source update method
2010-08-03 23:10:00 -07:00
Chris Robinson
8cfac7c6b8
Don't bother storing the loop points in the source
2010-05-24 01:07:13 -07:00
Chris Robinson
5d579dd1a8
Store loop points as uncompressed frame offsets in the source when a buffer is attached
2010-05-13 02:10:33 -07:00
Chris Robinson
0378422fcb
Use a map to store sources and buffers
...
And do a lookup using a binary search instead of linear
2010-05-01 19:59:41 -07:00
Chris Robinson
a337a59fb8
Use alext.h for extension definitions
2010-03-16 16:25:30 -07:00
Chris Robinson
dc40702b53
Remove unused source param count macro
2010-03-07 21:48:25 -08:00
Chris Robinson
574792d2e1
Fix Windows compilation
2010-01-11 23:47:03 -08:00
Chris Robinson
3d7f925d52
Add helpful values to the resampler enum
2010-01-11 07:02:29 -08:00
Chris Robinson
93b584ff84
Add a cosine resampler
2010-01-11 06:19:54 -08:00
Chris Robinson
705849ca73
Add an option for point resampling
2010-01-11 05:37:20 -08:00