From d7500056fc60d65753b473528f6f6a32d51ba19f Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 25 Mar 2020 19:19:46 -0600 Subject: [PATCH] stop transport clocks from jumping after the playhead is moved via a CursorDrag --- gtk2_ardour/ardour_ui.cc | 2 +- gtk2_ardour/editor.h | 2 ++ gtk2_ardour/public_editor.h | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 27895c2ae0..792f6543cb 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -2056,7 +2056,7 @@ ARDOUR_UI::update_clocks () { if (!_session) return; - if (editor && !editor->dragging_playhead()) { + if (editor && !editor->dragging_playhead() && !editor->pending_locate_request()) { Clock (_session->audible_sample()); /* EMIT_SIGNAL */ } } diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 7d8df5457a..e7ff5e59a3 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -167,6 +167,8 @@ public: void first_idle (); virtual bool have_idled () const { return _have_idled; } + bool pending_locate_request() const { return _pending_locate_request; } + samplepos_t leftmost_sample() const { return _leftmost_sample; } samplecnt_t current_page_samples() const { diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index 23409dccef..9709f88722 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -373,6 +373,8 @@ public: sigc::signal Realized; sigc::signal UpdateAllTransportClocks; + virtual bool pending_locate_request() const = 0; + static sigc::signal DropDownKeys; struct RegionAction {