aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/effects
Commit message (Collapse)AuthorAgeFilesLines
* Simplify the echo feedback loopChris Robinson2019-05-201-30/+26
|
* Don't use coverage spread for the echo spreadChris Robinson2019-05-201-17/+9
|
* Avoid unnecessary use of CalcAngleCoeffsChris Robinson2019-05-205-7/+7
|
* Use BUFFERSIZE for the reverb loop limitChris Robinson2019-05-031-11/+6
| | | | | | | At 44/48khz, the main delay line comes out to 20k to 22k samples, which gets rounded up to 32k as the next power of two. This leaves plenty of room for the full 1k BUFFERSIZE without having to increase the delay line beyond what it already is.
* Add some assumes and constsChris Robinson2019-05-031-16/+15
|
* Avoid a few more array length assumptionsChris Robinson2019-05-011-36/+35
|
* Avoid masking offsets in the inner reverb loopsChris Robinson2019-04-301-84/+158
|
* Combine some reverb processing loopsChris Robinson2019-04-281-29/+31
| | | | | | Specifically, the A2B and output mixing, as well as applying the band-pass with B2A mixing (the latter of which hiding a bug that was overwriting the early buffer storage).
* Rename and move ALeffectPropsChris Robinson2019-03-2213-190/+293
|
* Use MixParams for the wet buffersChris Robinson2019-03-224-6/+6
|
* Slightly improve casting in the modulator effectChris Robinson2019-03-221-3/+4
|
* Pass ALeffectProps directly to the get/setParam* methodsChris Robinson2019-03-2213-218/+184
|
* Use the effect state factory to set the default effect propsChris Robinson2019-03-2213-665/+689
|
* Implement getDefaultProps for effect state factoriesChris Robinson2019-03-2212-17/+267
|
* Use a separate EffectStateFactory for standard reverbChris Robinson2019-03-221-0/+3
|
* Use SSE intrinsics in a few more placesChris Robinson2019-03-181-2/+10
|
* Add a method to apply an HF scale without band-splittingChris Robinson2019-03-101-16/+7
|
* Combine the reverb output mixes into a single callChris Robinson2019-02-251-28/+38
|
* Make sure the reverb fading completesChris Robinson2019-02-251-1/+1
| | | | | The processing loop doesn't depend on being aligned anymore, so it won't get stuck when only less than 4 samples can be done in a non-final update.
* Rework reverb A/B-Format conversion mixingChris Robinson2019-02-241-99/+77
| | | | | This should help improve performance using the optimized mixers, and fewer passes on the transforms, though at the cost of more memory.
* Change some functions to proper methodsChris Robinson2019-02-231-171/+171
|
* Avoid multiple int-to-float conversionsChris Robinson2019-02-231-12/+17
|
* Remove the FOAOut mixing buffer and associated post-processesChris Robinson2019-02-221-1/+1
|
* Apply ambisonic upsampling on reverb output as neededChris Robinson2019-02-221-37/+110
| | | | | | | | | | This isn't the greatest thing since it splits the A-to-B-Format transform from the panning transform. The A-to-B and HF scale mixes are also not as optimal as they could be, since they can't use the main mixer functions (wrong buffer line length). It does, however, get rid of the final use of the FOAOut buffer, so the upsampling post-process is no longer needed.
* Ensure reverb fading doesn't end with less than 4 samplesChris Robinson2019-02-221-1/+1
|
* Avoid some unnecessary local variablesChris Robinson2019-02-221-13/+12
|
* Combine reverb transform matrices one column at a timeChris Robinson2019-02-211-18/+23
|
* Allow processing some effects in higher order ambisonicsChris Robinson2019-02-214-12/+12
| | | | | | Reverb notably is still only first-order (any higher order channels are dropped, and it writes to FOAOut). But others, like the equalizer, work on all available channels.
* Fix unused parameter warningChris Robinson2019-02-211-1/+1
|
* Get rid of the MAX_EFFECT_CHANNELS macroChris Robinson2019-02-214-40/+39
|
* Make sure the B2A matrix has enough values for the input countChris Robinson2019-02-211-6/+6
|
* Remove some now-unnecessary ReverbState fieldsChris Robinson2019-02-211-26/+1
|
* Pass the number of input channels to EffectState::processChris Robinson2019-02-2112-106/+103
|
* Partially handle non-periphonic reverb inputChris Robinson2019-02-191-3/+26
|
* Use the right macro for the number of reverb panning gainsChris Robinson2019-02-191-2/+2
|
* Rename MAX_AMBI_COEFFS and MAX_AMBI2D_COEFFSChris Robinson2019-02-196-6/+6
|
* Avoid using internal AL[u]int64 typesChris Robinson2019-02-111-7/+7
|
* Use `= default` to define trivial dtor/ctorFilip Gawin2019-01-091-6/+2
|
* Remove redundant void argument list in function defFilip Gawin2019-01-0912-15/+15
|
* Use c++ headersFilip Gawin2019-01-0910-17/+17
|
* Avoid using old style castsFilip Gawin2019-01-087-25/+25
| | | | | | To think about: examples/alffplay.cpp:600 OpenAL32/Include/alMain.h:295
* Use user-defined literals for 64-bit literalsChris Robinson2019-01-071-1/+1
|
* Replace macros with constexpr inline functionsChris Robinson2019-01-068-22/+23
|
* Avoid unnecessary extra buffers for filter chainsChris Robinson2019-01-012-15/+14
|
* Rename a couple filter files for consistencyChris Robinson2018-12-257-7/+7
|
* Provide effect target parameters through a common structChris Robinson2018-12-2412-211/+93
|
* Mix effect slot output to the effect target if it's setChris Robinson2018-12-2311-61/+176
|
* Cleanup definitions and declarations in reverb.cppChris Robinson2018-12-221-253/+221
|
* Constify a parameterChris Robinson2018-12-2212-24/+24
|
* Pass RealMixParams by reference instead of pointerChris Robinson2018-12-201-2/+2
|