diff options
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r-- | libs/ardour/session_transport.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index de94db6f07..0aab6a7e27 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -107,6 +107,20 @@ Session::request_transport_speed (double speed) queue_event (ev); } +/** Request a new transport speed, but if the speed parameter is exactly zero then use + * a very small +ve value to prevent the transport actually stopping. This method should + * be used by callers who are varying transport speed but don't ever want to stop it. + */ +void +Session::request_transport_speed_nonzero (double speed) +{ + if (speed == 0) { + speed = DBL_EPSILON; + } + + request_transport_speed (speed); +} + void Session::request_track_speed (Track* tr, double speed) { |