summaryrefslogtreecommitdiff
path: root/libs/ardour/internal_send.cc
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2018-10-17 15:58:08 -0700
committerLen Ovens <len@ovenwerks.net>2018-10-17 15:59:00 -0700
commit5e21b6633d45e49162cef84a64ba759293003a2b (patch)
treebb34df08af9fb6accd1766ecbe8dce855ad03984 /libs/ardour/internal_send.cc
parentd2aa57af3b3d188569f5c9f7bea54ba3157a051d (diff)
Option to hide send if aux is hidden
Diffstat (limited to 'libs/ardour/internal_send.cc')
-rw-r--r--libs/ardour/internal_send.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/internal_send.cc b/libs/ardour/internal_send.cc
index 9749dab760..0292badefa 100644
--- a/libs/ardour/internal_send.cc
+++ b/libs/ardour/internal_send.cc
@@ -112,6 +112,9 @@ InternalSend::use_target (boost::shared_ptr<Route> sendto)
_send_to->DropReferences.connect_same_thread (target_connections, boost::bind (&InternalSend::send_to_going_away, this));
_send_to->PropertyChanged.connect_same_thread (target_connections, boost::bind (&InternalSend::send_to_property_changed, this, _1));
_send_to->io_changed.connect_same_thread (target_connections, boost::bind (&InternalSend::target_io_changed, this));
+ boost::shared_ptr<Stripable> st_to = boost::dynamic_pointer_cast<Stripable> (_send_to);
+ st_to->presentation_info().PropertyChanged.connect_same_thread (target_connections, boost::bind (&InternalSend::send_to_pi_change, this, _1));
+ send_to_pi_change (Properties::hidden);
return 0;
}
@@ -427,6 +430,20 @@ InternalSend::send_to_property_changed (const PropertyChange& what_changed)
}
void
+InternalSend::send_to_pi_change (const PBD::PropertyChange& what_changed)
+{
+ if (what_changed.contains (Properties::hidden)) {
+ boost::shared_ptr<Stripable> st_to = boost::dynamic_pointer_cast<Stripable> (_send_to);
+ if (Config->get_hiding_aux_hides_connected_sends()) {
+ set_display_to_user (!st_to->is_hidden ());
+ } else {
+ set_display_to_user (true);
+ }
+ _send_from->processors_changed (RouteProcessorChange ()); /* EMIT SIGNAL */
+ }
+}
+
+void
InternalSend::set_can_pan (bool yn)
{
if (_panshell) {