aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/fixture-library
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.me.uk>2021-01-19 20:37:00 +0100
committerThomas White <taw@bitwiz.me.uk>2021-01-19 20:37:00 +0100
commite0aac152ffca8ae437b9968849fe258bff11adf9 (patch)
tree03982204b7ffee28a306adb8d81cc2e935c1d5ec /guile/starlet/fixture-library
parentadba2eeed583885cd5586d1cf221d6b20139f958 (diff)
Add more fixture attributes
Diffstat (limited to 'guile/starlet/fixture-library')
-rw-r--r--guile/starlet/fixture-library/robe.scm17
1 files changed, 15 insertions, 2 deletions
diff --git a/guile/starlet/fixture-library/robe.scm b/guile/starlet/fixture-library/robe.scm
index 9c8ef76..6e4704a 100644
--- a/guile/starlet/fixture-library/robe.scm
+++ b/guile/starlet/fixture-library/robe.scm
@@ -125,12 +125,16 @@
(attr-continuous 'tilt '(0 270) 135)
(attr-list 'colwheel '(#f red blue orange green amber uv) #f)
(attr-boolean 'prism #f)
+ (attr-list 'strobe '(#f #t random zap) #f)
+ (attr-continuous 'strobe-speed '(0 100) 50)
(attr-continuous 'cyan '(0 100) 0)
(attr-continuous 'magenta '(0 100) 0)
(attr-continuous 'yellow '(0 100) 0)
(attr-continuous 'iris '(0 100) 0)
(attr-continuous 'zoom '(0 100) 0)
(attr-continuous 'focus '(0 100) 0)
+ (attr-continuous 'hotspot '(0 100) 0)
+ (attr-continuous 'frost '(0 100) 0)
(attr-continuous 'cto '(3200 6900) 6900))))
@@ -147,7 +151,14 @@
(set-chan16 30 (percent->dmxval16 (get-attr 'zoom)))
(set-chan16 32 (percent->dmxval16 (get-attr 'focus)))
- (set-chan8 36 (if (get-attr 'strobe) 70 255))
+ (set-chan8 36
+ (let ((strb (get-attr 'strobe))
+ (spd (get-attr 'strobe-speed)))
+ (cond
+ ((eq? strb #t) (scale-to-range spd '(0 100) '(64 95)))
+ ((eq? strb 'random) (scale-to-range spd '(0 100) '(192 223)))
+ ((eq? strb 'zap) (scale-to-range spd '(0 100) '(160 191)))
+ (else 255))))
(set-chan8 25 (if (get-attr 'prism) 20 0))
@@ -163,4 +174,6 @@
(set-chan8 9 (percent->dmxval8 (get-attr 'cyan)))
(set-chan8 10 (percent->dmxval8 (get-attr 'magenta)))
(set-chan8 11 (percent->dmxval8 (get-attr 'yellow)))
- (set-chan8 12 (scale-to-range (get-attr 'cto) '(3200 6900) '(0 255))))
+ (set-chan8 35 (percent->dmxval8 (get-attr 'hotspot)))
+ (set-chan8 12 (scale-to-range (get-attr 'cto) '(3200 6900) '(0 255)))
+ (set-chan8 27 (scale-to-range (get-attr 'frost) '(0 100) '(0 179))))