aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer.c
Commit message (Collapse)AuthorAgeFilesLines
* Use separate mixing loops for the dry path and wet pathsChris Robinson2010-09-241-92/+234
| | | | | | | | | | | | This will increase CPU use a bit for sources that use auxiliary sends (particularly with the cosine resampler), but it makes it more scalable when adding more sends per source. Additionally, it will improve performance of sources that don't use auxiliary sends. The cosine resampler can probably be improved by using a lookup table instead of calling cos() as there are 14 bits of fractional precision, so a 16384- element float array would cover it all. This can also be reduced to a half or quarter size if the precision loss is found to be acceptable.
* Use ALfloat for the dry mix bufferChris Robinson2010-09-231-3/+3
|
* Remove an unnecessary variableChris Robinson2010-09-231-5/+3
|
* Rename some variables to be less confusingChris Robinson2010-09-231-32/+32
|
* Fix line indentationChris Robinson2010-09-231-1/+1
|
* Be consistent with a variable's useChris Robinson2010-09-231-3/+3
|
* Convert float to short similar to short to floatChris Robinson2010-09-231-5/+4
|
* Store and mix signed 16-bit samplesChris Robinson2010-09-221-32/+47
|
* Allow the mixing loop to access the different sample formatsChris Robinson2010-09-221-63/+63
|
* Compact some reused codeChris Robinson2010-09-221-115/+69
|
* Allow accessing the buffer data as multiple data types in the mixerChris Robinson2010-09-221-20/+27
| | | | Also reduces a bunch of indentation
* Use separate macros for the different mixing loopsChris Robinson2010-09-221-200/+202
|
* Consolidate some codeChris Robinson2010-09-211-13/+12
|
* Pass dry-path click buffers as parameters to MixSourceChris Robinson2010-09-111-6/+4
|
* Avoid another non-descript incrementing variableChris Robinson2010-09-091-11/+14
|
* Avoid using a single-letter iterator valueChris Robinson2010-09-091-12/+13
|
* Combine multiple checks into oneChris Robinson2010-09-081-9/+12
|
* Better protect against sample overflow when converting float to shortChris Robinson2010-09-081-11/+6
|
* Remove unused struct memberChris Robinson2010-09-071-2/+0
|
* Combine two arrays into oneChris Robinson2010-08-161-18/+17
|
* Handle clicks by watching changes between updatesChris Robinson2010-08-161-46/+102
|
* Use the correct value to dereference an arrayChris Robinson2010-08-161-1/+1
|
* Consolidate some click removal calculationsChris Robinson2010-08-151-26/+16
|
* Use a multiplier instead of if checksChris Robinson2010-08-151-28/+20
|
* Add click removal for wet sendsChris Robinson2010-08-151-7/+48
|
* Use click removal to handle harsh panning/volume changesChris Robinson2010-08-151-73/+53
|
* Use click removal when starting a sourceChris Robinson2010-08-141-0/+42
|
* Add a corrective, click-remval sample value offsetChris Robinson2010-08-141-0/+11
| | | | | | This will hopefully be more effective and rebust at removing clicks and pops, particularly from starts and stops in the middle of a sound. Based on an idea by Ben Davis.
* Calculate the source stepping value with the param calculationsChris Robinson2010-08-071-13/+2
|
* Set up increment onceChris Robinson2010-08-071-11/+11
|
* Calculate the actual stepping value in the source update methodChris Robinson2010-08-071-32/+19
|
* Calculate gain steps once during a source mixChris Robinson2010-08-061-11/+11
|
* Effectslot's Effectstate should never be NULLChris Robinson2010-08-061-2/+1
|
* Remove an unnecessary checkChris Robinson2010-08-061-1/+1
| | | | | The number of buffers played should never exceed the buffer count when playing, and the buffer list is used later on regardless
* Combine stereo and stereo-duplicate mixersChris Robinson2010-08-051-27/+5
| | | | | Use a separate update method for stereo sources to the set appropriate channel gains
* Move the core mixer functions to a separate source fileChris Robinson2010-08-031-0/+791