Add API to locate to named marker
This commit is contained in:
@@ -495,6 +495,8 @@ public:
|
||||
void request_stop (bool abort = false, bool clear_state = false, TransportRequestSource origin = TRS_UI);
|
||||
void request_locate (samplepos_t sample, bool force = false, LocateTransportDisposition ltd = RollIfAppropriate, TransportRequestSource origin = TRS_UI);
|
||||
|
||||
bool request_locate_to_mark (std::string const&, LocateTransportDisposition ltd = RollIfAppropriate, TransportRequestSource origin = TRS_UI);
|
||||
|
||||
void request_play_loop (bool yn, bool leave_rolling = false);
|
||||
bool get_play_loop () const { return play_loop; }
|
||||
|
||||
|
||||
@@ -3109,6 +3109,7 @@ LuaBindings::common (lua_State* L)
|
||||
.addFunction ("timecode_frames_per_second", &Session::timecode_frames_per_second)
|
||||
.addFunction ("timecode_drop_frames", &Session::timecode_drop_frames)
|
||||
.addFunction ("request_locate", &Session::request_locate)
|
||||
.addFunction ("request_locate_to_mark", &Session::request_locate_to_mark)
|
||||
.addFunction ("request_roll", &Session::request_roll)
|
||||
.addFunction ("request_stop", &Session::request_stop)
|
||||
.addFunction ("request_play_loop", &Session::request_play_loop)
|
||||
|
||||
@@ -994,6 +994,21 @@ Session::force_locate (samplepos_t target_sample, LocateTransportDisposition ltd
|
||||
queue_event (ev);
|
||||
}
|
||||
|
||||
bool
|
||||
Session::request_locate_to_mark (std::string const& name, LocateTransportDisposition ltd, TransportRequestSource origin)
|
||||
{
|
||||
for (auto const& l : locations()->list()) {
|
||||
if (!l->is_mark() || l->is_hidden() || l->is_session_range()) {
|
||||
continue;
|
||||
}
|
||||
if (l->name () == name) {
|
||||
request_locate (l->start_sample(), false, ltd, origin);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
Session::unset_preroll_record_trim ()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user