(chain & control-fns)
Creates a control function that chains together other control functions.
Executes first control-fn until completion, then the second, and so on.
(create-clock tempo-atom trigger-fn)
(create-clock tempo-atom trigger-fn state-atom)
(create-clock tempo-atom trigger-fn state-atom done-fn)
Creates a sample-accurate clock control function that triggers a trigger-fn
according to the tempo held within the tempo-atom atom. When the time has been
met, it will call the given trigger-fn and truncate the running sample-count.
User can supply an optional state-atom for signaling to the clock for
different running states. Acceptable states are :running, :paused, and :done.
Any other state will result in :done.
User may also supply an optional done-fn. done-fn will be called when this
clock goes into the :done state. done-fn must be a 0-arity function.