diff options
author | Thomas White <taw@bitwiz.me.uk> | 2020-12-27 11:12:07 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.me.uk> | 2020-12-27 11:12:07 +0100 |
commit | 3217f8bb86a5b2829a99f4d611f1aa4a293848ad (patch) | |
tree | 0c1c2e38a66246bfa646b782d8e5ce26a60bedb5 | |
parent | a5b9740fdbde423d4830c8eb8cafa70011cfe948 (diff) |
Add demo show
-rw-r--r-- | shows/demo-show/cue-list.scm | 89 | ||||
-rw-r--r-- | shows/demo-show/demo-show.scm | 50 | ||||
-rw-r--r-- | shows/demo-show/patch.scm | 28 |
3 files changed, 167 insertions, 0 deletions
diff --git a/shows/demo-show/cue-list.scm b/shows/demo-show/cue-list.scm new file mode 100644 index 0000000..e8bf4b6 --- /dev/null +++ b/shows/demo-show/cue-list.scm @@ -0,0 +1,89 @@ +(define-module (demo-show cue-list) + #:use-module (starlet base) + #:use-module (starlet playback) + #:use-module (starlet effects) + #:use-module (demo-show patch)) + + +(define example-state-1 + (lighting-state + + ;; Front wash + (at dim1 'intensity 50) + (at dim2 'intensity 50) + (at dim3 'intensity 50) + + ;; Sidelight + (at dim7 'intensity (flash 5)) + (at dim8 'intensity 50))) + + + +(define example-state-2 + (lighting-state + + ;; Front wash + (at dim1 'intensity 10) + (at dim2 'intensity 99) + (at dim3 'intensity 35) + + ;; Sidelight + (at dim7 'intensity (flash 9)))) + + + +(define-public my-cue-list + (cue-list + + (cue 1 + (cue-state (apply-state example-state-1) + (at mh1 'pan 40) + (at mh1 'tilt 32) + (at mh1 'yellow 30)) + #:up-time 3 + #:down-time 5 + #:attr-time 0 + #:attr-delay 1.5) + + (cue 2 + (cue-state (apply-state example-state-2) + (at dim12 40) + (at mh1 'pan 20) + (at mh1 'tilt 12) + (at mh1 'yellow 80)) + #:up-time 3 + #:down-time 3 + #:attr-time 0 + #:attr-delay 1.5 + + (cue-part ((list mh1 'pan 'tilt) + dim11) + #:up-time 0.5 + #:down-time 0.5 + #:attr-time 0.5)) + + + (cue 2.2 + (cue-state (at dim6 50) + (at mh2 'tilt 20)) + #:track-intensities #t + #:attr-time 0) + + (cue 2.5 + (cue-state (at dim1 'intensity 100) + (at dim9 100)) + #:track-intensities #t + #:up-time 1 + #:down-time 1 + #:attr-time 0) + + (cue 3 + (cue-state (blackout (current-state))) + #:up-time 0 + #:down-time 2 + + (cue-part (dim1 + dim2 + (cons dim3 'intensity)) + #:down-time 2 + #:down-delay 1)))) diff --git a/shows/demo-show/demo-show.scm b/shows/demo-show/demo-show.scm new file mode 100644 index 0000000..a0268a5 --- /dev/null +++ b/shows/demo-show/demo-show.scm @@ -0,0 +1,50 @@ +;; FIXME: Obviously, a better way of loading is needed +(add-to-load-path "/home/taw/starlet/guile") +(add-to-load-path "/home/taw/starlet/shows") + +(use-modules + (starlet base) + (starlet playback) + (starlet midi-control base) + (starlet midi-control playback-buttons) + (starlet midi-control faders) + (demo-show patch)) + +(define cue-list-module + (resolve-module '(demo-show cue-list) #t)) + +(module-use! (current-module) cue-list-module) + +;; Create playback +(define pb + (make-playback my-cue-list)) +(register-state! pb) +(cut-to-cue-number! pb 0) + +(start-ola-output) + +(start-midi-control "/dev/snd/midiC1D0") +(all-notes-off! 14) +(make-midi-playback-buttons pb 14 20 12 24 24) +(make-midi-playback-buttons pb 14 23 15 27 27) +(on-fader 14 19 + (lighting-state + (at dim1 100) + (at dim2 100) + (at dim3 100) + (at dim10 50) + (at dim11 50) + (at dim12 50))) + +(define (reload-cue-list) + (reload-module cue-list-module) + (set-playback-cue-list! pb my-cue-list) + (cut-to-cue-number! pb + (get-playback-cue-number pb))) + +(define (auto-reload) + (while #t + (sleep 1) + (reload-cue-list))) + +(start-ola-output) diff --git a/shows/demo-show/patch.scm b/shows/demo-show/patch.scm new file mode 100644 index 0000000..5600275 --- /dev/null +++ b/shows/demo-show/patch.scm @@ -0,0 +1,28 @@ +(define-module (demo-show patch) + #:use-module (starlet base) + #:use-module (starlet fixture-library generic) + #:use-module (starlet fixture-library robe)) + + +;; Conventional dimmers +(define-public dim1 (patch-fixture! <generic-dimmer> 1)) +(define-public dim2 (patch-fixture! <generic-dimmer> 2)) +(define-public dim3 (patch-fixture! <generic-dimmer> 3)) +(define-public dim4 (patch-fixture! <generic-dimmer> 4)) +(define-public dim5 (patch-fixture! <generic-dimmer> 5)) +(define-public dim6 (patch-fixture! <generic-dimmer> 6)) +(define-public dim7 (patch-fixture! <generic-dimmer> 7)) +(define-public dim8 (patch-fixture! <generic-dimmer> 8)) +(define-public dim9 (patch-fixture! <generic-dimmer> 9)) +(define-public dim10 (patch-fixture! <generic-dimmer> 10)) +(define-public dim11 (patch-fixture! <generic-dimmer> 11)) +(define-public dim12 (patch-fixture! <generic-dimmer> 12)) + + +;; Some moving lights +(define-public mh1 (patch-fixture! <robe-dl7s-mode1> 59)) +(define-public mh2 (patch-fixture! <robe-dl7s-mode1> 146)) + + +;; A generic LED fixture +(define-public ledpar (patch-fixture! (generic-rgb '(r g b 0 intensity FL)) 204)) |