commit 70

This commit is contained in:
Moritz Ruth 2025-03-12 00:58:28 +01:00
parent 9114af9b2c
commit 6977ed19be
Signed by: moritzruth
GPG key ID: C9BBAB79405EE56D
5 changed files with 281 additions and 0 deletions

View file

@ -382,5 +382,221 @@ fun ShowBuilderContext.act2() = act("Zweiter Akt") {
BlinderBars.all { it.brightness.off(2.seconds) } BlinderBars.all { it.brightness.off(2.seconds) }
} }
} }
step(StepCue.MusicStart("Umbau (Van Helsing)", 10.seconds)) {}
}
scene("Uneinigkeit") {
step(StepCue.MusicEnd) {
actors {
+"Backe / von rechts"
+"Timmy / von rechts"
}
curtainState = CurtainState.OPEN
onRun {
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(50.percent, 8.seconds)
FrontLights.center { it.brightness.fade(75.percent, 8.seconds) }
}
}
step(StepCue.Text("Backe", "Bis auf deine neue Freundin.")) {
actors {
+"Ascot / von rechts"
}
}
step(StepCue.Text("Ascot", "Und wie siehts denn hier aus!")) {
actors {
-"Ascot / nach links"
}
}
step(StepCue.Text("Backe", "Gib mal einen Schluck Blut.")) {
actors {
+"Eloïse / von rechts"
+"Françoise / von rechts"
+"Bernadette / von rechts"
+"Lucy / von rechts"
}
}
step(StepCue.Text("Eloïse", "Immer direkt von der Quelle trinken.")) {
actors {
+"Ascot / von links"
}
}
songStreitDerVampire()
step(StepCue.Text("Vampir 3", "Wenn sie es nicht ist — wer dann?")) {
actors {
+"Hawkins / durch Mitte"
}
}
step(StepCue.Text("Hawkins", "Geil!")) {
actors {
+"Jonathan / von links"
+"Van Helsing / von links"
+"Dr. Sewart / von links"
}
}
step(StepCue.Text("Jonathan", "Wo ist Mina?")) {
actors {
+"Dracula / von links"
+"Mina / von links"
}
}
lightStep(StepCue.Custom("Van Helsing zückt das Kreuz (mit Musik)")) {
BlinderBars.all {
it.brightness.fade(50.percent, 2.seconds)
it.preset.static(StairvilleSplb.Preset.STUB) // switching, hectic
it.presetSpeed.static(100.percent)
}
}
lightStep(StepCue.Custom("Hawkins entreißt Van Helsing das Kreuz")) {
BlinderBars.all {
it.brightness.off(2.seconds)
it.presetSpeed.off(0.5.seconds)
}
Washs.both {
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.Red)
it.beamAngle.static(0.percent)
it.pointAtCeiling()
}
}
lightStep(StepCue.Custom("Musik: Setzt ein")) {
backlightBar.color.static(Color.RED)
backlightBar.brightness.pulse(1.8.seconds, 0.15.seconds, 0.2.seconds, peak = 40.percent, startDelay = 0.seconds)
Washs.both { it.brightness.pulse(1.8.seconds, 0.15.seconds, 0.3.seconds, startDelay = 0.4.seconds) }
}
lightStep(StepCue.Custom("Der Vorhang wird geöffnet")) {
FrontLights.all { it.brightness.static(100.percent) }
backlightBar.color.fade(Color.WARM_WHITE, 0.5.seconds)
backlightBar.brightness.pulseOnce(0.5.seconds, 10.seconds, end = 40.percent)
sidelight.colors.forEach { it.fade(Color.WARM_WHITE, 0.5.seconds) }
sidelight.brightness.pulseOnce(0.5.seconds, 10.seconds, end = 40.percent)
Washs.both {
it.pointAtStageCenter()
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.WarmWhite)
it.brightness.pulseOnce(0.5.seconds, 10.seconds)
}
BlinderBars.all {
it.preset.static(null)
it.white.static(100.percent)
it.color.reset()
it.brightness.pulseOnce(0.5.seconds, 10.seconds)
}
}
}
scene("Liebe macht blind") {
step(StepCue.Text("Van Helsing", "Natürlich. Kommen Sie.")) {
actors {
-"Van Helsing / durch Mitte"
-"Dr. Sewart / durch Mitte"
-"Dracula / ist verdampft"
-"Eloïse / ist verdampft"
-"Françoise / ist verdampft"
-"Bernadette / ist verdampft"
-"Ascot / ist verdampft"
}
leftSpotTarget = "Jonathan"
onRun {
FrontLights.all { it.brightness.off(20.seconds) }
Spots.left.brightness.fade(100.percent, 10.seconds)
backlightBar.brightness.off(20.seconds)
sidelight.brightness.fade(20.percent, 20.seconds)
}
}
songRepriseDuett()
lightStep(StepCue.Custom("Jonathan zieht Minas Sarg")) {
Spots.left.brightness.off(6.seconds)
Tops.both {
it.startRoomMovement(2.0)
it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.DarkRed)
it.prismMode.static(FuturelightDmh160.PrismMode.FROST)
}
}
lightStep(StepCue.Custom("Musik: Wechsel in moll")) {
backlightBar.color.static(Color.DARK_BLUE)
backlightBar.brightness.fade(40.percent, 5.seconds)
sidelight.colors.forEach { it.fade(Color.RED, 10.seconds) }
sidelight.brightness.fade(40.percent, 10.seconds)
}
lightStep(StepCue.Custom("Musik: Einsetzen der Orgel")) {
backlightBar.color.fade(Color(hue = 359.degrees), 6.seconds)
backlightBar.brightness.fade(60.percent, 5.seconds)
Washs.both { it.brightness.pulse(1.seconds, 0.1.seconds, 0.2.seconds) }
}
lightStep(StepCue.Custom("Musik: +2 Takte")) {
sidelight.brightness.fade(75.percent, 5.seconds)
backlightBar.brightness.pulse(1.seconds, 0.1.seconds, 0.2.seconds)
Washs.both { it.brightness.pulse(1.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.3.seconds) }
}
lightStep(StepCue.Custom("1. Beat")) {
BlinderBars.all {
it.preset.static(null)
it.white.static(100.percent)
it.color.reset()
it.brightness.pulseOnce(0.seconds, 0.15.seconds)
}
sidelight.brightness.off(0.1.seconds)
backlightBar.brightness.off(0.1.seconds)
}
step(StepCue.Custom("2. Beat")) {
rightSpotTarget = "Jonathans Kopf (sofort von weit auf schmal ziehen)"
onRun {
Spots.right.brightness.fade(start = 100.percent, end = 0.percent, duration = 2.seconds)
}
}
lightStep(StepCue.Custom("3. Beat")) {
BlinderBars.all {
it.white.reset()
it.color.static(Color.RED)
it.brightness.pulseOnce(0.seconds, 0.15.seconds)
}
sidelight.brightness.pulseOnce(0.seconds, 0.15.seconds)
Tops.both { it.brightness.pulseOnce(0.seconds, 0.15.seconds) }
}
lightStep(StepCue.Custom("4. Beat")) {
backlightBar.brightness.pulseOnce(0.seconds, 0.3.seconds, end = 40.percent)
}
} }
} }

