From 219a09496f890caaf1709ef3e4e868f3db29e7bb Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 17 Jan 2015 22:19:57 -0500 Subject: [PATCH] Fix MIDI bounce/consolidate note resolution. --- libs/ardour/session.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 4eb7ed2880..59f6425266 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -4485,8 +4485,13 @@ Session::write_one_track (Track& track, framepos_t start, framepos_t end, for (vector >::iterator src = srcs.begin(); src != srcs.end(); ++src) { boost::shared_ptr afs = boost::dynamic_pointer_cast(*src); - if (afs) + boost::shared_ptr ms; + if (afs) { afs->prepare_for_peakfile_writes (); + } else if ((ms = boost::dynamic_pointer_cast(*src))) { + Source::Lock lock(ms->mutex()); + ms->mark_streaming_write_started(lock); + } } while (to_do && !itt.cancel) { @@ -4519,7 +4524,6 @@ Session::write_one_track (Track& track, framepos_t start, framepos_t end, } } else if ((ms = boost::dynamic_pointer_cast(*src))) { Source::Lock lock(ms->mutex()); - ms->mark_streaming_write_started(lock); const MidiBuffer& buf = buffers.get_midi(0); for (MidiBuffer::const_iterator i = buf.begin(); i != buf.end(); ++i) {