summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2012-12-30 21:50:05 +0000
committerRobin Gareus <robin@gareus.org>2012-12-30 21:50:05 +0000
commita167dc9ceca72e13696d2eb5fc4681b10d6db56b (patch)
tree085087e680726155c2bb40e543172871db21e7ac /libs/ardour/session_transport.cc
parent8512947687e84baa14da356742918842ea0cb986 (diff)
fix vari-speed stuck at zero and playing backwards.
git-svn-id: svn://localhost/ardour2/branches/3.0@13747 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r--libs/ardour/session_transport.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index 037ca83484..12e6255b2a 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -258,6 +258,16 @@ Session::realtime_stop (bool abort, bool clear_state)
reset_slave_state ();
+ /* XXX hack alert - hot-fix when playing backwards and hitting zero.
+ * This is probably not the right place for a long term solution of the issue.
+ *
+ * "hitting zero should just stop, and even if it didn't, pressing play should put the transport
+ * into forward play speed regardless. Nothing else makes sense." (oofus on #ardour, 20121230)
+ */
+ if (_transport_frame == 0 && _transport_speed < 0 ) {
+ _default_transport_speed = 1.0;
+ }
+
_transport_speed = 0;
_target_transport_speed = 0;