diff options
author | Thomas White <taw@physics.org> | 2020-09-04 20:33:04 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2020-09-04 20:39:05 +0200 |
commit | 65f9dcb8c49ecb621c2f01f82fc8e2f56a1e8e0a (patch) | |
tree | a93a441677bffaaf0c36760957983cf6f05874f6 /guile | |
parent | 99e41c5b071d7e231f2cc55e0fb833fa58626c78 (diff) |
Move cue list stuff to playback module
Also, sketch out new way of doing cue lists
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)) |