commit 83
This commit is contained in:
parent
890abb5600
commit
72363fcf5e
21 changed files with 121 additions and 110 deletions
|
@ -9,11 +9,12 @@ import de.moritzruth.theaterdsl.show.StepCue
|
||||||
import de.moritzruth.theaterdsl.value.Color
|
import de.moritzruth.theaterdsl.value.Color
|
||||||
import de.moritzruth.theaterdsl.value.degrees
|
import de.moritzruth.theaterdsl.value.degrees
|
||||||
import de.moritzruth.theaterdsl.value.percent
|
import de.moritzruth.theaterdsl.value.percent
|
||||||
|
import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun ShowBuilderContext.act1() = act("1. Akt") {
|
fun ShowBuilderContext.act1() = act("1. Akt") {
|
||||||
scene("Ouvertüre [4]") {
|
scene("Ouvertüre [4]") {
|
||||||
step(StepCue.MusicStart("Ouvertüre", 10.seconds)) {
|
step(StepCue.MusicStart("Ouvertüre", 1.minutes)) {
|
||||||
curtainState = CurtainState.CLOSED
|
curtainState = CurtainState.CLOSED
|
||||||
|
|
||||||
props {
|
props {
|
||||||
|
@ -96,12 +97,19 @@ fun ShowBuilderContext.act1() = act("1. Akt") {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
step(StepCue.MusicStart("Umbau (Adel ist geil)", 10.seconds)) {
|
step(StepCue.MusicStart("Umbau (Adel ist geil)", 1.minutes + 30.seconds)) {
|
||||||
actors {
|
actors {
|
||||||
-"Hawkins / durch Mitte"
|
-"Hawkins / durch Mitte"
|
||||||
-"Sekretärinnen / durch Mitte"
|
-"Sekretärinnen / durch Mitte"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
curtainState = CurtainState.CLOSED
|
||||||
|
|
||||||
|
props {
|
||||||
|
it[PropPosition.BACKDROP] = "Irrenanstalt"
|
||||||
|
it[PropPosition.CENTER] = "Medikamenten-Schrank"
|
||||||
|
}
|
||||||
|
|
||||||
onRun {
|
onRun {
|
||||||
FrontLights.all { it.brightness.off(6.seconds) }
|
FrontLights.all { it.brightness.off(6.seconds) }
|
||||||
sidelight.brightness.off(6.seconds)
|
sidelight.brightness.off(6.seconds)
|
||||||
|
@ -286,7 +294,7 @@ fun ShowBuilderContext.act1() = act("1. Akt") {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
step(StepCue.MusicStart("Umbau (Duett)", 10.seconds)) {}
|
step(StepCue.MusicStart("Umbau (Duett)", 1.minutes + 35.seconds)) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
scene("Kaffeeklatsch [24]") {
|
scene("Kaffeeklatsch [24]") {
|
||||||
|
|
|
@ -8,14 +8,14 @@ import de.moritzruth.theaterdsl.dmx.DmxValue
|
||||||
import kotlinx.collections.immutable.persistentSetOf
|
import kotlinx.collections.immutable.persistentSetOf
|
||||||
|
|
||||||
class AdjFogFury3000(override val firstChannel: DmxAddress) : Device {
|
class AdjFogFury3000(override val firstChannel: DmxAddress) : Device {
|
||||||
override val numberOfChannels = 4u
|
override val numberOfChannels = 3u
|
||||||
|
|
||||||
val power = PercentageDV()
|
val power = PercentageDV()
|
||||||
|
|
||||||
override val dvs = persistentSetOf(power)
|
override val dvs = persistentSetOf(power)
|
||||||
override fun writeDmxData(writer: DmxDataWriter, isLightBehindCurtainOn: Boolean) {
|
override fun writeDmxData(writer: DmxDataWriter, isLightBehindCurtainOn: Boolean) {
|
||||||
writer.writePercentage(power.getCurrentValue())
|
writer.writePercentage(power.getCurrentValue())
|
||||||
writer.writeRaw(DmxValue(255u)) // interval (ignored)
|
writer.writeRaw(DmxValue(0u)) // interval (ignored)
|
||||||
writer.writeRaw(DmxValue(255u)) // duration = constant
|
writer.writeRaw(DmxValue(255u)) // duration = constant
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -84,6 +84,7 @@ class CoemarProWash(override val firstChannel: DmxAddress, private val invertAng
|
||||||
writer.writeLowByte(pan)
|
writer.writeLowByte(pan)
|
||||||
writer.writeLowByte(tilt)
|
writer.writeLowByte(tilt)
|
||||||
writer.writeRaw(DmxValue(0u)) // pan/tilt speed = maximum
|
writer.writeRaw(DmxValue(0u)) // pan/tilt speed = maximum
|
||||||
|
// TODO: Turn off lamp when not in use
|
||||||
writer.writeRaw(DmxValue(255u)) // fan speed and lamp control = no function
|
writer.writeRaw(DmxValue(255u)) // fan speed and lamp control = no function
|
||||||
writer.writeRaw(colorWheelMode.getCurrentValue().getDmxValue())
|
writer.writeRaw(colorWheelMode.getCurrentValue().getDmxValue())
|
||||||
writer.writePercentage(cyan.getCurrentValue())
|
writer.writePercentage(cyan.getCurrentValue())
|
||||||
|
@ -92,6 +93,7 @@ class CoemarProWash(override val firstChannel: DmxAddress, private val invertAng
|
||||||
writer.writeRaw(DmxValue(0u)) // dimmer and color speed = maximum
|
writer.writeRaw(DmxValue(0u)) // dimmer and color speed = maximum
|
||||||
writer.writeRaw(DmxValue(0u)) // colour macro = off
|
writer.writeRaw(DmxValue(0u)) // colour macro = off
|
||||||
|
|
||||||
|
// TODO: Fix
|
||||||
// writer.writeRaw(DmxValue((beamAngle.getCurrentValue().value * 54 + 125).roundToInt().toUByte()))
|
// writer.writeRaw(DmxValue((beamAngle.getCurrentValue().value * 54 + 125).roundToInt().toUByte()))
|
||||||
writer.writeRaw(DmxValue(0u))
|
writer.writeRaw(DmxValue(0u))
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,6 @@ package de.moritzruth.dracula_musical.song
|
||||||
|
|
||||||
import de.moritzruth.dracula_musical.device.BlinderBars
|
import de.moritzruth.dracula_musical.device.BlinderBars
|
||||||
import de.moritzruth.dracula_musical.device.StairvilleSplb
|
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.SceneBuilderContext
|
||||||
import de.moritzruth.theaterdsl.show.StepCue
|
import de.moritzruth.theaterdsl.show.StepCue
|
||||||
import de.moritzruth.theaterdsl.value.percent
|
import de.moritzruth.theaterdsl.value.percent
|
||||||
|
@ -11,22 +9,11 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songAdelIstGeil() {
|
fun SceneBuilderContext.songAdelIstGeil() {
|
||||||
// TODO
|
lightStep(StepCue.MusicStart("Adel ist geil", 2.minutes + 40.seconds)) {
|
||||||
|
BlinderBars.all {
|
||||||
step(StepCue.MusicStart("Adel ist geil", 2.minutes + 15.seconds)) {
|
it.brightness.fade(25.percent, 5.seconds)
|
||||||
curtainState = CurtainState.CLOSED
|
it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, green
|
||||||
|
it.presetSpeed.static(40.percent)
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ private fun StairvilleTlb.pulseSlow() = brightness.pulse(1.5.seconds, 0.15.secon
|
||||||
private fun StairvilleTlb.pulseFast() = brightness.pulse(0.5.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 100.percent)
|
private fun StairvilleTlb.pulseFast() = brightness.pulse(0.5.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 100.percent)
|
||||||
|
|
||||||
fun SceneBuilderContext.songDraculasZorn() {
|
fun SceneBuilderContext.songDraculasZorn() {
|
||||||
step(StepCue.MusicStart("Draculas Zorn", 3.minutes + 50.seconds)) {
|
step(StepCue.MusicStart("Draculas Zorn", 4.minutes + 30.seconds)) {
|
||||||
actors {
|
actors {
|
||||||
+"Dracula / durchs Publikum"
|
+"Dracula / durchs Publikum"
|
||||||
}
|
}
|
||||||
|
@ -162,7 +162,7 @@ fun SceneBuilderContext.songDraculasZorn() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Einsetzen der E-Gitarre")) {
|
lightStep(StepCue.Custom("Musik: Tiefer Ton nach »brav«")) {
|
||||||
backlightBar.color.fade(Color(hue = 0.degrees, saturation = 100.percent), 2.seconds)
|
backlightBar.color.fade(Color(hue = 0.degrees, saturation = 100.percent), 2.seconds)
|
||||||
backlightBar.brightness.fade(75.percent, 2.seconds)
|
backlightBar.brightness.fade(75.percent, 2.seconds)
|
||||||
|
|
||||||
|
@ -217,14 +217,14 @@ fun SceneBuilderContext.songDraculasZorn() {
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Fill-in")) {
|
lightStep(StepCue.Custom("Musik: Fill-in")) {
|
||||||
FrontLights.all { it.brightness.off(2.seconds) }
|
FrontLights.all { it.brightness.off(3.seconds) }
|
||||||
|
|
||||||
sidelight.brightness.off(3.seconds)
|
sidelight.brightness.off(4.seconds)
|
||||||
|
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.preset.static(null)
|
it.preset.static(null)
|
||||||
it.color.static(Color.WHITE)
|
it.color.static(Color.WHITE)
|
||||||
it.brightness.pulseOnce(1.5.seconds, 3.seconds)
|
it.brightness.pulseOnce(1.5.seconds, 4.seconds)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,7 +245,7 @@ fun SceneBuilderContext.songDraculasZorn() {
|
||||||
Washs.both { it.brightness.fade(100.percent, 2.seconds) }
|
Washs.both { it.brightness.fade(100.percent, 2.seconds) }
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Einsetzen der E-Gitarre")) {
|
lightStep(StepCue.Text("Alle", "…deiner Macht.", "letzte Silbe")) {
|
||||||
backlightBar.strobeSpeed.fade(80.percent, 3.seconds)
|
backlightBar.strobeSpeed.fade(80.percent, 3.seconds)
|
||||||
|
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
|
|
|
@ -10,7 +10,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songDuettDraculaMina() {
|
fun SceneBuilderContext.songDuettDraculaMina() {
|
||||||
step(StepCue.MusicStart("Duett: Dracula & Mina", 4.minutes + 30.seconds)) {
|
step(StepCue.MusicStart("Duett: Dracula & Mina", 4.minutes + 10.seconds)) {
|
||||||
rightSpotTarget = "Mina"
|
rightSpotTarget = "Mina"
|
||||||
rightSpotTarget = "Dracula"
|
rightSpotTarget = "Dracula"
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ fun SceneBuilderContext.songDuettDraculaMina() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Strophe")) {
|
lightStep(StepCue.Text("Dracula", "Ich kenne dich!")) {
|
||||||
FrontLights.all { it.brightness.off(15.seconds) }
|
FrontLights.all { it.brightness.off(15.seconds) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songDuettMinaJonathan() {
|
fun SceneBuilderContext.songDuettMinaJonathan() {
|
||||||
lightStep(StepCue.MusicStart("Duett", 3.minutes + 15.seconds)) {
|
lightStep(StepCue.MusicStart("Duett", 3.minutes + 50.seconds)) {
|
||||||
FrontLights.all { it.brightness.fade(40.percent, 5.seconds) }
|
FrontLights.all { it.brightness.fade(40.percent, 5.seconds) }
|
||||||
Washs.both {
|
Washs.both {
|
||||||
it.pointAtCeiling()
|
it.pointAtCeiling()
|
||||||
|
@ -19,7 +19,7 @@ fun SceneBuilderContext.songDuettMinaJonathan() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Strophe")) {
|
lightStep(StepCue.Text("Mina", "Ich hab seit gestern…", "Anfang")) {
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy, pink, warm
|
it.preset.static(StairvilleSplb.Preset.STUB) // dreamy, flowy, pink, warm
|
||||||
it.presetSpeed.static(10.percent)
|
it.presetSpeed.static(10.percent)
|
||||||
|
|
|
@ -3,6 +3,7 @@ package de.moritzruth.dracula_musical.song
|
||||||
import de.moritzruth.dracula_musical.device.*
|
import de.moritzruth.dracula_musical.device.*
|
||||||
import de.moritzruth.theaterdsl.show.SceneBuilderContext
|
import de.moritzruth.theaterdsl.show.SceneBuilderContext
|
||||||
import de.moritzruth.theaterdsl.show.StepCue
|
import de.moritzruth.theaterdsl.show.StepCue
|
||||||
|
import de.moritzruth.theaterdsl.show.greedyCueStep
|
||||||
import de.moritzruth.theaterdsl.value.Color
|
import de.moritzruth.theaterdsl.value.Color
|
||||||
import de.moritzruth.theaterdsl.value.degrees
|
import de.moritzruth.theaterdsl.value.degrees
|
||||||
import de.moritzruth.theaterdsl.value.percent
|
import de.moritzruth.theaterdsl.value.percent
|
||||||
|
@ -10,7 +11,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songEsIstAngerichtet() {
|
fun SceneBuilderContext.songEsIstAngerichtet() {
|
||||||
step(StepCue.MusicStart("Es ist angerichtet", 2.minutes + 30.seconds)) {
|
step(StepCue.MusicStart("Es ist angerichtet", 2.minutes + 20.seconds)) {
|
||||||
actors {
|
actors {
|
||||||
// TODO: Expand
|
// TODO: Expand
|
||||||
+"Vampire"
|
+"Vampire"
|
||||||
|
@ -76,11 +77,9 @@ fun SceneBuilderContext.songEsIstAngerichtet() {
|
||||||
backlightBar.brightness.pulse(1.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 50.percent)
|
backlightBar.brightness.pulse(1.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 50.percent)
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Text("Vampire", "Aaah")) {
|
greedyCueStep(StepCue.Text("Vampire", "Aaah"))
|
||||||
// Empty to prevent confusion with the next step
|
|
||||||
}
|
|
||||||
|
|
||||||
repeat(2) {
|
repeat(3) {
|
||||||
lightStep(StepCue.Text("Vampire", "Aaah")) {
|
lightStep(StepCue.Text("Vampire", "Aaah")) {
|
||||||
sidelight.brightness.fade(80.percent, 3.seconds)
|
sidelight.brightness.fade(80.percent, 3.seconds)
|
||||||
backlightBar.brightness.pulse(0.5.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 50.percent)
|
backlightBar.brightness.pulse(0.5.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 50.percent)
|
||||||
|
|
|
@ -5,10 +5,11 @@ import de.moritzruth.theaterdsl.show.SceneBuilderContext
|
||||||
import de.moritzruth.theaterdsl.show.StepCue
|
import de.moritzruth.theaterdsl.show.StepCue
|
||||||
import de.moritzruth.theaterdsl.value.Color
|
import de.moritzruth.theaterdsl.value.Color
|
||||||
import de.moritzruth.theaterdsl.value.percent
|
import de.moritzruth.theaterdsl.value.percent
|
||||||
|
import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songFinale() {
|
fun SceneBuilderContext.songFinale() {
|
||||||
step(StepCue.MusicStart("Finale", 10.seconds)) {
|
step(StepCue.MusicStart("Finale", 4.minutes)) {
|
||||||
actors {
|
actors {
|
||||||
-"Mina"
|
-"Mina"
|
||||||
-"Jonathan"
|
-"Jonathan"
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
package de.moritzruth.dracula_musical.song
|
package de.moritzruth.dracula_musical.song
|
||||||
|
|
||||||
import de.moritzruth.dracula_musical.device.*
|
import de.moritzruth.dracula_musical.device.*
|
||||||
import de.moritzruth.theaterdsl.show.CurtainState
|
import de.moritzruth.theaterdsl.show.*
|
||||||
import de.moritzruth.theaterdsl.show.PropPosition
|
|
||||||
import de.moritzruth.theaterdsl.show.SceneBuilderContext
|
|
||||||
import de.moritzruth.theaterdsl.show.StepCue
|
|
||||||
import de.moritzruth.theaterdsl.value.Color
|
import de.moritzruth.theaterdsl.value.Color
|
||||||
import de.moritzruth.theaterdsl.value.degrees
|
import de.moritzruth.theaterdsl.value.degrees
|
||||||
import de.moritzruth.theaterdsl.value.percent
|
import de.moritzruth.theaterdsl.value.percent
|
||||||
|
@ -16,7 +13,7 @@ private fun StairvilleTlb.pulseSlow() = brightness.pulse(0.8.seconds, 0.1.second
|
||||||
private fun StairvilleTlb.pulseFast() = brightness.pulse(0.6.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 100.percent)
|
private fun StairvilleTlb.pulseFast() = brightness.pulse(0.6.seconds, 0.1.seconds, 0.2.seconds, startDelay = 0.seconds, peak = 100.percent)
|
||||||
|
|
||||||
fun SceneBuilderContext.songFinaleErsterAkt() {
|
fun SceneBuilderContext.songFinaleErsterAkt() {
|
||||||
step(StepCue.MusicStart("Finale (1. Akt)", 4.minutes)) {
|
step(StepCue.MusicStart("Finale (1. Akt)", 4.minutes + 40.seconds)) {
|
||||||
onRun {
|
onRun {
|
||||||
Washs.both {
|
Washs.both {
|
||||||
it.pointAtAudience()
|
it.pointAtAudience()
|
||||||
|
@ -116,6 +113,8 @@ fun SceneBuilderContext.songFinaleErsterAkt() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
greedyCueStep(StepCue.Text("Vampire", "Wir sollen wohl gar nichts haben!", "Anfang"))
|
||||||
|
|
||||||
lightStep(StepCue.Text("Vampire", "Uns’re Kehlen sind verdorrt!", "Anfang")) {
|
lightStep(StepCue.Text("Vampire", "Uns’re Kehlen sind verdorrt!", "Anfang")) {
|
||||||
backlightBar.pulseSlow()
|
backlightBar.pulseSlow()
|
||||||
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
|
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
|
||||||
|
@ -175,6 +174,8 @@ fun SceneBuilderContext.songFinaleErsterAkt() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
greedyCueStep(StepCue.Text("Dracula", "…habt doch Geduld!", "Anfang"))
|
||||||
|
|
||||||
lightStep(StepCue.Text("Françoise", "Du sorgst für uns?", "Anfang")) {
|
lightStep(StepCue.Text("Françoise", "Du sorgst für uns?", "Anfang")) {
|
||||||
backlightBar.breathe()
|
backlightBar.breathe()
|
||||||
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
|
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
|
||||||
|
@ -268,6 +269,8 @@ fun SceneBuilderContext.songFinaleErsterAkt() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
greedyCueStep(StepCue.Text("Dracula", "Viel schöner als er!", "Anfang"))
|
||||||
|
|
||||||
lightStep(StepCue.Text("Vampire", "Das ist uns egal!", "Anfang")) {
|
lightStep(StepCue.Text("Vampire", "Das ist uns egal!", "Anfang")) {
|
||||||
backlightBar.brightness.fade(100.percent, 0.4.seconds)
|
backlightBar.brightness.fade(100.percent, 0.4.seconds)
|
||||||
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
|
backlightBar.color.fade(Color.WHITE, 0.4.seconds)
|
||||||
|
@ -348,6 +351,8 @@ fun SceneBuilderContext.songFinaleErsterAkt() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
greedyCueStep(StepCue.Text("Vampire", "Das ist egal!", "Anfang"))
|
||||||
|
|
||||||
lightStep(StepCue.Text("Vampire", "Das ist egal!", "letzte Silbe")) {
|
lightStep(StepCue.Text("Vampire", "Das ist egal!", "letzte Silbe")) {
|
||||||
sidelight.brightness.fade(start = 0.percent, end = 100.percent, duration = 0.4.seconds)
|
sidelight.brightness.fade(start = 0.percent, end = 100.percent, duration = 0.4.seconds)
|
||||||
sidelight.strobeSpeed.static(0.percent)
|
sidelight.strobeSpeed.static(0.percent)
|
||||||
|
|
|
@ -9,7 +9,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songIrrenhaus() {
|
fun SceneBuilderContext.songIrrenhaus() {
|
||||||
step(StepCue.MusicStart("Irrenhaus", 3.minutes)) {
|
step(StepCue.MusicStart("Irrenhaus", 3.minutes + 10.seconds)) {
|
||||||
actors {
|
actors {
|
||||||
+"Dr. Sewart / von rechts, 1. Tür"
|
+"Dr. Sewart / von rechts, 1. Tür"
|
||||||
// TODO: Expand
|
// TODO: Expand
|
||||||
|
@ -74,7 +74,7 @@ fun SceneBuilderContext.songIrrenhaus() {
|
||||||
backlightBar.brightness.off(2.seconds)
|
backlightBar.brightness.off(2.seconds)
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Strophe")) {
|
lightStep(StepCue.Text("Dr. Sewart", "Überall herrscht Größenwahn…", "Anfang")) {
|
||||||
Spots.right.brightness.fade(100.percent, 1.seconds)
|
Spots.right.brightness.fade(100.percent, 1.seconds)
|
||||||
|
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
|
@ -125,7 +125,7 @@ fun SceneBuilderContext.songIrrenhaus() {
|
||||||
backlightBar.brightness.fade(50.percent, 1.seconds)
|
backlightBar.brightness.fade(50.percent, 1.seconds)
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Strophe")) {
|
lightStep(StepCue.Text("Dr. Sewart", "Wer nicht völlig spinnt…", "Anfang")) {
|
||||||
Spots.right.brightness.fade(100.percent, 1.seconds)
|
Spots.right.brightness.fade(100.percent, 1.seconds)
|
||||||
|
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
|
@ -180,7 +180,9 @@ fun SceneBuilderContext.songIrrenhaus() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Text("Alle", "Gott sei Dank!")) {
|
lightStep(StepCue.Text("Alle", "Gott sei Dank!", "Anfang")) {
|
||||||
|
BlinderBars.all { it.presetSpeed.fade(80.percent, 4.seconds) }
|
||||||
|
|
||||||
Washs.both {
|
Washs.both {
|
||||||
it.brightness.off(0.5.seconds)
|
it.brightness.off(0.5.seconds)
|
||||||
it.pointAtAudience()
|
it.pointAtAudience()
|
||||||
|
|
|
@ -9,7 +9,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songKaffeeklatsch() {
|
fun SceneBuilderContext.songKaffeeklatsch() {
|
||||||
step(StepCue.MusicStart("Kaffeeklatsch", 3.minutes)) {
|
step(StepCue.MusicStart("Kaffeeklatsch", 2.minutes + 35.seconds)) {
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.preset.static(StairvilleSplb.Preset.STUB) // idk
|
it.preset.static(StairvilleSplb.Preset.STUB) // idk
|
||||||
it.presetSpeed.static(50.percent)
|
it.presetSpeed.static(50.percent)
|
||||||
|
|
|
@ -4,6 +4,7 @@ import de.moritzruth.dracula_musical.device.*
|
||||||
import de.moritzruth.theaterdsl.device.reset
|
import de.moritzruth.theaterdsl.device.reset
|
||||||
import de.moritzruth.theaterdsl.show.SceneBuilderContext
|
import de.moritzruth.theaterdsl.show.SceneBuilderContext
|
||||||
import de.moritzruth.theaterdsl.show.StepCue
|
import de.moritzruth.theaterdsl.show.StepCue
|
||||||
|
import de.moritzruth.theaterdsl.show.greedyCueStep
|
||||||
import de.moritzruth.theaterdsl.value.Color
|
import de.moritzruth.theaterdsl.value.Color
|
||||||
import de.moritzruth.theaterdsl.value.degrees
|
import de.moritzruth.theaterdsl.value.degrees
|
||||||
import de.moritzruth.theaterdsl.value.percent
|
import de.moritzruth.theaterdsl.value.percent
|
||||||
|
@ -11,7 +12,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songLucy() {
|
fun SceneBuilderContext.songLucy() {
|
||||||
lightStep(StepCue.MusicStart("Lucy", 2.minutes + 45.seconds)) {
|
lightStep(StepCue.MusicStart("Lucy", 2.minutes + 25.seconds)) {
|
||||||
sidelight.brightness.fade(30.percent, 15.seconds)
|
sidelight.brightness.fade(30.percent, 15.seconds)
|
||||||
backlightBar.brightness.fade(40.percent, 15.seconds)
|
backlightBar.brightness.fade(40.percent, 15.seconds)
|
||||||
backlightBar.color.static(Color(hue = 315.degrees, saturation = 20.percent))
|
backlightBar.color.static(Color(hue = 315.degrees, saturation = 20.percent))
|
||||||
|
@ -31,7 +32,7 @@ fun SceneBuilderContext.songLucy() {
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Nächster Beat")) {
|
lightStep(StepCue.Custom("Musik: Nächster Beat")) {
|
||||||
backlightBar.brightness.pulseOnce(0.4.seconds, 2.5.seconds, end = 40.percent)
|
backlightBar.brightness.pulseOnce(0.4.seconds, 4.seconds, end = 40.percent)
|
||||||
|
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.brightness.pulseOnce(0.4.seconds, 2.5.seconds, peak = 75.percent)
|
it.brightness.pulseOnce(0.4.seconds, 2.5.seconds, peak = 75.percent)
|
||||||
|
@ -52,19 +53,17 @@ fun SceneBuilderContext.songLucy() {
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Nächster Beat")) {
|
lightStep(StepCue.Custom("Musik: Nächster Beat")) {
|
||||||
BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, end = 25.percent)}
|
BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.5.seconds, end = 25.percent) }
|
||||||
|
|
||||||
Washs.left.brightness.sine(6.seconds, start = 0.percent)
|
Washs.left.brightness.sine(6.seconds, start = 0.percent)
|
||||||
Washs.right.brightness.sine(6.seconds, start = 100.percent)
|
Washs.right.brightness.sine(6.seconds, start = 100.percent)
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Strophe")) {
|
lightStep(StepCue.Text("Lucy", "Du hast den besten Hintern…", "Anfang")) {
|
||||||
Tops.both { it.brightness.sine(8.seconds, 20.percent, 100.percent) }
|
Tops.both { it.brightness.sine(8.seconds, 20.percent, 100.percent) }
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Text("Lucy", "Oh Nick…")) {
|
greedyCueStep(StepCue.Text("Lucy", "Oh Nick…"))
|
||||||
// To prevent confusion with the next step
|
|
||||||
}
|
|
||||||
|
|
||||||
lightStep(StepCue.Text("Lucy", "oh Nick", "letzte Silbe")) {
|
lightStep(StepCue.Text("Lucy", "oh Nick", "letzte Silbe")) {
|
||||||
Tops.both { it.brightness.pulseOnce(0.1.seconds, 1.seconds) }
|
Tops.both { it.brightness.pulseOnce(0.1.seconds, 1.seconds) }
|
||||||
|
@ -82,8 +81,8 @@ fun SceneBuilderContext.songLucy() {
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Langes Fill-in beginnt")) {
|
lightStep(StepCue.Custom("Musik: Langes Fill-in beginnt")) {
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.presetSpeed.fade(100.percent, 4.seconds)
|
it.presetSpeed.fade(100.percent, 5.seconds)
|
||||||
it.brightness.fade(50.percent, 4.seconds)
|
it.brightness.fade(50.percent, 5.seconds)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,16 +128,14 @@ fun SceneBuilderContext.songLucy() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Nächster Beat")) {
|
lightStep(StepCue.Custom("1. Beat")) {
|
||||||
BlinderBars.all { it.brightness.off(0.5.seconds) }
|
BlinderBars.all { it.brightness.off(0.5.seconds) }
|
||||||
FrontLights.all { it.brightness.off(0.5.seconds) }
|
FrontLights.all { it.brightness.off(0.5.seconds) }
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Nächster Beat")) {
|
greedyCueStep(StepCue.Custom("2. Beat"))
|
||||||
// intentionally left blank
|
|
||||||
}
|
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Nächster Beat")) {
|
lightStep(StepCue.Custom("3. Beat")) {
|
||||||
Washs.both { it.brightness.pulseOnce(0.1.seconds, 2.seconds) }
|
Washs.both { it.brightness.pulseOnce(0.1.seconds, 2.seconds) }
|
||||||
backlightBar.brightness.pulseOnce(0.1.seconds, 2.seconds)
|
backlightBar.brightness.pulseOnce(0.1.seconds, 2.seconds)
|
||||||
|
|
||||||
|
|
|
@ -6,13 +6,27 @@ import de.moritzruth.theaterdsl.show.PropPosition
|
||||||
import de.moritzruth.theaterdsl.show.SceneBuilderContext
|
import de.moritzruth.theaterdsl.show.SceneBuilderContext
|
||||||
import de.moritzruth.theaterdsl.show.StepCue
|
import de.moritzruth.theaterdsl.show.StepCue
|
||||||
import de.moritzruth.theaterdsl.value.Color
|
import de.moritzruth.theaterdsl.value.Color
|
||||||
import de.moritzruth.theaterdsl.value.degrees
|
|
||||||
import de.moritzruth.theaterdsl.value.percent
|
import de.moritzruth.theaterdsl.value.percent
|
||||||
import kotlin.time.Duration.Companion.minutes
|
import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songMaskenball() {
|
fun SceneBuilderContext.songMaskenball() {
|
||||||
step(StepCue.MusicStart("Maskenball", 2.minutes + 20.seconds)) {
|
step(StepCue.MusicStart("Maskenball", 3.minutes + 10.seconds)) {
|
||||||
|
props {
|
||||||
|
it[PropPosition.BACKDROP] = "Dorfplatz"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
step(StepCue.Custom("Musik: Vierter Glockenschlag")) {
|
||||||
|
curtainState = CurtainState.OPEN
|
||||||
|
|
||||||
|
onRun {
|
||||||
|
backlightBar.color.static(Color.DARK_BLUE)
|
||||||
|
backlightBar.brightness.fade(50.percent, 5.seconds)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
step(StepCue.Custom("Musik: Einsetzen der Drums")) {
|
||||||
actors {
|
actors {
|
||||||
+"Hawkins / von links"
|
+"Hawkins / von links"
|
||||||
+"Eloïse / von links"
|
+"Eloïse / von links"
|
||||||
|
@ -22,15 +36,10 @@ fun SceneBuilderContext.songMaskenball() {
|
||||||
+"Besucher des Maskenballs / von links & durch Mitte"
|
+"Besucher des Maskenballs / von links & durch Mitte"
|
||||||
}
|
}
|
||||||
|
|
||||||
curtainState = CurtainState.OPEN
|
|
||||||
|
|
||||||
props {
|
|
||||||
it[PropPosition.BACKDROP] = "Dorfplatz"
|
|
||||||
}
|
|
||||||
|
|
||||||
onRun {
|
onRun {
|
||||||
backlightBar.color.static(Color(hue = 310.degrees, saturation = 80.percent))
|
backlightBar.brightness.off(4.seconds)
|
||||||
backlightBar.brightness.fade(40.percent, 5.seconds)
|
|
||||||
|
FrontLights.all { it.brightness.fade(100.percent, 2.seconds) }
|
||||||
|
|
||||||
Tops.both {
|
Tops.both {
|
||||||
it.startRoomMovement(5.0)
|
it.startRoomMovement(5.0)
|
||||||
|
@ -46,7 +55,7 @@ fun SceneBuilderContext.songMaskenball() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Einsetzen der Drums")) {
|
lightStep(StepCue.Text("Alle", "Maskenball!", "Anfang")) {
|
||||||
backlightBar.color.cycle(8.seconds)
|
backlightBar.color.cycle(8.seconds)
|
||||||
backlightBar.brightness.fade(80.percent, 5.seconds)
|
backlightBar.brightness.fade(80.percent, 5.seconds)
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songMittsommernacht() {
|
fun SceneBuilderContext.songMittsommernacht() {
|
||||||
step(StepCue.MusicStart("Mittsommernacht", 4.minutes + 30.seconds)) {
|
step(StepCue.MusicStart("Mittsommernacht", 5.minutes)) {
|
||||||
actors {
|
actors {
|
||||||
// TODO: Expand
|
// TODO: Expand
|
||||||
+"Einwohner / von links & durch Mitte"
|
+"Einwohner / von links & durch Mitte"
|
||||||
|
@ -24,19 +24,8 @@ fun SceneBuilderContext.songMittsommernacht() {
|
||||||
it.brightness.fade(100.percent, 6.seconds)
|
it.brightness.fade(100.percent, 6.seconds)
|
||||||
}
|
}
|
||||||
|
|
||||||
Tops.both {
|
|
||||||
it.startRoomMovement(3.0)
|
|
||||||
it.brightness.fade(100.percent, 2.seconds)
|
|
||||||
it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Rotate(10.percent))
|
|
||||||
it.prismMode.static(FuturelightDmh160.PrismMode.FACETS_8)
|
|
||||||
it.prismRotationSpeed.static(20.percent)
|
|
||||||
}
|
|
||||||
|
|
||||||
backlightBar.brightness.fade(75.percent, 2.seconds)
|
|
||||||
backlightBar.color.cycle(20.seconds)
|
|
||||||
|
|
||||||
Washs.both {
|
Washs.both {
|
||||||
it.brightness.pulseOnce(2.seconds, 5.seconds, 100.percent)
|
it.brightness.pulseOnce(2.seconds, 5.seconds, 75.percent)
|
||||||
it.beamAngle.fade(0.percent, 2.seconds)
|
it.beamAngle.fade(0.percent, 2.seconds)
|
||||||
it.pointAtCeiling(6.seconds)
|
it.pointAtCeiling(6.seconds)
|
||||||
}
|
}
|
||||||
|
@ -49,6 +38,9 @@ fun SceneBuilderContext.songMittsommernacht() {
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Drums-Pattern wechselt")) {
|
lightStep(StepCue.Custom("Musik: Drums-Pattern wechselt")) {
|
||||||
|
backlightBar.color.cycle(20.seconds)
|
||||||
|
backlightBar.brightness.fade(75.percent, 2.seconds)
|
||||||
|
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.brightness.fade(25.percent, 1.seconds)
|
it.brightness.fade(25.percent, 1.seconds)
|
||||||
it.white.static(0.percent)
|
it.white.static(0.percent)
|
||||||
|
@ -57,11 +49,7 @@ fun SceneBuilderContext.songMittsommernacht() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Strophe")) {
|
lightStep(StepCue.Text("Alle", "Heute sind die Gespenster los…", "Anfang")) {
|
||||||
Tops.both {
|
|
||||||
it.brightness.off(2.seconds)
|
|
||||||
}
|
|
||||||
|
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.presetSpeed.static(50.percent)
|
it.presetSpeed.static(50.percent)
|
||||||
it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, warm
|
it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, warm
|
||||||
|
@ -105,15 +93,9 @@ fun SceneBuilderContext.songMittsommernacht() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: Refrain")) {
|
lightStep(StepCue.Text("Alle", "…grusel, grusel, aaah", "letzte Silbe")) {
|
||||||
BlinderBars.all {
|
backlightBar.brightness.fade(75.percent, 5.seconds)
|
||||||
it.brightness.fade(25.percent, 1.seconds)
|
backlightBar.color.static(Color.WARM_WHITE)
|
||||||
it.presetSpeed.static(50.percent)
|
|
||||||
it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, warm
|
|
||||||
}
|
|
||||||
|
|
||||||
backlightBar.brightness.fade(75.percent, 2.seconds)
|
|
||||||
backlightBar.color.cycle(12.seconds)
|
|
||||||
|
|
||||||
Washs.both {
|
Washs.both {
|
||||||
it.pointAtStageCenter()
|
it.pointAtStageCenter()
|
||||||
|
@ -121,6 +103,16 @@ fun SceneBuilderContext.songMittsommernacht() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lightStep(StepCue.Text("Alle", "Mittsommernacht!", "Anfang")) {
|
||||||
|
backlightBar.color.cycle(12.seconds)
|
||||||
|
|
||||||
|
BlinderBars.all {
|
||||||
|
it.brightness.fade(25.percent, 1.seconds)
|
||||||
|
it.presetSpeed.static(50.percent)
|
||||||
|
it.preset.static(StairvilleSplb.Preset.STUB) // jumpy, warm
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Text("Alle", "Heute ist die Mittsommer…", "letzte Silbe")) {
|
lightStep(StepCue.Text("Alle", "Heute ist die Mittsommer…", "letzte Silbe")) {
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.brightness.fade(start = 40.percent, end = 0.percent, duration = 5.seconds)
|
it.brightness.fade(start = 40.percent, end = 0.percent, duration = 5.seconds)
|
||||||
|
@ -133,7 +125,7 @@ fun SceneBuilderContext.songMittsommernacht() {
|
||||||
Washs.both { it.brightness.static(100.percent) }
|
Washs.both { it.brightness.static(100.percent) }
|
||||||
}
|
}
|
||||||
|
|
||||||
step(StepCue.Custom("Musik: 1. Hit")) {
|
step(StepCue.Custom("Musik: 1. Beat")) {
|
||||||
actors {
|
actors {
|
||||||
+"Dracula / durch Mitte"
|
+"Dracula / durch Mitte"
|
||||||
+"Eloïse / durch Mitte"
|
+"Eloïse / durch Mitte"
|
||||||
|
@ -146,15 +138,15 @@ fun SceneBuilderContext.songMittsommernacht() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: 2. Hit")) {
|
lightStep(StepCue.Custom("Musik: 2. Beat")) {
|
||||||
backlightBar.brightness.off(0.5.seconds)
|
backlightBar.brightness.off(0.5.seconds)
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: 3. Hit")) {
|
lightStep(StepCue.Custom("Musik: 3. Beat")) {
|
||||||
Washs.both { it.brightness.off(0.5.seconds) }
|
Washs.both { it.brightness.off(0.5.seconds) }
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: 4. Hit")) {
|
lightStep(StepCue.Custom("Musik: 4. Beat")) {
|
||||||
BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.3.seconds, 100.percent) }
|
BlinderBars.all { it.brightness.pulseOnce(0.1.seconds, 0.3.seconds, 100.percent) }
|
||||||
|
|
||||||
Washs.both {
|
Washs.both {
|
||||||
|
@ -162,7 +154,7 @@ fun SceneBuilderContext.songMittsommernacht() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lightStep(StepCue.Custom("Musik: 5. Hit")) {
|
lightStep(StepCue.Custom("Musik: 5. Beat")) {
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.white.off()
|
it.white.off()
|
||||||
it.color.static(Color(hue = 345.degrees))
|
it.color.static(Color(hue = 345.degrees))
|
||||||
|
|
|
@ -13,7 +13,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songQuartett() {
|
fun SceneBuilderContext.songQuartett() {
|
||||||
step(StepCue.MusicStart("Quartett", 3.minutes)) {
|
step(StepCue.MusicStart("Quartett", 2.minutes + 40.seconds)) {
|
||||||
onRun {
|
onRun {
|
||||||
Washs.both {
|
Washs.both {
|
||||||
it.pointAtStageCenter()
|
it.pointAtStageCenter()
|
||||||
|
|
|
@ -11,7 +11,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songRepriseDuett() {
|
fun SceneBuilderContext.songRepriseDuett() {
|
||||||
lightStep(StepCue.MusicStart("Reprise: Duett", 1.minutes + 15.seconds)) {
|
lightStep(StepCue.MusicStart("Reprise: Duett", 2.minutes + 10.seconds)) {
|
||||||
Washs.both {
|
Washs.both {
|
||||||
it.pointAtCeiling()
|
it.pointAtCeiling()
|
||||||
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White)
|
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White)
|
||||||
|
|
|
@ -5,10 +5,11 @@ import de.moritzruth.theaterdsl.show.SceneBuilderContext
|
||||||
import de.moritzruth.theaterdsl.show.StepCue
|
import de.moritzruth.theaterdsl.show.StepCue
|
||||||
import de.moritzruth.theaterdsl.value.Color
|
import de.moritzruth.theaterdsl.value.Color
|
||||||
import de.moritzruth.theaterdsl.value.percent
|
import de.moritzruth.theaterdsl.value.percent
|
||||||
|
import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songRepriseMaskenball() {
|
fun SceneBuilderContext.songRepriseMaskenball() {
|
||||||
step(StepCue.MusicStart("Reprise: Maskenball", 50.seconds)) {
|
step(StepCue.MusicStart("Reprise: Maskenball", 1.minutes + 30.seconds)) {
|
||||||
actors {
|
actors {
|
||||||
// TODO: Expand
|
// TODO: Expand
|
||||||
+"Besucher des Maskenballs / durch Mitte"
|
+"Besucher des Maskenballs / durch Mitte"
|
||||||
|
|
|
@ -10,7 +10,7 @@ import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
fun SceneBuilderContext.songStreitDerVampire() {
|
fun SceneBuilderContext.songStreitDerVampire() {
|
||||||
lightStep(StepCue.MusicStart("Streit der Vampire", 1.minutes + 30.seconds)) {
|
lightStep(StepCue.MusicStart("Streit der Vampire", 1.minutes + 40.seconds)) {
|
||||||
BlinderBars.all {
|
BlinderBars.all {
|
||||||
it.preset.static(StairvilleSplb.Preset.STUB) // chase, single direction
|
it.preset.static(StairvilleSplb.Preset.STUB) // chase, single direction
|
||||||
it.presetSpeed.static(40.percent)
|
it.presetSpeed.static(40.percent)
|
||||||
|
|
|
@ -27,6 +27,12 @@ interface SceneBuilderContext {
|
||||||
fun lightStep(cue: StepCue, runner: StepRunner)
|
fun lightStep(cue: StepCue, runner: StepRunner)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inserts a step doing nothing.
|
||||||
|
* Intended to be for cases where the cue of the following step could be confused with the cue of this step if this step would not exist.
|
||||||
|
*/
|
||||||
|
fun SceneBuilderContext.greedyCueStep(cue: StepCue) {}
|
||||||
|
|
||||||
@TheaterDslMarker
|
@TheaterDslMarker
|
||||||
interface StepDataBuilderContext {
|
interface StepDataBuilderContext {
|
||||||
val props: PropsBuilderMap
|
val props: PropsBuilderMap
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
<button
|
<button
|
||||||
:class="[$style.root, isActive ? 'bg-green-800' : 'bg-green-600']"
|
:class="[$style.root, isActive ? 'bg-green-800' : 'bg-green-600']"
|
||||||
class="px-5 py-2 active:bg-green-800 transition duration-200 font-bold text-4"
|
class="px-5 py-2 active:bg-green-800 transition duration-200 font-bold text-4"
|
||||||
|
@pointerdown="e => emit('pointerdown', e)"
|
||||||
|
@pointerup="e => emit('pointerup', e)"
|
||||||
@click="e => emit('click', e)"
|
@click="e => emit('click', e)"
|
||||||
>
|
>
|
||||||
<slot/>
|
<slot/>
|
||||||
|
|
Loading…
Add table
Reference in a new issue