diff options
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 6a21dd8432..633a6989d8 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -2376,6 +2376,14 @@ Editor::jump_backward_to_mark () framepos_t pos = _session->locations()->first_mark_before (playhead_cursor->current_frame()); + //handle the case where we are rolling, and we're less than one-half second past the mark, we want to go to the prior mark... + if ( _session->transport_rolling() ) { + if ( (playhead_cursor->current_frame() - pos) < _session->frame_rate()/2 ) { + framepos_t prior = _session->locations()->first_mark_before ( pos ); + pos = prior; + } + } + if (pos < 0) { return; } |