summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2018-07-02 08:18:42 -0700
committerLen Ovens <len@ovenwerks.net>2018-07-02 08:18:42 -0700
commit9d99cc8b017b732dd3cbe5fafdae737d73b98024 (patch)
treef3644343e9549565da419cb0c283e4750cc99942
parentf30add4c0ef06fcd5c04f6bb1eb266ab53ea503a (diff)
OSC: Make sure group name for select gets updated
-rw-r--r--libs/surfaces/osc/osc_select_observer.cc17
-rw-r--r--libs/surfaces/osc/osc_select_observer.h3
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<Route> rt = boost::dynamic_pointer_cast<Route> (_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<Route> rt = boost::dynamic_pointer_cast<Route> (_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<ARDOUR::Stripable> _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<int> plug_params;
int eq_bands;
uint32_t _expand;
- std::string _group_name;
std::bitset<16> _group_sharing;
bool _tick_busy;
ARDOUR::Session* session;