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 5f4d829..c71d5bb 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/act/Act1.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/act/Act1.kt @@ -400,7 +400,7 @@ fun ShowBuilderContext.act1() = act("1. Akt") { } BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.color.static(Color.WHITE) it.white.static(40.percent) it.brightness.pulseOnce(0.3.seconds, 2.seconds, 100.percent) 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 e781ade..053071c 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/act/Act2.kt @@ -115,7 +115,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { lightStep(StepCue.Custom("Van Helsing zückt das Kreuz (mit Musik)")) { BlinderBars.all { it.brightness.fade(100.percent, 2.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // switching, hectic + it.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) it.presetSpeed.static(100.percent) } @@ -306,7 +306,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { BlinderBars.all { it.brightness.fade(100.percent, 2.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // switching, hectic + it.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) it.presetSpeed.static(100.percent) } } @@ -348,7 +348,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { lightStep(StepCue.Custom("Van Helsing zückt das Kreuz (mit Musik)")) { BlinderBars.all { it.brightness.fade(100.percent, 2.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // switching, hectic + it.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) it.presetSpeed.static(100.percent) } @@ -390,7 +390,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { lightStep(StepCue.Custom("Musik: Einsetzen der Drums")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // chase, back-and-forth, hectic + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) it.presetSpeed.static(40.percent) it.brightness.fade(40.percent, 0.5.seconds) } @@ -487,7 +487,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { 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.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) it.presetSpeed.static(100.percent) } } @@ -528,7 +528,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { } BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.white.static(100.percent) it.color.reset() it.brightness.pulseOnce(0.5.seconds, 10.seconds) @@ -602,7 +602,7 @@ fun ShowBuilderContext.act2() = act("2. Akt") { lightStep(StepCue.Custom("1. Beat")) { BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.white.static(100.percent) it.color.reset() it.brightness.pulseOnce(0.seconds, 0.2.seconds) diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/device/Devices.kt b/src/main/kotlin/de/moritzruth/dracula_musical/device/Devices.kt index 1dba223..70d3956 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/device/Devices.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/device/Devices.kt @@ -34,8 +34,10 @@ object Washs { } object BlinderBars { - val inner = DeviceGroup(StairvilleSplb(DmxAddress(155u)), StairvilleSplb(DmxAddress(178u))) - val outer = DeviceGroup(StairvilleSplb(DmxAddress(201u)), StairvilleSplb(DmxAddress(224u))) + //val inner = DeviceGroup(StairvilleSplb(DmxAddress(155u)), StairvilleSplb(DmxAddress(178u))) + //val outer = DeviceGroup(StairvilleSplb(DmxAddress(201u)), StairvilleSplb(DmxAddress(224u))) + val inner = DeviceGroup(StairvilleTlbButItsSplb(DmxAddress(155u)), StairvilleTlbButItsSplb(DmxAddress(178u))) + val outer = DeviceGroup(StairvilleTlbButItsSplb(DmxAddress(201u)), StairvilleTlbButItsSplb(DmxAddress(224u))) val all = inner + outer } diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/device/StairvilleSplb.kt b/src/main/kotlin/de/moritzruth/dracula_musical/device/StairvilleSplb.kt index a3784fa..d00b311 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/device/StairvilleSplb.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/device/StairvilleSplb.kt @@ -19,13 +19,19 @@ class StairvilleSplb(override val firstChannel: DmxAddress) : Device { val color = ColorDV(Color.WHITE.copy(brightness = 0.percent)) val white = PercentageDV() - val preset = ConcreteDV(null) - val presetSpeed = PercentageDV() + val effect = ConcreteDV(null) + val effectSpeed = PercentageDV() - enum class Preset(channelValue: UByte) { - STUB(16u); - - val channelValue: DmxValue = DmxValue(channelValue) + enum class Effect { + HECTIC_SWITCHING, + THEATRE_SWITCHING, + CHASE_BACK_AND_FORTH, + CHASE_INWARDS, + LAZY_SPARKLES, + VOLATILE_SPARKLES, + BUMP_INWARDS, + FLOW_INWARDS, + FLOW_OUTWARDS; } override val dvs: ImmutableSet> = persistentSetOf( @@ -33,8 +39,8 @@ class StairvilleSplb(override val firstChannel: DmxAddress) : Device { strobeFrequency, color, white, - preset, - presetSpeed + effect, + effectSpeed ) override fun writeDmxData(writer: DmxDataWriter, isLightBehindCurtainOn: Boolean) { @@ -45,18 +51,18 @@ class StairvilleSplb(override val firstChannel: DmxAddress) : Device { else writer.writeRaw(DmxValue(strobeFrequency.ofRange(11.0..255.0).roundToInt().toUByte())) // mode - val preset = preset.getCurrentValue() + val preset = effect.getCurrentValue() if (preset == null) writer.writeRaw(DmxValue(0u)) // mode = RGBW else writer.writeRaw(DmxValue(128u)) // mode = preset writer.writeRaw(DmxValue(0u)) // color preset (not used) if (preset == null) writer.writeRaw(DmxValue(0u)) - else writer.writeRaw(preset.channelValue) + else writer.writeRaw(DmxValue(0u)) writer.writeRaw(DmxValue(0u)) // sound mode preset - writer.writePercentage(presetSpeed.getCurrentValue()) + writer.writePercentage(effectSpeed.getCurrentValue()) val (red, green, blue) = color.getCurrentValue().getRGB() writer.writePercentage(red) diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/device/StairvilleTlbButItsSplb.kt b/src/main/kotlin/de/moritzruth/dracula_musical/device/StairvilleTlbButItsSplb.kt new file mode 100644 index 0000000..af615a7 --- /dev/null +++ b/src/main/kotlin/de/moritzruth/dracula_musical/device/StairvilleTlbButItsSplb.kt @@ -0,0 +1,62 @@ +package de.moritzruth.dracula_musical.device + +import de.moritzruth.dracula_musical.device.StairvilleSplb.Effect +import de.moritzruth.theaterdsl.device.* +import de.moritzruth.theaterdsl.dmx.DmxAddress +import de.moritzruth.theaterdsl.dmx.DmxDataWriter +import de.moritzruth.theaterdsl.dmx.DmxValue +import de.moritzruth.theaterdsl.value.Color +import de.moritzruth.theaterdsl.value.percent +import kotlinx.collections.immutable.ImmutableSet +import kotlinx.collections.immutable.persistentSetOf +import kotlin.math.roundToInt + +class StairvilleTlbButItsSplb(override val firstChannel: DmxAddress) : Device { + override val numberOfChannels: UInt = 27u + + val brightness = PercentageDV() + val strobeFrequency = PercentageDV() + + val color = ColorDV(Color.WHITE.copy(brightness = 0.percent)) + val white = PercentageDV() + + val effect = ConcreteDV(null) + val presetSpeed = PercentageDV() + + override val dvs: ImmutableSet> = persistentSetOf( + brightness, + strobeFrequency, + color, + white, + effect, + presetSpeed + ) + + override fun writeDmxData(writer: DmxDataWriter, isLightBehindCurtainOn: Boolean) { + writer.writePercentage(brightness.getCurrentValue()) + + val strobeFrequency = strobeFrequency.getCurrentValue() + if (strobeFrequency == 0.percent) writer.writeRaw(DmxValue(0u)) + else writer.writeRaw(DmxValue(strobeFrequency.ofRange(11.0..255.0).roundToInt().toUByte())) + + // mode + val preset = effect.getCurrentValue() + if (preset == null) writer.writeRaw(DmxValue(0u)) // mode = RGBW + else writer.writeRaw(DmxValue(128u)) // mode = preset + + writer.writeRaw(DmxValue(0u)) // color preset (not used) + + if (preset == null) writer.writeRaw(DmxValue(0u)) + else writer.writeRaw(preset.dmxValue) + + writer.writeRaw(DmxValue(0u)) // sound mode preset + + writer.writePercentage(presetSpeed.getCurrentValue()) + + val (red, green, blue) = color.getCurrentValue().getRGB() + writer.writePercentage(red) + writer.writePercentage(green) + writer.writePercentage(blue) + writer.writePercentage(white.getCurrentValue()) + } +} \ 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 a604759..ed4d750 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/AdelIstGeil.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/AdelIstGeil.kt @@ -12,7 +12,7 @@ fun SceneBuilderContext.songAdelIstGeil() { lightStep(StepCue.MusicStart("Adel ist geil", 2.minutes + 40.seconds)) { BlinderBars.all { it.brightness.fade(25.percent, 5.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, green + it.effect.static(StairvilleSplb.Effect.LAZY_SPARKLES) it.presetSpeed.static(40.percent) } } diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/DraculasZorn.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/DraculasZorn.kt index cd04347..440bba5 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/DraculasZorn.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/DraculasZorn.kt @@ -27,7 +27,7 @@ fun SceneBuilderContext.songDraculasZorn() { FrontLights.all { it.brightness.pulseOnce(0.2.seconds, 2.seconds, peak = 100.percent, end = 40.percent)} BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, back-and-forth + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) it.presetSpeed.static(75.percent) it.brightness.ramp(1.seconds, 25.percent, 0.percent) } @@ -49,7 +49,7 @@ fun SceneBuilderContext.songDraculasZorn() { BlinderBars.all { it.brightness.fade(10.percent, 1.seconds) it.presetSpeed.static(10.percent) - it.preset.static(StairvilleSplb.Preset.STUB) // red, flowy + it.effect.static(StairvilleSplb.Effect.BUMP_INWARDS) } } } @@ -66,7 +66,7 @@ fun SceneBuilderContext.songDraculasZorn() { BlinderBars.all { it.brightness.fade(25.percent, 1.5.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // blink-y, red + it.effect.static(StairvilleSplb.Effect.LAZY_SPARKLES) it.presetSpeed.fade(25.percent, 1.5.seconds) } } @@ -81,7 +81,7 @@ fun SceneBuilderContext.songDraculasZorn() { backlightBar.pulseFast() BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, back-and-forth + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) // red, chase, back-and-forth it.presetSpeed.fade(75.percent, 1.seconds) } } @@ -95,7 +95,7 @@ fun SceneBuilderContext.songDraculasZorn() { BlinderBars.all { it.brightness.fade(30.percent, 8.seconds) it.presetSpeed.fade(25.percent, 1.5.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // blink-y, red + it.effect.static(StairvilleSplb.Effect.LAZY_SPARKLES) // blink-y, red } } @@ -145,7 +145,7 @@ fun SceneBuilderContext.songDraculasZorn() { } BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, colorful + it.effect.static(StairvilleSplb.Effect.FLOW_INWARDS) it.presetSpeed.static(25.percent) it.brightness.fade(25.percent, 2.seconds) } @@ -195,7 +195,7 @@ fun SceneBuilderContext.songDraculasZorn() { BlinderBars.all { it.brightness.fade(25.percent, 1.seconds) it.presetSpeed.static(50.percent) - it.preset.static(StairvilleSplb.Preset.STUB) // blink-y, red + it.effect.static(StairvilleSplb.Effect.LAZY_SPARKLES) } } @@ -219,7 +219,7 @@ fun SceneBuilderContext.songDraculasZorn() { FrontLights.center { it.brightness.off(3.seconds) } BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.color.static(Color.WHITE) it.brightness.pulseOnce(1.5.seconds, 4.seconds) } @@ -246,7 +246,7 @@ fun SceneBuilderContext.songDraculasZorn() { backlightBar.strobeSpeed.fade(80.percent, 3.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, moving into one direction + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) it.presetSpeed.static(90.percent) it.color.reset() it.brightness.fade(30.percent, 0.5.seconds) @@ -323,7 +323,7 @@ fun SceneBuilderContext.songDraculasZorn() { BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 2.seconds) - it.preset.static(null) + it.effect.static(null) it.white.static(100.percent) } } 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 a4122fa..102745a 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettDraculaMina.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettDraculaMina.kt @@ -32,7 +32,7 @@ fun SceneBuilderContext.songDuettDraculaMina() { lightStep(StepCue.Text("Mina", "Ich kenne dich!", "Anfang")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // flowy, dreamy + it.effect.static(StairvilleSplb.Effect.FLOW_INWARDS) it.presetSpeed.static(10.percent) it.brightness.fade(25.percent, 2.seconds) } diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettMinaJonathan.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettMinaJonathan.kt index 12de2ab..630237c 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettMinaJonathan.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/DuettMinaJonathan.kt @@ -20,7 +20,7 @@ fun SceneBuilderContext.songDuettMinaJonathan() { lightStep(StepCue.Text("Mina", "Ich hab seit gestern…", "Anfang")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy, pink, warm + it.effect.static(StairvilleSplb.Effect.FLOW_INWARDS) // dreamy, flowy, pink, warm it.presetSpeed.static(10.percent) it.brightness.fade(25.percent, 5.seconds) } 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 1a6537d..0e2f2af 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/EsIstAngerichtet.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/EsIstAngerichtet.kt @@ -34,7 +34,7 @@ fun SceneBuilderContext.songEsIstAngerichtet() { Washs.both { it.brightness.pulse(1.6.seconds, 0.1.seconds, 0.3.seconds, startDelay = 0.4.seconds, peak = 100.percent) } BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // red, chase, back-and-forth + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) it.presetSpeed.static(50.percent) it.brightness.fade(10.percent, 10.seconds) } @@ -146,7 +146,7 @@ fun SceneBuilderContext.songEsIstAngerichtet() { lightStep(StepCue.Text("Vampire", "…Essenszeit!", "zweite Silbe")) { BlinderBars.outer { - it.preset.static(null) + it.effect.static(null) it.color.static(Color(hue = 0.degrees)) it.brightness.static(100.percent) } @@ -154,7 +154,7 @@ fun SceneBuilderContext.songEsIstAngerichtet() { lightStep(StepCue.Text("Vampire", "…Essenszeit!", "dritte Silbe")) { BlinderBars.inner { - it.preset.static(null) + it.effect.static(null) it.color.static(Color(hue = 0.degrees)) it.brightness.static(100.percent) } 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 04f234d..b9e2d73 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Finale.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Finale.kt @@ -24,7 +24,7 @@ fun SceneBuilderContext.songFinale() { Spots.right.brightness.fade(100.percent, 5.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // pulsing, dark + it.effect.static(StairvilleSplb.Effect.LAZY_SPARKLES) it.presetSpeed.fade(start = 0.percent, end = 50.percent, duration = 20.seconds) it.brightness.fade(25.percent, 3.seconds) } @@ -49,7 +49,7 @@ fun SceneBuilderContext.songFinale() { FrontLights.center { it.brightness.fade(100.percent, 5.seconds) } BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // warm-white, flowing + it.effect.static(StairvilleSplb.Effect.LAZY_SPARKLES) } } } 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 4c4386c..bc94aae 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/FinaleErsterAkt.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/FinaleErsterAkt.kt @@ -44,7 +44,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.breathe() BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.VOLATILE_SPARKLES) it.presetSpeed.static(50.percent) it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, end = 25.percent) } @@ -55,7 +55,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.RED, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy + it.effect.static(StairvilleSplb.Effect.BUMP_INWARDS) it.presetSpeed.static(50.percent) it.brightness.pulseOnce(0.1.seconds, 0.2.seconds, end = 25.percent) } @@ -66,7 +66,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.1.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) it.presetSpeed.static(50.percent) } } @@ -77,14 +77,14 @@ fun SceneBuilderContext.songFinaleErsterAkt() { BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.2.seconds) - it.preset.static(null) + it.effect.static(null) it.color.static(Color.RED) } } lightStep(StepCue.Text("Dracula", "Ich will diese Frau!", "Anfang")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy + it.effect.static(StairvilleSplb.Effect.BUMP_INWARDS) it.presetSpeed.static(50.percent) it.brightness.fade(25.percent, 0.4.seconds) } @@ -95,7 +95,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) it.presetSpeed.static(50.percent) } } @@ -110,7 +110,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.2.seconds) - it.preset.static(null) + it.effect.static(null) it.color.static(Color.RED) } } @@ -122,7 +122,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) it.presetSpeed.static(50.percent) it.brightness.fade(25.percent, 0.4.seconds) } @@ -134,14 +134,14 @@ fun SceneBuilderContext.songFinaleErsterAkt() { BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.2.seconds) - it.preset.static(null) + it.effect.static(null) it.color.static(Color.RED) } } lightStep(StepCue.Text("Dracula", "Ich sorg für euch!", "Anfang")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy + it.effect.static(StairvilleSplb.Effect.BUMP_INWARDS) it.presetSpeed.static(50.percent) it.brightness.fade(25.percent, 0.4.seconds) } @@ -152,7 +152,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.1.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) it.presetSpeed.static(50.percent) } } @@ -163,14 +163,14 @@ fun SceneBuilderContext.songFinaleErsterAkt() { BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.2.seconds) - it.preset.static(null) + it.effect.static(null) it.color.static(Color.RED) } } lightStep(StepCue.Text("Dracula", "Ihr müsst mir vertrau’n…", "Anfang")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy + it.effect.static(StairvilleSplb.Effect.BUMP_INWARDS) it.presetSpeed.static(50.percent) it.brightness.fade(25.percent, 0.4.seconds) } @@ -183,7 +183,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) it.presetSpeed.static(50.percent) } } @@ -199,14 +199,14 @@ fun SceneBuilderContext.songFinaleErsterAkt() { BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.2.seconds) - it.preset.static(null) + it.effect.static(null) it.color.static(Color.RED) } } lightStep(StepCue.Text("Bernadette", "Das Essen ist weg…", "Anfang")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.VOLATILE_SPARKLES) it.presetSpeed.static(50.percent) it.brightness.fade(25.percent, 0.4.seconds) } @@ -218,14 +218,14 @@ fun SceneBuilderContext.songFinaleErsterAkt() { BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.2.seconds) - it.preset.static(null) + it.effect.static(null) it.color.static(Color.RED) } } lightStep(StepCue.Text("Dracula", "Ich brauche ihn noch!", "Anfang")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy + it.effect.static(StairvilleSplb.Effect.FLOW_INWARDS) it.presetSpeed.static(50.percent) it.brightness.fade(25.percent, 0.4.seconds) } @@ -236,7 +236,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) it.presetSpeed.static(50.percent) } } @@ -246,7 +246,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.RED, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy + it.effect.static(StairvilleSplb.Effect.FLOW_INWARDS) it.presetSpeed.static(50.percent) } } @@ -256,7 +256,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) it.presetSpeed.static(50.percent) } } @@ -266,7 +266,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.RED, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy + it.effect.static(StairvilleSplb.Effect.FLOW_INWARDS) it.presetSpeed.static(50.percent) } } @@ -278,7 +278,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) it.presetSpeed.static(50.percent) } } @@ -288,7 +288,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.RED, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy + it.effect.static(StairvilleSplb.Effect.FLOW_INWARDS) it.presetSpeed.static(50.percent) } } @@ -298,7 +298,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.4.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, bright, jumpy + it.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) it.presetSpeed.static(50.percent) } } @@ -313,7 +313,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.RED, 0.2.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy + it.effect.static(StairvilleSplb.Effect.FLOW_INWARDS) it.presetSpeed.static(70.percent) } } @@ -323,7 +323,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.WHITE, 0.4.seconds) BlinderBars.all { - it.preset.static(null) // hectic, bright, jumpy + it.effect.static(null) it.color.static(Color.RED) it.brightness.pulseOnce(0.1.seconds, 0.3.seconds) } @@ -390,7 +390,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { BlinderBars.all { it.color.reset() - it.preset.static(StairvilleSplb.Preset.STUB) // flowy, dreamy, warm + it.effect.static(StairvilleSplb.Effect.FLOW_INWARDS) it.presetSpeed.static(15.percent) it.brightness.fade(30.percent, 2.seconds) } @@ -416,7 +416,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { lightStep(StepCue.Text("Dracula", "…morgen nacht", "letzte Silbe")) { BlinderBars.all { it.brightness.pulseOnce(0.4.seconds, 0.4.seconds, peak = 60.percent, end = 30.percent) - it.preset.static(StairvilleSplb.Preset.STUB) // switching, theatre-like + it.effect.static(StairvilleSplb.Effect.THEATRE_SWITCHING) it.presetSpeed.static(40.percent) } } @@ -442,7 +442,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { BlinderBars.all { it.brightness.fade(25.percent, 1.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, red + it.effect.static(StairvilleSplb.Effect.BUMP_INWARDS) it.presetSpeed.static(50.percent) } } @@ -467,7 +467,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { lightStep(StepCue.Text("Dracula", "Du musst ein wenig sterben…", "Anfang")) { BlinderBars.all { it.brightness.fade(30.percent, 1.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // switching, theatre-like + it.effect.static(StairvilleSplb.Effect.THEATRE_SWITCHING) it.presetSpeed.static(40.percent) } } @@ -506,7 +506,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { backlightBar.color.fade(Color.RED, 6.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, red + it.effect.static(StairvilleSplb.Effect.BUMP_INWARDS) it.presetSpeed.static(60.percent) it.brightness.fade(40.percent, 3.seconds) } @@ -528,7 +528,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { Washs.both { it.brightness.rampDown(0.8.seconds) } BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // hectic, red + it.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) it.presetSpeed.static(80.percent) it.brightness.fade(60.percent, 5.seconds) } @@ -555,7 +555,7 @@ fun SceneBuilderContext.songFinaleErsterAkt() { sidelight.brightness.pulseOnce(0.2.seconds, 10.seconds) BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.color.static(Color.WHITE) it.white.static(100.percent) it.brightness.pulseOnce(0.2.seconds, 3.seconds) 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 1258c4b..3b70c14 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Irrenhaus.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Irrenhaus.kt @@ -27,7 +27,7 @@ fun SceneBuilderContext.songIrrenhaus() { lightStep(StepCue.Custom("Musik: Fill-in")) { Washs.both { it.brightness.fade(100.percent, 2.seconds) } BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, chaotic + it.effect.static(StairvilleSplb.Effect.VOLATILE_SPARKLES) it.brightness.fade(30.percent, 2.seconds) } @@ -58,7 +58,7 @@ fun SceneBuilderContext.songIrrenhaus() { 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) } BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.white.static(100.percent) it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, 100.percent) } @@ -66,7 +66,7 @@ fun SceneBuilderContext.songIrrenhaus() { lightStep(StepCue.Text("Alle", "Wir sind bescheuert!", "Ende")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, chaotic + it.effect.static(StairvilleSplb.Effect.VOLATILE_SPARKLES) it.brightness.fade(40.percent, 1.seconds) } @@ -78,7 +78,7 @@ fun SceneBuilderContext.songIrrenhaus() { Spots.right.brightness.fade(100.percent, 1.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // flowy, chaotic + it.effect.static(StairvilleSplb.Effect.FLOW_OUTWARDS) it.brightness.fade(25.percent, 1.seconds) } } @@ -115,14 +115,14 @@ fun SceneBuilderContext.songIrrenhaus() { } BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, 100.percent) } } lightStep(StepCue.Text("Alle", "Wir sind bescheuert!", "Ende")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, chaotic + it.effect.static(StairvilleSplb.Effect.VOLATILE_SPARKLES) // jumpy, chaotic it.brightness.fade(40.percent, 1.seconds) } @@ -134,7 +134,7 @@ fun SceneBuilderContext.songIrrenhaus() { Spots.right.brightness.fade(100.percent, 1.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // flowy, chaotic + it.effect.static(StairvilleSplb.Effect.FLOW_OUTWARDS) // flowy, chaotic it.brightness.fade(25.percent, 1.seconds) } } @@ -170,14 +170,14 @@ fun SceneBuilderContext.songIrrenhaus() { } BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, 100.percent) } } lightStep(StepCue.Text("Alle", "Wir sind bescheuert!", "Ende")) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, chaotic + it.effect.static(StairvilleSplb.Effect.VOLATILE_SPARKLES) it.brightness.fade(40.percent, 1.seconds) } @@ -204,7 +204,7 @@ fun SceneBuilderContext.songIrrenhaus() { Tops.both { it.brightness.pulseOnce(0.1.seconds, 2.seconds, 100.percent) } Washs.both { it.brightness.pulseOnce(0.1.seconds, 2.seconds, 100.percent) } BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.color.static(Color.WHITE) it.brightness.pulseOnce(0.1.seconds, 2.seconds, 100.percent) } diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/Kaffeeklatsch.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/Kaffeeklatsch.kt index be36a02..3bc39e2 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Kaffeeklatsch.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Kaffeeklatsch.kt @@ -11,8 +11,8 @@ import kotlin.time.Duration.Companion.seconds fun SceneBuilderContext.songKaffeeklatsch() { step(StepCue.MusicStart("Kaffeeklatsch", 2.minutes + 35.seconds)) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // idk - it.presetSpeed.static(50.percent) + it.effect.static(StairvilleSplb.Effect.VOLATILE_SPARKLES) + it.presetSpeed.static(30.percent) it.brightness.fade(25.percent, 4.seconds) } } 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 edc5bba..6888737 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Lucy.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Lucy.kt @@ -39,7 +39,7 @@ fun SceneBuilderContext.songLucy() { BlinderBars.all { it.brightness.pulseOnce(0.4.seconds, 2.5.seconds, peak = 75.percent) - it.preset.static(null) + it.effect.static(null) it.white.static(100.percent) } } @@ -50,7 +50,7 @@ fun SceneBuilderContext.songLucy() { BlinderBars.all { it.brightness.fade(25.percent, 2.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // warm/red/pink, theatre-like, flowy + it.effect.static(StairvilleSplb.Effect.THEATRE_SWITCHING) // warm/pink it.presetSpeed.static(40.percent) } } @@ -144,7 +144,7 @@ fun SceneBuilderContext.songLucy() { backlightBar.brightness.pulseOnce(0.1.seconds, 2.seconds) BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.white.static(100.percent) it.brightness.pulseOnce(0.1.seconds, 2.seconds, peak = 60.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 a0731f8..92441fa 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Maskenball.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Maskenball.kt @@ -64,7 +64,7 @@ fun SceneBuilderContext.songMaskenball() { Washs.both { it.brightness.fade(100.percent, 1.seconds) } BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // theatre-like, warm + it.effect.static(StairvilleSplb.Effect.THEATRE_SWITCHING) // warm it.presetSpeed.static(40.percent) it.brightness.fade(25.percent, 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 ca32091..2c5d89e 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/Mittsommernacht.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/Mittsommernacht.kt @@ -45,14 +45,14 @@ fun SceneBuilderContext.songMittsommernacht() { it.brightness.fade(25.percent, 1.seconds) it.white.static(0.percent) it.presetSpeed.static(20.percent) - it.preset.static(StairvilleSplb.Preset.STUB) // flowy, warm + it.effect.static(StairvilleSplb.Effect.FLOW_OUTWARDS) } } lightStep(StepCue.Text("Alle", "Heute sind die Gespenster los…", "Anfang")) { BlinderBars.all { it.presetSpeed.static(50.percent) - it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, warm + it.effect.static(StairvilleSplb.Effect.LAZY_SPARKLES) } } @@ -73,7 +73,7 @@ fun SceneBuilderContext.songMittsommernacht() { BlinderBars.all { it.brightness.off(1.seconds) it.presetSpeed.static(5.percent) - it.preset.static(StairvilleSplb.Preset.STUB) // back-and-forth + it.effect.static(StairvilleSplb.Effect.CHASE_BACK_AND_FORTH) } } } @@ -109,7 +109,7 @@ fun SceneBuilderContext.songMittsommernacht() { BlinderBars.all { it.brightness.fade(25.percent, 1.seconds) it.presetSpeed.static(50.percent) - it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, warm + it.effect.static(StairvilleSplb.Effect.THEATRE_SWITCHING) } } @@ -117,7 +117,7 @@ fun SceneBuilderContext.songMittsommernacht() { BlinderBars.all { it.brightness.fade(start = 40.percent, end = 0.percent, duration = 5.seconds) it.white.static(100.percent) - it.preset.static(null) + it.effect.static(null) } backlightBar.color.static(Color(hue = 40.degrees, saturation = 50.percent)) @@ -180,7 +180,7 @@ fun SceneBuilderContext.songMittsommernacht() { BlinderBars.all { it.color.reset() it.brightness.fade(25.percent, 1.seconds) - it.preset.static(StairvilleSplb.Preset.STUB) // chase, red + it.effect.static(StairvilleSplb.Effect.CHASE_INWARDS) it.presetSpeed.static(80.percent) } } @@ -244,8 +244,8 @@ fun SceneBuilderContext.songMittsommernacht() { BlinderBars.all { it.brightness.fade(30.percent, 3.seconds) - it.presetSpeed.static(20.percent) - it.preset.static(StairvilleSplb.Preset.STUB) // flowy, warm + it.presetSpeed.static(10.percent) + it.effect.static(StairvilleSplb.Effect.HECTIC_SWITCHING) } } @@ -263,7 +263,7 @@ fun SceneBuilderContext.songMittsommernacht() { lightStep(StepCue.Custom("Musik: 2. Hit")) { BlinderBars.all { it.white.static(100.percent) - it.preset.static(null) + it.effect.static(null) it.brightness.pulseOnce(0.2.seconds, 2.seconds, 100.percent) } diff --git a/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseDuett.kt b/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseDuett.kt index 879534e..b43e249 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseDuett.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseDuett.kt @@ -20,7 +20,7 @@ fun SceneBuilderContext.songRepriseDuett() { } BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy, pink, warm + it.effect.static(StairvilleSplb.Effect.FLOW_OUTWARDS) // pink/warm it.presetSpeed.static(10.percent) it.brightness.fade(25.percent, 5.seconds) } 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 ea1b53c..6184495 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseMaskenball.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/RepriseMaskenball.kt @@ -38,7 +38,7 @@ fun SceneBuilderContext.songRepriseMaskenball() { backlightBar.brightness.fade(50.percent, 3.seconds) BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // theatre-like, warm + it.effect.static(StairvilleSplb.Effect.THEATRE_SWITCHING) it.presetSpeed.static(40.percent) it.brightness.fade(25.percent, 2.seconds) } 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 09087b0..4f8111c 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/StreitDerVampire.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/StreitDerVampire.kt @@ -12,7 +12,7 @@ import kotlin.time.Duration.Companion.seconds fun SceneBuilderContext.songStreitDerVampire() { lightStep(StepCue.MusicStart("Streit der Vampire", 1.minutes + 40.seconds)) { BlinderBars.all { - it.preset.static(StairvilleSplb.Preset.STUB) // chase, single direction + it.effect.static(StairvilleSplb.Effect.CHASE_INWARDS) it.presetSpeed.static(40.percent) it.brightness.fade(25.percent, 1.seconds) } 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 0a899e0..503c531 100644 --- a/src/main/kotlin/de/moritzruth/dracula_musical/song/VanHelsing.kt +++ b/src/main/kotlin/de/moritzruth/dracula_musical/song/VanHelsing.kt @@ -45,7 +45,7 @@ fun SceneBuilderContext.songVanHelsing() { lightStep(StepCue.Custom("Musik: Beat nach »Kreatur des Bösen«")) { BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.color.reset() it.white.static(100.percent) it.brightness.pulseOnce(0.1.seconds, 0.3.seconds) @@ -73,7 +73,7 @@ fun SceneBuilderContext.songVanHelsing() { lightStep(StepCue.Custom("Musik: Beat nach »Meute«")) { BlinderBars.all { - it.preset.static(null) + it.effect.static(null) it.color.reset() it.white.static(100.percent) it.brightness.pulseOnce(0.1.seconds, 0.3.seconds)