summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-11-12 06:47:59 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-11-12 06:47:59 +0000
commit3d2d31028d2c93076b926c97f4a572be6adf3cc9 (patch)
tree0b57afdb90af5d92e5216b73f6b12b7fcda372bf
parent606705310b0fab1a5bab677cc27fc57f132c177f (diff)
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
-rw-r--r--libs/ardour/session.cc4
-rw-r--r--libs/ardour/session_transport.cc4
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;