From 14b3c31368e869519104403f51648b63a7a5ba25 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Tue, 11 Apr 2023 22:18:37 +0200 Subject: Fixture library: almost full Robe DL7S definition --- guile/starlet/fixture-library/robe/dl7s.scm | 296 ++++++++++++++++++++++++++-- 1 file changed, 283 insertions(+), 13 deletions(-) diff --git a/guile/starlet/fixture-library/robe/dl7s.scm b/guile/starlet/fixture-library/robe/dl7s.scm index 303b393..81e4261 100644 --- a/guile/starlet/fixture-library/robe/dl7s.scm +++ b/guile/starlet/fixture-library/robe/dl7s.scm @@ -1,7 +1,7 @@ ;; ;; starlet/fixture-library/robe/dl7s/mode1.scm ;; -;; Copyright © 2020-2021 Thomas White +;; Copyright © 2020-2023 Thomas White ;; ;; This file is part of Starlet. ;; @@ -28,6 +28,9 @@ #:export ()) +;; FIXME: Gobo shaking (both wheels) +;; FIXME: Rainbow effect on colour wheel (???) +;; FIXME: Fine control iris, zoom (define-fixture @@ -36,28 +39,295 @@ (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 strobe '(#f on random) #f) + (attr-continuous strobe-frequency '(0 25) 25 "Frequencies not calibrated") (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))) + (attr-list colwheel '(#f + lee4-medium-bastard-amber + lee10-medium-yellow + lee19-fire + lee26-bright-red + lee58-lavender + lee68-sky-blue + lee71-tokyo-blue + lee79-just-blue + lee88-lime-green + lee90-dark-yellow-green + lee100-spring-yellow + lee101-yellow + lee102-light-amber + lee103-straw + lee104-deep-amber + lee105-orange + lee106-primary-red + lee111-dark-pink + lee115-peacock-blue + lee116-medium-blue-green + lee117-steel-blue + lee118-light-blue + lee119-dark-blue + lee120-deep-blue + lee121-lee-green + lee128-bright-pink + lee131-marine-blue + lee132-medium-blue + lee134-golden-amber + lee135-deep-golden-amber + lee136-pale-lavender + lee137-special-lavender + lee138-pale-green + lee139-primary-green + lee141-bright-blue + lee147-apricot + lee148-bright-rose + lee152-pale-gold + lee154-pale-rose + lee157-pink + lee158-deep-orange + lee162-bastard-amber + lee164-flame-red + lee165-daylight-blue + lee169-lilac-tint + lee170-deep-lavender + lee172-lagoon-blue + lee179-chrome-orange + lee180-dark-lavender + lee181-congo-blue + lee197-alice-blue + lee201-full-ct-blue + lee202-half-ct-blue + lee203-quarter-ct-blue + lee204-full-ct-orange + lee205-half-ct-orange + lee206-quarter-ct-orange + lee247-lee-minus-green + lee248-half-minus-green + lee281-threequarter-ct-blue + lee285-threequarter-ct-orange + lee352-glacier-blue + lee353-lighter-blue + lee715-cabana-blue + lee778-millennium-gold + lee793-vanity-fair + deep-red + deep-blue + orange + green + magenta + congo-blue + pink + lavender + laser-green + ctb + minus-green + minus-half-green) + #f "Has priority over 'colour' attribute") + (attr-continuous colour-temperature '(2700 8000) 3200) + (attr-list animation-wheel '(#t #f) #f) + (attr-continuous animation-wheel-position '(-100 100) 0) + (attr-continuous animation-wheel-speed '(-100 100) 0) + (attr-list gobo '(#f + water + rugged-isles + quadrangle-screen + whirl + breakup + blur-breakup + knitting + grit) + #f) + (attr-continuous gobo-shift '(0 100) 0) + (attr-list rotating-gobo '(#f + rose + water-line + tree-trunk + high-window + grid + clouds) + #f) + (attr-continuous rotating-gobo-speed '(-100 100) 0) + (attr-continuous prism-rotation-speed '(-100 100) 0) + (attr-continuous frost '(0 100) 0) + (attr-continuous zoom '(0 100) 50) + (attr-continuous iris '(0 100) 0) + (attr-continuous barndoor-all-rotation '(-45 45) 0) + (attr-continuous barndoor1 '(0 100) 0) + (attr-continuous barndoor2 '(0 100) 0) + (attr-continuous barndoor3 '(0 100) 0) + (attr-continuous barndoor4 '(0 100) 0) + (attr-continuous barndoor1-rotation '(-25 25) 0) + (attr-continuous barndoor2-rotation '(-25 25) 0) + (attr-continuous barndoor3-rotation '(-25 25) 0) + (attr-continuous barndoor4-rotation '(-25 25) 0) + (attr-continuous focus '(0 100) 50)) (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 28 (if (get-attr prism) 50 0)) - + (set-chan8 5 0) ;; Pan/tilt speed/time: maximum speed (set-chan8 6 0) ;; Power/special function: default (set-chan8 7 0) ;; Colour mode: default + (set-chan8 8 + (lookup + (get-attr colwheel) + '((#f 0) + (lee4-medium-bastard-amber 2) + (lee10-medium-yellow 4) + (lee19-fire 6) + (lee26-bright-red 8) + (lee58-lavender 10) + (lee68-sky-blue 12) + (lee71-tokyo-blue 14) + (lee79-just-blue 16) + (lee88-lime-green 18) + (lee90-dark-yellow-green 20) + (lee100-spring-yellow 22) + (lee101-yellow 24) + (lee102-light-amber 26) + (lee103-straw 28) + (lee104-deep-amber 30) + (lee105-orange 32) + (lee106-primary-red 34) + (lee111-dark-pink 36) + (lee115-peacock-blue 38) + (lee116-medium-blue-green 40) + (lee117-steel-blue 42) + (lee118-light-blue 44) + (lee119-dark-blue 46) + (lee120-deep-blue 48) + (lee121-lee-green 50) + (lee128-bright-pink 52) + (lee131-marine-blue 54) + (lee132-medium-blue 56) + (lee134-golden-amber 58) + (lee135-deep-golden-amber 60) + (lee136-pale-lavender 62) + (lee137-special-lavender 64) + (lee138-pale-green 66) + (lee139-primary-green 68) + (lee141-bright-blue 70) + (lee147-apricot 72) + (lee148-bright-rose 74) + (lee152-pale-gold 76) + (lee154-pale-rose 78) + (lee157-pink 80) + (lee158-deep-orange 82) + (lee162-bastard-amber 84) + (lee164-flame-red 86) + (lee165-daylight-blue 88) + (lee169-lilac-tint 90) + (lee170-deep-lavender 92) + (lee172-lagoon-blue 94) + (lee179-chrome-orange 96) + (lee180-dark-lavender 98) + (lee181-congo-blue 100) + (lee197-alice-blue 102) + (lee201-full-ct-blue 104) + (lee202-half-ct-blue 106) + (lee203-quarter-ct-blue 108) + (lee204-full-ct-orange 110) + (lee205-half-ct-orange 112) + (lee206-quarter-ct-orange 114) + (lee247-lee-minus-green 116) + (lee247-half-minus-green 118) + (lee281-threequarter-ct-blue 120) + (lee285-threequarter-ct-orange 122) + (lee352-glacier-blue 124) + (lee353-lighter-blue 126) + (lee715-cabana-blue 128) + (lee778-millennium-gold 130) + (lee793-vanity-fair 132) + (deep-red 193) + (deep-blue 195) + (orange 197) + (green 199) + (magenta 201) + (congo-blue 203) + (pink 205) + (lavender 207) + (laser-green 209) + (ctb 211) + (minus-green 213) + (minus-half-green 215)))) + + (let ((cmy (colour-as-cmy (get-attr colour)))) + (set-chan16 9 (percent->dmxval16 (cyan cmy))) + (set-chan16 11 (percent->dmxval16 (magenta cmy))) + (set-chan16 13 (percent->dmxval16 (yellow cmy)))) + (set-chan8 15 (scale-and-clamp-to-range (get-attr colour-temperature) '(8000 2700) '(0 255))) - (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))))) + (set-chan8 16 0) ;; Green correction: uncorrected white + (set-chan8 17 0) ;; Colour mix control: virtual colour wheel has priority + (set-chan8 18 0) ;; Rotating gobo selection speed: maximum + (set-chan8 19 0) ;; Everything time: off (???) + + (let ((ani-active (get-attr animation-wheel))) + (set-chan8 20 (if ani-active + 0 + (scale-to-range (get-attr animation-wheel-position) + '(-100 100) '(19 127)))) ;; 73 = stop + (set-chan8 21 (scale-to-range (get-attr animation-wheel-speed) + '(100 -100) '(1 255)))) ;; 128 = stop + (set-chan8 22 0) ;; Animation wheel macro: no function + + (set-chan8 23 (lookup + (get-attr gobo) + '((#f 0) + (water 7) + (rugged-isles 14) + (quadrangle-screen 21) + (whirl 28) + (breakup 36) + (blur-breakup 43) + (knitting 50) + (grit 57)))) + (set-chan8 24 (percent->dmxval8 (get-attr gobo-shift))) + + (set-chan8 25 (lookup + (get-attr rotating-gobo) + '((#f 0) + (rose 7) + (water-line 11) + (tree-trunk 15) + (high-window 20) + (grid 24) + (clouds 29)))) + (set-chan8 26 (scale-to-range (get-attr rotating-gobo-speed) + '(-100 100) '(1 255))) ;; 128 = stop + (set-chan8 27 0) ;; Rotating gobo fine adjustment (default) + + (set-chan8 28 (if (get-attr prism) 50 0)) + (set-chan8 29 (scale-to-range (get-attr prism-rotation-speed) + '(100 -100) '(1 255))) ;; 128 = stop, <128=forwards + (set-chan8 30 (scale-to-range (get-attr frost) '(0 100) '(0 180))) + (set-chan8 31 (scale-to-range (get-attr iris) '(0 100) '(0 180))) + (set-chan16 33 (percent->dmxval16 (get-attr zoom))) + (set-chan16 35 (percent->dmxval16 (get-attr focus))) + + (set-chan8 38 (scale-to-range (get-attr barndoor-all-rotation) '(-45 45) '(0 255))) + (set-chan8 39 (percent->dmxval8 (get-attr barndoor1))) + (set-chan8 40 (scale-to-range (get-attr barndoor1-rotation) '(-25 25) '(0 255))) + (set-chan8 41 (percent->dmxval8 (get-attr barndoor2))) + (set-chan8 42 (scale-to-range (get-attr barndoor2-rotation) '(-25 25) '(0 255))) + (set-chan8 43 (percent->dmxval8 (get-attr barndoor3))) + (set-chan8 44 (scale-to-range (get-attr barndoor3-rotation) '(-25 25) '(0 255))) + (set-chan8 45 (percent->dmxval8 (get-attr barndoor4))) + (set-chan8 46 (scale-to-range (get-attr barndoor4-rotation) '(-25 25) '(0 255))) + (set-chan8 47 0) ;; Framing shutter macro: no function + (set-chan8 48 128) ;; Framing shutter macro speed: default + + (let ((strb (get-attr strobe))) + (set-chan8 49 + (cond + ((not strb) 32) + ((eq? strb 'on) + (scale-to-range (get-attr strobe-frequency) '(1 25) '(64 95))) + ((eq? strb 'random) + (scale-to-range (get-attr strobe-frequency) '(1 25) '(192 223)))))) + + (set-chan16 50 (percent->dmxval16 (get-attr intensity)))) -- cgit v1.2.3