diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 028c6f29aa..ea1e1ab088 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -2049,12 +2049,17 @@ ARDOUR_UI::transport_ffwd_rewind (bool fwd) if (fwd) { if (transport_speed < 0.f) { - /* we need to move the speed back towards zero */ if (fabs (transport_speed) < octave_down) { + /* we need to move the speed back towards zero */ semitone_ratio = pow (1.0/semitone_ratio, 4.0); } else { semitone_ratio = 1.0/semitone_ratio; } + } else { + if (fabs (transport_speed) < octave_down) { + /* moving very slowly, use 4 semitone steps */ + semitone_ratio = pow (semitone_ratio, 4.0); + } } } else { if (transport_speed > 0.f) { @@ -2065,6 +2070,11 @@ ARDOUR_UI::transport_ffwd_rewind (bool fwd) } else { semitone_ratio = 1.0/semitone_ratio; } + } else { + if (fabs (transport_speed) < octave_down) { + /* moving very slowly, use 4 semitone steps */ + semitone_ratio = pow (semitone_ratio, 4.0); + } } }