aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_midiplay.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/adlmidi_midiplay.cpp')
-rw-r--r--src/adlmidi_midiplay.cpp5
1 files 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;
}