summaryrefslogtreecommitdiff
path: root/guile/nanolight/fixture-library/robe.scm
blob: dcdd30b5544a5977b5a51ab1986c4a179604cef4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
(define-module (nanolight fixture-library robe)
  #:use-module (oop goops)
  #:use-module (nanolight fixture)
  #:export (robe-dl7s-profile-mode1))


(define (robe-dl7s-profile-mode1)
  (list

    (make <fixture-attribute> #:name 'pan
      #:range '(0 540) #:type 'continuous #:home-value 270
      #:translator (lambda (universe start-addr value set-dmx)
                     (set-dmx universe (+ 0 start-addr) 2
                       (percent->dmxval value))))

    (make <fixture-attribute> #:name 'tilt
      #:range '(0 270) #:type 'continuous #:home-value 135
      #:translator (lambda (universe start-addr value set-dmx)
                     (set-dmx universe (+ 2 start-addr) 2
                       (percent->dmxval value))))

    (make <fixture-attribute> #:name 'strobe
      #:range '(#f #t) #:type 'step #:home-value #f
      #:translator (lambda (universe start-addr value set-dmx)
                     (set-dmx universe (+ 48 start-addr) 1
                       (if value 95 32))))

    (make <fixture-attribute> #:name 'intensity
      #:range '(0 100) #:type 'continuous #:home-value 0
      #:translator (lambda (universe start-addr value set-dmx)
                     (set-dmx universe (+ 49 start-addr) 2
                       (percent->dmxval value))))

    (make <fixture-attribute> #:name 'prism
      #:range '(#f #t) #:type 'step #:home-value #f
      #:translator (lambda (universe start-addr value set-dmx)
                     (set-dmx universe (+ 27 start-addr) 1
                       (if value 50 0))))))