diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/act/First.kt b/src/main/kotlin/de/moritzruth/lampenfieber/act/First.kt index 807b8e0..9b866e3 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/act/First.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/act/First.kt @@ -119,8 +119,9 @@ fun ShowBuilderContext.firstAct() = act("Erster Akt") { curtainState = CurtainState.OPEN onRun { - FrontLights.center.forEach { it.brightness.fade(75.percent, 10.seconds) } - Washs.both.forEach { + FrontLights.center { it.brightness.fade(75.percent, 10.seconds) } + + Washs.both { it.pointAtStageCenter() it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White) } @@ -148,12 +149,22 @@ fun ShowBuilderContext.firstAct() = act("Erster Akt") { } } - lightStep(StepCue.Custom("T5 S2")) { - Washs.both.forEach { - it.brightness.fade(100.percent, 200.milliseconds) - it.beamAngle.sine(3.seconds, 0.percent, 100.percent) - sideLight.brightness.fade(25.percent, 5.seconds) - } + lightStep(StepCue.Custom("Strophe")) { + Washs.both { it.brightness.fade(100.percent, 200.milliseconds) } + + sideLight.brightness.fade(25.percent, 5.seconds) + } + + lightStep(StepCue.Custom("Zwischenspiel")) { + Washs.both.forEach { it.brightness.off(200.milliseconds) } + + sideLight.brightness.off(1.seconds) + } + + lightStep(StepCue.Custom("Strophe")) { + Washs.both { it.brightness.fade(100.percent, 200.milliseconds) } + + sideLight.brightness.fade(25.percent, 1.seconds) } lightStep(StepCue.Custom("Schlussschlag")) { @@ -229,28 +240,32 @@ fun ShowBuilderContext.firstAct() = act("Erster Akt") { scene("Szene 3") { step(StepCue.Custom("Auftritt im Mittelgang")) { actors { - +"Tina / durch den Mittelgang" - +"Maria / durch den Mittelgang" - +"Heike / durch den Mittelgang" - +"Sven / durch den Mittelgang" - +"Sandra / durch den Mittelgang" - +"Eva / durch den Mittelgang" + +"Tina / durch einen Gang" + +"Maria / durch einen Gang" + +"Heike / durch einen Gang" + +"Sven / durch einen Gang" + +"Sandra / durch einen Gang" + +"Eva / durch einen Gang" +"Kathi / von der Bühne" +"Paula / steht rechts" } - leftSpotTarget = "die Gruppe im Mittelgang" + leftSpotTarget = "die Gruppe im linken Gang" + rightSpotTarget = "die Gruppe im rechten Gang" onRun { spotLeft.brightness.fade(100.percent, 5.seconds) + spotRight.brightness.fade(100.percent, 5.seconds) } } step(StepCue.Custom("Bühne erreicht")) { leftSpotTarget = null + rightSpotTarget = null onRun { spotLeft.brightness.off(8.seconds) + spotRight.brightness.off(8.seconds) FrontLights.all.forEach { it.brightness.fade(50.percent, 10.seconds) } } } diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/act/Fourth.kt b/src/main/kotlin/de/moritzruth/lampenfieber/act/Fourth.kt index 2e8c798..b21978a 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/act/Fourth.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/act/Fourth.kt @@ -33,11 +33,9 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { Washs.both { it.pointAtBathroomObjects() it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White) + it.magenta.static(100.percent) it.beamAngle.static(100.percent) } - - Washs.left.cyan.static(100.percent) - Washs.right.magenta.static(100.percent) } step(StepCue.MusicEnd) { @@ -55,6 +53,12 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { } } + lightStep(StepCue.Text("Sandra", "Das reicht nicht.")) { + val duration = 2.seconds + Washs.left.cyan.fade(0.percent, duration) + Washs.left.magenta.fade(100.percent, duration) + } + step(StepCue.Text("Tina", "was ich anziehen soll.")) { actors { +"Manuel / von rechts" @@ -66,6 +70,15 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { -"Manuel / nach rechts" +"Bianca / von links" } + + onRun { + val duration = 2.seconds + Washs.left.cyan.fade(100.percent, duration) + Washs.left.magenta.fade(0.percent, duration) + + Washs.right.cyan.fade(0.percent, duration) + Washs.right.magenta.fade(100.percent, duration) + } } step(StepCue.Text("Bianca", "Ich verzieh mich ja schon.")) { @@ -314,7 +327,7 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { onRun { spotRight.brightness.fade(50.percent, 10.seconds) - bar.color.static(Color(300.degrees)) + bar.color.static(Color(300.degrees, 70.percent)) // TODO: Sättigung testen bar.brightness.fade(10.percent, 10.seconds) Washs.both.forEach { @@ -612,7 +625,7 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { // 1:25 lightStep(StepCue.Custom("Becken")) { - Washs.both { it.brightness.off(1.seconds) } + Washs.both { it.brightness.off(3.seconds) } } // 1:35 @@ -630,16 +643,14 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { Tops.both { it.startRoomMovement(5.0) - it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(30.percent)) + it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(10.percent)) it.prismMode.static(FuturelightDmh160.PrismMode.FROST) - it.prismRotationSpeed.static(100.percent) } Washs.both { it.colorWheelMode.static(CoemarProWash.ColorWheelMode.Rotate(50.percent)) } } - // 2:23 - lightStep(StepCue.Text("Paula", "Gemeinsam")) { + lightStep(StepCue.Custom("Verbeugung")) { Tops.both { it.brightness.fade(100.percent, 2.seconds) } Washs.both { it.brightness.fade(100.percent, 2.seconds) } } diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/act/Third.kt b/src/main/kotlin/de/moritzruth/lampenfieber/act/Third.kt index 1bcace8..88c930d 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/act/Third.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/act/Third.kt @@ -296,33 +296,23 @@ fun ShowBuilderContext.thirdAct() = act("Dritter Akt") { step(StepCue.MusicStart("Aus dem Schatten treten II", 10.minutes)) { actors { - -"Maria" -"Kathi" -"David" } - onRun { - FrontLights.all.forEach { it.brightness.fade(0.percent, 20.seconds) } - - sideLight.colors.forEach { it.static(Color(240.degrees)) } - sideLight.brightness.fade(start = 0.percent, end = 100.percent, duration = 30.seconds) - } - } - - step(StepCue.Custom("Maria tritt auf")) { - actors { - +"Maria / von rechts" - } - rightSpotTarget = "Maria" onRun { - spotRight.brightness.fade(50.percent, 2.seconds) + FrontLights.all.forEach { it.brightness.fade(0.percent, 20.seconds) } + + spotRight.brightness.fade(50.percent, 10.seconds) + + sideLight.colors.forEach { it.static(Color(240.degrees)) } + sideLight.brightness.fade(start = 0.percent, end = 100.percent, duration = 30.seconds) Tops.both.forEach { it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.DarkBlue) it.prismMode.static(FuturelightDmh160.PrismMode.FROST) - it.prismRotationSpeed.static(20.percent) it.startRoomMovement(8.0) } } @@ -337,9 +327,9 @@ fun ShowBuilderContext.thirdAct() = act("Dritter Akt") { onRun { spotLeft.brightness.fade(50.percent, 2.seconds) + sideLight.colors.forEach { it.fade(Color(185.degrees), 30.seconds) } Tops.both.forEach { it.brightness.fade(100.percent, 30.seconds) } - sideLight.colors.forEach { it.fade(Color(185.degrees), 30.seconds) } } } diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/device/CoemarProWash.kt b/src/main/kotlin/de/moritzruth/lampenfieber/device/CoemarProWash.kt index bdddec7..1787a86 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/device/CoemarProWash.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/device/CoemarProWash.kt @@ -96,12 +96,12 @@ class CoemarProWash(override val firstChannel: DmxAddress, private val isRight: } fun pointAtCeiling(fadeDuration: Duration = Duration.ZERO) { - pan.fade(if (isRight) 300.degrees else 60.degrees, fadeDuration) + pan.fade(if (isRight) 300.degrees else 400.degrees, fadeDuration) // TODO: Fade von guests aus testen, soll über die Wand gehen tilt.fade(120.degrees, fadeDuration) } fun pointAtGuests() { - pan.static(360.degrees) // TODO: Testen 0 == 360 + pan.static(360.degrees) tilt.static(240.degrees) } } \ No newline at end of file diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/device/StairvilleClb4.kt b/src/main/kotlin/de/moritzruth/lampenfieber/device/StairvilleClb4.kt index 1c20f80..f636a91 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/device/StairvilleClb4.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/device/StairvilleClb4.kt @@ -66,19 +66,19 @@ class StairvilleClb4(override val firstChannel: DmxAddress) : Device { *colors.toTypedArray() ) + private val classroomColor = Color(40.degrees, saturation = 90.percent, brightness = 100.percent) + fun fadeColorsToClassroomFromDarkness(duration: Duration) { - sideLight.colors.forEach { it.static(Color(50.degrees, brightness = 0.percent)) } + sideLight.colors.forEach { it.static(classroomColor.copy(brightness = 0.percent)) } fadeColorsToClassroom(duration) } fun fadeColorsToClassroom(duration: Duration) { sideLight.color1.fade(color1.getCurrentValue().copy(brightness = 0.percent), duration) - val color = Color(40.degrees, saturation = 90.percent, brightness = 100.percent) - - sideLight.color2.fade(color, duration = duration) - sideLight.color3.fade(color, duration = duration) - sideLight.color4.fade(color, duration = duration) + sideLight.color2.fade(classroomColor, duration = duration) + sideLight.color3.fade(classroomColor, duration = duration) + sideLight.color4.fade(classroomColor, duration = duration) } context(CoroutineScope) diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/song/Richy.kt b/src/main/kotlin/de/moritzruth/lampenfieber/song/Richy.kt index 343ba64..cc87e6b 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/song/Richy.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/song/Richy.kt @@ -26,7 +26,7 @@ fun SceneBuilderContext.songRichy() { it.brightness.fade(100.percent, 10.seconds) } - FrontLights.all { it.brightness.fade(25.percent, 15.seconds) } + FrontLights.all { it.brightness.fade(40.percent, 15.seconds) } } } @@ -124,7 +124,7 @@ fun SceneBuilderContext.songRichy() { lightStep(StepCue.Custom("2. Breakdown am Ende")) { bar.brightness.fade(100.percent, 200.milliseconds) - bar.color.fade(Color(0.degrees), 200.milliseconds) + bar.color.fade(Color(0.degrees, saturation = 80.percent), 5.seconds) FrontLights.all { it.brightness.off() } Washs.both { it.brightness.off(200.milliseconds) } diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/song/SchauMichMit.kt b/src/main/kotlin/de/moritzruth/lampenfieber/song/SchauMichMit.kt index d61550e..3983268 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/song/SchauMichMit.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/song/SchauMichMit.kt @@ -21,8 +21,17 @@ fun SceneBuilderContext.songSchauMichMit() { onRun { sideLight.moveColorsPinkAndBlue() - Washs.left.brightness.switch(0.percent, 100.percent, 1.seconds, false) - Washs.right.brightness.switch(100.percent, 0.percent, 1.seconds, false) + Washs.left.run { + brightness.switch(0.percent, 100.percent, 1.seconds, false) + magenta.sine(5.seconds, start = 100.percent) + cyan.sine(10.seconds, start = 100.percent) + } + + Washs.right.run { + brightness.switch(100.percent, 0.percent, 1.seconds, false) + magenta.sine(5.seconds, start = 0.percent) + cyan.sine(10.seconds, start = 0.percent) + } Tops.both { it.brightness.fade(100.percent, 1.seconds) } FrontLights.all { it.brightness.fade(40.percent, 10.seconds) }