OSC: Make sure group name for select gets updated
This commit is contained in:
parent
f30add4c0e
commit
9d99cc8b01
|
@ -78,7 +78,6 @@ OSCSelectObserver::OSCSelectObserver (OSC& o, ARDOUR::Session& s, ArdourSurface:
|
||||||
} else {
|
} else {
|
||||||
plug_id = -1;
|
plug_id = -1;
|
||||||
}
|
}
|
||||||
_group_name = "\n";
|
|
||||||
_group_sharing[15] = 1;
|
_group_sharing[15] = 1;
|
||||||
refresh_strip (sur->select, sur->nsends, gainmode, true);
|
refresh_strip (sur->select, sur->nsends, gainmode, true);
|
||||||
set_expand (sur->expand_enable);
|
set_expand (sur->expand_enable);
|
||||||
|
@ -680,29 +679,24 @@ void
|
||||||
OSCSelectObserver::group_name ()
|
OSCSelectObserver::group_name ()
|
||||||
{
|
{
|
||||||
boost::shared_ptr<Route> rt = boost::dynamic_pointer_cast<Route> (_strip);
|
boost::shared_ptr<Route> rt = boost::dynamic_pointer_cast<Route> (_strip);
|
||||||
string new_name = " ";
|
|
||||||
RouteGroup *rg = rt->route_group();
|
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);
|
group_sharing (rg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
OSCSelectObserver::group_sharing (RouteGroup *rgc)
|
OSCSelectObserver::group_sharing (RouteGroup *rgc)
|
||||||
{
|
{
|
||||||
|
_group_sharing[15] = 1;
|
||||||
boost::shared_ptr<Route> rt = boost::dynamic_pointer_cast<Route> (_strip);
|
boost::shared_ptr<Route> rt = boost::dynamic_pointer_cast<Route> (_strip);
|
||||||
|
string new_name = "none";
|
||||||
RouteGroup *rg;
|
RouteGroup *rg;
|
||||||
if (rt) {
|
if (rt) {
|
||||||
rg = rt->route_group();
|
rg = rt->route_group();
|
||||||
}
|
}
|
||||||
if (rg && rt) {
|
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]) {
|
if (rg->is_gain () != _group_sharing[0] || _group_sharing[15]) {
|
||||||
_group_sharing[0] = rg->is_gain ();
|
_group_sharing[0] = rg->is_gain ();
|
||||||
_osc.int_message (X_("/select/group/gain"), _group_sharing[0], addr);
|
_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);
|
_osc.int_message (X_("/select/group/enable"), _group_sharing[9], addr);
|
||||||
}
|
}
|
||||||
} else {
|
} 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/gain"), 0, addr);
|
||||||
_osc.int_message (X_("/select/group/relative"), 0, addr);
|
_osc.int_message (X_("/select/group/relative"), 0, addr);
|
||||||
_osc.int_message (X_("/select/group/mute"), 0, addr);
|
_osc.int_message (X_("/select/group/mute"), 0, addr);
|
||||||
|
|
|
@ -58,7 +58,7 @@ class OSCSelectObserver
|
||||||
private:
|
private:
|
||||||
boost::shared_ptr<ARDOUR::Stripable> _strip;
|
boost::shared_ptr<ARDOUR::Stripable> _strip;
|
||||||
ArdourSurface::OSC& _osc;
|
ArdourSurface::OSC& _osc;
|
||||||
|
|
||||||
PBD::ScopedConnectionList strip_connections;
|
PBD::ScopedConnectionList strip_connections;
|
||||||
// sends, plugins and eq need their own
|
// sends, plugins and eq need their own
|
||||||
PBD::ScopedConnectionList send_connections;
|
PBD::ScopedConnectionList send_connections;
|
||||||
|
@ -93,7 +93,6 @@ class OSCSelectObserver
|
||||||
std::vector<int> plug_params;
|
std::vector<int> plug_params;
|
||||||
int eq_bands;
|
int eq_bands;
|
||||||
uint32_t _expand;
|
uint32_t _expand;
|
||||||
std::string _group_name;
|
|
||||||
std::bitset<16> _group_sharing;
|
std::bitset<16> _group_sharing;
|
||||||
bool _tick_busy;
|
bool _tick_busy;
|
||||||
ARDOUR::Session* session;
|
ARDOUR::Session* session;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user