diff options
Diffstat (limited to 'gtk2_ardour/ardour_ui2.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui2.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 4cd9b71307..1a9b7e53dd 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -816,17 +816,16 @@ ARDOUR_UI::use_shuttle_fract (bool force) last_shuttle_request = now; + double speed = 0; + if (Config->get_shuttle_units() == Semitones) { const double step = 1.0 / 24.0; // range is 24 semitones up & down double semitones; - double speed; semitones = round (shuttle_fract / step); speed = pow (2.0, (semitones / 12.0)); - _session->request_transport_speed (speed); - } else { bool neg; @@ -840,9 +839,11 @@ ARDOUR_UI::use_shuttle_fract (bool force) fract = -fract; } - _session->request_transport_speed (shuttle_max_speed * fract); + speed = shuttle_max_speed * fract; } - + + _session->request_transport_speed_nonzero (speed); + shuttle_box.queue_draw (); } |