View file

@ -25,6 +25,8 @@ fun SceneBuilderContext.songDuettMinaJonathan() {
it.presetSpeed.static(10.percent) it.presetSpeed.static(10.percent)
it.brightness.fade(25.percent, 5.seconds) it.brightness.fade(25.percent, 5.seconds)
} }
Washs.both { it.brightness.fade(100.percent, 10.seconds) }
} }
lightStep(StepCue.Text("Mina & Jonathan", "Von dem Gefühl im Bauch…")) { lightStep(StepCue.Text("Mina & Jonathan", "Von dem Gefühl im Bauch…")) {

View file

@ -0,0 +1,32 @@
package de.moritzruth.dracula_musical.song
import de.moritzruth.dracula_musical.device.BlinderBars
import de.moritzruth.dracula_musical.device.CoemarProWash
import de.moritzruth.dracula_musical.device.StairvilleSplb
import de.moritzruth.dracula_musical.device.Washs
import de.moritzruth.theaterdsl.show.SceneBuilderContext
import de.moritzruth.theaterdsl.show.StepCue
import de.moritzruth.theaterdsl.value.percent
import kotlin.time.Duration.Companion.seconds
fun SceneBuilderContext.songRepriseDuett() {
lightStep(StepCue.MusicStart("Reprise: Duett", 10.seconds)) {
Washs.both {
it.pointAtCeiling()
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White)
it.magenta.static(100.percent)
it.brightness.fade(100.percent, 10.seconds)
}
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy, pink, warm
it.presetSpeed.static(10.percent)
it.brightness.fade(25.percent, 5.seconds)
}
}
lightStep(StepCue.MusicEnd) {
BlinderBars.all { it.brightness.off(4.seconds) }
Washs.both { it.brightness.off(4.seconds) }
}
}

View file

@ -0,0 +1,30 @@
package de.moritzruth.dracula_musical.song
import de.moritzruth.dracula_musical.device.BlinderBars
import de.moritzruth.dracula_musical.device.FrontLights
import de.moritzruth.dracula_musical.device.StairvilleSplb
import de.moritzruth.theaterdsl.show.SceneBuilderContext
import de.moritzruth.theaterdsl.show.StepCue
import de.moritzruth.theaterdsl.value.percent
import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.seconds
fun SceneBuilderContext.songStreitDerVampire() {
lightStep(StepCue.MusicStart("Streit der Vampire", 1.minutes + 30.seconds)) {
BlinderBars.all {
it.preset.static(StairvilleSplb.Preset.STUB) // chase, single direction
it.presetSpeed.static(40.percent)
it.brightness.fade(25.percent, 1.seconds)
}
FrontLights.left { it.brightness.sine(5.seconds, 50.percent, 100.percent, 50.percent) }
FrontLights.right { it.brightness.sine(5.seconds, 50.percent, 100.percent, 100.percent) }
}
lightStep(StepCue.MusicEnd) {
BlinderBars.all { it.brightness.off(2.seconds) }
FrontLights.left { it.brightness.off(3.seconds) }
FrontLights.right { it.brightness.off(3.seconds) }
}
}

View file

@ -62,6 +62,7 @@ data class Color(
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 RED = Color(0.degrees, 100.percent, 100.percent)
val DARK_BLUE = Color(240.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)
} }