commit 64

This commit is contained in:
Moritz Ruth 2025-03-09 16:31:20 +01:00
parent 5ea6eac22f
commit 5331c895e0
Signed by: moritzruth
GPG key ID: C9BBAB79405EE56D

View file

@ -1,32 +1,330 @@
package de.moritzruth.dracula_musical.song package de.moritzruth.dracula_musical.song
import de.moritzruth.dracula_musical.device.*
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.degrees
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
fun SceneBuilderContext.songDraculasZorn() { fun SceneBuilderContext.songDraculasZorn() {
step(StepCue.MusicStart("Draculas Zorn", 3.minutes + 50.seconds)) { 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 step(StepCue.Text("Dracula", "Jeder erzittert vor meiner Macht!", "Ende")) {
// Spannung steigt rightSpotTarget = "Dracula"
// Weiter gehts aggressiv für wenige Takte
// Langsamer Sprechpart, Spannung steigt onRun {
// "Er ist schuld, er hat uns provoziert" BlinderBars.all {
// Ritardando it.brightness.fade(10.percent, 1.seconds)
// Balladenartige Beschwichtigung im Pulk it.presetSpeed.static(10.percent)
// Stimmungswechsel zu düsterer, nicht mehr im Pulk it.preset.static(StairvilleSplb.Preset.STUB) // red, flowy
// 1 Takt Bridge, besonderer Rhythmus }
// Rückkehr zum Ursprungsrhythmus }
// DRAAAACUUUUUUULAAAAA }
// Fill-in, pick-up
// DEEEEEEINEEEEEER MAAAAACHT lightStep(StepCue.Text("Eloïse", "Was?")) {
// DRAAAAAAAAACUUUUUULAAAAAAAAAAAA sidelight.brightness.fade(40.percent, 10.seconds)
// DRAAACUUUULAAAAAAAAAA FrontLights.all { it.brightness.fade(75.percent, 10.seconds) }
// Ruhiger: "Du bist unser …" Washs.both { it.brightness.pulse(1.5.seconds, 0.1.seconds, 0.4.seconds) }
// MEIS-TER }
// GRAAAAF DRAAAACUUUUULAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
// Endpose 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)
}
}
} }