aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/midi-control/faders.scm
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-04-04 09:59:00 +0200
committerThomas White <taw@physics.org>2021-04-04 09:59:00 +0200
commitb9b9e2c51c2dae1343eefa49f0566b6636bfe4d4 (patch)
tree2cf9df4df2c22b325b8b86aedb1672ac3f2cd9f0 /guile/starlet/midi-control/faders.scm
parent8e5aee3ec7919096aa669290d589c69cc882ce9b (diff)
New state-on-fader
Diffstat (limited to 'guile/starlet/midi-control/faders.scm')
-rw-r--r--guile/starlet/midi-control/faders.scm31
1 files changed, 16 insertions, 15 deletions
diff --git a/guile/starlet/midi-control/faders.scm b/guile/starlet/midi-control/faders.scm
index 99e2560..606bd72 100644
--- a/guile/starlet/midi-control/faders.scm
+++ b/guile/starlet/midi-control/faders.scm
@@ -15,26 +15,27 @@
(lighting-state
(state-for-each
(lambda (fix attr val)
- (let ((cc-val (get-cc-value cc-number #:channel channel)))
- (format #t "Have val ~a\n" cc-val)
+ (at fix attr
+ (lambda (time)
- ;; Fader position known?
- (if cc-val
+ (let ((cc-val (get-cc-value cc-number #:channel channel)))
- (if (intensity? attr)
+ ;; Fader position known?
+ (if cc-val
- ;; Intensity parameters get scaled according to the fader
- (at fix attr (lambda (time)
- (* 0.01 val (ccval->percent cc-val))))
+ (if (intensity? attr)
- ;; Non-intensity parameters just get set in our new state,
- ;; but only if the fader is up!
- (if (> cc-val 0)
- (at fix attr val)
- 'no-value))
+ ;; Intensity parameters get scaled according to the fader
+ (* 0.01 val (ccval->percent cc-val))
- ;; Fader position unknown
- 'no-value)))
+ ;; Non-intensity parameters just get set in our new state,
+ ;; but only if the fader is up!
+ (if (> cc-val 0)
+ val
+ 'no-value))
+
+ ;; Fader position unknown
+ 'no-value)))))
state))))