From c6287a121da6d97318e563aea9035ec11adf469f Mon Sep 17 00:00:00 2001 From: "Ivan A. Melnikov" Date: Tue, 17 Oct 2023 10:51:48 +0400 Subject: [PATCH] synth: Reset the voice before starting it The voice manager may select a voice that is currently audible, so its state has to be cleaned up before starting over. Fixes: https://github.com/sfztools/sfizz/issues/1180 --- src/sfizz/Synth.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index e4b532bd..6b75d277 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -1310,6 +1310,7 @@ void Synth::Impl::startVoice(Layer* layer, int delay, const TriggerEvent& trigge if (selectedVoice == nullptr) return; + selectedVoice->reset(); if (selectedVoice->startVoice(layer, delay, triggerEvent)) ring.addVoiceToRing(selectedVoice); }