From 2fcd2310624982abb21a230e00a288023655fec2 Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Thu, 7 May 2020 18:45:59 +0200 Subject: [PATCH] Consider the max of the sister voices --- src/sfizz/Synth.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index 71ef5822..acfc371d 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -528,13 +528,13 @@ sfz::Voice* sfz::Synth::findFreeVoice() noexcept break; } - float sumEnvelope = ref->getAverageEnvelope(); + float maxEnvelope = ref->getAverageEnvelope(); while (idx < voiceViewArray.size() && sisterVoices(ref, voiceViewArray[idx])) { - sumEnvelope += voiceViewArray[idx]->getAverageEnvelope(); + maxEnvelope = max(maxEnvelope, voiceViewArray[idx]->getAverageEnvelope()); idx++; } - if (sumEnvelope < envThreshold) { + if (maxEnvelope < envThreshold) { returnedVoice = ref; // std::cout << "Killing " << idx - refIdx << " voices" << '\n'; for (unsigned j = refIdx; j < idx; j++)