This commit is contained in:
Moritz Ruth 2023-07-06 22:02:03 +02:00
parent 5428459b9f
commit ab8d4716f6
Signed by: moritzruth
GPG key ID: C9BBAB79405EE56D
7 changed files with 78 additions and 53 deletions

View file

@ -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) }
}
}

View file

@ -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) }
}

View file

@ -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) }
}
}

View file

@ -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)
}
}

View file

@ -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)

View file

@ -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) }

View file

@ -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) }