aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* Pass a reference to function for a template parameterChris Robinson2019-03-031-3/+3
|
* Use more specific names for temp buffer storageChris Robinson2019-03-021-18/+10
|
* Reverse the HRTF field arrayChris Robinson2019-02-273-15/+24
| | | | | | Most often a sound's distance will be beyond the farthest field measurement, so It's more efficient to have the farthest field first and avoid looping through the whole field array for them.
* 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.
* Convert the device frequency to float just onceChris Robinson2019-02-241-9/+7
|
* Make sure the voice's direct buffer is always setChris Robinson2019-02-241-7/+5
|
* Remove a duplicate index arrayChris Robinson2019-02-241-2/+2
|
* Reduce BUFFERSIZE to match the default period sizeChris Robinson2019-02-241-9/+9
| | | | | Also adds a bit more space to the temp source data buffer, to avoid needing to loop on matching sample rates.
* 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
|
* Constify some parameters and remove an explicit loopChris Robinson2019-02-232-10/+23
|
* Remove the FOAOut mixing buffer and associated post-processesChris Robinson2019-02-226-289/+11
|
* Remove the unused FOAOut EffectTargetChris Robinson2019-02-221-2/+2
|
* 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
|
* Mix B-Format sources directly to the dry bufferChris Robinson2019-02-212-21/+34
| | | | Now the only thing that utilizes FOAOut is reverb output.
* Remove RESTRICT from the bandsplitter process methodChris Robinson2019-02-212-2/+2
| | | | | The compiler can see there's no aliasing with the local variables, and the input/output buffers are handled sequentially one element at a time anyway.
* Allow processing some effects in higher order ambisonicsChris Robinson2019-02-216-17/+17
| | | | | | 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.
* Add helpers to get the channel count from an ambisonic orderChris Robinson2019-02-213-16/+20
|
* 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-2113-107/+104
|
* Ensure the device's mAmbiOrder is always set appropriatelyChris Robinson2019-02-211-8/+23
| | | | The Dry target is always ambisonic, so set its order correctly.
* Store effect slots in groups of 64Chris Robinson2019-02-202-18/+41
| | | | | Now that their wet buffers are allocated dynamically, the ALeffectslot object itself is rather small.
* Allocate the effect slot wet buffer dynamicallyChris Robinson2019-02-203-27/+31
|
* 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-1914-56/+56
|
* Reduce some indentingChris Robinson2019-02-191-27/+25
|
* Apply the upsampler's all-pass when mixing the band-split samplesChris Robinson2019-02-191-10/+10
|
* Clean up some AmbiUpsampler initializationChris Robinson2019-02-191-17/+19
|
* Avoid a temp buffer for the distance compensation delayChris Robinson2019-02-171-23/+12
|
* Apply phase correction to the ambisonic decoder HRIRsChris Robinson2019-02-161-25/+60
| | | | | | This preserves the original phase of the HRIR frequencies for decoding the ambisonic signal. This should help prevent extra coloration from the band- splitter used to scale the HF response.
* Avoid using internal AL[u]int64 typesChris Robinson2019-02-118-20/+20
|
* Move some number-related stuff to a separate headerChris Robinson2019-02-111-2/+3
|
* Use std::arrays for HRIR coeffs and valuesChris Robinson2019-02-076-44/+40
|
* Simply setting a couple indicesChris Robinson2019-02-041-2/+2
|
* Use relaxed memory ordering for initializing atomic_flagsChris Robinson2019-02-041-1/+1
|
* Use a unique_ptr to store the loaded HrtfEntryChris Robinson2019-02-041-34/+28
|
* Fix compiling problems on VS2019 with vc142 toolsetMinmin Gong2019-02-042-1/+2
| | | | Msvc142 in VS2019 preview 2 doesn't allow std::atomic_flag to be initialized by a bool. Call test_and_set in the constructors instead.
* Add missing includeChris Robinson2019-01-291-1/+3
|
* Calculate the correct evidx for the HRTF B-Format decoderChris Robinson2019-01-291-3/+7
|
* Load and use all available HRTF fieldsChris Robinson2019-01-291-30/+30
|
* Pass the distance to GetHrtfCoeffsChris Robinson2019-01-283-22/+25
|