summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-10-27 11:17:49 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2019-10-27 11:17:49 -0600
commit1d20feef83daa47bd246df52a6d324425474033e (patch)
treefef229f71b0b0cdd4df6a5215e0c4cebace473e9
parent474a3c5f699c9f31afe98e5cdd26c489e29f7241 (diff)
make transport work after rewind/ffwd are used
-rw-r--r--libs/ardour/session_transport.cc15
1 files changed, 14 insertions, 1 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index 03f93b8556..6062b20518 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -764,7 +764,13 @@ Session::butler_completed_transport_work ()
set_post_transport_work (ptw);
}
- ptw = PostTransportWork (ptw & ~(PostTransportAdjustCaptureBuffering|PostTransportOverWrite));
+ bool start_after_butler_done_msg = false;
+
+ if (ptw & PostTransportReverse) {
+ start_after_butler_done_msg = true;
+ }
+
+ ptw = PostTransportWork (ptw & ~(PostTransportAdjustCaptureBuffering|PostTransportOverWrite|PostTransportReverse));
set_post_transport_work (ptw);
set_next_event ();
@@ -774,6 +780,13 @@ Session::butler_completed_transport_work ()
}
DiskReader::dec_no_disk_output ();
+
+ if (start_after_butler_done_msg) {
+ if (_transport_speed) {
+ /* reversal is done ... tell TFSM that it is time to start*/
+ TFSM_EVENT (TransportFSM::StartTransport);
+ }
+ }
}
void