libardour: change API of Session::request_locate() to include "force" argument (GUI edition)
This commit is contained in:
parent
cc2e6b3cf8
commit
e2e6274956
@ -1932,7 +1932,7 @@ ARDOUR_UI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode)
|
||||
}
|
||||
|
||||
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 {
|
||||
if (UIConfiguration::instance().get_follow_edits()) {
|
||||
list<TimelineRange>& range = editor->get_selection().time;
|
||||
|
@ -1393,7 +1393,7 @@ Editor::set_session (Session *t)
|
||||
|
||||
/* catch up with the playhead */
|
||||
|
||||
_session->request_locate (_playhead_cursor->current_sample (), MustStop);
|
||||
_session->request_locate (_playhead_cursor->current_sample (), false, MustStop);
|
||||
_pending_initial_locate = true;
|
||||
|
||||
update_title ();
|
||||
@ -4331,6 +4331,7 @@ Editor::get_grid_type_as_beats (bool& success, timepos_t const & position)
|
||||
return Temporal::Beats::from_double ((4.0 * m.divisions_per_bar()) / m.note_value());
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
#warning NUTEMPO need to implement all other subdivs
|
||||
success = false;
|
||||
|
@ -4187,7 +4187,7 @@ CursorDrag::finished (GdkEvent* event, bool movement_occurred)
|
||||
Session* s = _editor->session ();
|
||||
if (s) {
|
||||
_editor->_pending_locate_request = true;
|
||||
s->request_locate (_editor->playhead_cursor ()->current_sample (), _was_rolling ? MustRoll : RollIfAppropriate);
|
||||
s->request_locate (_editor->playhead_cursor ()->current_sample (), false, _was_rolling ? MustRoll : RollIfAppropriate);
|
||||
s->request_resume_timecode_transmission ();
|
||||
}
|
||||
}
|
||||
|
@ -1315,15 +1315,15 @@ Editor::marker_menu_play_from ()
|
||||
if ((l = find_location_from_marker (marker, is_start)) != 0) {
|
||||
|
||||
if (l->is_mark()) {
|
||||
_session->request_locate (l->start_sample(), MustRoll);
|
||||
_session->request_locate (l->start_sample(), false, MustRoll);
|
||||
}
|
||||
else {
|
||||
//_session->request_bounded_roll (l->start_sample(), l->end());
|
||||
|
||||
if (is_start) {
|
||||
_session->request_locate (l->start_sample(), MustRoll);
|
||||
_session->request_locate (l->start_sample(), false, MustRoll);
|
||||
} else {
|
||||
_session->request_locate (l->end_sample(), MustRoll);
|
||||
_session->request_locate (l->end_sample(), false, MustRoll);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1345,13 +1345,13 @@ Editor::marker_menu_set_playhead ()
|
||||
if ((l = find_location_from_marker (marker, is_start)) != 0) {
|
||||
|
||||
if (l->is_mark()) {
|
||||
_session->request_locate (l->start_sample(), MustStop);
|
||||
_session->request_locate (l->start_sample(), false, MustStop);
|
||||
}
|
||||
else {
|
||||
if (is_start) {
|
||||
_session->request_locate (l->start_sample(), MustStop);
|
||||
_session->request_locate (l->start_sample(), false, MustStop);
|
||||
} else {
|
||||
_session->request_locate (l->end_sample(), MustStop);
|
||||
_session->request_locate (l->end_sample(), false, MustStop);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1496,7 +1496,7 @@ Editor::marker_menu_play_range ()
|
||||
if ((l = find_location_from_marker (marker, is_start)) != 0) {
|
||||
|
||||
if (l->is_mark()) {
|
||||
_session->request_locate (l->start().samples(), MustRoll);
|
||||
_session->request_locate (l->start().samples(), false, MustRoll);
|
||||
}
|
||||
else {
|
||||
_session->request_bounded_roll (l->start().samples(), l->end().samples());
|
||||
|
@ -1462,7 +1462,7 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp
|
||||
|
||||
timepos_t where (canvas_event_sample (event));
|
||||
snap_to (where);
|
||||
_session->request_locate (where.samples(), MustStop);
|
||||
_session->request_locate (where.samples(), false, MustStop);
|
||||
}
|
||||
|
||||
switch (event->button.button) {
|
||||
@ -2153,7 +2153,7 @@ Editor::scrub (samplepos_t sample, double current_x)
|
||||
|
||||
if (scrubbing_direction == 0) {
|
||||
/* first move */
|
||||
_session->request_locate (sample, MustStop);
|
||||
_session->request_locate (sample, false, MustStop);
|
||||
_session->request_transport_speed (0.1);
|
||||
scrubbing_direction = 1;
|
||||
|
||||
|
@ -2697,13 +2697,13 @@ Editor::transition_to_rolling (bool fwd)
|
||||
void
|
||||
Editor::play_from_start ()
|
||||
{
|
||||
_session->request_locate (_session->current_start_sample(), MustRoll);
|
||||
_session->request_locate (_session->current_start_sample(), false, MustRoll);
|
||||
}
|
||||
|
||||
void
|
||||
Editor::play_from_edit_point ()
|
||||
{
|
||||
_session->request_locate (get_preferred_edit_position().samples(), MustRoll);
|
||||
_session->request_locate (get_preferred_edit_position().samples(), false, MustRoll);
|
||||
}
|
||||
|
||||
void
|
||||
@ -2715,7 +2715,7 @@ Editor::play_from_edit_point_and_return ()
|
||||
start_sample = get_preferred_edit_position (EDIT_IGNORE_PHEAD).samples();
|
||||
|
||||
if (_session->transport_rolling()) {
|
||||
_session->request_locate (start_sample, MustStop);
|
||||
_session->request_locate (start_sample, false, MustStop);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2801,7 +2801,7 @@ Editor::play_with_preroll ()
|
||||
} else {
|
||||
start = 0;
|
||||
}
|
||||
_session->request_locate (start, MustRoll);
|
||||
_session->request_locate (start, false, MustRoll);
|
||||
_session->set_requested_return_sample (ph); //force auto-return to return to playhead location, without the preroll
|
||||
}
|
||||
}
|
||||
@ -2843,7 +2843,7 @@ Editor::loop_location (Location& location)
|
||||
tll->set (location.start(), location.end());
|
||||
|
||||
// enable looping, reposition and start rolling
|
||||
_session->request_locate (tll->start().samples(), MustRoll);
|
||||
_session->request_locate (tll->start().samples(), false, MustRoll);
|
||||
_session->request_play_loop (true);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user