aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--al/effects/reverb.cpp20
-rw-r--r--core/effects/base.h15
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 {