diff options
author | Len Ovens <len@ovenwerks.net> | 2019-08-26 12:52:21 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2019-08-26 17:48:22 -0700 |
commit | 220fa45d353bbbbdfcb6efb906189173bb4d88e9 (patch) | |
tree | b387825b90716493eb5f8497fcdcb81928b14a05 /libs/ardour/route.cc | |
parent | a2de8bd88143b6092e102aded0b4669b44a2ea40 (diff) |
Add signal for foldback send add or remove
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 075ccd72c1..962f23bda1 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -3312,6 +3312,7 @@ Route::add_foldback_send (boost::shared_ptr<Route> route) } catch (failed_constructor& err) { return -1; } + _session.FBSendsChanged (); return 0; } @@ -3321,6 +3322,7 @@ Route::remove_aux_or_listen (boost::shared_ptr<Route> route) { ProcessorStreams err; ProcessorList::iterator tmp; + bool do_fb_signal = false; { Glib::Threads::RWLock::ReaderLock rl(_processor_lock); @@ -3339,6 +3341,11 @@ Route::remove_aux_or_listen (boost::shared_ptr<Route> route) boost::shared_ptr<InternalSend> d = boost::dynamic_pointer_cast<InternalSend>(*x); if (d && d->target_route() == route) { + boost::shared_ptr<Send> snd = boost::dynamic_pointer_cast<Send>(d); + if (snd && snd->is_foldback()) { + do_fb_signal = true; + } + rl.release (); if (remove_processor (*x, &err, false) > 0) { rl.acquire (); @@ -3358,6 +3365,10 @@ Route::remove_aux_or_listen (boost::shared_ptr<Route> route) } } } + if (do_fb_signal) { + _session.FBSendsChanged (); + } + } void |