expand comment
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 20 Sep 2019 14:21:14 +0000 (08:21 -0600)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 20 Sep 2019 15:38:17 +0000 (09:38 -0600)
libs/ardour/transport_fsm.cc

index 0528f953041f1ef9b833f4fff3887c1e01a61534..4c7251328fc132134a1ca61c90658c21c109e0ab 100644 (file)
@@ -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.
+ *
  */
 
 /*