From f7c04e97cd07507d6993ab8e0e1d1aa8a642048e Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Sun, 25 May 2025 04:59:49 +0300 Subject: Fixed glitchy note sounding after channel stealing --- src/adlmidi_midiplay.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp index 9ed7ee0..a30fbe8 100644 --- a/src/adlmidi_midiplay.cpp +++ b/src/adlmidi_midiplay.cpp @@ -1568,8 +1568,9 @@ bool MIDIplay::killSecondVoicesIfOverflow(int32_t &new_chan) AdlChannel::LocationData &jd = j->value; m_midiChannels[jd.loc.MidCh].clear_all_phys_users(new_chan); - m_chipChannels[new_chan].users.clear(); - m_chipChannels[new_chan].koff_time_until_neglible_us = 0; + m_chipChannels[new_chan].users.erase(j); + assert(m_chipChannels[new_chan].users.empty()); // No users should remain! + synth.noteOff(new_chan); ret = true; } -- cgit v1.2.3