summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_diskstream.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-12-22 20:14:47 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-12-22 20:14:47 +0000
commited2beaffeef72ddce8ac628cced672851ec5668d (patch)
treebdb318ac3bbfd06b8804e686db19b99ef5297d89 /libs/ardour/midi_diskstream.cc
parent2449a787c59b383912115421fdcd7ad4cca2a581 (diff)
main fix: when transport stops, clear per-region per-playlist note trackers even if there is no capture data to process; side effects: remove unused MidiBuffer::merge() and add DEBUG::MidiTrackers as well as more and better MIDI debug tracing facilities
git-svn-id: svn://localhost/ardour2/branches/3.0@11057 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_diskstream.cc')
-rw-r--r--libs/ardour/midi_diskstream.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/ardour/midi_diskstream.cc b/libs/ardour/midi_diskstream.cc
index 64fcf60925..950e2b5e61 100644
--- a/libs/ardour/midi_diskstream.cc
+++ b/libs/ardour/midi_diskstream.cc
@@ -944,7 +944,7 @@ MidiDiskstream::transport_stopped_wallclock (struct tm& /*when*/, time_t /*twhen
Glib::Mutex::Lock lm (capture_info_lock);
if (capture_info.empty()) {
- return;
+ goto no_capture_stuff_to_do;
}
if (abort_capture) {
@@ -1097,12 +1097,14 @@ MidiDiskstream::transport_stopped_wallclock (struct tm& /*when*/, time_t /*twhen
delete *ci;
}
+ capture_info.clear ();
+ capture_start_frame = 0;
+
+ no_capture_stuff_to_do:
+
if (_playlist) {
midi_playlist()->clear_note_trackers ();
}
-
- capture_info.clear ();
- capture_start_frame = 0;
}
void