diff options
author | Boris I. Bendovsky <[email protected]> | 2022-07-12 12:46:51 +0300 |
---|---|---|
committer | GitHub <[email protected]> | 2022-07-12 02:46:51 -0700 |
commit | 6fb5cb553f4c2faf4b991ac377ec457a7bba7e4c (patch) | |
tree | 5b62a1111fa1a48f3a2e226b8491bc1615db865d /al/effects/effects.cpp | |
parent | fa51c89549590319cb545a8c81419e2e1ddc5db3 (diff) |
[EAX] Use separate FX slot state for each version (#730)
* [EAX] Use separate FX slot state for each version
[EAX] Don't defer FX slot properties
* [EAX_FXSLOT] Use mPropsDirty to defer update
[EAX_CONTEXT] Commit all updates on first initialization
Diffstat (limited to 'al/effects/effects.cpp')
-rw-r--r-- | al/effects/effects.cpp | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/al/effects/effects.cpp b/al/effects/effects.cpp index e4e61231..7c8447e4 100644 --- a/al/effects/effects.cpp +++ b/al/effects/effects.cpp @@ -1,16 +1,12 @@ - #include "config.h" #ifdef ALSOFT_EAX -#include "effects.h" - #include <cassert> - #include "AL/efx.h" +#include "effects.h" - -EaxEffectUPtr eax_create_eax_effect(ALenum al_effect_type, const EaxCall& call) +EaxEffectUPtr eax_create_eax_effect(ALenum al_effect_type, int eax_version) { #define EAX_PREFIX "[EAX_MAKE_EAX_EFFECT] " @@ -20,40 +16,40 @@ EaxEffectUPtr eax_create_eax_effect(ALenum al_effect_type, const EaxCall& call) return eax_create_eax_null_effect(); case AL_EFFECT_CHORUS: - return eax_create_eax_chorus_effect(call); + return eax_create_eax_chorus_effect(eax_version); case AL_EFFECT_DISTORTION: - return eax_create_eax_distortion_effect(call); + return eax_create_eax_distortion_effect(eax_version); case AL_EFFECT_ECHO: - return eax_create_eax_echo_effect(call); + return eax_create_eax_echo_effect(eax_version); case AL_EFFECT_FLANGER: - return eax_create_eax_flanger_effect(call); + return eax_create_eax_flanger_effect(eax_version); case AL_EFFECT_FREQUENCY_SHIFTER: - return eax_create_eax_frequency_shifter_effect(call); + return eax_create_eax_frequency_shifter_effect(eax_version); case AL_EFFECT_VOCAL_MORPHER: - return eax_create_eax_vocal_morpher_effect(call); + return eax_create_eax_vocal_morpher_effect(eax_version); case AL_EFFECT_PITCH_SHIFTER: - return eax_create_eax_pitch_shifter_effect(call); + return eax_create_eax_pitch_shifter_effect(eax_version); case AL_EFFECT_RING_MODULATOR: - return eax_create_eax_ring_modulator_effect(call); + return eax_create_eax_ring_modulator_effect(eax_version); case AL_EFFECT_AUTOWAH: - return eax_create_eax_auto_wah_effect(call); + return eax_create_eax_auto_wah_effect(eax_version); case AL_EFFECT_COMPRESSOR: - return eax_create_eax_compressor_effect(call); + return eax_create_eax_compressor_effect(eax_version); case AL_EFFECT_EQUALIZER: - return eax_create_eax_equalizer_effect(call); + return eax_create_eax_equalizer_effect(eax_version); case AL_EFFECT_EAXREVERB: - return eax_create_eax_reverb_effect(call); + return eax_create_eax_reverb_effect(eax_version); default: assert(false && "Unsupported AL effect type."); |