summaryrefslogtreecommitdiff
path: root/libs/ardour/transport_fsm.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-09-20 08:21:14 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2019-09-20 09:38:17 -0600
commitea8ec745651008a844ab5d17c0a96959505151b0 (patch)
tree23d91c37324d2a2aeed2c153447c275490425f77 /libs/ardour/transport_fsm.cc
parentd986049ed81f6d7f45d327516c0ea67c5d89ff08 (diff)
expand comment
Diffstat (limited to 'libs/ardour/transport_fsm.cc')
-rw-r--r--libs/ardour/transport_fsm.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/ardour/transport_fsm.cc b/libs/ardour/transport_fsm.cc
index 0528f95304..4c7251328f 100644
--- a/libs/ardour/transport_fsm.cc
+++ b/libs/ardour/transport_fsm.cc
@@ -110,6 +110,18 @@ TransportFSM::process_events ()
/* This is the transition table from the original boost::msm
* implementation of this FSM. It is more easily readable and
* consultable. Please keep it updated as the FSM changes.
+ *
+ * Here's a hint about how to read each line of this table:
+ *
+ * "if the current state is Start and event Event arrives, new state is Next and we execute Action()"
+ *
+ * with a variant:
+ *
+ * "if the current state is Start and event Event arrives, new state is Next and we execute Action() ***IF*** Guard() returns true"
+ *
+ * This new implementation, however, does not use metaprogramming to achieve all this,
+ * but just uses a large-ish switch() block.
+ *
*/
/*