diff options
Diffstat (limited to 'guile')
-rw-r--r-- | guile/starlet/base.scm | 14 | ||||
-rw-r--r-- | guile/starlet/playback.scm | 26 |
2 files changed, 25 insertions, 15 deletions
diff --git a/guile/starlet/base.scm b/guile/starlet/base.scm index 1e6e44a..fd4f9f7 100644 --- a/guile/starlet/base.scm +++ b/guile/starlet/base.scm @@ -29,7 +29,6 @@ attr-list current-state lighting-state - cue-state apply-state at)) @@ -419,19 +418,6 @@ (current-state))))) -(define-syntax cue-state - (syntax-rules () - - ((_) - make-empty-state) - - ((_ body ...) - (lambda () - (parameterize ((current-state (make-empty-state))) - body ... - (current-state)))))) - - (define-syntax at (syntax-rules () diff --git a/guile/starlet/playback.scm b/guile/starlet/playback.scm index 51eb999..3cbcd61 100644 --- a/guile/starlet/playback.scm +++ b/guile/starlet/playback.scm @@ -7,7 +7,10 @@ cue cut-to-cue-number! run-cue-number! - go!)) + go! + cue-list + cue-state + track-state)) ;; A "playback" is a state which knows how to run cues @@ -233,3 +236,24 @@ (down-time cue) (down-delay cue)) (add-fade! pb (make-fade-from-cue cue tnow)))) + + +(define-syntax cue-state + (syntax-rules () + + ((_) + make-empty-state) + + ((_ body ...) + (lambda () + (parameterize ((current-state (make-empty-state))) + body ... + (current-state)))))) + + +(define-syntax cue-list + (identifier-syntax list)) + + +(define-syntax track-state + (identifier-syntax cue-state)) |