Fix ff->stop->play not at speed 1.0 on Mackie Control and some key bindings.

This commit is contained in:
Len Ovens 2015-12-13 09:16:57 -08:00
parent 29416edbbf
commit 7ffeb70b1b
2 changed files with 5 additions and 3 deletions

View File

@ -378,7 +378,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
void goto_start (); void goto_start ();
void use_rf_shuttle_speed (); void use_rf_shuttle_speed ();
void allow_auto_play (bool yn); 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_transport_speed_nonzero (double, bool as_default = false);
void request_overwrite_buffer (Track *); void request_overwrite_buffer (Track *);
void adjust_playback_buffering(); void adjust_playback_buffering();

View File

@ -109,7 +109,7 @@ void
Session::request_transport_speed (double speed, bool as_default) Session::request_transport_speed (double speed, bool as_default)
{ {
SessionEvent* ev = new SessionEvent (SessionEvent::SetTransportSpeed, SessionEvent::Add, SessionEvent::Immediate, 0, speed); 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)); DEBUG_TRACE (DEBUG::Transport, string_compose ("Request transport speed = %1 as default = %2\n", speed, as_default));
queue_event (ev); 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) { } 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 */ /* we are stopped and we want to start rolling at speed 1 */
if (Config->get_loop_is_mode() && play_loop) { if (Config->get_loop_is_mode() && play_loop) {