Fix ff->stop->play not at speed 1.0 on Mackie Control and some key bindings.
authorLen Ovens <len@ovenwerks.net>
Sun, 13 Dec 2015 17:16:57 +0000 (09:16 -0800)
committerLen Ovens <len@ovenwerks.net>
Sun, 13 Dec 2015 17:16:57 +0000 (09:16 -0800)
libs/ardour/ardour/session.h
libs/ardour/session_transport.cc

index 3d6f05758e404b757c1b85249c641ad8163eccd5..c3342b7a63a69977fed3fdc25be72096ae8b955f 100644 (file)
@@ -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();
index 42b5a890dd1789331a6ef14a6ed22690b8999d29..fdd67dd67e766fba6f2763d2a9192bb0d380e1f7 100644 (file)
@@ -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) {