diff --git a/libs/surfaces/osc/osc_route_observer.cc b/libs/surfaces/osc/osc_route_observer.cc index 8269459718..ea7be9041e 100644 --- a/libs/surfaces/osc/osc_route_observer.cc +++ b/libs/surfaces/osc/osc_route_observer.cc @@ -129,6 +129,9 @@ OSCRouteObserver::refresh_strip (boost::shared_ptr new_strip, _strip->PropertyChanged.connect (strip_connections, MISSING_INVALIDATOR, boost::bind (&OSCRouteObserver::name_changed, this, boost::lambda::_1), OSC::instance()); name_changed (ARDOUR::Properties::name); + _strip->presentation_info().PropertyChanged.connect (strip_connections, MISSING_INVALIDATOR, boost::bind (&OSCRouteObserver::pi_changed, this, _1), OSC::instance()); + _osc.int_message_with_id ("/strip/hide", ssid, _strip->is_hidden (), in_line, addr); + _strip->mute_control()->Changed.connect (strip_connections, MISSING_INVALIDATOR, boost::bind (&OSCRouteObserver::send_change_message, this, X_("/strip/mute"), _strip->mute_control()), OSC::instance()); send_change_message ("/strip/mute", _strip->mute_control()); @@ -344,6 +347,12 @@ OSCRouteObserver::name_changed (const PBD::PropertyChange& what_changed) } } +void +OSCRouteObserver::pi_changed (PBD::PropertyChange const& what_changed) +{ + _osc.int_message_with_id ("/strip/hide", ssid, _strip->is_hidden (), in_line, addr); +} + void OSCRouteObserver::send_change_message (string path, boost::shared_ptr controllable) { diff --git a/libs/surfaces/osc/osc_route_observer.h b/libs/surfaces/osc/osc_route_observer.h index d9e9a183f0..70fc3cc6c0 100644 --- a/libs/surfaces/osc/osc_route_observer.h +++ b/libs/surfaces/osc/osc_route_observer.h @@ -73,6 +73,7 @@ class OSCRouteObserver void name_changed (const PBD::PropertyChange& what_changed); + void pi_changed (PBD::PropertyChange const&); void send_change_message (std::string path, boost::shared_ptr controllable); void send_monitor_status (boost::shared_ptr controllable); void send_gain_message ();