From 28aaa34889e8cca6767dbcbacfbb6294596f44d8 Mon Sep 17 00:00:00 2001 From: rbdannenberg Date: Tue, 5 Oct 2010 02:42:29 +0000 Subject: [PATCH] With EXPERIMENTAL_MIDI_OUT, pausing MIDI and audio playing together now turns off all MIDI notes currently playing (same behavior as pausing MIDI track alone) --- src/AudioIO.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/AudioIO.cpp b/src/AudioIO.cpp index 888b90575..d71d6aaa7 100644 --- a/src/AudioIO.cpp +++ b/src/AudioIO.cpp @@ -2046,17 +2046,19 @@ MidiThread::ExitCode MidiThread::Entry() gAudioIO->mNumFrames > 0) { // Keep track of time paused. If not paused, fill buffers. - if (gAudioIO->mNumPlaybackChannels == 0 && gAudioIO->IsPaused()) { + if (gAudioIO->IsPaused()) { if (!gAudioIO->mMidiPaused) { gAudioIO->mMidiPaused = true; - pauseStart = MidiTime(NULL); gAudioIO->AllNotesOff(); // to avoid hanging notes during pause + pauseStart = MidiTime(NULL); } } else { if (gAudioIO->mMidiPaused) { gAudioIO->mMidiPaused = false; + // note: mPauseTime ignored if audio is playing gAudioIO->mPauseTime += (MidiTime(NULL) - pauseStart); } + gAudioIO->FillMidiBuffers(); // test for end