avoid locate when clicking in region fade handles in smart mode+follow edits

This commit is contained in:
Paul Davis 2017-01-10 09:53:10 +00:00
parent 82bea45b2b
commit 1587364f8d
1 changed files with 14 additions and 2 deletions

View File

@ -1255,8 +1255,20 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp
return true;
}
//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() && !_session->config.get_external_sync() ) {
/* not rolling, effectively in range mode, follow edits enabled (likely
* to start range drag), not in a fade handle (since that means we are
* not starting a range drag): locate the PH here
*/
if ((item_type != FadeInHandleItem) &&
(item_type != FadeOutHandleItem) &&
!_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);