diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/act/Fourth.kt b/src/main/kotlin/de/moritzruth/lampenfieber/act/Fourth.kt index a0e85b7..2e8c798 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/act/Fourth.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/act/Fourth.kt @@ -20,24 +20,17 @@ import kotlin.time.Duration.Companion.seconds fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { scene("Szene 1") { + lightStep(StepCue.Custom("Pause")) {} + lightStep(StepCue.MusicStart("Ende der Pause", 10.minutes)) { val sideColor = Color(60.degrees, saturation = 20.percent) sideLight.color1.static(sideColor) sideLight.color2.static(sideColor) sideLight.color3.static(Color.BLACK) sideLight.color4.static(Color.BLACK) - sideLight.brightness.static(40.percent) - - // für später - Tops.both { - it.startRoomMovement(10.0) - it.prismMode.static(FuturelightDmh160.PrismMode.FACETS_8) - it.prismRotationSpeed.static(20.percent) - it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Yellow) - } + sideLight.brightness.off() Washs.both { - it.brightness.static(100.percent) it.pointAtBathroomObjects() it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White) it.beamAngle.static(100.percent) @@ -56,7 +49,9 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { curtainState = CurtainState.OPEN onRun { - sideLight.brightness.fade(100.percent, 8.seconds) + val duration = 8.seconds + sideLight.brightness.fade(100.percent, duration) + Washs.both { it.brightness.fade(100.percent, duration) } } } @@ -77,6 +72,16 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { actors { -"Bianca / nach rechts" } + + onRun { + // für den Song + Tops.both { + it.startRoomMovement(10.0) + it.prismMode.static(FuturelightDmh160.PrismMode.FACETS_8) + it.prismRotationSpeed.static(20.percent) + it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Yellow) + } + } } songSchauMichMit() @@ -211,7 +216,7 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { bar.color.static(Color(50.degrees, saturation = 50.percent)) bar.brightness.sine(6.seconds, minimum = 80.percent, maximum = 100.percent) - sideLight.brightness.fade(50.percent, 8.seconds) + sideLight.brightness.fade(100.percent, 8.seconds) sideLight.fadeColorsToClassroomFromDarkness(Duration.ZERO) } } @@ -436,7 +441,10 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") { rightSpotTarget = null onRun { - spotRight.brightness.off() + spotRight.brightness.off(5.seconds) + Washs.both { + it.brightness.off(5.seconds) + } } } } diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/act/Third.kt b/src/main/kotlin/de/moritzruth/lampenfieber/act/Third.kt index 1e3a66f..02125e3 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/act/Third.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/act/Third.kt @@ -3,6 +3,7 @@ package de.moritzruth.lampenfieber.act import de.moritzruth.lampenfieber.PropConfigurations import de.moritzruth.lampenfieber.device.* import de.moritzruth.lampenfieber.song.songRopeSkippingTanz +import de.moritzruth.theaterdsl.device.reset import de.moritzruth.theaterdsl.show.CurtainState import de.moritzruth.theaterdsl.show.ShowBuilderContext import de.moritzruth.theaterdsl.show.StepCue @@ -361,6 +362,10 @@ fun ShowBuilderContext.thirdAct() = act("Dritter Akt") { leftSpotTarget = null curtainState = CurtainState.CLOSED + + onRun { + Tops.both { it.reset() } + } } } } \ No newline at end of file diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/device/Devices.kt b/src/main/kotlin/de/moritzruth/lampenfieber/device/Devices.kt index dd51c3c..55be9da 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/device/Devices.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/device/Devices.kt @@ -5,7 +5,8 @@ import de.moritzruth.theaterdsl.dmx.DmxAddress import kotlinx.collections.immutable.persistentSetOf object FrontLights { - val left = DeviceGroup(SimpleDimmer(DmxAddress(1u)), SimpleDimmer(DmxAddress(2u))) +// val left = DeviceGroup(SimpleDimmer(DmxAddress(1u)), SimpleDimmer(DmxAddress(2u))) + val left = DeviceGroup(SimpleDimmer(DmxAddress(2u))) val center = DeviceGroup(SimpleDimmer(DmxAddress(4u)), SimpleDimmer(DmxAddress(5u))) val right = DeviceGroup(SimpleDimmer(DmxAddress(7u)), SimpleDimmer(DmxAddress(8u))) val all = left + center + right diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/device/StairvilleClb4.kt b/src/main/kotlin/de/moritzruth/lampenfieber/device/StairvilleClb4.kt index 436bd7a..1c20f80 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/device/StairvilleClb4.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/device/StairvilleClb4.kt @@ -24,7 +24,7 @@ class StairvilleClb4(override val firstChannel: DmxAddress) : Device { override fun writeDmxData(writer: DmxDataWriter, isLightBehindCurtainOn: Boolean) { if (isLightBehindCurtainOn) { - repeat(3) { + repeat(2) { writer.writeRaw(DmxValue(255u)) writer.writeRaw(DmxValue(255u)) writer.writeRaw(DmxValue(255u)) @@ -74,7 +74,7 @@ class StairvilleClb4(override val firstChannel: DmxAddress) : Device { fun fadeColorsToClassroom(duration: Duration) { sideLight.color1.fade(color1.getCurrentValue().copy(brightness = 0.percent), duration) - val color = Color(45.degrees, saturation = 90.percent, brightness = 100.percent) + val color = Color(40.degrees, saturation = 90.percent, brightness = 100.percent) sideLight.color2.fade(color, duration = duration) sideLight.color3.fade(color, duration = duration) diff --git a/src/main/kotlin/de/moritzruth/lampenfieber/song/SchauMichMit.kt b/src/main/kotlin/de/moritzruth/lampenfieber/song/SchauMichMit.kt index 36d88b3..d61550e 100644 --- a/src/main/kotlin/de/moritzruth/lampenfieber/song/SchauMichMit.kt +++ b/src/main/kotlin/de/moritzruth/lampenfieber/song/SchauMichMit.kt @@ -25,6 +25,7 @@ fun SceneBuilderContext.songSchauMichMit() { Washs.right.brightness.switch(100.percent, 0.percent, 1.seconds, false) Tops.both { it.brightness.fade(100.percent, 1.seconds) } + FrontLights.all { it.brightness.fade(40.percent, 10.seconds) } } } @@ -47,7 +48,7 @@ fun SceneBuilderContext.songSchauMichMit() { sideLight.colors.forEach { launch { val downDuration = 1000.milliseconds - val upDuration = 400.milliseconds + val upDuration = 500.milliseconds while (isActive) { delay(Random.nextInt(0, 3000).milliseconds) @@ -63,7 +64,7 @@ fun SceneBuilderContext.songSchauMichMit() { } lightStep(StepCue.Custom("Strophe (mit dem ersten Wort)")) { - val interval = 750.milliseconds + val interval = 800.milliseconds bar.brightness.switch(0.percent, 100.percent, interval, false) @@ -98,16 +99,18 @@ fun SceneBuilderContext.songSchauMichMit() { } } + lightStep(StepCue.Custom("Steigerung zum Schlussschlag")) { + FrontLights.all { it.brightness.off() } + } + // 3:36 lightStep(StepCue.Custom("Schlussschlag")) { - val upDuration = 200.milliseconds - val downDuration = 2.seconds + spotRight.brightness.fade(start = 100.percent, end = 0.percent, duration = 5.seconds) + sideLight.brightness.off(2.seconds) + bar.brightness.off(200.milliseconds) - spotRight.brightness.pulseOnce(upDuration, downDuration) - sideLight.brightness.off(downDuration) - bar.brightness.off(upDuration) - - Tops.both { it.brightness.off(upDuration) } + Tops.both { it.brightness.off(200.milliseconds) } + Washs.both { it.strobeSpeed.off() } } step(StepCue.MusicEnd) { diff --git a/ui/src/pages/microphones.vue b/ui/src/pages/microphones.vue index 50d4208..7ea718c 100755 --- a/ui/src/pages/microphones.vue +++ b/ui/src/pages/microphones.vue @@ -8,6 +8,7 @@