diff options
author | Robin Gareus <robin@gareus.org> | 2015-04-13 16:20:40 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-04-12 23:40:35 +0200 |
commit | d00ab0221ad6e257fe9868890b54324454b6462b (patch) | |
tree | 8af3829d13d1b108e9016e81981d8c2aa3cffc6d /libs/surfaces/control_protocol | |
parent | aef680511477a925dd07e290d06f68dbc044ac27 (diff) |
allow to set/change loop-range via OSC
Diffstat (limited to 'libs/surfaces/control_protocol')
-rw-r--r-- | libs/surfaces/control_protocol/basic_ui.cc | 14 | ||||
-rw-r--r-- | libs/surfaces/control_protocol/control_protocol/basic_ui.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/libs/surfaces/control_protocol/basic_ui.cc b/libs/surfaces/control_protocol/basic_ui.cc index 98e7adf949..bf6bb25f2c 100644 --- a/libs/surfaces/control_protocol/basic_ui.cc +++ b/libs/surfaces/control_protocol/basic_ui.cc @@ -80,6 +80,20 @@ BasicUI::loop_toggle () } void +BasicUI::loop_location (framepos_t start, framepos_t end) +{ + Location* tll; + if ((tll = session->locations()->auto_loop_location()) == 0) { + Location* loc = new Location (*session, start, end, _("Loop"), Location::IsAutoLoop); + session->locations()->add (loc, true); + session->set_auto_loop_location (loc); + } else { + tll->set_hidden (false, this); + tll->set (start, end); + } +} + +void BasicUI::goto_start () { session->goto_start (); diff --git a/libs/surfaces/control_protocol/control_protocol/basic_ui.h b/libs/surfaces/control_protocol/control_protocol/basic_ui.h index 277a7f8ecd..6053614a0c 100644 --- a/libs/surfaces/control_protocol/control_protocol/basic_ui.h +++ b/libs/surfaces/control_protocol/control_protocol/basic_ui.h @@ -49,6 +49,7 @@ class LIBCONTROLCP_API BasicUI { /* transport control */ void loop_toggle (); + void loop_location (framepos_t start, framepos_t end); void access_action ( std::string action_path ); static PBD::Signal2<void,std::string,std::string> AccessAction; void goto_start (); |