From 3d2d31028d2c93076b926c97f4a572be6adf3cc9 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 12 Nov 2008 06:47:59 +0000 Subject: [PATCH] fix Session::audible_frame() return when transport speed has been reversed, by resetting last_stop_frame at the turnaround point git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4143 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/session.cc | 4 ++-- libs/ardour/session_transport.cc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index e6d8fa9c67..ae755720ad 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -1377,7 +1377,7 @@ Session::audible_frame () const nframes_t ret; nframes_t offset; nframes_t tf; - + if (_transport_speed == 0.0f) { return last_stop_frame; } @@ -1410,7 +1410,7 @@ Session::audible_frame () const } else { tf = _transport_frame; } - + ret = tf; if (!non_realtime_work_pending()) { diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 83bac047ac..0249350d2e 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -207,8 +207,7 @@ Session::butler_transport_work () } if (post_transport_work & PostTransportReverse) { - - + clear_clicks(); cumulative_rf_motion = 0; reset_rf_scale (0); @@ -865,6 +864,7 @@ Session::set_transport_speed (float speed, bool abort) if ((_transport_speed && speed * _transport_speed < 0.0f) || (_last_transport_speed * speed < 0.0f) || (_last_transport_speed == 0.0f && speed < 0.0f)) { post_transport_work = PostTransportWork (post_transport_work | PostTransportReverse); + last_stop_frame = _transport_frame; } _last_transport_speed = _transport_speed; -- 2.30.2