REGISTER_CALLBACK (serv, X_("/select/recenable"), "i", sel_recenable);
REGISTER_CALLBACK (serv, X_("/select/record_safe"), "i", sel_recsafe);
REGISTER_CALLBACK (serv, X_("/select/name"), "s", sel_rename);
+ REGISTER_CALLBACK (serv, X_("/select/comment"), "s", sel_comment);
REGISTER_CALLBACK (serv, X_("/select/group"), "s", sel_group);
REGISTER_CALLBACK (serv, X_("/select/mute"), "i", sel_mute);
REGISTER_CALLBACK (serv, X_("/select/solo"), "i", sel_solo);
switch (types[0]) {
case 's':
- for (Locations::LocationList::const_iterator l = ll.begin(); l != ll.end(); ++l) {
- if ((*l)->is_mark ()) {
- if (strcmp (&argv[0]->s, (*l)->name().c_str()) == 0) {
- session->request_locate ((*l)->start (), false);
- return 0;
+ {
+ Location *cur_mark = 0;
+ for (Locations::LocationList::const_iterator l = ll.begin(); l != ll.end(); ++l) {
+ if ((*l)->is_mark ()) {
+ if (strcmp (&argv[0]->s, (*l)->name().c_str()) == 0) {
+ session->request_locate ((*l)->start (), false);
+ return 0;
+ } else if ((*l)->start () == session->transport_sample()) {
+ cur_mark = (*l);
+ }
}
}
+ if (cur_mark) {
+ cur_mark->set_name (&argv[0]->s);
+ return 0;
+ }
+ PBD::warning << string_compose ("Marker: \"%1\" - does not exist", &argv[0]->s) << endmsg;
+ return -1;
}
break;
case 'i':
int
OSC::send_group_list (lo_address addr)
{
- //std::list<RouteGroup*> const & route_groups () const {
lo_message reply;
reply = lo_message_new ();
return 0;
}
+int
+OSC::sel_comment (char *newcomment, lo_message msg) {
+ if (!session) {
+ return -1;
+ }
+
+ OSCSurface *sur = get_surface(get_address (msg));
+ boost::shared_ptr<Stripable> s;
+ if (sur->expand_enable) {
+ s = get_strip (sur->expand, get_address (msg));
+ } else {
+ s = _select;
+ }
+ if (s) {
+ boost::shared_ptr<Route> rt = boost::dynamic_pointer_cast<Route> (s);
+ if (!rt) {
+ PBD::warning << "OSC: can not set comment on VCAs." << endmsg;
+ return -1;
+ }
+ rt->set_comment (newcomment, this);
+ }
+
+ return 0;
+}
+
int
OSC::strip_group (int ssid, char *group, lo_message msg) {
if (!session) {
if (s) {
boost::shared_ptr<Route> rt = boost::dynamic_pointer_cast<Route> (s);
if (!rt) {
+ PBD::warning << "OSC: VCAs can not be part of a group." << endmsg;
return -1;
}
RouteGroup *rg = rt->route_group();
rg->set_name (grp);
}
} else {
- // nothing to change
return 0;
}
} else {