libardour: change API of Session::request_locate() to include "force" argument
No behavior should be changed by this modification; the argument has a default value of false, which matches previous semantics, and every instance where the argument is specified, it is given as false.
This commit is contained in:
parent
03649dc32a
commit
cc2e6b3cf8
@ -475,7 +475,7 @@ public:
|
||||
void request_bounded_roll (samplepos_t start, samplepos_t end);
|
||||
void request_roll (TransportRequestSource origin = TRS_UI);
|
||||
void request_stop (bool abort = false, bool clear_state = false, TransportRequestSource origin = TRS_UI);
|
||||
void request_locate (samplepos_t sample, LocateTransportDisposition ltd = RollIfAppropriate, TransportRequestSource origin = TRS_UI);
|
||||
void request_locate (samplepos_t sample, bool force = false, 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; }
|
||||
|
@ -407,7 +407,7 @@ MTC_TransportMaster::update_mtc_time (const MIDI::byte *msg, bool was_full, samp
|
||||
boost::shared_ptr<TransportMaster> c = TransportMasterManager::instance().current();
|
||||
if (c && c.get() == this && _session->config.get_external_sync()) {
|
||||
_session->set_requested_return_sample (-1);
|
||||
_session->request_locate (mtc_frame, MustStop, TRS_MTC);
|
||||
_session->request_locate (mtc_frame, false, MustStop, TRS_MTC);
|
||||
}
|
||||
update_mtc_status (MIDI::MTC_Stopped);
|
||||
reset (false);
|
||||
|
@ -1566,7 +1566,7 @@ Session::auto_loop_changed (Location* location)
|
||||
*/
|
||||
|
||||
loop_changing = true;
|
||||
request_locate (location->start_sample(), MustRoll);
|
||||
request_locate (location->start_sample(), false, MustRoll);
|
||||
|
||||
} else {
|
||||
|
||||
@ -6441,7 +6441,7 @@ void
|
||||
Session::goto_end ()
|
||||
{
|
||||
if (_session_range_location) {
|
||||
request_locate (_session_range_location->end().samples(), MustStop);
|
||||
request_locate (_session_range_location->end().samples(), false, MustStop);
|
||||
} else {
|
||||
request_locate (0, MustStop);
|
||||
}
|
||||
@ -6451,9 +6451,9 @@ void
|
||||
Session::goto_start (bool and_roll)
|
||||
{
|
||||
if (_session_range_location) {
|
||||
request_locate (_session_range_location->start().samples(), and_roll ? MustRoll : RollIfAppropriate);
|
||||
request_locate (_session_range_location->start().samples(), false, and_roll ? MustRoll : RollIfAppropriate);
|
||||
} else {
|
||||
request_locate (0, and_roll ? MustRoll : RollIfAppropriate);
|
||||
request_locate (0, false, and_roll ? MustRoll : RollIfAppropriate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -454,6 +454,6 @@ Session::finalize_audio_export (TransportRequestSource trs)
|
||||
if (post_export_sync) {
|
||||
config.set_external_sync (true);
|
||||
} else {
|
||||
request_locate (post_export_position, MustStop, trs);
|
||||
request_locate (post_export_position, false, MustStop, trs);
|
||||
}
|
||||
}
|
||||
|
@ -306,7 +306,7 @@ Session::mmc_locate (MIDI::MachineControl &/*mmc*/, const MIDI::byte* mmc_tc)
|
||||
mtcs->handle_locate (mmc_tc);
|
||||
} else {
|
||||
// cerr << "Locate without MTC slave\n";
|
||||
request_locate (target_sample, MustStop);
|
||||
request_locate (target_sample, false, MustStop);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -489,7 +489,7 @@ Session::start_transport (bool after_loop)
|
||||
|
||||
/* jump to start and then roll from there */
|
||||
|
||||
request_locate (location->start_sample(), MustRoll);
|
||||
request_locate (location->start_sample(), false, MustRoll);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -907,7 +907,7 @@ Session::request_stop (bool abort, bool clear_state, TransportRequestSource orig
|
||||
}
|
||||
|
||||
void
|
||||
Session::request_locate (samplepos_t target_sample, LocateTransportDisposition ltd, TransportRequestSource origin)
|
||||
Session::request_locate (samplepos_t target_sample, bool force, LocateTransportDisposition ltd, TransportRequestSource origin)
|
||||
{
|
||||
if (synced_to_engine()) {
|
||||
_engine.transport_locate (target_sample);
|
||||
@ -936,7 +936,7 @@ Session::request_locate (samplepos_t target_sample, LocateTransportDisposition l
|
||||
break;
|
||||
}
|
||||
|
||||
SessionEvent *ev = new SessionEvent (type, SessionEvent::Add, SessionEvent::Immediate, target_sample, 0, false);
|
||||
SessionEvent *ev = new SessionEvent (type, SessionEvent::Add, SessionEvent::Immediate, target_sample, 0, force);
|
||||
ev->locate_transport_disposition = ltd;
|
||||
DEBUG_TRACE (DEBUG::Transport, string_compose ("Request locate to %1 ltd = %2\n", target_sample, enum_2_string (ltd)));
|
||||
queue_event (ev);
|
||||
@ -971,7 +971,7 @@ Session::request_preroll_record_trim (samplepos_t rec_in, samplecnt_t preroll)
|
||||
samplepos_t pos = std::max ((samplepos_t)0, rec_in - preroll);
|
||||
_preroll_record_trim_len = rec_in - pos;
|
||||
maybe_enable_record ();
|
||||
request_locate (pos, MustRoll);
|
||||
request_locate (pos, false, MustRoll);
|
||||
set_requested_return_sample (rec_in);
|
||||
|
||||
if (pos < rec_in) {
|
||||
|
@ -521,13 +521,13 @@ BasicUI::transport_sample ()
|
||||
void
|
||||
BasicUI::locate (samplepos_t where, LocateTransportDisposition ltd)
|
||||
{
|
||||
session->request_locate (where, ltd);
|
||||
session->request_locate (where, false, ltd);
|
||||
}
|
||||
|
||||
void
|
||||
BasicUI::locate (samplepos_t where, bool roll)
|
||||
{
|
||||
session->request_locate (where, roll ? MustRoll : RollIfAppropriate);
|
||||
session->request_locate (where, false, roll ? MustRoll : RollIfAppropriate);
|
||||
}
|
||||
|
||||
void
|
||||
@ -542,7 +542,7 @@ BasicUI::jump_by_seconds (double secs, LocateTransportDisposition ltd)
|
||||
}
|
||||
s = s * session->nominal_sample_rate();
|
||||
|
||||
session->request_locate (floor(s), ltd);
|
||||
session->request_locate (floor(s), false, ltd);
|
||||
}
|
||||
|
||||
void
|
||||
@ -556,7 +556,7 @@ BasicUI::jump_by_bars (int bars, LocateTransportDisposition ltd)
|
||||
bbt.bars = 1;
|
||||
}
|
||||
|
||||
session->request_locate (tmap->sample_at (bbt), ltd);
|
||||
session->request_locate (tmap->sample_at (bbt), false, ltd);
|
||||
}
|
||||
|
||||
void
|
||||
@ -678,7 +678,7 @@ BasicUI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode)
|
||||
} else { /* not rolling */
|
||||
|
||||
if (session->get_play_loop() && Config->get_loop_is_mode()) {
|
||||
session->request_locate (session->locations()->auto_loop_location()->start().samples(), MustRoll);
|
||||
session->request_locate (session->locations()->auto_loop_location()->start().samples(), false, MustRoll);
|
||||
} else {
|
||||
session->request_roll (TRS_UI);
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ FaderPort8::button_varispeed (bool ffw)
|
||||
// stop key-repeat
|
||||
dynamic_cast<FP8RepeatButton*>(&b_ffw)->stop_repeat();
|
||||
dynamic_cast<FP8RepeatButton*>(&b_rew)->stop_repeat();
|
||||
session->request_locate (0, MustStop);
|
||||
session->request_locate (0, false, MustStop);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1305,7 +1305,7 @@ OSC::osc_toggle_roll (bool ret2strt)
|
||||
} else {
|
||||
|
||||
if (session->get_play_loop() && Config->get_loop_is_mode()) {
|
||||
session->request_locate (session->locations()->auto_loop_location()->start().samples(), MustRoll);
|
||||
session->request_locate (session->locations()->auto_loop_location()->start().samples(), false, MustRoll);
|
||||
} else {
|
||||
session->request_roll (TRS_UI);
|
||||
}
|
||||
@ -3143,7 +3143,7 @@ OSC::set_marker (const char* types, lo_arg **argv, int argc, lo_message msg)
|
||||
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_sample (), MustStop);
|
||||
session->request_locate ((*l)->start_sample (), false, MustStop);
|
||||
return 0;
|
||||
} else if ((*l)->start () == session->transport_sample()) {
|
||||
cur_mark = (*l);
|
||||
@ -3180,7 +3180,7 @@ OSC::set_marker (const char* types, lo_arg **argv, int argc, lo_message msg)
|
||||
std::sort (lm.begin(), lm.end(), location_marker_sort);
|
||||
// go there
|
||||
if (marker < lm.size()) {
|
||||
session->request_locate (lm[marker].when, MustStop);
|
||||
session->request_locate (lm[marker].when, false, MustStop);
|
||||
return 0;
|
||||
}
|
||||
// we were unable to deal with things
|
||||
@ -5904,7 +5904,7 @@ OSC::periodic (void)
|
||||
if (diff > 120000) {
|
||||
scrub_speed = 0;
|
||||
// locate to the place PH was at last tick
|
||||
session->request_locate (scrub_place, MustStop);
|
||||
session->request_locate (scrub_place, false, MustStop);
|
||||
}
|
||||
}
|
||||
for (uint32_t it = 0; it < _surface.size(); it++) {
|
||||
|
Loading…
Reference in New Issue
Block a user