aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2022-08-13 18:43:11 +0200
committerThomas White <taw@physics.org>2022-08-13 18:43:11 +0200
commit24b47921450eb2abca8a4e67e731b530fcdeca38 (patch)
tree8d39ccf595f9c94c2bb675528e7fb4da7824d644
parent2a209994505a2737f414a6e7d37cf4cb8bb254d7 (diff)
cue-list: Ignore unspecified values
This allows the following kind of thing: (cue-list (cue 1 ...) (when something (cue 2 ...)) (cue 3 ...))
-rw-r--r--guile/starlet/cue-list.scm12
1 files changed, 8 insertions, 4 deletions
diff --git a/guile/starlet/cue-list.scm b/guile/starlet/cue-list.scm
index a2361b0..4bb072b 100644
--- a/guile/starlet/cue-list.scm
+++ b/guile/starlet/cue-list.scm
@@ -237,10 +237,14 @@
(define-syntax cue-list
(syntax-rules ()
((_ body ...)
- (let ((the-cue-list (vector (cue 0
- (make-empty-state)
- (snap))
- body ...)))
+ (let ((the-cue-list
+ (list->vector
+ (remove unspecified?
+ (list
+ (cue 0
+ (make-empty-state)
+ (snap))
+ body ...)))))
(track-all-cues! the-cue-list)
(preset-all-cues! the-cue-list)
the-cue-list))))