aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2017-05-02 15:55:58 -0700
committerChris Robinson <[email protected]>2017-05-02 15:55:58 -0700
commit4e5c4b8e01060bb34c58480895e70a0529d8a55e (patch)
treef4e4b69230f525d463aa0e3d817f0aa397786762 /Alc
parent66f964078788fdfd5dfb32750bf8ab1e9075140f (diff)
Add a slight bit of attenuation to the reverb output
Diffstat (limited to 'Alc')
-rw-r--r--Alc/effects/reverb.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Alc/effects/reverb.c b/Alc/effects/reverb.c
index 972bb717..820ab70a 100644
--- a/Alc/effects/reverb.c
+++ b/Alc/effects/reverb.c
@@ -1412,8 +1412,10 @@ static ALvoid ALreverbState_update(ALreverbState *State, const ALCdevice *Device
props->Reverb.EchoTime, props->Reverb.EchoDepth,
frequency, State);
- /* Update early and late 3D panning. */
- gain = props->Reverb.Gain * Slot->Params.Gain * ReverbBoost;
+ /* Update early and late 3D panning. Attenuate the early and late stages
+ * both by 0.7071 (-3dB) to better balance the mixture.
+ */
+ gain = sqrtf(0.5f) * props->Reverb.Gain * Slot->Params.Gain * ReverbBoost;
Update3DPanning(Device, props->Reverb.ReflectionsPan,
props->Reverb.LateReverbPan, gain,
props->Reverb.ReflectionsGain,