aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/fixture-library
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2022-11-12 11:13:53 +0100
committerThomas White <taw@physics.org>2022-11-12 11:37:03 +0100
commit5a02170f9e1952cd335b6b097e8ce33de7bb35b1 (patch)
treeca21feda4181e444e10e11ce863cc017c69461e7 /guile/starlet/fixture-library
parentf99311300912814ccaf4fdd6b3c753d1206e024c (diff)
Introduce new type for attribute names
There's a serious problem with the design so far, where symbols are used for attribute names (intensity, strobe, colour etc), and also for attribute values (on, off, random etc). There's no way for 'at' to tell the difference between the two. For example, this form is ambiguous: (at myfixture 'strobe 'on) This commit introduces a new class, <starlet-attribute>, to replace the use of symbols here. The attributes are enumerated in (starlet attributes), and new ones can be added later. The attribute objects remember their 'canonical' names, to allow states to be printed. Apart from solving the ambiguity problem, this has two further advantages. First, attribute names no longer need to be quoted everywhere. Second, multiple names can be used to refer to the same attribute. For example: (define color colour).
Diffstat (limited to 'guile/starlet/fixture-library')
-rw-r--r--guile/starlet/fixture-library/adj/mega-tripar-profile.scm17
-rw-r--r--guile/starlet/fixture-library/chauvet/mav2.scm25
-rw-r--r--guile/starlet/fixture-library/generic/dimmer.scm5
-rw-r--r--guile/starlet/fixture-library/generic/rgb.scm9
-rw-r--r--guile/starlet/fixture-library/robe/dl7s.scm29
-rw-r--r--guile/starlet/fixture-library/robe/mmxspot.scm60
-rw-r--r--guile/starlet/fixture-library/robe/mmxwashbeam.scm61
-rw-r--r--guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm17
-rw-r--r--guile/starlet/fixture-library/stairville/z120m.scm19
-rw-r--r--guile/starlet/fixture-library/tadm/led-bar.scm10
10 files changed, 132 insertions, 120 deletions
diff --git a/guile/starlet/fixture-library/adj/mega-tripar-profile.scm b/guile/starlet/fixture-library/adj/mega-tripar-profile.scm
index 90a84f6..4815fa9 100644
--- a/guile/starlet/fixture-library/adj/mega-tripar-profile.scm
+++ b/guile/starlet/fixture-library/adj/mega-tripar-profile.scm
@@ -21,6 +21,7 @@
(define-module (starlet fixture-library adj mega-tripar-profile)
#:use-module (starlet scanout)
#:use-module (starlet fixture)
+ #:use-module (starlet attributes)
#:use-module (starlet utils)
#:use-module (starlet colours)
#:export (<adj-mega-tripar-profile-3ch>
@@ -34,11 +35,11 @@
<adj-mega-tripar-profile-3ch>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-colour 'colour white))
+ (attr-continuous intensity '(0 100) 0)
+ (attr-colour colour white))
- (let ((intensity (/ (get-attr 'intensity) 100))
- (rgb (colour-as-rgb (get-attr 'colour))))
+ (let ((intensity (/ (get-attr intensity) 100))
+ (rgb (colour-as-rgb (get-attr colour))))
(set-chan8 1 (percent->dmxval8 (* intensity (car rgb))))
(set-chan8 2 (percent->dmxval8 (* intensity (cadr rgb))))
(set-chan8 3 (percent->dmxval8 (* intensity (caddr rgb))))))
@@ -51,11 +52,11 @@
<adj-mega-tripar-profile-4ch>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-colour 'colour white))
+ (attr-continuous intensity '(0 100) 0)
+ (attr-colour colour white))
- (let ((rgb (colour-as-rgb (get-attr 'colour))))
- (set-chan8 1 (percent->dmxval8 (get-attr 'intensity)))
+ (let ((rgb (colour-as-rgb (get-attr colour))))
+ (set-chan8 1 (percent->dmxval8 (get-attr intensity)))
(set-chan8 2 (percent->dmxval8 (car rgb)))
(set-chan8 3 (percent->dmxval8 (cadr rgb)))
(set-chan8 4 (percent->dmxval8 (caddr rgb)))))
diff --git a/guile/starlet/fixture-library/chauvet/mav2.scm b/guile/starlet/fixture-library/chauvet/mav2.scm
index d79e73e..5fae168 100644
--- a/guile/starlet/fixture-library/chauvet/mav2.scm
+++ b/guile/starlet/fixture-library/chauvet/mav2.scm
@@ -21,6 +21,7 @@
(define-module (starlet fixture-library chauvet mav2)
#:use-module (starlet scanout)
#:use-module (starlet fixture)
+ #:use-module (starlet attributes)
#:use-module (starlet utils)
#:use-module (starlet colours)
#:export (<chauvet-mav2-32ch>))
@@ -31,19 +32,19 @@
<chauvet-mav2-32ch>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-continuous 'pan '(0 540) 270)
- (attr-continuous 'tilt '(0 270) 135)
- (attr-continuous 'cyan '(0 100) 0)
- (attr-continuous 'magenta '(0 100) 0)
- (attr-continuous 'yellow '(0 100) 0))
+ (attr-continuous intensity '(0 100) 0)
+ (attr-continuous pan '(0 540) 270)
+ (attr-continuous tilt '(0 270) 135)
+ (attr-continuous cyan '(0 100) 0)
+ (attr-continuous magenta '(0 100) 0)
+ (attr-continuous yellow '(0 100) 0))
- (set-chan-16bit 1 (get-attr 'pan) 540)
- (set-chan-16bit 3 (get-attr 'tilt) 270)
- (set-chan-16bit 6 (get-attr 'intensity) 100)
+ (set-chan-16bit 1 (get-attr pan) 540)
+ (set-chan-16bit 3 (get-attr tilt) 270)
+ (set-chan-16bit 6 (get-attr intensity) 100)
- (set-chan 10 (percent->dmxval (get-attr 'cyan)))
- (set-chan 11 (percent->dmxval (get-attr 'magenta)))
- (set-chan 12 (percent->dmxval (get-attr 'yellow)))
+ (set-chan 10 (percent->dmxval (get-attr cyan)))
+ (set-chan 11 (percent->dmxval (get-attr magenta)))
+ (set-chan 12 (percent->dmxval (get-attr yellow)))
(set-chan 8 255))
diff --git a/guile/starlet/fixture-library/generic/dimmer.scm b/guile/starlet/fixture-library/generic/dimmer.scm
index e823dc7..6b25c15 100644
--- a/guile/starlet/fixture-library/generic/dimmer.scm
+++ b/guile/starlet/fixture-library/generic/dimmer.scm
@@ -22,6 +22,7 @@
#:use-module (starlet scanout)
#:use-module (starlet fixture)
#:use-module (starlet utils)
+ #:use-module (starlet attributes)
#:export (<generic-dimmer>))
(define-fixture
@@ -29,7 +30,7 @@
<generic-dimmer>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0))
+ (attr-continuous intensity '(0 100) 0))
- (set-chan8 1 (percent->dmxval8 (get-attr 'intensity))))
+ (set-chan8 1 (percent->dmxval8 (get-attr intensity))))
diff --git a/guile/starlet/fixture-library/generic/rgb.scm b/guile/starlet/fixture-library/generic/rgb.scm
index 4c2eb11..1b292af 100644
--- a/guile/starlet/fixture-library/generic/rgb.scm
+++ b/guile/starlet/fixture-library/generic/rgb.scm
@@ -21,6 +21,7 @@
(define-module (starlet fixture-library generic rgb)
#:use-module (starlet scanout)
#:use-module (starlet fixture)
+ #:use-module (starlet attributes)
#:use-module (starlet utils)
#:use-module (starlet colours)
#:export (<generic-rgb>))
@@ -31,11 +32,11 @@
<generic-rgb>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-colour 'colour white))
+ (attr-continuous intensity '(0 100) 0)
+ (attr-colour colour white))
- (let ((intensity (get-attr 'intensity))
- (rgb (colour-as-rgb (get-attr 'colour))))
+ (let ((intensity (get-attr intensity))
+ (rgb (colour-as-rgb (get-attr colour))))
(set-chan8 1 (percent->dmxval8 (* intensity 0.01 (car rgb))))
(set-chan8 2 (percent->dmxval8 (* intensity 0.01 (cadr rgb))))
(set-chan8 3 (percent->dmxval8 (* intensity 0.01 (caddr rgb))))))
diff --git a/guile/starlet/fixture-library/robe/dl7s.scm b/guile/starlet/fixture-library/robe/dl7s.scm
index f64de19..c733731 100644
--- a/guile/starlet/fixture-library/robe/dl7s.scm
+++ b/guile/starlet/fixture-library/robe/dl7s.scm
@@ -21,6 +21,7 @@
(define-module (starlet fixture-library robe dl7s)
#:use-module (oop goops)
#:use-module (starlet fixture)
+ #:use-module (starlet attributes)
#:use-module (starlet colours)
#:export (<robe-dl7s-mode1>))
@@ -30,31 +31,31 @@
<robe-dl7s-mode1>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-continuous 'pan '(0 540) 270)
- (attr-continuous 'tilt '(0 270) 135)
- (attr-list 'strobe '(#t #f) #f)
- (attr-list 'prism '(#t #f) #f)
- (attr-colour 'colour white)
- (attr-continuous 'colour-temperature '(2700 8000) 3200))
+ (attr-continuous intensity '(0 100) 0)
+ (attr-continuous pan '(0 540) 270)
+ (attr-continuous tilt '(0 270) 135)
+ (attr-list strobe '(#t #f) #f)
+ (attr-list prism '(#t #f) #f)
+ (attr-colour colour white)
+ (attr-continuous colour-temperature '(2700 8000) 3200))
- (set-chan16 50 (percent->dmxval16 (get-attr 'intensity)))
+ (set-chan16 50 (percent->dmxval16 (get-attr intensity)))
- (set-chan16 1 (scale-to-range (get-attr 'pan) '(0 540) '(0 65535)))
- (set-chan16 3 (scale-to-range (get-attr 'tilt) (0 270) '(0 65535)))
+ (set-chan16 1 (scale-to-range (get-attr pan) '(0 540) '(0 65535)))
+ (set-chan16 3 (scale-to-range (get-attr tilt) (0 270) '(0 65535)))
- (set-chan8 49 (if (get-attr 'strobe) 95 32))
+ (set-chan8 49 (if (get-attr strobe) 95 32))
- (set-chan8 28 (if (get-attr 'prism) 50 0))
+ (set-chan8 28 (if (get-attr prism) 50 0))
(set-chan8 6 0) ;; Power/special function: default
(set-chan8 7 0) ;; Colour mode: default
(set-chan8 15
- (scale-and-clamp-to-range (get-attr 'colour-temperature)
+ (scale-and-clamp-to-range (get-attr colour-temperature)
'(8000 2700) '(0 255)))
- (let ((cmy (colour-as-cmy (get-attr 'colour))))
+ (let ((cmy (colour-as-cmy (get-attr colour))))
(set-chan16 9 (percent->dmxval16 (car cmy)))
(set-chan16 11 (percent->dmxval16 (cadr cmy)))
(set-chan16 13 (percent->dmxval16 (caddr cmy)))))
diff --git a/guile/starlet/fixture-library/robe/mmxspot.scm b/guile/starlet/fixture-library/robe/mmxspot.scm
index bd399be..1f37299 100644
--- a/guile/starlet/fixture-library/robe/mmxspot.scm
+++ b/guile/starlet/fixture-library/robe/mmxspot.scm
@@ -21,6 +21,7 @@
(define-module (starlet fixture-library robe mmxspot)
#:use-module (oop goops)
#:use-module (starlet fixture)
+ #:use-module (starlet attributes)
#:use-module (starlet colours)
#:export (<robe-mmxspot-mode1>))
@@ -30,41 +31,42 @@
<robe-mmxspot-mode1>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-continuous 'pan '(0 540) 270)
- (attr-continuous 'tilt '(0 270) 135)
- (attr-list 'colwheel '(#f red blue orange green amber uv) #f)
- (attr-list 'prism '(#t #f) #f)
- (attr-list 'strobe '(#f #t random zap) #f)
- (attr-continuous 'strobe-speed '(0 100) 50)
- (attr-colour 'colour white)
- (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))
+ (attr-continuous intensity '(0 100) 0)
+ (attr-continuous pan '(0 540) 270)
+ (attr-continuous tilt '(0 270) 135)
+ (attr-list colwheel '(#f red blue orange green amber uv) #f)
+ (attr-list prism '(#t #f) #f)
+ (attr-list strobe '(off on random zap) off)
+ (attr-continuous strobe-frequency '(0 100) 50)
+ (attr-colour colour white)
+ (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))
- (set-chan16 37 (percent->dmxval16 (get-attr 'intensity)))
+ (set-chan16 37 (percent->dmxval16 (get-attr intensity)))
- (set-chan16 1 (scale-to-range (get-attr 'pan) '(0 540) '(0 65535)))
+ (set-chan16 1 (scale-to-range (get-attr pan) '(0 540) '(0 65535)))
- (set-chan16 3 (scale-to-range (get-attr 'tilt) '(0 270) '(0 65535)))
+ (set-chan16 3 (scale-to-range (get-attr tilt) '(0 270) '(0 65535)))
- (set-chan16 28 (scale-to-range (get-attr 'iris) '(0 100) '(0 45567)))
- (set-chan16 30 (percent->dmxval16 (get-attr 'zoom)))
- (set-chan16 32 (percent->dmxval16 (get-attr 'focus)))
+ (set-chan16 28 (scale-to-range (get-attr iris) '(0 100) '(0 45567)))
+ (set-chan16 30 (percent->dmxval16 (get-attr zoom)))
+ (set-chan16 32 (percent->dmxval16 (get-attr focus)))
(set-chan8 36
- (let ((strb (get-attr 'strobe))
- (spd (get-attr 'strobe-speed)))
+ (let ((strb (get-attr strobe))
+ (spd (get-attr strobe-speed)))
(cond
- ((eq? strb #t) (scale-to-range spd '(0 100) '(64 95)))
+ ;; FIXME: Check the frequencies
+ ((eq? strb 'on) (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))
+ (set-chan8 25 (if (get-attr prism) 20 0))
(set-chan8 7 (assv-ref '((#f . 0)
(red . 18)
@@ -73,13 +75,13 @@
(green . 73)
(amber . 91)
(uv . 110))
- (get-attr 'colwheel)))
+ (get-attr colwheel)))
- (let ((cmy (colour-as-cmy (get-attr 'colour))))
+ (let ((cmy (colour-as-cmy (get-attr colour))))
(set-chan8 9 (percent->dmxval8 (car cmy)))
(set-chan8 10 (percent->dmxval8 (cadr cmy)))
(set-chan8 11 (percent->dmxval8 (caddr cmy))))
- (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))))
+ (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))))
diff --git a/guile/starlet/fixture-library/robe/mmxwashbeam.scm b/guile/starlet/fixture-library/robe/mmxwashbeam.scm
index 282bd0f..a41c80d 100644
--- a/guile/starlet/fixture-library/robe/mmxwashbeam.scm
+++ b/guile/starlet/fixture-library/robe/mmxwashbeam.scm
@@ -21,6 +21,7 @@
(define-module (starlet fixture-library robe mmxwashbeam)
#:use-module (starlet scanout)
#:use-module (starlet fixture)
+ #:use-module (starlet attributes)
#:use-module (starlet utils)
#:use-module (starlet colours)
#:export (<robe-mmxwashbeam-mode1>))
@@ -31,37 +32,37 @@
<robe-mmxwashbeam-mode1>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-continuous 'pan '(0 540) 270)
- (attr-continuous 'tilt '(0 270) 135)
- (attr-list 'strobe '(#t #f) #f)
- (attr-list 'colwheel '(#f red blue orange green amber uv) #f)
- (attr-list 'gobo '(#f iris gobo1 gobo2 gobo3 gobo4 gobo5 gobo6) #f)
- (attr-list 'beamtype '(beam beamwash beamwashext) 'beam)
- (attr-colour 'colour white)
- (attr-continuous 'zoom '(0 100) 0)
- (attr-continuous 'focus '(0 100) 0)
- (attr-continuous 'barndoor-rot '(0 180) 90)
- (attr-continuous 'barndoor1 '(0 180) 0)
- (attr-continuous 'barndoor2 '(0 100) 0)
- (attr-continuous 'barndoor3 '(0 100) 0)
- (attr-continuous 'barndoor4 '(0 100) 0))
+ (attr-continuous intensity '(0 100) 0)
+ (attr-continuous pan '(0 540) 270)
+ (attr-continuous tilt '(0 270) 135)
+ (attr-list strobe '(#t #f) #f)
+ (attr-list colwheel '(#f red blue orange green amber uv) #f)
+ (attr-list gobo '(#f iris gobo1 gobo2 gobo3 gobo4 gobo5 gobo6) #f)
+ (attr-list beamtype '(beam beamwash beamwashext) 'beam)
+ (attr-colour colour white)
+ (attr-continuous zoom '(0 100) 0)
+ (attr-continuous focus '(0 100) 0)
+ (attr-continuous barndoor-rot '(0 180) 90)
+ (attr-continuous barndoor1 '(0 180) 0)
+ (attr-continuous barndoor2 '(0 100) 0)
+ (attr-continuous barndoor3 '(0 100) 0)
+ (attr-continuous barndoor4 '(0 100) 0))
- (set-chan16 33 (percent->dmxval16 (get-attr 'intensity)))
+ (set-chan16 33 (percent->dmxval16 (get-attr intensity)))
- (set-chan16 1 (scale-to-range (get-attr 'pan) '(0 540) '(0 65535)))
- (set-chan16 3 (scale-to-range (get-attr 'tilt) '(0 270) '(0 65535)))
+ (set-chan16 1 (scale-to-range (get-attr pan) '(0 540) '(0 65535)))
+ (set-chan16 3 (scale-to-range (get-attr tilt) '(0 270) '(0 65535)))
- (set-chan8 32 (if (get-attr 'strobe) 70 255))
+ (set-chan8 32 (if (get-attr strobe) 70 255))
- (set-chan16 19 (percent->dmxval16 (get-attr 'zoom)))
- (set-chan16 21 (percent->dmxval16 (get-attr 'focus)))
+ (set-chan16 19 (percent->dmxval16 (get-attr zoom)))
+ (set-chan16 21 (percent->dmxval16 (get-attr focus)))
- ;;(set-chan 24 (number->dmxval (get-attr 'barndoor-rot) '(0 180)))
- (set-chan8 25 (percent->dmxval8 (get-attr 'barndoor1)))
- (set-chan8 26 (percent->dmxval8 (get-attr 'barndoor2)))
- (set-chan8 27 (percent->dmxval8 (get-attr 'barndoor3)))
- (set-chan8 28 (percent->dmxval8 (get-attr 'barndoor4)))
+ ;;(set-chan 24 (number->dmxval (get-attr barndoor-rot) '(0 180)))
+ (set-chan8 25 (percent->dmxval8 (get-attr barndoor1)))
+ (set-chan8 26 (percent->dmxval8 (get-attr barndoor2)))
+ (set-chan8 27 (percent->dmxval8 (get-attr barndoor3)))
+ (set-chan8 28 (percent->dmxval8 (get-attr barndoor4)))
(set-chan8 7 (assv-ref '((#f . 0)
(red . 18)
@@ -70,7 +71,7 @@
(green . 73)
(amber . 91)
(uv . 110))
- (get-attr 'colwheel)))
+ (get-attr colwheel)))
(set-chan8 15 (assv-ref '((#f . 0)
(iris . 5)
@@ -80,14 +81,14 @@
(gobo4 . 22)
(gobo5 . 26)
(gobo6 . 30))
- (get-attr 'gobo)))
+ (get-attr gobo)))
(set-chan8 18 (assv-ref '((beam . 0)
(beamwash . 35)
(beamwashext . 45))
- (get-attr 'beamtype)))
+ (get-attr beamtype)))
- (let ((cmy (colour-as-cmy (get-attr 'colour))))
+ (let ((cmy (colour-as-cmy (get-attr colour))))
(set-chan8 9 (percent->dmxval8 (car cmy)))
(set-chan8 10 (percent->dmxval8 (cadr cmy)))
(set-chan8 11 (percent->dmxval8 (caddr cmy)))))
diff --git a/guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm b/guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm
index cbabe1e..b3320b2 100644
--- a/guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm
+++ b/guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm
@@ -21,6 +21,7 @@
(define-module (starlet fixture-library stairville octagon-theater-cw-ww)
#:use-module (starlet scanout)
#:use-module (starlet fixture)
+ #:use-module (starlet attributes)
#:use-module (starlet utils)
#:export (<stairville-octagon-theater-cw-ww>))
@@ -29,22 +30,22 @@
<stairville-octagon-theater-cw-ww>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-continuous 'colour-temperature '(2800 6400) 3200)
- (attr-list 'strobe '(#f #t) #f)
+ (attr-continuous intensity '(0 100) 0)
+ (attr-continuous colour-temperature '(2800 6400) 3200)
+ (attr-list strobe '(#f #t) #f)
;; FIXME: Strobe frequency is not stated in manual.
;; I've assumed that "slow" means 1 Hz, "fast" 25 Hz
- (attr-continuous 'strobe-frequency '(1 25) 1))
+ (attr-continuous strobe-frequency '(1 25) 1))
- (let ((coltemp (get-attr 'colour-temperature)))
+ (let ((coltemp (get-attr colour-temperature)))
(set-chan8 1 (scale-and-clamp-to-range coltemp '(2800 6400) '(0 255)))
(set-chan8 2 (scale-and-clamp-to-range coltemp '(2800 6400) '(255 0))))
- (if (get-attr 'strobe)
+ (if (get-attr strobe)
(set-chan8 3 (scale-and-clamp-to-range
- (get-attr 'strobe-frequency)
+ (get-attr strobe-frequency)
'(1 25)
'(16 255)))
(set-chan8 3 0))
(set-chan8 3 0) ;; Strobe
(set-chan8 4 0) ;; Mode (0-15 = direct control)
- (set-chan8 5 (percent->dmxval8 (get-attr 'intensity))))
+ (set-chan8 5 (percent->dmxval8 (get-attr intensity))))
diff --git a/guile/starlet/fixture-library/stairville/z120m.scm b/guile/starlet/fixture-library/stairville/z120m.scm
index 46cd6cd..e1f40af 100644
--- a/guile/starlet/fixture-library/stairville/z120m.scm
+++ b/guile/starlet/fixture-library/stairville/z120m.scm
@@ -21,6 +21,7 @@
(define-module (starlet fixture-library stairville z120m)
#:use-module (starlet scanout)
#:use-module (starlet fixture)
+ #:use-module (starlet attributes)
#:use-module (starlet utils)
#:use-module (starlet colours)
#:export (<stairville-z120m-6ch>))
@@ -30,27 +31,27 @@
<stairville-z120m-6ch>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-colour 'colour white)
- (attr-continuous 'strobe-frequency '(1 25) 1)
- (attr-list 'strobe '(off on random) 'off))
+ (attr-continuous intensity '(0 100) 0)
+ (attr-colour colour white)
+ (attr-continuous strobe-frequency '(1 25) 1)
+ (attr-list strobe '(off on random) 'off))
- (let ((intensity (get-attr 'intensity))
- (rgbw (colour-as-rgbw (get-attr 'colour))))
+ (let ((intensity (get-attr intensity))
+ (rgbw (colour-as-rgbw (get-attr colour))))
(set-chan8 1 (percent->dmxval8 intensity))
(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))))
(cond
- ((eq? (get-attr 'strobe) 'on)
+ ((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)
+ ((eq? (get-attr strobe) 'random)
(set-chan8 2 (scale-and-clamp-to-range
- (get-attr 'strobe-frequency)
+ (get-attr strobe-frequency)
'(1 25)
'(181 240))))
(else (set-chan8 2 255))))
diff --git a/guile/starlet/fixture-library/tadm/led-bar.scm b/guile/starlet/fixture-library/tadm/led-bar.scm
index 07ccff1..45c4e34 100644
--- a/guile/starlet/fixture-library/tadm/led-bar.scm
+++ b/guile/starlet/fixture-library/tadm/led-bar.scm
@@ -21,8 +21,10 @@
(define-module (starlet fixture-library tadm led-bar)
#:use-module (starlet scanout)
#:use-module (starlet fixture)
+ #:use-module (starlet attributes)
#:use-module (starlet colours)
#:use-module (starlet utils)
+ #:use-module (starlet attributes)
#:export (<tadm-led-bar>))
(define-fixture
@@ -30,11 +32,11 @@
<tadm-led-bar>
(fixture-attributes
- (attr-continuous 'intensity '(0 100) 0)
- (attr-colour 'colour white))
+ (attr-continuous intensity '(0 100) 0)
+ (attr-colour colour white))
- (let ((intensity (get-attr 'intensity))
- (rgb (colour-as-rgb (get-attr 'colour))))
+ (let ((intensity (get-attr intensity))
+ (rgb (colour-as-rgb (get-attr colour))))
(set-chan8 1 17)
(set-chan8 2 (percent->dmxval8 intensity))
(set-chan8 3 0)