aboutsummaryrefslogtreecommitdiff
path: root/shows
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.me.uk>2020-12-27 11:12:07 +0100
committerThomas White <taw@bitwiz.me.uk>2020-12-27 11:12:07 +0100
commit3217f8bb86a5b2829a99f4d611f1aa4a293848ad (patch)
tree0c1c2e38a66246bfa646b782d8e5ce26a60bedb5 /shows
parenta5b9740fdbde423d4830c8eb8cafa70011cfe948 (diff)
Add demo show
Diffstat (limited to 'shows')
-rw-r--r--shows/demo-show/cue-list.scm89
-rw-r--r--shows/demo-show/demo-show.scm50
-rw-r--r--shows/demo-show/patch.scm28
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))