disable follow-edits with external sync #6577
This commit is contained in:
parent
a5dcccae60
commit
f307080808
|
@ -2108,7 +2108,7 @@ ARDOUR_UI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode)
|
|||
if (affect_transport) {
|
||||
if (rolling) {
|
||||
_session->request_stop (with_abort, true);
|
||||
} else {
|
||||
} else if (!_session->config.get_external_sync()) {
|
||||
if (UIConfiguration::instance().get_follow_edits() && ( editor->get_selection().time.front().start == _session->transport_frame() ) ) { //if playhead is exactly at the start of a range, we can assume it was placed there by follow_edits
|
||||
_session->request_play_range (&editor->get_selection().time, true);
|
||||
_session->set_requested_return_frame( editor->get_selection().time.front().start ); //force an auto-return here
|
||||
|
@ -2286,7 +2286,7 @@ ARDOUR_UI::map_transport_state ()
|
|||
auto_loop_button.set_active (false);
|
||||
}
|
||||
|
||||
if (UIConfiguration::instance().get_follow_edits()) {
|
||||
if (UIConfiguration::instance().get_follow_edits() && !_session->config.get_external_sync()) {
|
||||
/* light up both roll and play-selection if they are joined */
|
||||
roll_button.set_active (true);
|
||||
play_selection_button.set_active (true);
|
||||
|
|
|
@ -4954,7 +4954,7 @@ SelectionDrag::finished (GdkEvent* event, bool movement_occurred)
|
|||
if (s) {
|
||||
if (s->get_play_range() && s->transport_rolling()) {
|
||||
s->request_play_range (&_editor->selection->time, true);
|
||||
} else {
|
||||
} else if (!s->config.get_external_sync()) {
|
||||
if (UIConfiguration::instance().get_follow_edits() && !s->transport_rolling()) {
|
||||
if (_operation == SelectionEndTrim)
|
||||
_editor->maybe_locate_with_edit_preroll( _editor->get_selection().time.end_frame());
|
||||
|
|
|
@ -1138,7 +1138,7 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp
|
|||
}
|
||||
|
||||
//not rolling, range mode click + join_play_range : locate the PH here
|
||||
if ( !_drags->active () && _session && !_session->transport_rolling() && ( effective_mouse_mode() == MouseRange ) && UIConfiguration::instance().get_follow_edits() ) {
|
||||
if ( !_drags->active () && _session && !_session->transport_rolling() && ( effective_mouse_mode() == MouseRange ) && UIConfiguration::instance().get_follow_edits() && !_session->config.get_external_sync() ) {
|
||||
framepos_t where = canvas_event_sample (event);
|
||||
snap_to(where);
|
||||
_session->request_locate (where, false);
|
||||
|
|
|
@ -2537,7 +2537,7 @@ Editor::get_preroll ()
|
|||
void
|
||||
Editor::maybe_locate_with_edit_preroll ( framepos_t location )
|
||||
{
|
||||
if ( _session->transport_rolling() || !UIConfiguration::instance().get_follow_edits() || _ignore_follow_edits )
|
||||
if ( _session->transport_rolling() || !UIConfiguration::instance().get_follow_edits() || _ignore_follow_edits || _session->config.get_external_sync() )
|
||||
return;
|
||||
|
||||
location -= get_preroll();
|
||||
|
@ -6097,7 +6097,7 @@ Editor::set_playhead_cursor ()
|
|||
}
|
||||
}
|
||||
|
||||
if (UIConfiguration::instance().get_follow_edits()) {
|
||||
if (UIConfiguration::instance().get_follow_edits() && !_session->config.get_external_sync()) {
|
||||
cancel_time_selection();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user