Γ-W1-T2: the published GR meter reads the limiter, not the mute

Retire the effectiveGain blend so the meter's minimum tracks smoothGain's own
reduction against real input, unscaled by the transition mute — a toggle over
quiet material now reads no reduction instead of pinning to 0.
This commit is contained in:
2026-08-01 21:08:13 -04:00
parent 6232851c6b
commit 91c1b78d5e
4 changed files with 59 additions and 9 deletions
+4 -2
View File
@@ -197,8 +197,10 @@ float Limiter::process(float* left, float* right, int frames) {
left[i] = 0.f;
if (stereo) right[i] = 0.f;
}
const float effectiveGain = s >= 1.f ? gain : s * gain;
if (effectiveGain < blockMin) blockMin = effectiveGain;
// `gain` is the limiter's own reduction, computed from the real input this sample
// whether or not the mute is currently scaling it toward silence — publishing it
// unscaled is what lets the meter show "really limiting" and not "just muting".
if (gain < blockMin) blockMin = gain;
// A disengage is tested FIRST so a toggle-off arriving mid-engage abandons the prime
// instead of waiting it out in silence.