when stopping transport, revert _default_transport_speed to 1.0 if current speed...
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 16 Jan 2013 01:57:40 +0000 (01:57 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 16 Jan 2013 01:57:40 +0000 (01:57 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@13848 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/session_transport.cc

index 12e6255b2a7e5d2ce4ed3d839bd58b21acfcb80c..c2c8b28b2062c1950b4f2675a3ae64bfaeee3755 100644 (file)
@@ -204,6 +204,10 @@ Session::realtime_stop (bool abort, bool clear_state)
 
        if (_transport_speed < 0.0f) {
                todo = (PostTransportWork (todo | PostTransportStop | PostTransportReverse));
+
+               cerr << "Stop with reverse speed\n";
+               _default_transport_speed = 1.0;
+
        } else {
                todo = PostTransportWork (todo | PostTransportStop);
        }
@@ -258,16 +262,6 @@ 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;