diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/DraculasZorn.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/DraculasZorn.kt index bc2164a..b334c94 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/DraculasZorn.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/DraculasZorn.kt @@ -1,32 +1,330 @@ package de.moritzruth.dracula_musical.song +import de.moritzruth.dracula_musical.device.* 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 fun SceneBuilderContext.songDraculasZorn() { step(StepCue.MusicStart("Draculas Zorn", 3.minutes + 50.seconds)) { - // Aggressiver Einstieg durchs Publikum + actors { + +"Dracula / durchs Publikum" + } + + rightSpotTarget = "Dracula (im Publikum)" + + onRun { + Spots.right.brightness.static(100.percent) + + backlightBar.color.fade(Color(hue = 0.degrees, saturation = 100.percent), 10.seconds) + backlightBar.brightness.fade(20.percent, 10.seconds) + sidelight.brightness.off(5.seconds) + + BlinderBars.all { + it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, back-and-forth + it.presetSpeed.static(75.percent) + it.brightness.ramp(1.seconds, 25.percent, 0.percent) + } + + Washs.both { + it.pointAtCeiling() + it.colorWheelMode.static(CoemarProWash.ColorWheelMode.Red) + it.beamAngle.static(100.percent) + } + } } - // Ruhiger, langsamer Sprechpart - // Spannung steigt - // Weiter gehts aggressiv für wenige Takte - // Langsamer Sprechpart, Spannung steigt - // "Er ist schuld, er hat uns provoziert" - // Ritardando - // Balladenartige Beschwichtigung im Pulk - // Stimmungswechsel zu düsterer, nicht mehr im Pulk - // 1 Takt Bridge, besonderer Rhythmus - // Rückkehr zum Ursprungsrhythmus - // DRAAAACUUUUUUULAAAAA - // Fill-in, pick-up - // DEEEEEEINEEEEEER MAAAAACHT - // DRAAAAAAAAACUUUUUULAAAAAAAAAAAA - // DRAAACUUUULAAAAAAAAAA - // Ruhiger: "Du bist unser …" - // MEIS-TER - // GRAAAAF DRAAAACUUUUULAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - // Endpose + step(StepCue.Text("Dracula", "Jeder erzittert vor meiner Macht!", "Ende")) { + rightSpotTarget = "Dracula" + + onRun { + BlinderBars.all { + it.brightness.fade(10.percent, 1.seconds) + it.presetSpeed.static(10.percent) + it.preset.static(StairvilleSplb.Preset.STUB) // red, flowy + } + } + } + + lightStep(StepCue.Text("Eloïse", "Was?")) { + sidelight.brightness.fade(40.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) } + } + + lightStep(StepCue.Text("Dracula", "Das seh ich selbst!", "Anfang")) { + FrontLights.all { it.brightness.fade(40.percent, 1.5.seconds) } + Washs.both { it.brightness.pulse(0.8.seconds, 0.1.seconds, 0.4.seconds) } + + BlinderBars.all { + it.brightness.fade(25.percent, 1.5.seconds) + it.preset.static(StairvilleSplb.Preset.STUB) // blink-y, red + it.presetSpeed.fade(25.percent, 1.5.seconds) + } + } + + lightStep(StepCue.Text("Dracula", "Das seh ich selbst!", "letzte Silbe")) { + sidelight.brightness.pulseOnce(0.1.seconds, 1.seconds) + backlightBar.brightness.pulseOnce(0.1.seconds, 1.seconds, end = 20.percent) + Washs.both { it.brightness.pulseOnce(0.1.seconds, 1.seconds) } + } + + lightStep(StepCue.Text("Dracula", "Ich bin ja kein Idiot!", "letztes Wort")) { + backlightBar.brightness.pulseOnce(0.1.seconds, 1.seconds, end = 20.percent) + + BlinderBars.all { + it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, back-and-forth + it.presetSpeed.fade(75.percent, 1.seconds) + } + } + + lightStep(StepCue.Text("Bernadette", "Er ist bei uns eingebrochen", "Anfang")) { + sidelight.brightness.fade(40.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) } + + BlinderBars.all { + it.brightness.fade(30.percent, 8.seconds) + it.presetSpeed.fade(25.percent, 1.5.seconds) + it.preset.static(StairvilleSplb.Preset.STUB) // blink-y, red + } + } + + lightStep(StepCue.Text("Alle", "Er ist schuld…", "erste Silbe")) { + BlinderBars.all { it.brightness.fade(50.percent, 0.1.seconds) } + Washs.both { it.brightness.fade(100.percent, 0.1.seconds) } + } + + lightStep(StepCue.Text("Alle", "Er ist schuld…", "zweite Silbe")) { + BlinderBars.inner { it.brightness.off() } + } + + lightStep(StepCue.Text("Alle", "Er ist schuld…", "dritte Silbe")) { + BlinderBars.outer { it.brightness.off() } + Washs.both { + it.brightness.off() + it.pointAtStageCenter() + } + } + + lightStep(StepCue.Text("Alle", "…provoziert!", "Anfang")) { + FrontLights.all { it.brightness.fade(75.percent, 2.seconds) } + sidelight.brightness.fade(75.percent, 2.seconds) + } + + lightStep(StepCue.Text("Alle", "…ist es…", "Anfang")) { + FrontLights.right { it.brightness.off(4.seconds) } + sidelight.brightness.off(6.seconds) + } + + lightStep(StepCue.Text("Alle", "…eben…", "Anfang")) { + FrontLights.left { it.brightness.off(4.seconds) } + } + + lightStep(StepCue.Text("Alle", "…passiert.", "Anfang")) { + FrontLights.center { it.brightness.off(4.seconds) } + } + + lightStep(StepCue.Custom("Musik: Fill-in")) { + backlightBar.color.fade(Color(hue = 300.degrees, saturation = 70.percent), 2.seconds) + backlightBar.brightness.fade(50.percent, 2.seconds) + + Washs.both { + it.colorWheelMode.static(CoemarProWash.ColorWheelMode.Rotate(20.percent)) + it.brightness.fade(100.percent, 2.seconds) + } + + BlinderBars.all { + it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, colorful + it.presetSpeed.static(25.percent) + it.brightness.fade(25.percent, 2.seconds) + } + + FrontLights.all { it.brightness.fade(40.percent, 15.seconds) } + + Tops.both { + it.pointAtStageMiddleSingleCenterMarking() + it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.White) + it.prismMode.static(FuturelightDmh160.PrismMode.FROST) + } + } + + lightStep(StepCue.Custom("Musik: Einsatz der E-Gitarre")) { + backlightBar.color.fade(Color(hue = 359.degrees, saturation = 10.percent), 1.5.seconds) + backlightBar.brightness.fade(75.percent, 2.seconds) + + sidelight.brightness.fade(50.percent, 10.seconds) + Tops.both { it.brightness.fade(100.percent, 1.5.seconds) } + FrontLights.all { it.brightness.off(2.seconds) } + BlinderBars.all { it.brightness.off(1.5.seconds) } + + Washs.both { it.colorWheelMode.static(CoemarProWash.ColorWheelMode.Red) } + } + + lightStep(StepCue.Text("Dracula", "Ist das klar?", "letzte Silbe")) { + backlightBar.color.fade(Color(hue = 359.degrees, saturation = 80.percent), 2.seconds) + backlightBar.brightness.fade(40.percent, 2.seconds) + Washs.both { it.brightness.ramp(0.7.seconds, 100.percent, 50.percent) } + } + + lightStep(StepCue.Text("Alle", "Ja, völlig klar!", "Anfang")) { + Tops.both { + it.brightness.off(3.seconds) + it.startRoomMovement(6.0) + } + + Washs.both { + it.brightness.off(1.5.seconds) + it.pointAtAudience() + } + + BlinderBars.all { + it.brightness.fade(25.percent, 1.seconds) + it.presetSpeed.static(50.percent) + it.preset.static(StairvilleSplb.Preset.STUB) // blink-y, red + } + } + + 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) + + Washs.both { + it.pointAtCeiling(5.seconds) + it.brightness.pulseOnce(0.5.seconds, 3.seconds) + } + + FrontLights.all { it.brightness.fade(100.percent, 3.seconds) } + + BlinderBars.all { + it.brightness.off(3.seconds) + it.presetSpeed.fade(0.percent, 1.seconds) + } + } + + lightStep(StepCue.Custom("Musik: Fill-in")) { + FrontLights.all { it.brightness.off(2.seconds) } + + sidelight.brightness.off(3.seconds) + + BlinderBars.all { + it.preset.static(null) + it.color.static(Color.WHITE) + it.brightness.pulseOnce(1.5.seconds, 3.seconds) + } + } + + lightStep(StepCue.Text("Alle", "Du bist der Herr…", "Anfang")) { + backlightBar.brightness.static(100.percent) + backlightBar.strobeSpeed.static(80.percent) + backlightBar.color.static(Color(hue = 0.degrees, saturation = 0.percent)) + + Tops.left.brightness.sine(6.seconds, start = 0.percent) + Tops.right.brightness.sine(6.seconds, start = 100.percent) + Washs.both { it.brightness.rampDown(0.7.seconds) } + } + + lightStep(StepCue.Text("Alle", "…deiner Macht.", "Anfang")) { + backlightBar.strobeSpeed.fade(40.percent, 2.seconds) + + Tops.both { it.brightness.off(2.seconds) } + Washs.both { it.brightness.fade(100.percent, 2.seconds) } + } + + lightStep(StepCue.Custom("Musik: Einsatz der E-Gitarre")) { + backlightBar.strobeSpeed.fade(80.percent, 0.5.seconds) + + BlinderBars.all { + it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, moving into one direction + it.presetSpeed.static(90.percent) + it.color.reset() + it.brightness.fade(30.percent, 0.5.seconds) + } + } + + lightStep(StepCue.Text("Alle", "Dracula", "erste Silbe")) { + BlinderBars.inner { it.brightness.pulseOnce(0.1.seconds, 1.seconds, end = 30.percent) } + } + + lightStep(StepCue.Text("Alle", "Dracula", "zweite Silbe")) { + BlinderBars.outer { it.brightness.pulseOnce(0.1.seconds, 1.seconds, end = 30.percent) } + } + + lightStep(StepCue.Text("Alle", "Dracula", "dritte Silbe")) { + BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 2.seconds, end = 30.percent) } + + Tops.both { it.pointAtStageMiddleSingleCenterMarking() } + } + + lightStep(StepCue.Text("Alle", "Dracula", "erste Silbe")) { + FrontLights.left { it.brightness.static(100.percent) } + } + + lightStep(StepCue.Text("Alle", "Dracula", "zweite Silbe")) { + FrontLights.right { it.brightness.static(100.percent) } + } + + lightStep(StepCue.Text("Alle", "Dracula", "dritte Silbe")) { + FrontLights.all { it.brightness.off() } + } + + lightStep(StepCue.Text("Alle", "Du bist unser…", "Anfang")) { + backlightBar.strobeSpeed.fade(10.percent, 2.seconds) + sidelight.brightness.fade(30.percent, 1.seconds) + Washs.both { it.brightness.ramp(1.seconds, 100.percent, 50.percent) } + } + + lightStep(StepCue.Text("Alle", "Meister!", "erste Silbe")) { + backlightBar.strobeSpeed.static(0.percent) + backlightBar.brightness.pulseOnce(0.1.seconds, 1.seconds, end = 40.percent) + } + + lightStep(StepCue.Text("Alle", "Meister!", "zweite Silbe")) { + sidelight.brightness.pulseOnce(0.1.seconds, 1.seconds, end = 40.percent) + } + + lightStep(StepCue.Text("Alle", "Graf Dracula!", "Anfang")) { + FrontLights.all { it.brightness.fade(50.percent, 8.seconds) } + + sidelight.brightness.fade(100.percent, 8.seconds) + + backlightBar.strobeSpeed.fade(100.percent, 8.seconds) + backlightBar.brightness.fade(100.percent, 2.seconds) + + BlinderBars.all { + it.brightness.fade(30.percent, 8.seconds) + it.presetSpeed.static(100.percent) + } + + Washs.both { it.brightness.ramp(0.6.seconds, 100.percent, 0.percent) } + } + + lightStep(StepCue.Custom("Musik: Schlussschlag")) { + Tops.both { it.brightness.pulseOnce(0.1.seconds, 6.seconds) } + FrontLights.all { it.brightness.off() } + sidelight.brightness.off(1.seconds) + + backlightBar.strobeSpeed.off() + backlightBar.brightness.off(1.seconds) + + Washs.both { it.brightness.off(1.seconds) } + + BlinderBars.all { + it.brightness.pulseOnce(0.1.seconds, 2.seconds) + it.preset.static(null) + it.white.static(100.percent) + } + } + + step(StepCue.MusicEnd) { + rightSpotTarget = "Dracula & Vampirgirls" + + onRun { + sidelight.brightness.fade(40.percent, 15.seconds) + } + } } \ No newline at end of file