Make master fader natural by applying it as final post-limiter stage

This commit is contained in:
Armin 2026-07-15 23:52:33 +02:00
commit b8b0624a80

View file

@ -337,7 +337,7 @@ void ChromaFlockProcessor::updateVoiceParameters() {
getParam("fEnvRelease"), getParam("fEnvRelease"),
getParam("pan"), getParam("pan"),
getParam("drive"), getParam("drive"),
getParam("masterLevel"), 1.0f,
l1Rate, l1Rate,
getParam("lfo1Depth"), getParam("lfo1Depth"),
static_cast<int>(getParam("lfo1Shape")), static_cast<int>(getParam("lfo1Shape")),
@ -469,6 +469,12 @@ void ChromaFlockProcessor::processBlock(juce::AudioBuffer<float>& buffer, juce::
// Reverb (block-based) // Reverb (block-based)
reverbFX.process(leftData, rightData, numSamples); reverbFX.process(leftData, rightData, numSamples);
// Master volume — final stage, after limiter/reverb.
for (int i = 0; i < numSamples; ++i) {
leftData[i] *= masterGain;
rightData[i] *= masterGain;
}
// Metering // Metering
float sumSquares = 0.0f; float sumSquares = 0.0f;
float peak = 0.0f; float peak = 0.0f;