13
0

OSC: personal monitor can hide the aux bus

This commit is contained in:
Len Ovens 2018-10-16 13:56:09 -07:00
parent 87ab15c862
commit 1b7cb8aec4
2 changed files with 27 additions and 0 deletions

View File

@ -6403,6 +6403,12 @@ OSC::cue_parse (const char *path, const char* types, lo_arg **argv, int argc, lo
PBD::warning << "OSC: new_send has wrong number or type of parameters." << endmsg;
}
}
else if (!strncmp (path, X_("/cue/hide_aux"), 13)) {
// hide our Aux bus
if (argc) {
ret = cue_hide (value, msg);
}
}
else if (!strncmp (path, X_("/cue/next_aux"), 13)) {
// switch to next Aux bus
if ((!argc) || argv[0]->f || argv[0]->i) {
@ -6564,6 +6570,26 @@ OSC::cue_new_send (string rt_name, lo_message msg)
return 1;
}
int
OSC::cue_hide (float state, lo_message msg)
{
OSCSurface *sur = get_surface(get_address (msg), true);
if (sur->cue) {
boost::shared_ptr<Route> aux = boost::dynamic_pointer_cast<Route> (get_strip (sur->aux, get_address(msg)));
if (aux) {
if (aux->is_hidden () != (bool) state) {
aux->presentation_info().set_hidden ((bool) state);
}
return 0;
} else {
PBD::warning << "OSC: hide_aux - No Aux found." << endmsg;
}
} else {
PBD::warning << "OSC: hide_aux - monitoring not set, select aux first." << endmsg;
}
return 1;
}
int
OSC::cue_connect_aux (std::string dest, lo_message msg)
{

View File

@ -346,6 +346,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
int cue_new_aux (std::string name, std::string dest, lo_message msg);
int cue_new_send (std::string rt_name, lo_message msg);
int cue_connect_aux (std::string dest, lo_message msg);
int cue_hide (float state, lo_message msg);
int cue_next (lo_message msg);
int cue_previous (lo_message msg);
int cue_send_fader (uint32_t id, float position, lo_message msg);