aboutsummaryrefslogtreecommitdiff
path: root/guile
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2020-08-21 22:28:50 +0200
committerThomas White <taw@physics.org>2020-08-21 22:28:50 +0200
commitd7468e259e77cfd64568dc50ba5c378145e5db7e (patch)
tree4a13184cc128e80ecf341effed138b9f91eac673 /guile
parent1a9ebe6735b7dab8784ce1aa9dc8eb0f4e3c24a4 (diff)
Get rid of 'expand-state'
From now on, states will always be real states (not functions evaluating to states). Cues, however, contain functions evaluating to states.
Diffstat (limited to 'guile')
-rw-r--r--guile/starlet/base.scm19
-rw-r--r--guile/starlet/playback.scm4
2 files changed, 7 insertions, 16 deletions
diff --git a/guile/starlet/base.scm b/guile/starlet/base.scm
index 8be8576..839c064 100644
--- a/guile/starlet/base.scm
+++ b/guile/starlet/base.scm
@@ -12,7 +12,7 @@
home-attr! home-all! blackout
scanout-freq make-empty-state register-state!
percent->dmxval msb lsb
- hirestime expand-state set-in-state! state-for-each
+ hirestime set-in-state! state-for-each
merge-states-htp value->number get-attr-name
get-state-hash-table scanout-fixture
get-fixture-universe get-fixture-addr
@@ -217,14 +217,6 @@
val))
-;; If "state" is a procedure, call it to get the real state
-;; Otherwise, pass through
-(define (expand-state state)
- (if (procedure? state)
- (state)
- state))
-
-
(define (merge-rule-ltp attr a b)
(lambda (time)
(value->number b time)))
@@ -250,7 +242,7 @@
(let ((combined-state (make <starlet-state>)))
(for-each (lambda (state)
(add-state-to-state! merge-rule
- (expand-state state)
+ state
combined-state))
list-of-states)
combined-state))
@@ -392,10 +384,9 @@
(syntax-rules ()
((_ state-name body ...)
(define state-name
- (lambda ()
- (parameterize ((current-state (make-empty-state)))
- body ...
- (current-state)))))))
+ (parameterize ((current-state (make-empty-state)))
+ body ...
+ (current-state))))))
(define-syntax at
diff --git a/guile/starlet/playback.scm b/guile/starlet/playback.scm
index 36d76a1..d8cb861 100644
--- a/guile/starlet/playback.scm
+++ b/guile/starlet/playback.scm
@@ -151,7 +151,7 @@
(define (cut-to-cue! pb cue)
- (let* ((state (expand-state (get-cue-state cue))))
+ (let ((state ((get-cue-state cue))))
;; Flush everything out and just set the state
(set-active-fade-list! pb
(list (make-fade
@@ -175,7 +175,7 @@
(define (make-fade-from-cue cue time)
(make-fade
- (expand-state (get-cue-state cue))
+ ((get-cue-state cue))
0.0
1.0
(up-time cue)