From 9d99cc8b017b732dd3cbe5fafdae737d73b98024 Mon Sep 17 00:00:00 2001 From: Len Ovens Date: Mon, 2 Jul 2018 08:18:42 -0700 Subject: [PATCH] OSC: Make sure group name for select gets updated --- libs/surfaces/osc/osc_select_observer.cc | 17 ++++++----------- libs/surfaces/osc/osc_select_observer.h | 3 +-- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/libs/surfaces/osc/osc_select_observer.cc b/libs/surfaces/osc/osc_select_observer.cc index 62c11be30d..67d3b8db89 100644 --- a/libs/surfaces/osc/osc_select_observer.cc +++ b/libs/surfaces/osc/osc_select_observer.cc @@ -78,7 +78,6 @@ OSCSelectObserver::OSCSelectObserver (OSC& o, ARDOUR::Session& s, ArdourSurface: } else { plug_id = -1; } - _group_name = "\n"; _group_sharing[15] = 1; refresh_strip (sur->select, sur->nsends, gainmode, true); set_expand (sur->expand_enable); @@ -680,29 +679,24 @@ void OSCSelectObserver::group_name () { boost::shared_ptr rt = boost::dynamic_pointer_cast (_strip); - string new_name = " "; RouteGroup *rg = rt->route_group(); - if (rg) { - new_name = rg->name(); - } - if (new_name != _group_name) { - _osc.text_message (X_("/select/group"), new_name, addr); - _group_name = new_name; - _group_sharing[15] = 1; - } - _osc.send_group_list (addr); group_sharing (rg); } void OSCSelectObserver::group_sharing (RouteGroup *rgc) { + _group_sharing[15] = 1; boost::shared_ptr rt = boost::dynamic_pointer_cast (_strip); + string new_name = "none"; RouteGroup *rg; if (rt) { rg = rt->route_group(); } if (rg && rt) { + new_name = rg->name(); + _osc.text_message (X_("/select/group"), new_name, addr); + _osc.send_group_list (addr); if (rg->is_gain () != _group_sharing[0] || _group_sharing[15]) { _group_sharing[0] = rg->is_gain (); _osc.int_message (X_("/select/group/gain"), _group_sharing[0], addr); @@ -744,6 +738,7 @@ OSCSelectObserver::group_sharing (RouteGroup *rgc) _osc.int_message (X_("/select/group/enable"), _group_sharing[9], addr); } } else { + _osc.text_message (X_("/select/group"), new_name, addr); _osc.int_message (X_("/select/group/gain"), 0, addr); _osc.int_message (X_("/select/group/relative"), 0, addr); _osc.int_message (X_("/select/group/mute"), 0, addr); diff --git a/libs/surfaces/osc/osc_select_observer.h b/libs/surfaces/osc/osc_select_observer.h index 3f5bf963dc..0481fe18eb 100644 --- a/libs/surfaces/osc/osc_select_observer.h +++ b/libs/surfaces/osc/osc_select_observer.h @@ -58,7 +58,7 @@ class OSCSelectObserver private: boost::shared_ptr _strip; ArdourSurface::OSC& _osc; - + PBD::ScopedConnectionList strip_connections; // sends, plugins and eq need their own PBD::ScopedConnectionList send_connections; @@ -93,7 +93,6 @@ class OSCSelectObserver std::vector plug_params; int eq_bands; uint32_t _expand; - std::string _group_name; std::bitset<16> _group_sharing; bool _tick_busy; ARDOUR::Session* session; -- 2.30.2