diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-12-22 20:14:47 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-12-22 20:14:47 +0000 |
commit | ed2beaffeef72ddce8ac628cced672851ec5668d (patch) | |
tree | bdb318ac3bbfd06b8804e686db19b99ef5297d89 /libs/ardour/midi_diskstream.cc | |
parent | 2449a787c59b383912115421fdcd7ad4cca2a581 (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.cc | 10 |
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 |