diff options
-rw-r--r-- | al/effects/reverb.cpp | 20 | ||||
-rw-r--r-- | core/effects/base.h | 15 |
2 files changed, 16 insertions, 19 deletions
diff --git a/al/effects/reverb.cpp b/al/effects/reverb.cpp index 7f0be980..440d7b4e 100644 --- a/al/effects/reverb.cpp +++ b/al/effects/reverb.cpp @@ -113,12 +113,6 @@ void Reverb_setParamf(EffectProps *props, ALenum param, float val) props->Reverb.LateReverbDelay = val; break; - case AL_EAXREVERB_AIR_ABSORPTION_GAINHF: - if(!(val >= AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF && val <= AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF)) - throw effect_exception{AL_INVALID_VALUE, "EAX Reverb air absorption gainhf out of range"}; - props->Reverb.AirAbsorptionGainHF = val; - break; - case AL_EAXREVERB_ECHO_TIME: if(!(val >= AL_EAXREVERB_MIN_ECHO_TIME && val <= AL_EAXREVERB_MAX_ECHO_TIME)) throw effect_exception{AL_INVALID_VALUE, "EAX Reverb echo time out of range"}; @@ -143,6 +137,12 @@ void Reverb_setParamf(EffectProps *props, ALenum param, float val) props->Reverb.ModulationDepth = val; break; + case AL_EAXREVERB_AIR_ABSORPTION_GAINHF: + if(!(val >= AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF && val <= AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF)) + throw effect_exception{AL_INVALID_VALUE, "EAX Reverb air absorption gainhf out of range"}; + props->Reverb.AirAbsorptionGainHF = val; + break; + case AL_EAXREVERB_HFREFERENCE: if(!(val >= AL_EAXREVERB_MIN_HFREFERENCE && val <= AL_EAXREVERB_MAX_HFREFERENCE)) throw effect_exception{AL_INVALID_VALUE, "EAX Reverb hfreference out of range"}; @@ -257,10 +257,6 @@ void Reverb_getParamf(const EffectProps *props, ALenum param, float *val) *val = props->Reverb.LateReverbDelay; break; - case AL_EAXREVERB_AIR_ABSORPTION_GAINHF: - *val = props->Reverb.AirAbsorptionGainHF; - break; - case AL_EAXREVERB_ECHO_TIME: *val = props->Reverb.EchoTime; break; @@ -277,6 +273,10 @@ void Reverb_getParamf(const EffectProps *props, ALenum param, float *val) *val = props->Reverb.ModulationDepth; break; + case AL_EAXREVERB_AIR_ABSORPTION_GAINHF: + *val = props->Reverb.AirAbsorptionGainHF; + break; + case AL_EAXREVERB_HFREFERENCE: *val = props->Reverb.HFReference; break; diff --git a/core/effects/base.h b/core/effects/base.h index 0d01044f..4ee19f37 100644 --- a/core/effects/base.h +++ b/core/effects/base.h @@ -61,32 +61,29 @@ enum class VMorpherWaveform { union EffectProps { struct { - // Shared Reverb Properties float Density; float Diffusion; float Gain; float GainHF; + float GainLF; float DecayTime; float DecayHFRatio; + float DecayLFRatio; float ReflectionsGain; float ReflectionsDelay; + float ReflectionsPan[3]; float LateReverbGain; float LateReverbDelay; - float AirAbsorptionGainHF; - float RoomRolloffFactor; - bool DecayHFLimit; - - // Additional EAX Reverb Properties - float GainLF; - float DecayLFRatio; - float ReflectionsPan[3]; float LateReverbPan[3]; float EchoTime; float EchoDepth; float ModulationTime; float ModulationDepth; + float AirAbsorptionGainHF; float HFReference; float LFReference; + float RoomRolloffFactor; + bool DecayHFLimit; } Reverb; struct { |