aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/Include/alu.h
Commit message (Collapse)AuthorAgeFilesLines
* Step mixing gains per-sample for non-HRTF mixingChris Robinson2014-03-231-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | This fades the dry mixing gains using a logarithmic curve, which should produce a smoother transition than a linear one. It functions similarly to a linear fade except that step = (target - current) / numsteps; ... gain += step; becomes step = powf(target / current, 1.0f / numsteps); ... gain *= step; where 'target' and 'current' are clamped to a lower bound that is greater than 0 (which makes no sense on a logarithmic scale). Consequently, the non-HRTF direct mixers do not do not feed into the click removal and pending click buffers, as this per-sample fading would do an adequate job of stopping clicks and pops caused by extreme gain changes. These buffers should be removed shortly.
* Move the step counter and moving flag to DirectParamsChris Robinson2014-03-231-2/+4
|
* Store the HrtfState directly in the DirectParamsChris Robinson2014-03-231-3/+3
|
* Move some HRTF and mixer structs to alu.hChris Robinson2014-03-221-6/+60
|
* Store some source mixing parameters in the active source structChris Robinson2014-03-191-3/+3
|
* Add min/max/clamp methods for doublesChris Robinson2013-11-271-0/+7
|
* Use C99 inline in more placesChris Robinson2013-11-041-18/+18
|
* Use a helper macro for pi*2Chris Robinson2013-10-081-0/+1
|
* Use helper macros to convert between degrees and radiansChris Robinson2013-10-081-2/+5
|
* Use a macro for the silence thresholdChris Robinson2013-10-061-0/+2
|
* Use helpers to set channel gain arraysChris Robinson2013-10-031-1/+18
| | | | Also avoid unnecessary clearing.
* Use C99's inline instead of __inlineChris Robinson2013-05-281-17/+17
|
* Use restrict instead of RESTRICTChris Robinson2013-05-221-3/+3
|
* Lock the device before calling aluHandleDisconnectChris Robinson2012-12-021-0/+1
| | | | | | 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.
* Move some math functions to where they're usedChris Robinson2012-10-251-26/+0
|
* Remove the float math wrapper functionsChris Robinson2012-10-251-55/+0
|
* Constify the direct and send parameters given to the mixerChris Robinson2012-10-151-2/+2
|
* Remove the unused Device parameterChris Robinson2012-10-141-1/+1
|
* Remove the now-unused Source parameter from the DryMix methodsChris Robinson2012-10-141-2/+1
|
* Check the distance against epsilon to determine if it matchesChris Robinson2012-10-121-0/+5
|
* Remove an unneeded parameter from the resamplerChris Robinson2012-09-271-2/+1
|
* Use a source param for the resampler and move them to the mixer sourceChris Robinson2012-09-141-0/+4
|
* Move a couple macros to more appropriate headersChris Robinson2012-09-141-0/+3
|
* Fix up some more header includesChris Robinson2012-09-141-11/+1
|
* Don't include alu.h in alMain.hChris Robinson2012-09-141-40/+0
|
* Enable flush-to-zero mode when possibleChris Robinson2012-09-141-37/+0
|
* Move a couple methods to where they're usedChris Robinson2012-09-121-4/+0
|
* Do the filtering separately from the mixingChris Robinson2012-09-111-1/+1
|
* Remove a hack for MinGWChris Robinson2012-09-101-26/+0
|
* Add missing returnsChris Robinson2012-09-091-10/+10
|
* Use SSE to do 4 samples at once (non-HRTF direct mix), instead of to apply a ↵Chris Robinson2012-09-091-11/+10
| | | | | | matrix row MaxCHannels no longer needs to be a multiple of 4 now, either.
* Move the target effect slot to the SendParams structChris Robinson2012-09-081-2/+1
|
* Remove STACK_DATA_SIZE in favor of BUFFERSIZEChris Robinson2012-09-081-12/+12
|
* Separate the resampling and mixing stepsChris Robinson2012-09-081-5/+5
|
* Increase MaxChannels to be a multiple of 4Chris Robinson2012-08-291-10/+11
|
* Add a device method to retrieve the active latencyChris Robinson2012-08-171-0/+7
| | | | | This is effectively the time until the next update will be heard by the user, or the closest approximation thereof, in nanoseconds.
* Use wrappers for float-typed math functionsChris Robinson2012-06-291-45/+34
|
* Test the squared length of a vector before normalizingChris Robinson2012-06-281-8/+6
|
* Don't use all caps for enum value namesChris Robinson2012-06-281-9/+9
|
* Don't try to set FE_TOWARDZERO when it's not availableChris Robinson2012-06-281-0/+2
|
* Only use _FPU_GETCW and _FPU_SETCW for x86 targetsChris Robinson2012-05-031-2/+2
|
* Use ComputeAngleGains for multi-channel sources and remove the unused lookup ↵Chris Robinson2012-04-291-4/+0
| | | | table stuff
* Add a method to calculate gains given a sound point and its half-width, and ↵Chris Robinson2012-04-281-0/+2
| | | | | | | | | use it for reverb The half-width ranges from 0 to pi, and essentially specifies the coverage area around the listener. At 0, it's an infinitely small point sound and behaves like a usual panning sound. At pi/2 it covers half the area, and at pi it covers the whole area.
* Flip the parameters to aluCart2LUTpos, so it behaves a bit more like atan2Chris Robinson2012-04-281-1/+1
|
* Pass the direct/send params to the mixer instead of accessing through the sourceChris Robinson2012-04-281-0/+4
|
* Use separate methods for the dry and wet mixing loopsChris Robinson2012-04-271-6/+11
|
* The mixer always uses floatsChris Robinson2012-04-261-1/+1
|
* Use a separate loop to actually update DataPosFrac and DataPosIntChris Robinson2012-04-261-2/+1
|
* Use more proper enum names for the resamplerChris Robinson2012-02-121-6/+4
|
* Use a proper enum value for setting the default distance modelChris Robinson2012-02-121-1/+3
|