OSC: add /strip/hide

This commit is contained in:
Len Ovens 2018-01-14 08:42:13 -08:00
parent 324938f017
commit c7a052a45f
2 changed files with 20 additions and 0 deletions

View file

@ -618,6 +618,7 @@ OSC::register_callbacks()
REGISTER_CALLBACK (serv, "/strip/monitor_input", "ii", route_monitor_input);
REGISTER_CALLBACK (serv, "/strip/monitor_disk", "ii", route_monitor_disk);
REGISTER_CALLBACK (serv, "/strip/expand", "ii", strip_expand);
REGISTER_CALLBACK (serv, "/strip/hide", "ii", strip_hide);
REGISTER_CALLBACK (serv, "/strip/select", "ii", strip_gui_select);
REGISTER_CALLBACK (serv, "/strip/polarity", "ii", strip_phase);
REGISTER_CALLBACK (serv, "/strip/gain", "if", route_set_gain_dB);
@ -963,6 +964,10 @@ OSC::catchall (const char *path, const char* types, lo_arg **argv, int argc, lo_
int ssid = atoi (&path[14]);
ret = strip_expand (ssid, argv[0]->i, msg);
}
else if (!strncmp (path, "/strip/hide/", 12) && strlen (path) > 12) {
int ssid = atoi (&path[12]);
ret = strip_hide (ssid, argv[0]->i, msg);
}
else if (!strncmp (path, "/strip/select/", 14) && strlen (path) > 14) {
int ssid = atoi (&path[14]);
ret = strip_gui_select (ssid, argv[0]->i, msg);
@ -3789,6 +3794,19 @@ OSC::strip_expand (int ssid, int yn, lo_message msg)
return _strip_select (s, get_address (msg));
}
int
OSC::strip_hide (int ssid, int state, lo_message msg)
{
boost::shared_ptr<Stripable> s = get_strip (ssid, get_address (msg));
if (s) {
if (state != s->is_hidden ()) {
s->presentation_info().set_hidden ((bool) state);
}
}
return 0;
}
int
OSC::_strip_select (boost::shared_ptr<Stripable> s, lo_address addr)
{

View file

@ -599,6 +599,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
PATH_CALLBACK2_MSG(route_monitor_disk,i,i);
PATH_CALLBACK2_MSG(strip_phase,i,i);
PATH_CALLBACK2_MSG(strip_expand,i,i);
PATH_CALLBACK2_MSG(strip_hide,i,i);
PATH_CALLBACK2_MSG(strip_gui_select,i,i);
PATH_CALLBACK2_MSG(route_set_gain_dB,i,f);
PATH_CALLBACK2_MSG(route_set_gain_fader,i,f);
@ -627,6 +628,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
int route_monitor_disk (int rid, int yn, lo_message msg);
int strip_phase (int rid, int yn, lo_message msg);
int strip_expand (int rid, int yn, lo_message msg);
int strip_hide (int ssid, int yn, lo_message msg);
int _strip_select (boost::shared_ptr<ARDOUR::Stripable> s, lo_address addr);
int strip_gui_select (int rid, int yn, lo_message msg);
int route_set_gain_abs (int rid, float level, lo_message msg);