Chris Robinson
98bc60cfb7
Combine stereo and stereo-duplicate mixers
...
Use a separate update method for stereo sources to the set appropriate channel
gains
2010-08-05 01:07:20 -07:00
Chris Robinson
e74976e645
Use a callback to specify the source update method
2010-08-03 23:10:00 -07:00
Chris Robinson
42d9140afe
Check the buffer's original format when queueing on a source
2010-07-12 15:53:11 -07:00
Chris Robinson
7f6df7695c
Use an array of active sources when mixing
...
Prevents iterating over all allocated sources during mixing updates
2010-06-06 00:17:50 -07:00
Chris Robinson
37190b2caf
Add a function to get the frame size from a format
2010-05-24 21:51:30 -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
58e5404d61
Loop points should be specified in sample offsets
2010-05-21 15:52:35 -07:00
Chris Robinson
c5c83882b3
Use unsigned types when finding the source offsets
2010-05-19 10:38:28 -07:00
Chris Robinson
ea3bc0518c
A couple formatting fixes
2010-05-19 10:36:24 -07:00
Chris Robinson
2d46a1001e
Use a map for the filter list
2010-05-18 17:54:45 -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
af4faaf666
Use a UIntMap for the effect slot list
2010-05-12 02:20:14 -07:00
Chris Robinson
f0ce1bff3e
Simplify and fix applying a source offset
2010-05-11 11:59:41 -07:00
Chris Robinson
ab3c23478d
Use a separate function to convert compressed bytes to frames
2010-05-11 11:06:48 -07:00
Chris Robinson
4e65e9bfa9
Only a streaming source can have a processed buffer
2010-05-11 08:53:38 -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
0760415d08
Use doubles instead of floats for the source offset calculations
2010-04-28 17:58:20 -07:00
Chris Robinson
aaa7082aa8
Get the offset even if the current buffer is 0
2010-04-28 14:08:10 -07:00
Chris Robinson
52663e8a44
Combine two loops into one
2010-04-23 07:23:38 -07:00
Chris Robinson
1544ddf0a5
Avoid reading buffer 0's size
2010-04-10 17:31:08 -07:00
Chris Robinson
7bdf0d5156
Shorten some variable names
2010-03-26 00:41:27 -07:00
Chris Robinson
4ce8a17afd
Reduce some indentation
2010-03-24 02:23:00 -07:00
Chris Robinson
99f28f25b0
Avoid calling alDelete* from alGen*
2010-03-20 21:38:05 -07:00
Chris Robinson
a572b13743
Don't use deprecated macros
2010-03-19 14:34:18 -07:00
Chris Robinson
2953daebf5
GetSourceOffset can't fail
2010-03-17 15:19:00 -07:00
Chris Robinson
dd82b68175
Handle source offsets for muLaw formats
2010-03-17 15:15:12 -07:00
Chris Robinson
975f92fc84
Remove unnecessary stop call
2010-03-16 21:29:55 -07:00
Chris Robinson
0097beb84c
Remove unused variable
2010-03-16 21:12:36 -07:00
Chris Robinson
65f43637ce
Avoid some alIs* calls while under the context lock
...
Instead, use functions that verify the ID by searching the object list and
returning its handle
2010-03-16 18:54:36 -07:00
Chris Robinson
f37cfc486d
Pass the context to alSetError
2010-03-16 17:35:51 -07:00
Chris Robinson
ec917e8e2f
Rename some struct members for consistency
2010-03-16 15:37:41 -07:00
Chris Robinson
89d84131a4
Avoid dereferencing a NULL buffer when unqueueing buffer 0
2010-03-15 16:10:21 -07:00
Chris Robinson
1f2d3a0132
Remove duplication of setting source angles
2010-03-14 03:23:18 -07:00
Chris Robinson
b734cab6fc
Fix the retrieval of the RW offsets using the correct functions
2010-03-10 07:33:30 -08:00
Chris Robinson
365a62d63a
Improve source write offset calculations
2010-02-07 20:11:24 -08:00
Chris Robinson
35ba7d70dc
Consolidate some source offset handling code
2010-01-12 02:43:37 -08:00
Chris Robinson
026b4b8f4c
Better handle large second offsets
2010-01-12 02:26:38 -08:00
Chris Robinson
c924a50bed
Don't use a flag to set an error when applying the source offset
2010-01-12 02:22:38 -08:00
Chris Robinson
705849ca73
Add an option for point resampling
2010-01-11 05:37:20 -08:00
Chris Robinson
88de4e15b3
Mark the source for updating when setting a buffer on it
...
Changing the buffer can change the playback format, which can require different
source parameter calculations. Queueing a buffer on a source that has no
buffers (or only buffers without a format, eg. buffer 0) has the same effect
2009-12-25 05:09:29 -08:00
Chris Robinson
bd696a6b37
Fix IMA ADPCM offset calculation
2009-12-09 09:50:09 -08:00
Chris Robinson
4697e946d3
Internally store 32-bit float buffer data, and mix accordingly
2009-12-07 10:35:30 -08:00
Chris Robinson
c1eb444a39
Remove some assumptions of 16-bit internal storage
2009-12-02 05:55:33 -08:00
Chris Robinson
d81c9819b8
Remove unnecessary returns
2009-11-28 19:36:05 -08:00
Chris Robinson
98ce1d14c1
Update AL_EXTX_source_distance_model to require explicit enabling
...
The in-progress spec has been updated to reflect this
2009-11-27 20:05:21 -08:00
Chris Robinson
658923175f
Update source parameters only when they need changing
2009-11-25 16:21:47 -08:00
Chris Robinson
a3fcd67a82
Remove some unneeded buffer fields, make padding a constant amount
2009-10-25 08:31:28 -07:00
Chris Robinson
fe3a43e2d4
Remove the format and frequency from the source, get them manually
2009-10-25 06:26:19 -07:00
Chris Robinson
b0a82aa420
Store the buffer format and frequency in the source when updated
2009-10-25 05:03:22 -07:00
Chris Robinson
1665595138
Remove unneeded bufferlistitem properties
2009-10-25 02:59:31 -07:00