OSC: Add session name change
This commit is contained in:
parent
47970b0cd1
commit
d4ae858bf6
@ -504,6 +504,7 @@ OSC::register_callbacks()
|
||||
REGISTER_CALLBACK (serv, X_("/quick_snapshot_switch"), "f", quick_snapshot_switch);
|
||||
REGISTER_CALLBACK (serv, X_("/quick_snapshot_stay"), "", quick_snapshot_stay);
|
||||
REGISTER_CALLBACK (serv, X_("/quick_snapshot_stay"), "f", quick_snapshot_stay);
|
||||
REGISTER_CALLBACK (serv, X_("/session_name"), "s", name_session);
|
||||
REGISTER_CALLBACK (serv, X_("/fit_1_track"), "", fit_1_track);
|
||||
REGISTER_CALLBACK (serv, X_("/fit_1_track"), "f", fit_1_track);
|
||||
REGISTER_CALLBACK (serv, X_("/fit_2_tracks"), "", fit_2_tracks);
|
||||
@ -2523,6 +2524,34 @@ OSC::use_group (float value, lo_message msg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
OSC::name_session (char *n, lo_message msg)
|
||||
{
|
||||
if (!session) {
|
||||
return -1;
|
||||
}
|
||||
string new_name = n;
|
||||
char illegal = Session::session_name_is_legal (new_name);
|
||||
|
||||
if (illegal) {
|
||||
PBD::warning << (string_compose (_("To ensure compatibility with various systems\n"
|
||||
"session names may not contain a '%1' character"), illegal)) << endmsg;
|
||||
return -1;
|
||||
}
|
||||
switch (session->rename (new_name)) {
|
||||
case -1:
|
||||
PBD::warning << (_("That name is already in use by another directory/folder. Please try again.")) << endmsg;
|
||||
break;
|
||||
case 0:
|
||||
return 0;
|
||||
break;
|
||||
default:
|
||||
PBD::warning << (_("Renaming this session failed.\nThings could be seriously messed up at this point")) << endmsg;
|
||||
break;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
OSC::get_sid (boost::shared_ptr<ARDOUR::Stripable> strip, lo_address addr)
|
||||
{
|
||||
|
@ -493,6 +493,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
|
||||
PATH_CALLBACK1_MSG(jog_mode,f);
|
||||
PATH_CALLBACK1_MSG(bank_delta,f);
|
||||
PATH_CALLBACK1_MSG(use_group,f);
|
||||
PATH_CALLBACK1_MSG_s(name_session,s);
|
||||
PATH_CALLBACK1_MSG_s(sel_group,s);
|
||||
PATH_CALLBACK1_MSG_s(sel_rename,s);
|
||||
PATH_CALLBACK1_MSG_s(sel_comment,s);
|
||||
@ -688,6 +689,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
|
||||
int refresh_surface (lo_message msg);
|
||||
int custom_clear (lo_message msg);
|
||||
int custom_mode (float state, lo_message msg);
|
||||
int name_session (char *n, lo_message msg);
|
||||
// select
|
||||
int sel_send_pagesize (uint32_t size, lo_message msg);
|
||||
int sel_send_page (int page, lo_message msg);
|
||||
|
Loading…
Reference in New Issue
Block a user