summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-11-08 18:05:04 +0100
committerRobin Gareus <robin@gareus.org>2018-07-09 17:30:38 +0200
commitcdec333bfe870fdbbbcaaaabe4b4aa98ccc9f0e8 (patch)
tree09144a1dccc84ae4c866c7d19fb4929c1511802c /libs/ardour/route.cc
parent2953b575f243a6fc2e863f3289c366b21f9c3f3e (diff)
move rt-stop to route
currently this is only used to resolve midi events for plugins (this is conceptually not correct, note offs should be resolved by the disk-reader only), but it calls into all processors now (incl disk-reader if present), which is handy (e.g. flush delaylins)
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index fab5beb766..fba39744fa 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -3413,6 +3413,18 @@ Route::non_realtime_transport_stop (samplepos_t now, bool flush)
}
void
+Route::realtime_handle_transport_stopped ()
+{
+ Glib::Threads::RWLock::ReaderLock lm (_processor_lock);
+
+ /* currently only by Plugin, queue note-off events */
+ for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
+ (*i)->realtime_handle_transport_stopped ();
+ }
+}
+
+
+void
Route::input_change_handler (IOChange change, void * /*src*/)
{
if ((change.type & IOChange::ConfigurationChanged)) {