diff options
author | Len Ovens <len@ovenwerks.net> | 2018-10-17 15:58:08 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2018-10-17 15:59:00 -0700 |
commit | 5e21b6633d45e49162cef84a64ba759293003a2b (patch) | |
tree | bb34df08af9fb6accd1766ecbe8dce855ad03984 /libs/ardour/internal_send.cc | |
parent | d2aa57af3b3d188569f5c9f7bea54ba3157a051d (diff) |
Option to hide send if aux is hidden
Diffstat (limited to 'libs/ardour/internal_send.cc')
-rw-r--r-- | libs/ardour/internal_send.cc | 17 |
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) { |