diff options
author | Chris Robinson <[email protected]> | 2023-03-10 19:58:45 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2023-03-10 19:58:45 -0800 |
commit | 8c3948c4de4b84805664775bbfe64516e1100ad9 (patch) | |
tree | c3325fe665867cf225d7aa1c8dde4b0b35c7576b /al/auxeffectslot.h | |
parent | 605fa7815948cdef42877286f85cc23ed5b3760d (diff) |
Rework EAX effect handling
Allocate a base EaxEffect object once for all effect types, instead of
reallocating different derived types on effect changes. The reverb and null
effects have been converted to the new interface, the others are currently
broken/unsupported, but will be restored shortly.
Diffstat (limited to 'al/auxeffectslot.h')
-rw-r--r-- | al/auxeffectslot.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/al/auxeffectslot.h b/al/auxeffectslot.h index 9b6403f4..10f69270 100644 --- a/al/auxeffectslot.h +++ b/al/auxeffectslot.h @@ -132,7 +132,7 @@ private: void operator()(const GUID& guidLoadEffect) const { if (guidLoadEffect != EAX_NULL_GUID && - guidLoadEffect != EAX_REVERB_EFFECT && + guidLoadEffect != EAX_REVERB_EFFECT /*&& guidLoadEffect != EAX_AGCCOMPRESSOR_EFFECT && guidLoadEffect != EAX_AUTOWAH_EFFECT && guidLoadEffect != EAX_CHORUS_EFFECT && @@ -143,7 +143,7 @@ private: guidLoadEffect != EAX_FREQUENCYSHIFTER_EFFECT && guidLoadEffect != EAX_VOCALMORPHER_EFFECT && guidLoadEffect != EAX_PITCHSHIFTER_EFFECT && - guidLoadEffect != EAX_RINGMODULATOR_EFFECT) + guidLoadEffect != EAX_RINGMODULATOR_EFFECT*/) { eax_fail_unknown_effect_id(); } @@ -299,7 +299,7 @@ private: // Returns `true` if all sources should be updated, or `false` otherwise. bool eax_get(const EaxCall& call); - void eax_fx_slot_load_effect(); + void eax_fx_slot_load_effect(int version, ALenum altype); void eax_fx_slot_set_volume(); void eax_fx_slot_set_environment_flag(); void eax_fx_slot_set_flags(); @@ -339,8 +339,6 @@ private: void eax4_fx_slot_commit(EaxDirtyFlags& dst_df); void eax5_fx_slot_commit(Eax5State& state, EaxDirtyFlags& dst_df); - void eax_dispatch_effect(const EaxCall& call); - // `alAuxiliaryEffectSloti(effect_slot, AL_EFFECTSLOT_EFFECT, effect)` void eax_set_efx_slot_effect(EaxEffect &effect); |