}
}
}
+ else if (!strncmp (path, X_("/cue/connect_aux"), 16)) {
+ // Create new Aux bus
+ string dest = "";
+ if (argc == 1 && types[0] == 's') {
+ dest = &argv[0]->s;
+ ret = cue_connect_aux (dest, msg);
+ } else {
+ PBD::warning << "OSC: connect_aux has wrong number or type of parameters." << endmsg;
+ }
+ }
else if (!strncmp (path, X_("/cue/connect"), 12)) {
// Connect to default Aux bus
if ((!argc) || argv[0]->f || argv[0]->i) {
aux->presentation_info().set_hidden (true);
cue_set ((uint32_t) -1, msg);
+ session->set_dirty();
return 0;
}
return -1;
}
+int
+OSC::cue_connect_aux (std::string dest, lo_message msg)
+{
+ OSCSurface *sur = get_surface(get_address (msg), true);
+ int ret = 1;
+ if (sur->cue) {
+ boost::shared_ptr<Route> rt = boost::dynamic_pointer_cast<Route> (get_strip (sur->aux, get_address(msg)));
+ if (rt) {
+ if (dest.size()) {
+ rt->output()->disconnect (this);
+ if (atoi( dest.c_str())) {
+ dest = string_compose ("system:playback_%1", dest);
+ }
+ PortSet& ports = rt->output()->ports ();
+ rt->output ()->connect (*(ports.begin()), dest, this);
+ session->set_dirty();
+ ret = 0;
+ }
+ }
+ }
+ if (ret) {
+ PBD::warning << "OSC: cannot connect, no Aux bus chosen." << endmsg;
+ }
+ return ret;
+}
+
int
OSC::cue_next (lo_message msg)
{
int cue_set (uint32_t aux, lo_message msg);
int _cue_set (uint32_t aux, lo_address addr);
int cue_new_aux (std::string name, std::string dest, lo_message msg);
+ int cue_connect_aux (std::string dest, 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);