From bf8eaacb0006117139e55a4b4db213b2ca394e65 Mon Sep 17 00:00:00 2001 From: Moritz Ruth Date: Mon, 10 Mar 2025 00:07:40 +0100 Subject: [PATCH] commit 67 --- .../de/moritzruth/dracula_musical/Main.kt | 2 + .../de/moritzruth/dracula_musical/act/Act1.kt | 134 ++++++++++-------- .../de/moritzruth/dracula_musical/act/Act2.kt | 7 + .../dracula_musical/song/AdelIstGeil.kt | 21 ++- .../moritzruth/dracula_musical/song/Duett.kt | 2 +- .../dracula_musical/song/EsIstAngerichtet.kt | 2 +- .../dracula_musical/song/FinaleErsterAkt.kt | 23 ++- .../dracula_musical/song/Irrenhaus.kt | 16 +-- .../moritzruth/dracula_musical/song/Lucy.kt | 14 +- .../dracula_musical/song/Mittsommernacht.kt | 38 ++--- ui/src/components/StageTopDownView.vue | 6 +- 11 files changed, 154 insertions(+), 111 deletions(-) create mode 100644 src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/Main.kt b/src/main/kotlin/de/moritzruth/dracula_musical/Main.kt index 3857eee..35c5c12 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/Main.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/Main.kt @@ -1,6 +1,7 @@ package de.moritzruth.dracula_musical import de.moritzruth.dracula_musical.act.act1 +import de.moritzruth.dracula_musical.act.act2 import de.moritzruth.dracula_musical.device.devices import de.moritzruth.dracula_musical.device.fogMachine import de.moritzruth.theaterdsl.dmx.EnttecOpenDmxUsb @@ -9,6 +10,7 @@ import de.moritzruth.theaterdsl.show.runShow val show = createShow { act1() + act2() } suspend fun main() { diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/act/Act1.kt b/src/main/kotlin/de/moritzruth/dracula_musical/act/Act1.kt index fd01651..b4f6e70 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/act/Act1.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/act/Act1.kt @@ -16,6 +16,10 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.MusicStart("Ouvertüre", 10.seconds)) { curtainState = CurtainState.CLOSED + props { + it[PropPosition.BACKDROP] = "Dorfplatz" + } + Washs.both { it.pointAtAudience() it.colorWheelMode.static(CoemarProWash.ColorWheelMode.WarmWhite) @@ -28,7 +32,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { +"Erzähler / in der Mitte der Vorbühne" } - rightSpotTarget = "Erzähler / Mitte der Vorbühne" + rightSpotTarget = "Erzähler (Mitte der Vorbühne)" onRun { Spots.right.brightness.fade(100.percent, 2.seconds) @@ -68,9 +72,9 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { -"Mina" -"Lucy" -"Jonathan" - +"Hawkins" + +"Hawkins / von links" // TODO: Expand - +"Sekretärinnen" + +"Sekretärinnen / von links" } props { @@ -80,7 +84,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Sekretärin 1", "Ashton und Ashton 6 Pfund glatt…")) { actors { - +"Renfield" + +"Renfield / von links" } } @@ -88,20 +92,14 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Renfield", "Ich bin schon weg.")) { actors { - -"Renfield" + -"Renfield / durch Mitte" } } step(StepCue.MusicStart("Umbau (Adel ist geil)", 10.seconds)) { actors { - -"Hawkins" - -"Sekretärinnen" - } - - curtainState = CurtainState.CLOSED - - props { - it[PropPosition.CENTER] = null + -"Hawkins / durch Mitte" + -"Sekretärinnen / durch Mitte" } onRun { @@ -114,8 +112,8 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { scene("Die Irrenanstalt") { step(StepCue.MusicEnd) { actors { - +"Ascot" - +"Mina" + +"Ascot / von rechts, 1. Tür" + +"Mina / von rechts, 1. Tür" } curtainState = CurtainState.OPEN @@ -129,9 +127,9 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Ascot", "Da kommt der Rest der Familie!")) { actors { - +"Oberschwester" + +"Oberschwester / von rechts, 1. Tür" // TODO: Expand - +"Pflegeteam" + +"Pflegeteam / von rechts, 1. Tür" } } @@ -142,36 +140,36 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { -"Oberschwester" -"Pflegeteam" -"Die Irren" - +"Renfield" - +"Vermieterin" - +"Wärter 1" - +"Wärter 2" + +"Renfield / von rechts, 1. Tür" + +"Vermieterin / von rechts, 1. Tür" + +"Wärter 1 / von rechts, 1. Tür" + +"Wärter 2 / von rechts, 1. Tür" } } step(StepCue.Text("Dr. Sewart", "Ich liebe meinen Job!")) { actors { - -"Renfield" - -"Vermieterin" - -"Wärter 1" - -"Wärter 2" - -"Dr. Sewart" - -"Ascot" + -"Renfield / nach rechts, 1. Tür" + -"Vermieterin / nach rechts, 1. Tür" + -"Wärter 1 / nach rechts, 1. Tür" + -"Wärter 2 / nach rechts, 1. Tür" + -"Dr. Sewart / nach rechts, 1. Tür" + -"Ascot / nach rechts, 1. Tür" } } step(StepCue.Custom("Mina öffnet die Tür")) { actors { - +"Mr. Nickelby" - +"Mrs. Nickelby" - +"Tochter Nickelby" + +"Mr. Nickelby / von rechts, 1. Tür" + +"Mrs. Nickelby / von rechts, 1. Tür" + +"Tochter Nickelby / von rechts, 1. Tür" } } step(StepCue.Text("Mina", "Es gibt hier noch mehr Irre.")) { actors { - -"Mina" - +"Lucy" + -"Mina / nach rechts, 1. Tür" + +"Lucy / von links" } } } @@ -186,7 +184,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Mr. Nickelby", "…als du die Vorhänge aufgemacht hast.")) { actors { - +"Ascot" + +"Ascot / von rechts, 1. Tür" } onRun { @@ -196,7 +194,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Ascot", "Sie Flötenguru!")) { actors { - +"Dr. Sewart" + +"Dr. Sewart / von rechts, 1. Tür" } } @@ -222,17 +220,23 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { -"Tochter Nickelby" } + curtainState = CurtainState.CLOSED + onRun { FrontLights.all { it.brightness.off(5.seconds) } } } + + step(StepCue.MusicStart("Umbau (Sittlichkeitsverein)", 10.seconds)) { + + } } scene("Männerbesuch") { - step(StepCue.Custom("Es klingelt")) { + step(StepCue.MusicEnd) { actors { - +"Mina" - +"Jonathan / hinter der Tür" + +"Mina / von rechts, 2. Tür" + +"Jonathan / von rechts, 1. Tür" } onRun { @@ -242,13 +246,13 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Mina", "Sehr merkwürdig.")) { actors { - +"Ascot" + +"Ascot / von rechts, 1. Tür" } } step(StepCue.Text("Ascot", "Miss Murray!", "beim dritten Mal")) { actors { - -"Ascot" + -"Ascot / über rechte Treppe" } } @@ -262,8 +266,8 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Jonathan", "Gute Nacht.")) { actors { - -"Mina" - -"Jonathan" + -"Mina / über linke Treppe" + -"Jonathan / nach rechts, 1. Tür" -"Ascot" } @@ -281,7 +285,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { scene("Kaffeeklatsch") { step(StepCue.MusicEnd) { actors { - +"Dr. Sewart" + +"Dr. Sewart / von rechts, 1. Tür" } curtainState = CurtainState.OPEN @@ -295,7 +299,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Custom("Dr. Sewart ist versteckt")) { actors { - +"Oberschwester" + +"Oberschwester / über rechte Treppe" } onRun { @@ -307,11 +311,11 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Dr. Sewart", "Da sind sie!")) { actors { - +"Ascot" + +"Ascot / von rechts, 1. Tür, mit Stuhl" // TODO: Expand - +"Kaffeetanten" + +"Kaffeetanten / von rechts, 1. Tür, mit Stühlen" // TODO: Expand - +"Nichten" + +"Nichten / von rechts, 1. Tür, mit Stühlen" } onRun { @@ -322,8 +326,8 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Dr. Sewart", "Ich mache Diät!")) { actors { - -"Dr. Sewart" - -"Oberschwester" + -"Dr. Sewart / nach rechts, 1. Tür" + -"Oberschwester / nach links" } } @@ -333,7 +337,8 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { scene("Ankunft Van Helsings") { step(StepCue.Text("Ascot", "Jetzt ist Lucy wieder ganz gesund.")) { actors { - +"Dr. Sewart" + +"Dr. Sewart / von rechts" + +"Lucy / getragen von Dr. Sewart" } onRun { @@ -347,7 +352,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Dr. Sewart", "Was mach ich nur!")) { actors { - +"Van Helsing" + +"Van Helsing / durch Mitte" } rightSpotTarget = "Van Helsing" @@ -379,20 +384,27 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Van Helsing", "Oder will jemand von den Damen?")) { actors { - -"Kaffeetanten" - -"Nichten" + -"Kaffeetanten / nach rechts, 1.Tür, mit Stühlen" + -"Nichten / nach rechts, 1.Tür, mit Stühlen" } } step(StepCue.Text("Van Helsing", "Helfen Sie mir jetzt!")) { actors { - -"Dr. Sewart" - -"Van Helsing" - -"Ascot" + -"Dr. Sewart / nach links" + -"Lucy / gezogen von Dr. Sewart" + -"Van Helsing / nach links" + -"Ascot / nach rechts, 1. Tür, mit Stuhl" } curtainState = CurtainState.CLOSED + props { + it[PropPosition.CENTER] = null + it[PropPosition.LEFT] = "3 Särge" + it[PropPosition.BACKDROP] = "Draculas Schloss" + } + onRun { FrontLights.all { it.brightness.off(3.seconds) } @@ -408,10 +420,10 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Custom("Vorhang ist geschlossen")) { actors { +"Hawkins / durchs Publikum" - +"Renfield / durchs Publikum" + +"Jonathan / durchs Publikum" } - rightSpotTarget = "Hawkins & Renfield (im Publikum)" + rightSpotTarget = "Hawkins & Jonathan (im Publikum)" onRun { Spots.right.brightness.fade(100.percent, 3.seconds) @@ -421,7 +433,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { step(StepCue.Text("Hawkins", "…zum Grafen Dracula!")) { actors { -"Hawkins / durch den Vorhang" - -"Renfield / durch den Vorhang" + -"Jonathan / durch den Vorhang" } rightSpotTarget = "mittig verbleiben" @@ -435,8 +447,8 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { scene("Einbruch") { step(StepCue.Custom("Umbau abgeschlossen")) { actors { - +"Backe / von links" - +"Timmy / von links" + +"Backe / von links, mit Lampe" + +"Timmy / von links, mit Lampe" +"Eloïse / im Sarg" +"Françoise / im Sarg" +"Bernadette / im Sarg" @@ -460,7 +472,7 @@ fun ShowBuilderContext.act1() = act("Erster Akt") { scene("Ein Sammlerstück") { step(StepCue.Custom("Die Vampire saugen Timmy aus")) { actors { - +"Jonathan" + +"Jonathan / von rechts, mit Vertrag & Amulett" } onRun { diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt b/src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt new file mode 100644 index 0000000..94970da --- /dev/null +++ b/src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt @@ -0,0 +1,7 @@ +package de.moritzruth.dracula_musical.act + +import de.moritzruth.theaterdsl.show.ShowBuilderContext + +fun ShowBuilderContext.act2() = act("Zweiter Akt") { + +} \ No newline at end of file diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/AdelIstGeil.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/AdelIstGeil.kt index 6a68206..c414d3a 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/AdelIstGeil.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/AdelIstGeil.kt @@ -2,6 +2,8 @@ package de.moritzruth.dracula_musical.song import de.moritzruth.dracula_musical.device.BlinderBars import de.moritzruth.dracula_musical.device.StairvilleSplb +import de.moritzruth.theaterdsl.show.CurtainState +import de.moritzruth.theaterdsl.show.PropPosition import de.moritzruth.theaterdsl.show.SceneBuilderContext import de.moritzruth.theaterdsl.show.StepCue import de.moritzruth.theaterdsl.value.percent @@ -11,11 +13,20 @@ import kotlin.time.Duration.Companion.seconds fun SceneBuilderContext.songAdelIstGeil() { // TODO - lightStep(StepCue.MusicStart("Adel ist geil", 2.minutes + 15.seconds)) { - BlinderBars.all { - it.brightness.fade(25.percent, 5.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, green - it.presetSpeed.static(40.percent) + step(StepCue.MusicStart("Adel ist geil", 2.minutes + 15.seconds)) { + curtainState = CurtainState.CLOSED + + props { + it[PropPosition.BACKDROP] = "Irrenanstalt" + it[PropPosition.CENTER] = "Medikamenten-Schrank" + } + + onRun { + BlinderBars.all { + it.brightness.fade(25.percent, 5.seconds) + it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, green + it.presetSpeed.static(40.percent) + } } } diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/Duett.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/Duett.kt index 657d282..2978ae6 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Duett.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Duett.kt @@ -19,7 +19,7 @@ fun SceneBuilderContext.songDuett() { } } - lightStep(StepCue.Custom("Strophe")) { + lightStep(StepCue.Custom("Musik: Strophe")) { BlinderBars.all { it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy, pink, warm it.presetSpeed.static(10.percent) diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/EsIstAngerichtet.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/EsIstAngerichtet.kt index b519961..c9e7c18 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/EsIstAngerichtet.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/EsIstAngerichtet.kt @@ -162,7 +162,7 @@ fun SceneBuilderContext.songEsIstAngerichtet() { } } - lightStep(StepCue.Custom("Nächster Beat")) { + lightStep(StepCue.Custom("Musik: Nächster Beat")) { backlightBar.color.fade(Color(hue = 0.degrees, saturation = 30.percent), 1.seconds) backlightBar.brightness.fade(30.percent, 1.seconds) diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/FinaleErsterAkt.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/FinaleErsterAkt.kt index fd408f5..1a3197f 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/FinaleErsterAkt.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/FinaleErsterAkt.kt @@ -2,6 +2,7 @@ package de.moritzruth.dracula_musical.song import de.moritzruth.dracula_musical.device.* import de.moritzruth.theaterdsl.show.CurtainState +import de.moritzruth.theaterdsl.show.PropPosition import de.moritzruth.theaterdsl.show.SceneBuilderContext import de.moritzruth.theaterdsl.show.StepCue import de.moritzruth.theaterdsl.value.Color @@ -27,7 +28,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { step(StepCue.Text("Dracula", "Guten Abend, Mister Harker.")) { actors { - -"Jonathan" + -"Jonathan / nach rechts, mit Vertrag" } onRun { @@ -419,7 +420,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { // genre change - lightStep(StepCue.Custom("Fill-in")) { + lightStep(StepCue.Custom("Musik: Fill-in")) { backlightBar.color.fade(Color.WHITE, 1.seconds) backlightBar.breathe() @@ -465,14 +466,14 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.brightness.off(5.seconds) } - lightStep(StepCue.Custom("Schlag nach »Morgen!«")) { + lightStep(StepCue.Custom("Musik: 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!«")) { + lightStep(StepCue.Custom("Musik: 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) } } @@ -481,11 +482,11 @@ fun SceneBuilderContext.songFinaleErsterAkt() { BlinderBars.all { it.presetSpeed.fade(40.percent, 1.seconds) } } - lightStep(StepCue.Custom("1. Beat nach »Morgen!«")) { + lightStep(StepCue.Custom("Musik: 1. Beat nach »Morgen!«")) { backlightBar.brightness.pulseOnce(0.1.seconds, 0.5.seconds) } - lightStep(StepCue.Custom("2. Beat nach »Morgen!«")) { + lightStep(StepCue.Custom("Musik: 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) } } @@ -525,7 +526,8 @@ fun SceneBuilderContext.songFinaleErsterAkt() { FrontLights.all { it.brightness.fade(100.percent, 5.seconds) } } - lightStep(StepCue.Custom("Schlussschlag")) { + lightStep(StepCue.Custom("Musik: Schlussschlag")) { + Spots.right.brightness.off(4.seconds) FrontLights.all { it.brightness.off() } Washs.both { it.brightness.off(0.5.seconds) } backlightBar.strobeSpeed.static(0.percent) @@ -552,6 +554,13 @@ fun SceneBuilderContext.songFinaleErsterAkt() { -"Vampire" } + props { + it[PropPosition.LEFT] = null + + } + curtainState = CurtainState.CLOSED + + rightSpotTarget = null } } \ No newline at end of file diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/Irrenhaus.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/Irrenhaus.kt index 5b1762c..5eaf6b4 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Irrenhaus.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Irrenhaus.kt @@ -11,9 +11,9 @@ import kotlin.time.Duration.Companion.seconds fun SceneBuilderContext.songIrrenhaus() { step(StepCue.MusicStart("Irrenhaus", 3.minutes)) { actors { - +"Dr. Sewart" + +"Dr. Sewart / von rechts, 1. Tür" // TODO: Expand - +"Die Irren" + +"Die Irren / von rechts, 1. Tür" } rightSpotTarget = "Dr. Sewart" @@ -53,7 +53,7 @@ fun SceneBuilderContext.songIrrenhaus() { Spots.right.brightness.off() } - lightStep(StepCue.Custom("Nächster Beat")) { + lightStep(StepCue.Custom("Musik: Nächster Beat")) { FrontLights.all { it.brightness.pulseOnce(0.seconds, 0.5.seconds, peak = 100.percent, end = 60.percent) } Tops.both { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, 100.percent) } Washs.both { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, 100.percent) } @@ -74,7 +74,7 @@ fun SceneBuilderContext.songIrrenhaus() { backlightBar.brightness.off(2.seconds) } - lightStep(StepCue.Custom("Strophe")) { + lightStep(StepCue.Custom("Musik: Strophe")) { Spots.right.brightness.fade(100.percent, 1.seconds) BlinderBars.all { @@ -105,7 +105,7 @@ fun SceneBuilderContext.songIrrenhaus() { backlightBar.strobeSpeed.static(0.percent) } - lightStep(StepCue.Custom("Nächster Beat")) { + lightStep(StepCue.Custom("Musik: Nächster Beat")) { FrontLights.all { it.brightness.pulseOnce(0.seconds, 0.5.seconds, peak = 100.percent, end = 60.percent) } Tops.both { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, 100.percent) } Washs.both { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, 100.percent) } @@ -125,7 +125,7 @@ fun SceneBuilderContext.songIrrenhaus() { backlightBar.brightness.fade(50.percent, 1.seconds) } - lightStep(StepCue.Custom("Strophe")) { + lightStep(StepCue.Custom("Musik: Strophe")) { Spots.right.brightness.fade(100.percent, 1.seconds) BlinderBars.all { @@ -156,7 +156,7 @@ fun SceneBuilderContext.songIrrenhaus() { backlightBar.strobeSpeed.off() } - lightStep(StepCue.Custom("Nächster Beat")) { + lightStep(StepCue.Custom("Musik: Nächster Beat")) { FrontLights.all { it.brightness.pulseOnce(0.seconds, 0.5.seconds, peak = 100.percent, end = 60.percent) } Tops.both { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, 100.percent) } Washs.both { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, 100.percent) } @@ -188,7 +188,7 @@ fun SceneBuilderContext.songIrrenhaus() { } } - lightStep(StepCue.Custom("Schlussschlag")) { + lightStep(StepCue.Custom("Musik: Schlussschlag")) { FrontLights.all { it.brightness.static(100.percent) } Tops.both { it.brightness.pulseOnce(0.1.seconds, 2.seconds, 100.percent) } Washs.both { it.brightness.pulseOnce(0.1.seconds, 2.seconds, 100.percent) } 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 7521bbd..a3c036b 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Lucy.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Lucy.kt @@ -31,7 +31,7 @@ fun SceneBuilderContext.songLucy() { // TODO: Do more during the first part - lightStep(StepCue.Custom("Refrain")) { + lightStep(StepCue.Custom("Musik: Refrain")) { BlinderBars.all { it.brightness.fade(25.percent, 2.seconds) it.preset.static(StairvilleSplb.Preset.STUB) // red, flowy @@ -41,11 +41,11 @@ fun SceneBuilderContext.songLucy() { Washs.right.brightness.sine(6.seconds, start = 100.percent) } - lightStep(StepCue.Custom("Strophe")) { + lightStep(StepCue.Custom("Musik: Strophe")) { Tops.both { it.brightness.sine(8.seconds, 20.percent, 100.percent) } } - lightStep(StepCue.Custom("Bridge")) { + lightStep(StepCue.Custom("Musik: Bridge")) { Tops.both { it.brightness.sine(8.seconds, 20.percent, 100.percent) } BlinderBars.all { it.brightness.fade(40.percent, 10.seconds) @@ -53,7 +53,7 @@ fun SceneBuilderContext.songLucy() { } } - lightStep(StepCue.Custom("Refrain")) { + lightStep(StepCue.Custom("Musik: Refrain")) { BlinderBars.all { it.brightness.fade(25.percent, 3.seconds) } // TODO } @@ -62,15 +62,15 @@ fun SceneBuilderContext.songLucy() { Tops.both { it.brightness.pulseOnce(0.1.seconds, 1.seconds) } } - lightStep(StepCue.Custom("Interludium")) { + lightStep(StepCue.Custom("Musik: Interludium")) { // TODO } - lightStep(StepCue.Custom("Refrain")) { + lightStep(StepCue.Custom("Musik: Refrain")) { // TODO } - lightStep(StepCue.Custom("Schlussschlag")) { + lightStep(StepCue.Custom("Musik: Schlussschlag")) { // TODO backlightBar.brightness.off(2.seconds) Washs.both { it.brightness.pulseOnce(0.1.seconds, 2.seconds) } 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 65b2f4c..c724729 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Mittsommernacht.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Mittsommernacht.kt @@ -13,11 +13,8 @@ import kotlin.time.Duration.Companion.seconds fun SceneBuilderContext.songMittsommernacht() { step(StepCue.MusicStart("Mittsommernacht", 4.minutes + 30.seconds)) { actors { - +"Mina" - +"Lucy" - +"Jonathan" // TODO: Expand - +"Einwohner von Huntington" + +"Einwohner von Huntington / von links & durch Mitte" } curtainState = CurtainState.OPEN @@ -51,7 +48,7 @@ fun SceneBuilderContext.songMittsommernacht() { } } - lightStep(StepCue.Custom("Schlagzeug-Pattern wechselt")) { + lightStep(StepCue.Custom("Musik: Drums-Pattern wechselt")) { BlinderBars.all { it.brightness.fade(25.percent, 1.seconds) it.white.static(0.percent) @@ -60,7 +57,7 @@ fun SceneBuilderContext.songMittsommernacht() { } } - lightStep(StepCue.Custom("Strophe beginnt")) { + lightStep(StepCue.Custom("Musik: Strophe")) { Tops.both { it.brightness.off(2.seconds) } @@ -108,7 +105,7 @@ fun SceneBuilderContext.songMittsommernacht() { } } - lightStep(StepCue.Custom("Refrain")) { + lightStep(StepCue.Custom("Musik: Refrain")) { BlinderBars.all { it.brightness.fade(25.percent, 1.seconds) it.presetSpeed.static(50.percent) @@ -138,9 +135,10 @@ fun SceneBuilderContext.songMittsommernacht() { step(StepCue.Custom("Musik: 1. Hit")) { actors { - +"Dracula" - // TODO: Expand - +"Vampirgirls" + +"Dracula / durch Mitte" + +"Eloïse / durch Mitte" + +"Françoise / durch Mitte" + +"Bernadette / durch Mitte" } onRun { @@ -177,9 +175,9 @@ fun SceneBuilderContext.songMittsommernacht() { Washs.both { it.brightness.fade(100.percent, 3.seconds) } } - step(StepCue.Text("Vampirgirls", "Süße Damen")) { - leftSpotTarget = "Vampirgirls (sprunghaft hin und her)" - rightSpotTarget = "Vampirgirls (sprunghaft hin und her)" + step(StepCue.Text("Vampire", "Süße Damen")) { + leftSpotTarget = "Vampire (sprunghaft hin und her)" + rightSpotTarget = "Vampire (sprunghaft hin und her)" onRun { Spots.left.brightness.static(50.percent) @@ -194,7 +192,7 @@ fun SceneBuilderContext.songMittsommernacht() { } } - step(StepCue.Text("Vampirgirls", "Wir warten auf euch", "Anfang")) { + step(StepCue.Text("Vampire", "Wir warten auf euch", "Anfang")) { rightSpotTarget = null onRun { @@ -208,7 +206,7 @@ fun SceneBuilderContext.songMittsommernacht() { } } - step(StepCue.Text("Vampirgirls", "Schloss Dracula", "Anfang")) { + step(StepCue.Text("Vampire", "Schloss Dracula", "Anfang")) { onRun { Spots.left.brightness.fade(100.percent, 3.seconds) backlightBar.brightness.fade(100.percent, 3.seconds) @@ -220,10 +218,12 @@ fun SceneBuilderContext.songMittsommernacht() { } } - step(StepCue.Text("Vampirgirls", "Schloss Dracula", "Ende")) { + step(StepCue.Text("Vampire", "Schloss Dracula", "Ende")) { actors { -"Dracula" - -"Vampirgirls" + -"Eloïse" + -"Françoise" + -"Bernadette" } leftSpotTarget = null @@ -281,11 +281,13 @@ fun SceneBuilderContext.songMittsommernacht() { step(StepCue.MusicEnd) { actors { -"Einwohner von Huntington" + +"Mina / durch Mitte, mit Koffer & Taschentuch" + +"Lucy / durch Mitte" + +"Jonathan / von links" } onRun { FrontLights.all { it.brightness.fade(50.percent, 3.seconds) } - } } } \ No newline at end of file diff --git a/ui/src/components/StageTopDownView.vue b/ui/src/components/StageTopDownView.vue index 5614294..31cd8f7 100755 --- a/ui/src/components/StageTopDownView.vue +++ b/ui/src/components/StageTopDownView.vue @@ -11,9 +11,9 @@