From 456e46cabf7105a2fe2b5992eb354cab3f8597e7 Mon Sep 17 00:00:00 2001 From: Moritz Ruth Date: Mon, 24 Mar 2025 16:27:18 +0100 Subject: [PATCH] commit 95 --- .../de/moritzruth/dracula_musical/act/Act2.kt | 87 ++++++++++++------- .../dracula_musical/song/DuettDraculaMina.kt | 42 ++++----- .../moritzruth/dracula_musical/song/Finale.kt | 11 +-- .../moritzruth/dracula_musical/song/Lucy.kt | 2 +- .../dracula_musical/song/Maskenball.kt | 10 ++- .../dracula_musical/song/Mittsommernacht.kt | 4 +- .../dracula_musical/song/RepriseMaskenball.kt | 12 ++- .../dracula_musical/song/StreitDerVampire.kt | 5 +- .../dracula_musical/song/VanHelsing.kt | 3 +- 9 files changed, 107 insertions(+), 69 deletions(-) diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt b/src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt index 946a251..e781ade 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt @@ -2,7 +2,6 @@ package de.moritzruth.dracula_musical.act import de.moritzruth.dracula_musical.device.* import de.moritzruth.dracula_musical.song.* -import de.moritzruth.theaterdsl.device.reset import de.moritzruth.theaterdsl.show.CurtainState import de.moritzruth.theaterdsl.show.PropPosition import de.moritzruth.theaterdsl.show.ShowBuilderContext @@ -44,7 +43,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { scene("Tanz mit einem Vampir [47]") { songDuettDraculaMina() - step(StepCue.Custom("Mina präsentiert Dracula ihren Hals")) { + step(StepCue.Custom("Dracula ist im Begriff zu beißen")) { actors { +"Ascot / durch Mitte" +"Oberschwester / durch Mitte" @@ -71,7 +70,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { } onRun { - FrontLights.center { it.brightness.fade(40.percent, 20.seconds) } + FrontLights.center { it.brightness.fade(75.percent, 20.seconds) } } } @@ -102,8 +101,9 @@ fun ShowBuilderContext.act2() = act("2. Akt") { } onRun { - FrontLights.center { it.brightness.fade(75.percent, 10.seconds) } - backlightBar.brightness.fade(25.percent, 10.seconds) + FrontLights.left { it.brightness.off(15.seconds) } + FrontLights.center { it.brightness.fade(75.percent, 15.seconds) } + FrontLights.right { it.brightness.off(15.seconds) } Tops.both { it.startRoomMovement(2.0) @@ -135,9 +135,10 @@ fun ShowBuilderContext.act2() = act("2. Akt") { onRun { Tops.both { - it.brightness.off() + it.brightness.off(2.seconds) it.strobeSpeed.off() } + BlinderBars.all { it.brightness.off(1.seconds) } FrontLights.center { it.brightness.fade(75.percent, 1.seconds) } } @@ -189,7 +190,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { curtainState = CurtainState.OPEN onRun { - FrontLights.center { it.brightness.fade(40.percent, 8.seconds) } + FrontLights.center { it.brightness.fade(50.percent, 8.seconds) } sidelight.color1.fadeRandomAround(230.degrees, 30.degrees, 2.seconds) sidelight.color2.fadeRandomAround(230.degrees, 35.degrees, 4.seconds) @@ -208,7 +209,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { } onRun { - FrontLights.center { it.brightness.off(8.seconds) } + FrontLights.center { it.brightness.fade(30.percent, 8.seconds) } } } @@ -218,7 +219,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { } onRun { - FrontLights.center { it.brightness.fade(40.percent, 5.seconds) } + FrontLights.center { it.brightness.fade(50.percent, 5.seconds) } } } @@ -227,11 +228,23 @@ fun ShowBuilderContext.act2() = act("2. Akt") { -"Ascot / durch rechte Tür" -"Backe / durch rechte Tür" -"Timmy / durch rechte Tür" - +"Dracula / von rechts" + +"Dracula" +"Renfield / hinter Fenster" } - rightSpotTarget = "Dracula (rechts)" + rightSpotTarget = "Dracula" + + onRun { + FrontLights.right.devices.last().brightness.fade(50.percent, 10.seconds) + } + } + + lightStep(StepCue.Custom("Dracula erscheint")) { + Spots.right.brightness.fade(100.percent, 2.seconds) + } + + lightStep(StepCue.Custom("Dracula verschwindet")) { + Spots.right.brightness.off(1.seconds) } lightStep(StepCue.Custom("Dracula erscheint")) { @@ -249,6 +262,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { onRun { Spots.right.brightness.off(2.seconds) + FrontLights.right.devices.last().brightness.off(6.seconds) } } } @@ -306,7 +320,8 @@ fun ShowBuilderContext.act2() = act("2. Akt") { } onRun { - Tops.both { it.reset() } + Tops.both { it.brightness.off(2.seconds) } + BlinderBars.all { it.brightness.off(1.seconds) } FrontLights.center { it.brightness.fade(75.percent, 1.seconds) } } @@ -362,7 +377,12 @@ fun ShowBuilderContext.act2() = act("2. Akt") { onRun { BlinderBars.all { it.brightness.off(1.seconds) } - Tops.both { it.reset() } + + Tops.both { + it.brightness.off(2.seconds) + it.strobeSpeed.off() + } + Washs.both { it.brightness.off() } FrontLights.center { it.brightness.fade(75.percent, 1.seconds) } } @@ -410,7 +430,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { 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) } + FrontLights.all { it.brightness.fade(30.percent, 8.seconds) } } } @@ -492,8 +512,8 @@ fun ShowBuilderContext.act2() = act("2. Akt") { 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.center { it.brightness.static(100.percent) } + lightStep(StepCue.Custom("Die Vampire schreien schmerzerfüllt")) { + FrontLights.all { it.brightness.fade(100.percent, 1.seconds) } backlightBar.color.fade(Color.WARM_WHITE, 0.5.seconds) backlightBar.brightness.pulseOnce(0.5.seconds, 25.seconds, end = 40.percent) @@ -514,6 +534,20 @@ fun ShowBuilderContext.act2() = act("2. Akt") { it.brightness.pulseOnce(0.5.seconds, 10.seconds) } } + + step(StepCue.Custom("Die Vampire sind gestorben")) { + actors { + -"Dracula" + -"Eloïse" + -"Françoise" + -"Bernadette" + -"Ascot" + -"Backe" + -"Timmy" + -"Lucy" + -"Hawkins" + } + } } scene("Liebe macht blind [67]") { @@ -521,21 +555,12 @@ fun ShowBuilderContext.act2() = act("2. Akt") { 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" - -"Backe / ist verdampft" - -"Timmy / ist verdampft" - -"Lucy / ist verdampft" - -"Hawkins / ist verdampft" } leftSpotTarget = "Jonathan" onRun { - FrontLights.center { it.brightness.off(20.seconds) } + FrontLights.all { it.brightness.fade(40.percent, 20.seconds) } Spots.left.brightness.fade(100.percent, 10.seconds) backlightBar.brightness.off(20.seconds) sidelight.brightness.fade(20.percent, 20.seconds) @@ -557,12 +582,11 @@ fun ShowBuilderContext.act2() = act("2. Akt") { } lightStep(StepCue.Custom("Musik: Wechsel in moll")) { - sidelight.colors.forEach { it.fade(Color.RED, 10.seconds) } sidelight.brightness.fade(40.percent, 10.seconds) } - lightStep(StepCue.Custom("Musik: Einsetzen der Orgel")) { + lightStep(StepCue.Custom("Musik: +1 Takt")) { backlightBar.color.fade(Color(hue = 359.degrees), 6.seconds) backlightBar.brightness.fade(60.percent, 5.seconds) @@ -584,15 +608,17 @@ fun ShowBuilderContext.act2() = act("2. Akt") { it.brightness.pulseOnce(0.seconds, 0.2.seconds) } + Washs.both { it.brightness.off(0.2.seconds) } + sidelight.brightness.off(0.1.seconds) backlightBar.brightness.off(0.1.seconds) } step(StepCue.Custom("2. Beat")) { - rightSpotTarget = "Jonathan’s Kopf (sofort von weit auf schmal ziehen)" + rightSpotTarget = "Jonathans Kopf (sofort von weit auf schmal ziehen)" onRun { - Spots.right.brightness.fade(start = 100.percent, end = 0.percent, duration = 2.seconds) + Spots.right.brightness.fade(start = 100.percent, end = 0.percent, duration = 5.seconds) } } @@ -610,6 +636,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { lightStep(StepCue.Custom("4. Beat")) { backlightBar.brightness.pulseOnce(0.seconds, 10.seconds) + FrontLights.all { it.brightness.off(4.seconds) } } } diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettDraculaMina.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettDraculaMina.kt index c754e02..e36c659 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettDraculaMina.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettDraculaMina.kt @@ -11,11 +11,11 @@ import kotlin.time.Duration.Companion.seconds fun SceneBuilderContext.songDuettDraculaMina() { step(StepCue.MusicStart("Duett: Dracula & Mina", 4.minutes + 10.seconds)) { + leftSpotTarget = "Dracula" rightSpotTarget = "Mina" - rightSpotTarget = "Dracula" onRun { - FrontLights.center { it.brightness.fade(25.percent, 30.seconds) } + FrontLights.center { it.brightness.fade(30.percent, 30.seconds) } Spots.right.brightness.fade(100.percent, 30.seconds) Spots.left.brightness.fade(100.percent, 30.seconds) @@ -29,10 +29,6 @@ fun SceneBuilderContext.songDuettDraculaMina() { } } - lightStep(StepCue.Text("Dracula", "Ich kenne dich!")) { - FrontLights.center { it.brightness.off(15.seconds) } - } - lightStep(StepCue.Text("Mina", "Ich kenne dich!", "Anfang")) { BlinderBars.all { it.preset.static(StairvilleSplb.Preset.STUB) // flowy, dreamy @@ -45,9 +41,10 @@ fun SceneBuilderContext.songDuettDraculaMina() { it.colorWheelMode.static(CoemarProWash.ColorWheelMode.DarkBlue) } + Tops.left.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(10.percent, backwards = true)) + Tops.right.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(10.percent, backwards = true)) Tops.both { it.startRoomMovement(2.5) - it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(10.percent)) it.prismMode.static(FuturelightDmh160.PrismMode.FACETS_8) it.prismRotationSpeed.static(5.percent) } @@ -68,23 +65,28 @@ fun SceneBuilderContext.songDuettDraculaMina() { Washs.both { it.brightness.off(4.seconds) } } - lightStep(StepCue.Text("Dracula & Mina", "Komm!", "Anfang")) { - Tops.both { it.brightness.off(4.seconds) } - Washs.both { - it.pointAtStageCenter() - it.colorWheelMode.static(CoemarProWash.ColorWheelMode.Red) - it.beamAngle.static(0.percent) + step(StepCue.Text("Dracula & Mina", "Komm!", "Anfang")) { + leftSpotTarget = null + rightSpotTarget = "Dracula & Mina" + + onRun { + Tops.both { it.brightness.off(4.seconds) } + Washs.both { + it.pointAtStageCenter() + it.colorWheelMode.static(CoemarProWash.ColorWheelMode.Red) + it.beamAngle.static(0.percent) + } + + Spots.left.brightness.off(6.seconds) + sidelight.brightness.off(6.seconds) + + backlightBar.color.static(Color.RED) + backlightBar.brightness.pulseOnce(8.seconds, 6.seconds) } - - Spots.right.brightness.off(6.seconds) - sidelight.brightness.off(6.seconds) - - backlightBar.color.static(Color.RED) - backlightBar.brightness.pulseOnce(8.seconds, 6.seconds) } lightStep(StepCue.MusicEnd) { - Spots.left.brightness.off(3.seconds) + Spots.right.brightness.off(3.seconds) 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) } diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/Finale.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/Finale.kt index 81e0bb1..04f234d 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Finale.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Finale.kt @@ -35,6 +35,10 @@ fun SceneBuilderContext.songFinale() { actors { +"Alle" } + + onRun { + FrontLights.all { it.brightness.fade(100.percent, 20.seconds) } + } } step(StepCue.Text("Van Helsing", "Nur eines haben sie nicht…")) { @@ -43,8 +47,6 @@ fun SceneBuilderContext.songFinale() { onRun { Spots.right.brightness.off(10.seconds) FrontLights.center { it.brightness.fade(100.percent, 5.seconds) } - backlightBar.color.cycle(12.seconds) - backlightBar.brightness.fade(100.percent, 20.seconds) BlinderBars.all { it.preset.static(StairvilleSplb.Preset.STUB) // warm-white, flowing @@ -53,9 +55,8 @@ fun SceneBuilderContext.songFinale() { } lightStep(StepCue.Custom("Musik: Schlussschlag")) { - FrontLights.center { it.brightness.off(1.seconds) } - BlinderBars.all { it.brightness.off(1.seconds) } - backlightBar.brightness.off(1.seconds) + FrontLights.all { it.brightness.off(4.seconds) } + BlinderBars.all { it.brightness.off(2.seconds) } } step(StepCue.MusicEnd) { diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/Lucy.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/Lucy.kt index 3bf4ea1..edc5bba 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Lucy.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Lucy.kt @@ -23,7 +23,7 @@ fun SceneBuilderContext.songLucy() { Washs.both { it.pointAtCeiling() it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White) - it.magenta.static(100.percent) + it.magenta.static(40.percent) it.beamAngle.static(100.percent) } diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/Maskenball.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/Maskenball.kt index 36f20cb..a0731f8 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Maskenball.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Maskenball.kt @@ -40,11 +40,11 @@ fun SceneBuilderContext.songMaskenball() { onRun { backlightBar.brightness.off(4.seconds) - FrontLights.center { it.brightness.fade(100.percent, 2.seconds) } + FrontLights.all { it.brightness.fade(100.percent, 2.seconds) } Tops.both { it.startRoomMovement(5.0) - it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(20.percent)) + it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(15.percent)) it.prismMode.static(FuturelightDmh160.PrismMode.FACETS_3) it.prismRotationSpeed.static(10.percent) } @@ -62,7 +62,6 @@ fun SceneBuilderContext.songMaskenball() { Tops.both { it.brightness.fade(100.percent, 1.seconds) } Washs.both { it.brightness.fade(100.percent, 1.seconds) } - FrontLights.center { it.brightness.fade(100.percent, 2.seconds) } BlinderBars.all { it.preset.static(StairvilleSplb.Preset.STUB) // theatre-like, warm @@ -72,12 +71,12 @@ fun SceneBuilderContext.songMaskenball() { } lightStep(StepCue.Custom("Musik: Breakdown am Ende")) { + backlightBar.color.cycle(20.seconds) BlinderBars.all { it.presetSpeed.fade(0.percent, 5.seconds) } Washs.both { it.brightness.off(5.seconds) } } lightStep(StepCue.Custom("Musik: Schlussschlag")) { - backlightBar.color.cycle(20.seconds) Tops.both { it.brightness.off(5.seconds) } Washs.both { it.brightness.pulseOnce(0.2.seconds, 5.seconds) } BlinderBars.all { it.brightness.off(5.seconds) } @@ -99,6 +98,9 @@ fun SceneBuilderContext.songMaskenball() { onRun { backlightBar.brightness.off(20.seconds) + FrontLights.left { it.brightness.off(30.seconds) } + FrontLights.center { it.brightness.fade(75.percent, 30.seconds) } + FrontLights.right { it.brightness.off(30.seconds) } } } } \ No newline at end of file diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/Mittsommernacht.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/Mittsommernacht.kt index 7dc7b94..ca32091 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Mittsommernacht.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Mittsommernacht.kt @@ -174,8 +174,8 @@ fun SceneBuilderContext.songMittsommernacht() { rightSpotTarget = "Vampire (sprunghaft hin und her)" onRun { - Spots.left.brightness.static(50.percent) - Spots.right.brightness.static(50.percent) + Spots.left.brightness.static(100.percent) + Spots.right.brightness.static(100.percent) BlinderBars.all { it.color.reset() diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseMaskenball.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseMaskenball.kt index 7a230ce..ea1b53c 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseMaskenball.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseMaskenball.kt @@ -18,9 +18,11 @@ fun SceneBuilderContext.songRepriseMaskenball() { } onRun { + FrontLights.all { it.brightness.fade(100.percent, 6.seconds) } + Tops.both { it.startRoomMovement(5.0) - it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(20.percent)) + it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(10.percent)) it.prismMode.static(FuturelightDmh160.PrismMode.FACETS_3) it.prismRotationSpeed.static(10.percent) it.brightness.fade(100.percent, 3.seconds) @@ -44,23 +46,25 @@ fun SceneBuilderContext.songRepriseMaskenball() { } lightStep(StepCue.Custom("Lucy schreit")) { + FrontLights.all { it.brightness.fade(100.percent, 5.seconds) } + Tops.both { it.pan.static(it.pan.getCurrentValue()) it.tilt.static(it.pan.getCurrentValue()) it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.White) it.prismMode.static(FuturelightDmh160.PrismMode.FROST) - it.brightness.off(10.seconds) + it.brightness.off(20.seconds) } backlightBar.color.fade(Color.WARM_WHITE, 0.5.seconds) - backlightBar.brightness.pulseOnce(2.seconds, 6.seconds, end = 50.percent) + backlightBar.brightness.pulseOnce(2.seconds, 6.seconds) BlinderBars.all { it.presetSpeed.fade(0.percent, 2.seconds) it.brightness.pulseOnce(1.seconds, 3.seconds, peak = 50.percent) } - FrontLights.center { it.brightness.fade(100.percent, 5.seconds) } + Washs.both { it.brightness.off(0.5.seconds) } } step(StepCue.MusicEnd) {} diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/StreitDerVampire.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/StreitDerVampire.kt index 9a3db64..09087b0 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/StreitDerVampire.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/StreitDerVampire.kt @@ -18,13 +18,14 @@ fun SceneBuilderContext.songStreitDerVampire() { } FrontLights.left { it.brightness.sine(5.seconds, 50.percent, 100.percent, 50.percent) } + FrontLights.center { it.brightness.fade(50.percent, 5.seconds) } 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) } + FrontLights.left { it.brightness.fade(30.percent, 3.seconds) } + FrontLights.right { it.brightness.fade(30.percent, 3.seconds) } } } \ No newline at end of file diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/VanHelsing.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/VanHelsing.kt index ca1770a..0a899e0 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/VanHelsing.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/VanHelsing.kt @@ -15,6 +15,7 @@ fun SceneBuilderContext.songVanHelsing() { onRun { Spots.right.brightness.fade(100.percent, 20.seconds) + FrontLights.center { it.brightness.fade(50.percent, 20.seconds) } } } @@ -26,7 +27,7 @@ fun SceneBuilderContext.songVanHelsing() { } lightStep(StepCue.Text("Van Helsing", "Menschenblut…", "Anfang")) { - backlightBar.brightness.sine(0.75.seconds, minimum = 50.percent, maximum = 100.percent) + backlightBar.brightness.sine(0.75.seconds, minimum = 25.percent, maximum = 75.percent) backlightBar.color.static(Color(hue = 200.degrees, saturation = 40.percent)) Tops.both {