diff options
author | Carl Hetherington <carl@carlh.net> | 2010-12-07 14:44:47 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-12-07 14:44:47 +0000 |
commit | 94b4c264d156d79efc687a98f17514b128960118 (patch) | |
tree | 97847ecdb68b1da8ea482b5e4de54fcc058dcf4a /libs/ardour/midi_track.cc | |
parent | 40c162d6096f9bb338b602fb7845234133285411 (diff) |
Send note-offs to VST instrument plugins on transport stop. Fixes #3583.
git-svn-id: svn://localhost/ardour2/branches/3.0@8203 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r-- | libs/ardour/midi_track.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index c994350ebc..fa406adfa0 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -403,9 +403,16 @@ MidiTrack::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_fr } void -MidiTrack::handle_transport_stopped (bool abort, bool did_locate, bool flush_processors) +MidiTrack::realtime_handle_transport_stopped () { - Route::handle_transport_stopped (abort, did_locate, flush_processors); + Glib::RWLock::ReaderLock lm (_processor_lock, Glib::TRY_LOCK); + if (!lm.locked ()) { + return; + } + + for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) { + (*i)->realtime_handle_transport_stopped (); + } } void |