diff options
author | Ben Loftis <ben@harrisonconsoles.com> | 2018-02-23 13:48:29 -0600 |
---|---|---|
committer | Ben Loftis <ben@harrisonconsoles.com> | 2018-02-23 13:48:29 -0600 |
commit | a23a8ebcad7ff5e362f27d6d742c6fe1dfe6ddcd (patch) | |
tree | 3c650f574fa121beca08894180bfee91f2fe1ea8 /gtk2_ardour/editor.cc | |
parent | 21102b45d0d22f2761697b1b9fdfa92aafc25834 (diff) |
Do not interpolate playhead when stopped.
This fixes a bug where, for a few seconds after transport stops, the users zoom+panning would get hijacked by the follow_playhead behavior, because the playhead was still "hunting".
Diffstat (limited to 'gtk2_ardour/editor.cc')
-rw-r--r-- | gtk2_ardour/editor.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 7c62740aec..7e487ee38a 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -5759,6 +5759,11 @@ Editor::super_rapid_screen_update () _last_update_time = 0; } + if (_session->transport_speed () == 0) { + //we are stopped. don't interpolate the playhead position; just set it + _last_update_time = 0; + } + if (_last_update_time > 0) { /* interpolate and smoothen playhead position */ const double ds = (now - _last_update_time) * _session->transport_speed() * _session->nominal_sample_rate () * 1e-6; |