aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
Commit message (Collapse)AuthorAgeFilesLines
* Limit the source step to 10Chris Robinson2013-07-021-14/+4
| | | | | | | | | This means the combination of the buffer frequency, source pitch, and doppler shift can't exceed 10x the device playback frequency. This is needed to keep the mixer from starving with a really high increment, causing small DstBufferSize values that require a lot of iterations.
* Fix up the naming convention of effect methodsChris Robinson2013-05-291-4/+4
|
* Use C99's inline instead of __inlineChris Robinson2013-05-281-12/+12
|
* Use the high-shelf filter in place of low-passChris Robinson2013-05-281-4/+4
| | | | | They effectively both work to lower (or raise) high frequencies. However, the high-shelf performs better when gain=1.
* Simplify and fix some filter gain calculationsChris Robinson2013-05-271-6/+12
|
* Use ALfilterState for the source direct and send filtersChris Robinson2013-05-271-22/+17
|
* Use generic VCALL[_NOARGS] macros instead of type-specific wrappersChris Robinson2013-05-271-6/+6
|
* Use an ALeffectProps union to store the effect propertiesChris Robinson2013-05-251-6/+6
|
* Use restrict instead of RESTRICTChris Robinson2013-05-221-5/+5
|
* Use a properly-defined history for the FILTER structChris Robinson2013-05-211-5/+9
|
* Fix overflow issues when converting float to intChris Robinson2013-04-221-7/+10
| | | | | | | | 32-bit floats can only reach between -16777215...+16777215 (25 bits) before it starts losing whole-number accuracy. Some compiler optimizations may break trying to multiply a float by 2147483647.0 when the result is given right to a float parameter, causing it instead to multiply by the nearest representable float value, 2147483648.0.
* Add a missing cast to silence MSVCChris Robinson2013-03-221-1/+1
|
* Use less math to clamp floats to -1...+1Chris Robinson2013-03-171-3/+3
| | | | | The previous code could have issues as precision lowers. This should hopefully work better while only using one if check instead of two.
* Use +/-90 degrees for stereo sources with non-HRTF stereo output.Chris Robinson2012-12-041-1/+9
|
* Lock the device before calling aluHandleDisconnectChris Robinson2012-12-021-2/+0
| | | | | | PulseAudio causes an assert if being relocked inside a callback on the worker thread, where aluHandleDisconnect is called. We can assume it's already locked there, so just make sure the device is locked before being calling it.
* Use an array to specify the offset for each channel of the device bufferChris Robinson2012-11-041-5/+8
| | | | This effectively inverts the DevChannels array
* Make a decimal value a float typeChris Robinson2012-10-311-1/+1
|
* Add a couple comments to the codeChris Robinson2012-10-261-0/+2
|
* Avoid branching when clamping and converting float samples to integerChris Robinson2012-10-261-2/+2
|
* Move some math functions to where they're usedChris Robinson2012-10-251-0/+25
|
* Put the HRTF DirectParams into an anonymous structChris Robinson2012-10-151-26/+26
|
* Store the output buffers in the DirectParams structChris Robinson2012-10-141-1/+9
|
* Store some more HRTF info in the DirectParams structChris Robinson2012-10-141-0/+6
|
* Don't add the dry gain to the mixing matrixChris Robinson2012-10-131-1/+1
|
* Silence an implicit int-to-float conversion warning on MSVCChris Robinson2012-10-131-1/+1
|
* Fix copying the listener Up vectorChris Robinson2012-10-121-1/+1
|
* Apply the listener matrix to the listener velocity onceChris Robinson2012-10-121-12/+10
|
* Avoid needlessly copying the listener matrixChris Robinson2012-10-121-7/+3
|
* Apply the listener position to the transformation matrixChris Robinson2012-10-121-38/+44
|
* Check the distance against epsilon to determine if it matchesChris Robinson2012-10-121-2/+2
|
* Properly scale wide-stereo sourcesChris Robinson2012-10-101-1/+1
|
* The max step is no longer dependent on the channel countChris Robinson2012-10-101-2/+2
|
* Set Hrtf.Moving after setting the source params instead of after mixingChris Robinson2012-10-091-0/+1
|
* Build the listener matrix separatelyChris Robinson2012-10-091-3/+36
|
* Store a pointer to the listener in the contextChris Robinson2012-10-091-10/+10
|
* Add a special resampler for matching sample ratesChris Robinson2012-10-051-1/+1
|
* Avoid void* arithmeticChris Robinson2012-10-041-1/+1
|
* Make sure the output buffer pointer is updated in case multiple iterations ↵Chris Robinson2012-10-031-9/+13
| | | | are needed
* Remove SSE resamplers. They aren't gaining us much this way.Chris Robinson2012-09-241-8/+0
|
* Avoid correcting for more non-existing clicksChris Robinson2012-09-161-8/+14
|
* Don't try to correct for non-existing clicks.Chris Robinson2012-09-161-6/+13
|
* Explicitly give the wet buffer 1 channelChris Robinson2012-09-161-8/+8
|
* Avoid building redundant mixersChris Robinson2012-09-161-15/+7
|
* Use a struct to store the FPU modeChris Robinson2012-09-161-3/+3
|
* Implement an SSE cubic resamplerChris Robinson2012-09-141-1/+5
|
* Implement an SSE linear resamplerChris Robinson2012-09-141-0/+4
|
* Use a source param for the resampler and move them to the mixer sourceChris Robinson2012-09-141-0/+23
|
* Move a couple methods to where they're usedChris Robinson2012-09-121-0/+45
|
* Don't use count-specific functions to write to the output bufferChris Robinson2012-09-111-89/+13
|
* Use a non-interleaved DryBufferChris Robinson2012-09-111-21/+25
|