summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_mixer.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-03-12 20:44:48 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-03-12 20:44:48 +0000
commit6a869dfb7a5ff2393553037e0cff31c9484403f3 (patch)
tree56dfb18aaf18b57f7eb6b92400bde6d5336770cc /gtk2_ardour/editor_mixer.cc
parent8e530cba687fa7a8f5e27eff05b4f52276a33456 (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.cc16
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));