From 7ffeb70b1b29df553b3b3d49b0215c7a0d5d4a4c Mon Sep 17 00:00:00 2001 From: Len Ovens Date: Sun, 13 Dec 2015 09:16:57 -0800 Subject: [PATCH] Fix ff->stop->play not at speed 1.0 on Mackie Control and some key bindings. --- libs/ardour/ardour/session.h | 2 +- libs/ardour/session_transport.cc | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 3d6f05758e..c3342b7a63 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -378,7 +378,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop void goto_start (); void use_rf_shuttle_speed (); void allow_auto_play (bool yn); - void request_transport_speed (double speed, bool as_default = false); + void request_transport_speed (double speed, bool as_default = true); void request_transport_speed_nonzero (double, bool as_default = false); void request_overwrite_buffer (Track *); void adjust_playback_buffering(); diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 42b5a890dd..fdd67dd67e 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -109,7 +109,7 @@ void Session::request_transport_speed (double speed, bool as_default) { SessionEvent* ev = new SessionEvent (SessionEvent::SetTransportSpeed, SessionEvent::Add, SessionEvent::Immediate, 0, speed); - ev->third_yes_or_no = true; // as_default + ev->third_yes_or_no = as_default; // as_default DEBUG_TRACE (DEBUG::Transport, string_compose ("Request transport speed = %1 as default = %2\n", speed, as_default)); queue_event (ev); } @@ -1342,7 +1342,9 @@ Session::set_transport_speed (double speed, framepos_t destination_frame, bool a } } else if (transport_stopped() && speed == 1.0) { - + if (as_default) { + _default_transport_speed = speed; + } /* we are stopped and we want to start rolling at speed 1 */ if (Config->get_loop_is_mode() && play_loop) {