commit 66

This commit is contained in:
Moritz Ruth 2025-03-09 22:48:58 +01:00
parent 961cf720fb
commit 6101e5f16f
Signed by: moritzruth
GPG key ID: C9BBAB79405EE56D
4 changed files with 598 additions and 17 deletions

View file

@ -171,6 +171,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") {
step(StepCue.Text("Mina", "Es gibt hier noch mehr Irre.")) { step(StepCue.Text("Mina", "Es gibt hier noch mehr Irre.")) {
actors { actors {
-"Mina" -"Mina"
+"Lucy"
} }
} }
} }
@ -455,4 +456,18 @@ fun ShowBuilderContext.act1() = act("Erster Akt") {
songEsIstAngerichtet() songEsIstAngerichtet()
songDraculasZorn() songDraculasZorn()
} }
scene("Ein Sammlerstück") {
step(StepCue.Custom("Die Vampire saugen Timmy aus")) {
actors {
+"Jonathan"
}
onRun {
backlightBar.brightness.fade(2.percent, 6.seconds)
}
}
songFinaleErsterAkt()
}
} }

View file

@ -1,6 +1,7 @@
package de.moritzruth.dracula_musical.song package de.moritzruth.dracula_musical.song
import de.moritzruth.dracula_musical.device.* import de.moritzruth.dracula_musical.device.*
import de.moritzruth.theaterdsl.device.reset
import de.moritzruth.theaterdsl.show.SceneBuilderContext import de.moritzruth.theaterdsl.show.SceneBuilderContext
import de.moritzruth.theaterdsl.show.StepCue import de.moritzruth.theaterdsl.show.StepCue
import de.moritzruth.theaterdsl.value.Color import de.moritzruth.theaterdsl.value.Color
@ -9,6 +10,9 @@ import de.moritzruth.theaterdsl.value.percent
import kotlin.time.Duration.Companion.minutes import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.seconds import kotlin.time.Duration.Companion.seconds
private fun StairvilleTlb.pulseSlow() = brightness.pulse(1.5.seconds, 0.15.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 40.percent)
private fun StairvilleTlb.pulseFast() = brightness.pulse(0.5.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 40.percent)
fun SceneBuilderContext.songDraculasZorn() { fun SceneBuilderContext.songDraculasZorn() {
step(StepCue.MusicStart("Draculas Zorn", 3.minutes + 50.seconds)) { step(StepCue.MusicStart("Draculas Zorn", 3.minutes + 50.seconds)) {
actors { actors {
@ -21,7 +25,7 @@ fun SceneBuilderContext.songDraculasZorn() {
Spots.right.brightness.static(100.percent) Spots.right.brightness.static(100.percent)
backlightBar.color.fade(Color(hue = 0.degrees, saturation = 100.percent), 10.seconds) backlightBar.color.fade(Color(hue = 0.degrees, saturation = 100.percent), 10.seconds)
backlightBar.brightness.pulse(0.5.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 40.percent) backlightBar.pulseFast()
sidelight.brightness.off(5.seconds) sidelight.brightness.off(5.seconds)
@ -39,11 +43,11 @@ fun SceneBuilderContext.songDraculasZorn() {
} }
} }
step(StepCue.Text("Dracula", "Jeder erzittert vor meiner Macht!", "Ende")) { step(StepCue.Custom("Musik: Takt nach »Macht«")) {
rightSpotTarget = "Dracula" rightSpotTarget = "Dracula"
onRun { onRun {
backlightBar.brightness.pulse(1.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 40.percent) backlightBar.pulseSlow()
BlinderBars.all { BlinderBars.all {
it.brightness.fade(10.percent, 1.seconds) it.brightness.fade(10.percent, 1.seconds)
@ -77,7 +81,7 @@ fun SceneBuilderContext.songDraculasZorn() {
} }
lightStep(StepCue.Text("Dracula", "Ich bin ja kein Idiot!", "letztes Wort")) { lightStep(StepCue.Text("Dracula", "Ich bin ja kein Idiot!", "letztes Wort")) {
backlightBar.brightness.pulseOnce(0.1.seconds, 1.seconds, end = 20.percent) backlightBar.pulseFast()
BlinderBars.all { BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, back-and-forth it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, back-and-forth
@ -87,6 +91,7 @@ fun SceneBuilderContext.songDraculasZorn() {
lightStep(StepCue.Text("Bernadette", "Er ist bei uns eingebrochen", "Anfang")) { lightStep(StepCue.Text("Bernadette", "Er ist bei uns eingebrochen", "Anfang")) {
sidelight.brightness.fade(40.percent, 10.seconds) sidelight.brightness.fade(40.percent, 10.seconds)
backlightBar.pulseSlow()
FrontLights.all { it.brightness.fade(75.percent, 10.seconds) } FrontLights.all { it.brightness.fade(75.percent, 10.seconds) }
Washs.both { it.brightness.pulse(1.5.seconds, 0.1.seconds, 0.4.seconds) } Washs.both { it.brightness.pulse(1.5.seconds, 0.1.seconds, 0.4.seconds) }
@ -98,6 +103,7 @@ fun SceneBuilderContext.songDraculasZorn() {
} }
lightStep(StepCue.Text("Alle", "Er ist schuld…", "erste Silbe")) { lightStep(StepCue.Text("Alle", "Er ist schuld…", "erste Silbe")) {
backlightBar.brightness.off(0.2.seconds)
BlinderBars.all { it.brightness.fade(50.percent, 0.1.seconds) } BlinderBars.all { it.brightness.fade(50.percent, 0.1.seconds) }
Washs.both { it.brightness.fade(100.percent, 0.1.seconds) } Washs.both { it.brightness.fade(100.percent, 0.1.seconds) }
} }
@ -133,7 +139,7 @@ fun SceneBuilderContext.songDraculasZorn() {
} }
lightStep(StepCue.Custom("Musik: Fill-in")) { lightStep(StepCue.Custom("Musik: Fill-in")) {
backlightBar.color.fade(Color(hue = 300.degrees, saturation = 70.percent), 2.seconds) backlightBar.color.fade(Color.WARM_WHITE, 2.seconds)
backlightBar.brightness.fade(50.percent, 2.seconds) backlightBar.brightness.fade(50.percent, 2.seconds)
Washs.both { Washs.both {
@ -157,7 +163,7 @@ fun SceneBuilderContext.songDraculasZorn() {
} }
lightStep(StepCue.Custom("Musik: Einsatz der E-Gitarre")) { lightStep(StepCue.Custom("Musik: Einsatz der E-Gitarre")) {
backlightBar.color.fade(Color(hue = 359.degrees, saturation = 10.percent), 1.5.seconds) backlightBar.color.fade(Color(hue = 0.degrees, saturation = 100.percent), 2.seconds)
backlightBar.brightness.fade(75.percent, 2.seconds) backlightBar.brightness.fade(75.percent, 2.seconds)
sidelight.brightness.fade(50.percent, 10.seconds) sidelight.brightness.fade(50.percent, 10.seconds)
@ -169,12 +175,14 @@ fun SceneBuilderContext.songDraculasZorn() {
} }
lightStep(StepCue.Text("Dracula", "Ist das klar?", "letzte Silbe")) { lightStep(StepCue.Text("Dracula", "Ist das klar?", "letzte Silbe")) {
backlightBar.color.fade(Color(hue = 359.degrees, saturation = 80.percent), 2.seconds) backlightBar.pulseFast()
backlightBar.brightness.fade(40.percent, 2.seconds)
Washs.both { it.brightness.ramp(0.7.seconds, 100.percent, 50.percent) } Washs.both { it.brightness.ramp(0.7.seconds, 100.percent, 50.percent) }
} }
lightStep(StepCue.Text("Alle", "Ja, völlig klar!", "Anfang")) { lightStep(StepCue.Text("Alle", "Ja, völlig klar!", "Anfang")) {
backlightBar.brightness.sine(1.5.seconds)
backlightBar.color.fade(Color(hue = 0.degrees, saturation = 0.percent), 3.seconds)
Tops.both { Tops.both {
it.brightness.off(3.seconds) it.brightness.off(3.seconds)
it.startRoomMovement(6.0) it.startRoomMovement(6.0)
@ -193,7 +201,6 @@ fun SceneBuilderContext.songDraculasZorn() {
} }
lightStep(StepCue.Text("Alle", "…Dracula", "Anfang")) { lightStep(StepCue.Text("Alle", "…Dracula", "Anfang")) {
backlightBar.color.fade(Color(hue = 359.degrees, saturation = 0.percent), 3.seconds)
backlightBar.brightness.fade(80.percent, 2.seconds) backlightBar.brightness.fade(80.percent, 2.seconds)
Washs.both { Washs.both {
@ -239,7 +246,7 @@ fun SceneBuilderContext.songDraculasZorn() {
} }
lightStep(StepCue.Custom("Musik: Einsatz der E-Gitarre")) { lightStep(StepCue.Custom("Musik: Einsatz der E-Gitarre")) {
backlightBar.strobeSpeed.fade(80.percent, 0.5.seconds) backlightBar.strobeSpeed.fade(80.percent, 3.seconds)
BlinderBars.all { BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, moving into one direction it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, moving into one direction
@ -295,7 +302,7 @@ fun SceneBuilderContext.songDraculasZorn() {
sidelight.brightness.fade(100.percent, 8.seconds) sidelight.brightness.fade(100.percent, 8.seconds)
backlightBar.strobeSpeed.fade(100.percent, 8.seconds) backlightBar.strobeSpeed.fade(100.percent, 6.seconds)
backlightBar.brightness.fade(100.percent, 2.seconds) backlightBar.brightness.fade(100.percent, 2.seconds)
BlinderBars.all { BlinderBars.all {
@ -312,7 +319,6 @@ fun SceneBuilderContext.songDraculasZorn() {
sidelight.brightness.off(1.seconds) sidelight.brightness.off(1.seconds)
backlightBar.strobeSpeed.off() backlightBar.strobeSpeed.off()
backlightBar.brightness.off(1.seconds)
Washs.both { it.brightness.off(1.seconds) } Washs.both { it.brightness.off(1.seconds) }
@ -323,11 +329,13 @@ fun SceneBuilderContext.songDraculasZorn() {
} }
} }
step(StepCue.MusicEnd) { lightStep(StepCue.MusicEnd) {
rightSpotTarget = "Dracula & Vampirgirls" FrontLights.all { it.brightness.fade(40.percent, 20.seconds) }
Spots.right.brightness.off(20.seconds)
onRun { BlinderBars.all { it.reset() }
sidelight.brightness.fade(40.percent, 15.seconds)
} sidelight.brightness.fade(40.percent, 20.seconds)
backlightBar.brightness.off(10.seconds)
} }
} }

View file

@ -0,0 +1,557 @@
package de.moritzruth.dracula_musical.song
import de.moritzruth.dracula_musical.device.*
import de.moritzruth.theaterdsl.show.CurtainState
import de.moritzruth.theaterdsl.show.SceneBuilderContext
import de.moritzruth.theaterdsl.show.StepCue
import de.moritzruth.theaterdsl.value.Color
import de.moritzruth.theaterdsl.value.degrees
import de.moritzruth.theaterdsl.value.percent
import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.seconds
private fun StairvilleTlb.breathe() = brightness.sine(1.seconds, 20.percent, 100.percent)
private fun StairvilleTlb.pulseSlow() = brightness.pulse(0.8.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 100.percent)
private fun StairvilleTlb.pulseFast() = brightness.pulse(0.6.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 100.percent)
fun SceneBuilderContext.songFinaleErsterAkt() {
step(StepCue.MusicStart("Finale (1. Akt)", 4.minutes)) {
onRun {
Washs.both {
it.pointAtAudience()
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.WarmWhite)
it.beamAngle.static(100.percent)
}
}
}
step(StepCue.Text("Dracula", "Guten Abend, Mister Harker.")) {
actors {
-"Jonathan"
}
onRun {
FrontLights.all { it.brightness.off(10.seconds) }
Spots.right.brightness.fade(100.percent, 10.seconds)
backlightBar.brightness.fade(100.percent, 10.seconds)
}
}
lightStep(StepCue.Text("Vampire", "Und du lässt ihn gehn!", "letzte Silbe")) {
sidelight.strobeSpeed.static(20.percent)
backlightBar.breathe()
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, end = 25.percent)
}
}
lightStep(StepCue.Text("Vampire", "…ganz allein du!", "letzte Silbe")) {
backlightBar.brightness.fade(20.percent, 0.4.seconds)
backlightBar.color.fade(Color.RED, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy
it.presetSpeed.static(50.percent)
it.brightness.pulseOnce(0.1.seconds, 0.2.seconds, end = 25.percent)
}
}
lightStep(StepCue.Text("Vampire", "Wir wollen Blut!", "Anfang")) {
backlightBar.brightness.fade(100.percent, 0.4.seconds)
backlightBar.color.fade(Color.WHITE, 0.1.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Vampire", "Wir wollen Blut!", "letzte Silbe")) {
backlightBar.brightness.fade(20.percent, 0.4.seconds)
backlightBar.color.fade(Color.RED, 0.4.seconds)
BlinderBars.all {
it.brightness.pulseOnce(0.1.seconds, 0.2.seconds)
it.preset.static(null)
it.color.static(Color.RED)
}
}
lightStep(StepCue.Text("Dracula", "Ich will diese Frau!", "Anfang")) {
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy
it.presetSpeed.static(50.percent)
it.brightness.fade(25.percent, 0.4.seconds)
}
}
lightStep(StepCue.Text("Françoise", "Und was ist mit uns?", "Anfang")) {
backlightBar.breathe()
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Vampire", "Wir wollen Blut!", "Anfang")) {
backlightBar.brightness.fade(100.percent, 0.4.seconds)
}
lightStep(StepCue.Text("Vampire", "Wir wollen Blut!", "letzte Silbe")) {
backlightBar.breathe()
backlightBar.color.fade(Color.RED, 0.4.seconds)
BlinderBars.all {
it.brightness.pulseOnce(0.1.seconds, 0.2.seconds)
it.preset.static(null)
it.color.static(Color.RED)
}
}
lightStep(StepCue.Text("Vampire", "Unsre Kehlen sind verdorrt!", "Anfang")) {
backlightBar.pulseSlow()
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
it.brightness.fade(25.percent, 0.4.seconds)
}
}
lightStep(StepCue.Text("Vampire", "…machen nicht satt!", "letzte Silbe")) {
backlightBar.brightness.fade(20.percent, 0.4.seconds)
backlightBar.color.fade(Color.RED, 0.4.seconds)
BlinderBars.all {
it.brightness.pulseOnce(0.1.seconds, 0.2.seconds)
it.preset.static(null)
it.color.static(Color.RED)
}
}
lightStep(StepCue.Text("Dracula", "Ich sorg für euch!", "Anfang")) {
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy
it.presetSpeed.static(50.percent)
it.brightness.fade(25.percent, 0.4.seconds)
}
}
lightStep(StepCue.Text("Vampire", "Wir wollen Blut!", "Anfang")) {
backlightBar.brightness.fade(100.percent, 0.4.seconds)
backlightBar.color.fade(Color.WHITE, 0.1.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Vampire", "Wir wollen Blut!", "letzte Silbe")) {
backlightBar.brightness.fade(20.percent, 0.4.seconds)
backlightBar.color.fade(Color.RED, 0.4.seconds)
BlinderBars.all {
it.brightness.pulseOnce(0.1.seconds, 0.2.seconds)
it.preset.static(null)
it.color.static(Color.RED)
}
}
lightStep(StepCue.Text("Dracula", "Ihr müsst mir vertraun…", "Anfang")) {
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy
it.presetSpeed.static(50.percent)
it.brightness.fade(25.percent, 0.4.seconds)
}
}
lightStep(StepCue.Text("Françoise", "Du sorgst für uns?", "Anfang")) {
backlightBar.breathe()
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Vampire", "Wir wollen Blut!", "Anfang")) {
backlightBar.brightness.fade(100.percent, 0.4.seconds)
backlightBar.color.fade(Color.RED, 0.4.seconds)
}
lightStep(StepCue.Text("Vampire", "Wir wollen Blut!", "letzte Silbe")) {
backlightBar.breathe()
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.brightness.pulseOnce(0.1.seconds, 0.2.seconds)
it.preset.static(null)
it.color.static(Color.RED)
}
}
lightStep(StepCue.Text("Bernadette", "Das Essen ist weg…", "Anfang")) {
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
it.brightness.fade(25.percent, 0.4.seconds)
}
}
lightStep(StepCue.Text("Vampire", "…und du bist Schuld!", "letzte Silbe")) {
backlightBar.brightness.fade(20.percent, 0.4.seconds)
backlightBar.color.fade(Color.RED, 0.4.seconds)
BlinderBars.all {
it.brightness.pulseOnce(0.1.seconds, 0.2.seconds)
it.preset.static(null)
it.color.static(Color.RED)
}
}
lightStep(StepCue.Text("Dracula", "Ich brauche ihn noch!", "Anfang")) {
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy
it.presetSpeed.static(50.percent)
it.brightness.fade(25.percent, 0.4.seconds)
}
}
lightStep(StepCue.Text("Vampire", "Die Frau ist weg…", "Anfang")) {
backlightBar.brightness.fade(100.percent, 0.4.seconds)
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Dracula", "Ich will sie für euch!", "Anfang")) {
backlightBar.brightness.fade(20.percent, 0.4.seconds)
backlightBar.color.fade(Color.RED, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Vampire", "Wir hatten den Mann…", "Anfang")) {
backlightBar.brightness.fade(100.percent, 0.4.seconds)
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Dracula", "Sie ist wunderschön!", "Anfang")) {
backlightBar.brightness.fade(20.percent, 0.4.seconds)
backlightBar.color.fade(Color.RED, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Vampire", "Das ist uns egal!", "Anfang")) {
backlightBar.brightness.fade(100.percent, 0.4.seconds)
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Dracula", "So schaut sie doch an!", "Anfang")) {
backlightBar.brightness.fade(20.percent, 0.4.seconds)
backlightBar.color.fade(Color.RED, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Vampire", "Wir wollen ihr Blut…", "Anfang")) {
backlightBar.brightness.fade(100.percent, 0.4.seconds)
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Vampire", "Wenn man…", "Anfang")) {
backlightBar.breathe()
BlinderBars.all { it.brightness.pulseOnce(5.seconds, 1.seconds) }
}
lightStep(StepCue.Text("Dracula", "Die Frau!", "Anfang")) {
backlightBar.brightness.fade(20.percent, 0.2.seconds)
backlightBar.color.fade(Color.RED, 0.2.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy
it.presetSpeed.static(70.percent)
}
}
lightStep(StepCue.Text("Vampire", "Nein!", "Anfang")) {
backlightBar.brightness.pulseOnce(0.1.seconds, 0.3.seconds, end = 20.percent)
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.preset.static(null) // hectic, bright, jumpy
it.color.static(Color.RED)
it.brightness.pulseOnce(0.1.seconds, 0.3.seconds)
}
}
lightStep(StepCue.Text("Dracula", "Sie ist so schön!", "Anfang")) {
backlightBar.brightness.fade(20.percent, 0.1.seconds)
backlightBar.color.fade(Color.RED, 0.1.seconds)
}
lightStep(StepCue.Text("Dracula", "Sie ist so schön!", "letzte Silbe")) {
BlinderBars.all {
it.color.reset()
it.white.static(100.percent)
it.brightness.pulseOnce(0.1.seconds, 0.2.seconds)
}
}
lightStep(StepCue.Text("Vampire", "Nein!", "Anfang")) {
backlightBar.brightness.pulseOnce(0.1.seconds, 0.3.seconds, end = 20.percent)
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
BlinderBars.all {
it.color.static(Color.RED)
it.white.reset()
it.brightness.pulseOnce(0.1.seconds, 0.2.seconds)
}
}
lightStep(StepCue.Text("Vampire", "Das ist egal!", "letzte Silbe")) {
sidelight.brightness.fade(start = 0.percent, end = 100.percent, duration = 0.4.seconds)
sidelight.strobeSpeed.static(0.percent)
}
lightStep(StepCue.Text("Dracula", "Schaut sie wenigstens an!", "letzte Silbe")) {
backlightBar.color.fade(Color.WARM_WHITE, 6.seconds)
backlightBar.brightness.fade(60.percent, 10.seconds)
sidelight.colors.forEach { it.fade(Color.WARM_WHITE, 10.seconds) }
Washs.both {
it.pointAtCeiling(10.seconds)
it.brightness.fade(100.percent, 3.seconds)
}
Tops.both {
it.startRoomMovement(3.0)
it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(10.percent))
it.prismMode.static(FuturelightDmh160.PrismMode.FROST)
}
FrontLights.center { it.brightness.fade(100.percent, 10.seconds, start = 30.percent) }
}
// genre change
lightStep(StepCue.Custom("Musik: Fill-in")) {
Washs.both { it.brightness.off(5.seconds) }
Tops.both { it.brightness.fade(100.percent, 5.seconds) }
BlinderBars.all {
it.color.reset()
it.preset.static(StairvilleSplb.Preset.STUB) // flowy, dreamy, warm
it.presetSpeed.static(15.percent)
it.brightness.fade(30.percent, 2.seconds)
}
}
lightStep(StepCue.Text("Vampire", "Oh ja", "Anfang")) {
FrontLights.left { it.brightness.pulseOnce(2.seconds, 5.seconds) }
FrontLights.right { it.brightness.pulseOnce(2.seconds, 5.seconds) }
}
lightStep(StepCue.Text("Vampire", "Oh ja", "Anfang")) {
FrontLights.left { it.brightness.pulseOnce(2.seconds, 5.seconds) }
FrontLights.right { it.brightness.pulseOnce(2.seconds, 5.seconds) }
Washs.both { it.brightness.pulseOnce(2.seconds, 5.seconds) }
}
lightStep(StepCue.Text("Dracula", "…morgen nacht", "Anfang")) {
BlinderBars.all { it.brightness.off(2.seconds) }
}
// genre change
lightStep(StepCue.Text("Dracula", "…morgen nacht", "letzte Silbe")) {
BlinderBars.all {
it.brightness.pulseOnce(0.4.seconds, 0.4.seconds, peak = 60.percent, end = 30.percent)
it.preset.static(StairvilleSplb.Preset.STUB) // switching, theatre-like
it.presetSpeed.static(40.percent)
}
}
lightStep(StepCue.Text("Vampire", "Komm zu uns morgen nacht!", "letzte Silbe")) {
FrontLights.center { it.brightness.off(3.seconds) }
BlinderBars.all { it.brightness.off(2.seconds) }
sidelight.brightness.off(2.seconds)
Tops.both { it.brightness.off(2.seconds) }
}
// genre change
lightStep(StepCue.Custom("Fill-in")) {
backlightBar.color.fade(Color.WHITE, 1.seconds)
backlightBar.breathe()
sidelight.color1.fadeRandomAround(230.degrees, 30.degrees, 2.seconds)
sidelight.color2.fadeRandomAround(230.degrees, 35.degrees, 4.seconds)
sidelight.color3.static(Color(hue = 230.degrees, saturation = 20.percent))
sidelight.color4.static(Color(hue = 230.degrees, saturation = 20.percent))
sidelight.brightness.fade(40.percent, 1.seconds)
BlinderBars.all {
it.brightness.fade(25.percent, 1.seconds)
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, red
it.presetSpeed.static(50.percent)
}
}
lightStep(StepCue.Text("Dracula", "Mina…", "Anfang")) {
backlightBar.color.fade(Color.WARM_WHITE, 1.seconds)
backlightBar.brightness.fade(50.percent, 1.seconds)
}
lightStep(StepCue.Text("Vampire", "Komm zu uns morgen nacht!", "Anfang")) {
FrontLights.center { it.brightness.fade(100.percent, 5.seconds) }
BlinderBars.all { it.presetSpeed.fade(1.percent, 3.seconds) }
sidelight.colors.forEach { it.fade(Color.WARM_WHITE, 8.seconds) }
}
lightStep(StepCue.Text("Vampire", "Komm zu uns morgen nacht!", "letzte Silbe")) {
BlinderBars.all { it.brightness.off(2.seconds) }
}
// genre change
lightStep(StepCue.Text("Dracula", "Du musst ein wenig sterben…", "Anfang")) {
BlinderBars.all {
it.brightness.fade(30.percent, 1.seconds)
it.preset.static(StairvilleSplb.Preset.STUB) // switching, theatre-like
it.presetSpeed.static(40.percent)
}
}
lightStep(StepCue.Text("Dracula", "Mina…")) {
backlightBar.brightness.off(5.seconds)
}
lightStep(StepCue.Custom("Schlag nach »Morgen!«")) {
BlinderBars.all {
it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, end = 30.percent)
it.presetSpeed.fade(0.percent, 0.4.seconds)
}
}
lightStep(StepCue.Custom("Offbeat nach »Morgen!«")) {
BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, end = 30.percent) }
Washs.both { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds) }
}
lightStep(StepCue.Text("Dracula", "Morgen nacht!", "letzte Silbe")) {
BlinderBars.all { it.presetSpeed.fade(40.percent, 1.seconds) }
}
lightStep(StepCue.Custom("1. Beat nach »Morgen!«")) {
backlightBar.brightness.pulseOnce(0.1.seconds, 0.5.seconds)
}
lightStep(StepCue.Custom("2. Beat nach »Morgen!«")) {
BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds) }
Washs.both { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds) }
}
lightStep(StepCue.Text("Vampire", "Morgen nacht!", "letzte Silbe")) {
backlightBar.pulseFast()
backlightBar.color.fade(Color.RED, 6.seconds)
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, red
it.presetSpeed.static(60.percent)
it.brightness.fade(40.percent, 3.seconds)
}
}
lightStep(StepCue.Text("Dracula", "Mina…")) {
backlightBar.brightness.off(0.5.seconds)
sidelight.brightness.fade(20.percent, 5.seconds)
BlinderBars.all { it.brightness.off(1.seconds) }
}
lightStep(StepCue.Text("Dracula", "Morgen nacht!", "letzte Silbe")) {
backlightBar.breathe()
backlightBar.strobeSpeed.static(90.percent)
sidelight.brightness.static(100.percent)
sidelight.strobeSpeed.static(90.percent)
Washs.both { it.brightness.rampDown(0.8.seconds) }
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // hectic, red
it.presetSpeed.static(80.percent)
it.brightness.fade(60.percent, 5.seconds)
}
FrontLights.all { it.brightness.fade(100.percent, 5.seconds) }
}
lightStep(StepCue.Custom("Schlussschlag")) {
FrontLights.all { it.brightness.off() }
Washs.both { it.brightness.off(0.5.seconds) }
backlightBar.strobeSpeed.static(0.percent)
backlightBar.brightness.pulseOnce(0.2.seconds, 2.seconds)
sidelight.strobeSpeed.static(0.percent)
sidelight.brightness.pulseOnce(0.2.seconds, 2.seconds)
BlinderBars.all {
it.preset.static(null)
it.color.static(Color.WHITE)
it.white.static(100.percent)
it.brightness.pulseOnce(0.2.seconds, 2.seconds)
}
}
step(StepCue.MusicEnd) {
actors {
-"Backe"
-"Timmy"
-"Eloïse"
-"Françoise"
-"Bernadette"
-"Dracula"
-"Vampire"
}
curtainState = CurtainState.CLOSED
}
}

View file

@ -61,6 +61,7 @@ data class Color(
companion object { companion object {
val WHITE = Color(0.degrees, 0.percent, 100.percent) val WHITE = Color(0.degrees, 0.percent, 100.percent)
val BLACK = Color(0.degrees, 0.percent, 0.percent) val BLACK = Color(0.degrees, 0.percent, 0.percent)
val RED = Color(0.degrees, 100.percent, 100.percent)
val WARM_WHITE = Color(30.degrees, 60.percent, 100.percent) val WARM_WHITE = Color(30.degrees, 60.percent, 100.percent)
} }