aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer.c
Commit message (Collapse)AuthorAgeFilesLines
* Convert a few divisions to multiplicationsChris Robinson2010-11-261-6/+7
|
* Make a FRACTIONONE macro, and use itChris Robinson2010-11-261-8/+8
|
* Share the interpolation functions and use them in the reverb effectChris Robinson2010-11-261-23/+9
|
* Add a missing break statementChris Robinson2010-11-251-0/+1
|
* Add a cubic resamplerChris Robinson2010-11-251-6/+57
|
* Force the point resampler when the source plays at normal speedChris Robinson2010-11-251-1/+1
|
* Pass a pointer to the samplers so they can read just the samples they needChris Robinson2010-11-251-64/+51
|
* Add "pre-padding" to the temp bufferChris Robinson2010-11-251-10/+88
| | | | This will help to implement resamplers that want previous samples
* Make sure the target buffer size is frame alignedChris Robinson2010-11-251-0/+1
|
* Minor rework of the template macrosChris Robinson2010-11-251-47/+54
|
* Remove the cosine resamplerChris Robinson2010-11-251-44/+0
| | | | It's too slow when auxiliary sends are being used.
* Double-up the interpolation functions (and make them use doubles)Chris Robinson2010-11-251-65/+46
|
* Rename some "template" functionsChris Robinson2010-11-251-21/+21
|
* Always make sure there's a sample available to mix, for pending click removalChris Robinson2010-11-251-109/+53
|
* Use a temporary stack buffer to store the source buffer data to be mixedChris Robinson2010-11-251-72/+150
| | | | | | | | This makes it much easier to pack the playable buffer data so that it's a continuous data stream. This could normally be broken up otherwise, such as when using loop points or small queued buffers. Currently it defaults to a 16KB stack buffer, but this can be overridden at compile time.
* Use 0-based access for the buffer dataChris Robinson2010-11-241-10/+15
|
* Support 8-bit sample data in the mixerChris Robinson2010-11-241-1/+58
|
* Check the sample byte size after the resamplerChris Robinson2010-11-241-66/+51
|
* Get rid of a useless unionChris Robinson2010-11-241-12/+8
|
* Change the mixer macros to declare functionsChris Robinson2010-11-241-76/+196
|
* Set mixer sample pos and frac when neededChris Robinson2010-11-241-6/+12
|
* Reorder some stored source paramsChris Robinson2010-11-241-3/+3
|
* Make sure the buffer padding is always cleared before looking for the next ↵Chris Robinson2010-11-241-2/+1
| | | | buffer
* Avoid temporary float variablesChris Robinson2010-11-211-6/+6
|
* Pass the data pointer and proper sampler to the mixer macroChris Robinson2010-11-211-39/+39
|
* Move aluMixData back to ALu.cChris Robinson2010-11-211-220/+0
|
* Use the number of sends the device is configured for in more placesChris Robinson2010-11-061-3/+3
|
* Use a switch to select the appropriate channel-count mixerChris Robinson2010-11-061-7/+16
|
* Declare a variable where it's usedChris Robinson2010-11-011-2/+1
|
* Fix fpu state handling with _controlfpChris Robinson2010-10-151-3/+2
|
* Check resampler mode first when selecting the mixerChris Robinson2010-09-261-59/+43
|
* Get a variable where it's neededChris Robinson2010-09-261-3/+1
|
* Pass the device to the mix function and localize the dry mix and click buffersChris Robinson2010-09-261-16/+25
|
* Clarify a checkChris Robinson2010-09-261-1/+1
|
* Make the SourceMix function a method of the ALsource structChris Robinson2010-09-261-8/+5
|
* Avoid updating the source in MixSourceChris Robinson2010-09-251-10/+11
|
* Convert shorts so that 0 remains 0Chris Robinson2010-09-251-4/+4
|
* Avoid some code duplicationChris Robinson2010-09-251-96/+44
|
* Localize more variables and remove unnecessary onesChris Robinson2010-09-251-68/+73
|
* Avoid sampling beyond the end of the loopChris Robinson2010-09-241-6/+6
|
* Localize some variables to the mixer macrosChris Robinson2010-09-241-51/+84
| | | | | | The hope here is to help break the mixer loops into separate functions, so the macro expansion doesn't cause the MixSource function to explode in size and kill compilation speed.
* 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
|