diff options
-rw-r--r-- | gtk2_ardour/editor_mixer.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc index b2cca47e98..21a35f6da3 100644 --- a/gtk2_ardour/editor_mixer.cc +++ b/gtk2_ardour/editor_mixer.cc @@ -243,8 +243,20 @@ Editor::update_current_screen () } else { center_screen (current_page_frames()/2); } + } else { - center_screen (frame+(current_page_frames()/2)); + + if (frame < leftmost_frame) { + /* moving left: end up with the playhead 3/4 of the way along the page */ + nframes64_t l = frame - (3 * current_page_frames() / 4); + if (l < 0) { + l = 0; + } + center_screen_internal (l + (current_page_frames() / 2), current_page_frames ()); + } else { + /* moving right: end up with the playhead 1/4 of the way along the page */ + center_screen_internal (frame + (current_page_frames() / 4), current_page_frames ()); + } } } |