summaryrefslogtreecommitdiff
path: root/libs/ardour/session_time.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-09-17 18:26:03 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2019-09-17 18:26:03 -0600
commitbd229936ec2cb30fe3360f2d83ffc7197fd6fb97 (patch)
tree84e41e048d76541d5d491ccefe8c7feaa14f4d5c /libs/ardour/session_time.cc
parentfc3e7623e7a4c7fdeebf84c4d47eaf04d9bc744d (diff)
add finite state machine to control/manage transport state
Diffstat (limited to 'libs/ardour/session_time.cc')
-rw-r--r--libs/ardour/session_time.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/session_time.cc b/libs/ardour/session_time.cc
index 550a04cc04..674ea7b67b 100644
--- a/libs/ardour/session_time.cc
+++ b/libs/ardour/session_time.cc
@@ -35,6 +35,7 @@
#include "ardour/session.h"
#include "ardour/tempo.h"
+#include "ardour/transport_fsm.h"
#include "pbd/i18n.h"
@@ -42,6 +43,8 @@ using namespace std;
using namespace ARDOUR;
using namespace PBD;
+#define TFSM_EVENT(ev) { DEBUG_TRACE (DEBUG::TFSMEvents, string_compose ("TFSM(%1)\n", typeid(ev).name())); _transport_fsm->enqueue (ev); }
+
/* BBT TIME*/
void
@@ -214,7 +217,7 @@ Session::backend_sync_callback (TransportState state, samplepos_t pos)
case TransportRolling:
// cerr << "SYNC: rolling slave = " << slave << endl;
if (slave) {
- start_transport ();
+ TFSM_EVENT (TransportFSM::start_transport());
}
break;