aboutsummaryrefslogtreecommitdiff
path: root/guile
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2022-10-30 22:27:15 +0100
committerThomas White <taw@physics.org>2022-10-30 22:27:15 +0100
commitf8a87f05c23bbef5bac818b22f68b27ca0252811 (patch)
tree12303da8f12c9c94de7aa5b407248ce75266191b /guile
parent797b616c66ab514880cf5a4fd8cb6837b43b52a1 (diff)
Fixture library: <stairville-z120m-6ch> Add random strobe mode
Diffstat (limited to 'guile')
-rw-r--r--guile/starlet/fixture-library/stairville/z120m.scm23
1 files changed, 14 insertions, 9 deletions
diff --git a/guile/starlet/fixture-library/stairville/z120m.scm b/guile/starlet/fixture-library/stairville/z120m.scm
index 60e34b3..46cd6cd 100644
--- a/guile/starlet/fixture-library/stairville/z120m.scm
+++ b/guile/starlet/fixture-library/stairville/z120m.scm
@@ -33,19 +33,24 @@
(attr-continuous 'intensity '(0 100) 0)
(attr-colour 'colour white)
(attr-continuous 'strobe-frequency '(1 25) 1)
- (attr-list 'strobe '(#f #t) #f))
+ (attr-list 'strobe '(off on random) 'off))
(let ((intensity (get-attr 'intensity))
(rgbw (colour-as-rgbw (get-attr 'colour))))
(set-chan8 1 (percent->dmxval8 intensity))
- (if (get-attr 'strobe)
- (set-chan8 2 (scale-and-clamp-to-range
- (get-attr 'strobe-frequency)
- '(1 25)
- '(106 165)))
- (set-chan8 2 255))
(set-chan8 3 (percent->dmxval8 (car rgbw)))
(set-chan8 4 (percent->dmxval8 (cadr rgbw)))
(set-chan8 5 (percent->dmxval8 (caddr rgbw)))
- (set-chan8 6 (percent->dmxval8 (cadddr rgbw)))))
-
+ (set-chan8 6 (percent->dmxval8 (cadddr rgbw))))
+ (cond
+ ((eq? (get-attr 'strobe) 'on)
+ (set-chan8 2 (scale-and-clamp-to-range
+ (get-attr 'strobe-frequency)
+ '(1 25)
+ '(106 165))))
+ ((eq? (get-attr 'strobe) 'random)
+ (set-chan8 2 (scale-and-clamp-to-range
+ (get-attr 'strobe-frequency)
+ '(1 25)
+ '(181 240))))
+ (else (set-chan8 2 255))))