diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-03-12 20:44:48 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-03-12 20:44:48 +0000 |
commit | 6a869dfb7a5ff2393553037e0cff31c9484403f3 (patch) | |
tree | 56dfb18aaf18b57f7eb6b92400bde6d5336770cc /gtk2_ardour/editor_mixer.cc | |
parent | 8e530cba687fa7a8f5e27eff05b4f52276a33456 (diff) |
if we attempt to move beyond the limit of the current horizontal adjustment, change its upper limit so that we keep scrolling (fixes a bug with playhead tracking beyond the current session end
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4807 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_mixer.cc')
-rw-r--r-- | gtk2_ardour/editor_mixer.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc index c5809a3dd4..bc3d9cf9ca 100644 --- a/gtk2_ardour/editor_mixer.cc +++ b/gtk2_ardour/editor_mixer.cc @@ -222,6 +222,17 @@ Editor::update_current_screen () goto almost_done; } +#undef DEBUG_CURRENT_SCREEN +#if DEBUG_CURRENT_SCREEN + + cerr << "@ " << frame << " last " << last_update_frame << " follow " << _follow_playhead + << " ret " << session->requested_return_frame() + << " left " << leftmost_frame + << " right " << leftmost_frame + current_page_frames() + << " speed " << session->transport_speed () + << endl; +#endif + /* only update if the playhead is on screen or we are following it */ if (_follow_playhead && session->requested_return_frame() < 0) { @@ -234,7 +245,10 @@ Editor::update_current_screen () #undef CONTINUOUS_SCROLL #ifndef CONTINUOUS_SCROLL if (frame < leftmost_frame || frame > leftmost_frame + current_page_frames()) { - + +#ifdef DEBUG_CURRENT_SCREEN + cerr << "\trecenter...\n"; +#endif if (session->transport_speed() < 0) { if (frame > (current_page_frames()/2)) { center_screen (frame-(current_page_frames()/2)); |