aboutsummaryrefslogtreecommitdiffstats
path: root/alc/alu.h
Commit message (Collapse)AuthorAgeFilesLines
* Use more appropriate types for some enumsChris Robinson2023-05-061-1/+2
|
* Replace al::optional with std::optionalChris Robinson2023-05-041-3/+2
|
* Add a config compat option for NFC distance scalingChris Robinson2022-07-071-1/+1
| | | | | | | | | | | | Currently there's no way for an application to specify the "real world" scale for in-game units. If the game doesn't use one unit to represent what should be perceived as one meter to the user, the NFC filter's effect will be too near or too far sounding. This allows adjusting the unit scale as applied to the NFC filters only, correcting the misalignment. This also removes the influence of EFX's MetersPerUnit from the NFC filters, since many games don't use it, and those that do won't know it also influences the perceived wave curvature along with the air absorption strength.
* Add options to reverse local X and Y coordinatesChris Robinson2022-03-101-0/+2
| | | | | To go along with reverse-z on the other axii. This is only for games that have position/orientation errors causing top-bottom (or left-right) inversion.
* Add a config option for reverse-zChris Robinson2022-03-101-5/+10
| | | | | | The same as the __ALSOFT_REVERSE_Z env var, but in the config file. Should only be used for per-game config files (either along side the executable, or setting the ALSOFT_CONF env var when launching the app).
* Handle AirAbsorptionGainHF as a native context propertyChris Robinson2022-02-081-2/+0
|
* Use a tri-state optional for the stereo output modeChris Robinson2021-10-241-1/+3
|
* Pass a parameter to aluInitRenderer to specify UHJ outputChris Robinson2021-10-231-1/+1
|
* Use an optional bool instead of two tri-state enumsChris Robinson2021-07-311-8/+3
|
* Move ContextBase and VoiceChange to coreChris Robinson2021-04-271-10/+0
|
* Move GetChannelIdxByName and clean up some more includesChris Robinson2021-04-261-9/+0
|
* Move some functions to coreChris Robinson2021-04-251-85/+0
| | | | And clean up more includes
* More include cleanupChris Robinson2021-04-241-4/+3
|
* Move the WetBuffer reference to EffectSlotChris Robinson2020-12-271-2/+2
|
* Move some HRTF definitions to a separate headerChris Robinson2020-12-121-2/+0
|
* Move ambidefs.h to coreChris Robinson2020-12-121-1/+1
|
* Change some macros into constexpr variablesChris Robinson2020-12-041-4/+4
|
* Avoid a global MAX_PITCH macroChris Robinson2020-12-041-1/+0
|
* Move lerp/cubic to alnumeric.hChris Robinson2020-12-041-13/+0
|
* Move some declarations to more appropriate headersChris Robinson2020-11-271-8/+5
|
* Use BufferStorage for the buffer queueChris Robinson2020-11-191-1/+0
|
* Store the wet buffers in the contextChris Robinson2020-11-021-1/+2
| | | | | | This is rather ugly, but we need the wet buffers to remain allocated after its effect slot is deleted, because a voice can still use it for its final fade-out mix.
* Replace the mixer fraction macros with constexpr variablesChris Robinson2020-10-211-3/+4
|
* Replace some more macros with constexpr variablesChris Robinson2020-10-211-6/+6
|
* Change a couple functions into member functionsChris Robinson2020-08-071-5/+0
|
* Reduce the MAX_PITCH to 10Chris Robinson2020-06-291-1/+1
| | | | | 255 is insanely overkill. The bsinc resamplers fade to silence after a few octaves, and the others would be a mess.
* Use a helper to set an identity ambisonic panChris Robinson2020-05-031-4/+15
|
* Avoid an unnecessary out parameterChris Robinson2020-04-211-8/+8
|
* Move a type to where it's usedChris Robinson2020-04-161-3/+0
|
* Get rid of the specialized MixRow_ methodsChris Robinson2020-04-161-3/+0
|
* Use standard attribute declarationsChris Robinson2020-04-131-2/+1
|
* Clean up some more unnecessary uses of AL typesChris Robinson2020-04-081-1/+2
|
* Some more ALfloat->float cleanupChris Robinson2020-04-031-17/+17
|
* Reduce the maximum number of source sends to 6Chris Robinson2020-02-251-1/+1
|
* Handle padding between device sample framesChris Robinson2019-12-211-1/+2
| | | | | | | | The padding must be constant and sample type aligned (e.g. some fixed multiple of two bytes between the start of two consecutive frames for 16-bit output). The intent is to always have the ability for stereo output with WASAPI even if the device has some other unsupported configuration, as long as front-left and front-right exist.
* Use a span instead of a reference-to-arrayChris Robinson2019-10-051-8/+11
|
* Clean up some unnecessary includesChris Robinson2019-10-021-16/+0
|
* Move ALvoice from alu.h to a separate headerChris Robinson2019-10-021-283/+4
|
* Move a couple types to the source they're used inChris Robinson2019-10-021-6/+0
|
* Modify the bsinc resamplerChris Robinson2019-09-291-1/+1
| | | | | Readjusted the bsinc12 cutoff back to -60dB. Also increased the filter's phase count.
* Make the BSincTables constexpr in an anonymous namespaceChris Robinson2019-09-281-1/+0
|
* Make MAX_RESAMPLER_PADDING specify the total paddingChris Robinson2019-09-281-1/+1
|
* Combine two function calls into oneChris Robinson2019-09-281-7/+2
|
* Add "fast" variants for the bsinc resamplersChris Robinson2019-09-281-0/+2
| | | | | | This simply omits the scale factor from the filter, similar to how up-sampling does. The consequence of this is less smooth transitions when ramping the pitch while down-sampling, but otherwise behaves fine.
* Implement a "fast" bsinc pathChris Robinson2019-09-261-1/+1
| | | | | | | | | | This takes advantage of the fact than when increment <= 1 (when not down- sampling), the scale factor is always 0. As a result, the scale and scale-phase deltas never contribute to the filtered output. Removing those multiply+add operations cuts half of the work done by the inner loop. Sounds that do need to down-sample (when played with a high pitch, or is 48khz on 44.1khz output, for example), still go through the normal bsinc process.
* Make the resampler type an enum classChris Robinson2019-09-221-8/+8
|
* Make the bsinc l and m coefficients unsignedChris Robinson2019-09-171-2/+2
|
* Pass IrSize to the HRTF mixers as unsignedChris Robinson2019-09-131-2/+2
|
* Make the resampler increment unsignedChris Robinson2019-09-131-1/+1
|
* Clean up sample converter implicit conversionsChris Robinson2019-09-121-1/+1
|