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 curtainState = CurtainState.OPEN
onRun { onRun {
FrontLights.center.forEach { it.brightness.fade(75.percent, 10.seconds) } FrontLights.center { it.brightness.fade(75.percent, 10.seconds) }
Washs.both.forEach {
Washs.both {
it.pointAtStageCenter() it.pointAtStageCenter()
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White) it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White)
} }
@ -148,12 +149,22 @@ fun ShowBuilderContext.firstAct() = act("Erster Akt") {
} }
} }
lightStep(StepCue.Custom("T5 S2")) { lightStep(StepCue.Custom("Strophe")) {
Washs.both.forEach { Washs.both { it.brightness.fade(100.percent, 200.milliseconds) }
it.brightness.fade(100.percent, 200.milliseconds)
it.beamAngle.sine(3.seconds, 0.percent, 100.percent)
sideLight.brightness.fade(25.percent, 5.seconds) 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")) { lightStep(StepCue.Custom("Schlussschlag")) {
@ -229,28 +240,32 @@ fun ShowBuilderContext.firstAct() = act("Erster Akt") {
scene("Szene 3") { scene("Szene 3") {
step(StepCue.Custom("Auftritt im Mittelgang")) { step(StepCue.Custom("Auftritt im Mittelgang")) {
actors { actors {
+"Tina / durch den Mittelgang" +"Tina / durch einen Gang"
+"Maria / durch den Mittelgang" +"Maria / durch einen Gang"
+"Heike / durch den Mittelgang" +"Heike / durch einen Gang"
+"Sven / durch den Mittelgang" +"Sven / durch einen Gang"
+"Sandra / durch den Mittelgang" +"Sandra / durch einen Gang"
+"Eva / durch den Mittelgang" +"Eva / durch einen Gang"
+"Kathi / von der Bühne" +"Kathi / von der Bühne"
+"Paula / steht rechts" +"Paula / steht rechts"
} }
leftSpotTarget = "die Gruppe im Mittelgang" leftSpotTarget = "die Gruppe im linken Gang"
rightSpotTarget = "die Gruppe im rechten Gang"
onRun { onRun {
spotLeft.brightness.fade(100.percent, 5.seconds) spotLeft.brightness.fade(100.percent, 5.seconds)
spotRight.brightness.fade(100.percent, 5.seconds)
} }
} }
step(StepCue.Custom("Bühne erreicht")) { step(StepCue.Custom("Bühne erreicht")) {
leftSpotTarget = null leftSpotTarget = null
rightSpotTarget = null
onRun { onRun {
spotLeft.brightness.off(8.seconds) spotLeft.brightness.off(8.seconds)
spotRight.brightness.off(8.seconds)
FrontLights.all.forEach { it.brightness.fade(50.percent, 10.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 { Washs.both {
it.pointAtBathroomObjects() it.pointAtBathroomObjects()
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White) it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White)
it.magenta.static(100.percent)
it.beamAngle.static(100.percent) it.beamAngle.static(100.percent)
} }
Washs.left.cyan.static(100.percent)
Washs.right.magenta.static(100.percent)
} }
step(StepCue.MusicEnd) { 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.")) { step(StepCue.Text("Tina", "was ich anziehen soll.")) {
actors { actors {
+"Manuel / von rechts" +"Manuel / von rechts"
@ -66,6 +70,15 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
-"Manuel / nach rechts" -"Manuel / nach rechts"
+"Bianca / von links" +"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.")) { step(StepCue.Text("Bianca", "Ich verzieh mich ja schon.")) {
@ -314,7 +327,7 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
onRun { onRun {
spotRight.brightness.fade(50.percent, 10.seconds) 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) bar.brightness.fade(10.percent, 10.seconds)
Washs.both.forEach { Washs.both.forEach {
@ -612,7 +625,7 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
// 1:25 // 1:25
lightStep(StepCue.Custom("Becken")) { lightStep(StepCue.Custom("Becken")) {
Washs.both { it.brightness.off(1.seconds) } Washs.both { it.brightness.off(3.seconds) }
} }
// 1:35 // 1:35
@ -630,16 +643,14 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
Tops.both { Tops.both {
it.startRoomMovement(5.0) 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.prismMode.static(FuturelightDmh160.PrismMode.FROST)
it.prismRotationSpeed.static(100.percent)
} }
Washs.both { it.colorWheelMode.static(CoemarProWash.ColorWheelMode.Rotate(50.percent)) } Washs.both { it.colorWheelMode.static(CoemarProWash.ColorWheelMode.Rotate(50.percent)) }
} }
// 2:23 lightStep(StepCue.Custom("Verbeugung")) {
lightStep(StepCue.Text("Paula", "Gemeinsam")) {
Tops.both { it.brightness.fade(100.percent, 2.seconds) } Tops.both { it.brightness.fade(100.percent, 2.seconds) }
Washs.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)) { step(StepCue.MusicStart("Aus dem Schatten treten II", 10.minutes)) {
actors { actors {
-"Maria"
-"Kathi" -"Kathi"
-"David" -"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" rightSpotTarget = "Maria"
onRun { 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 { Tops.both.forEach {
it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.DarkBlue) it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.DarkBlue)
it.prismMode.static(FuturelightDmh160.PrismMode.FROST) it.prismMode.static(FuturelightDmh160.PrismMode.FROST)
it.prismRotationSpeed.static(20.percent)
it.startRoomMovement(8.0) it.startRoomMovement(8.0)
} }
} }
@ -337,9 +327,9 @@ fun ShowBuilderContext.thirdAct() = act("Dritter Akt") {
onRun { onRun {
spotLeft.brightness.fade(50.percent, 2.seconds) 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) } 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) { 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) tilt.fade(120.degrees, fadeDuration)
} }
fun pointAtGuests() { fun pointAtGuests() {
pan.static(360.degrees) // TODO: Testen 0 == 360 pan.static(360.degrees)
tilt.static(240.degrees) tilt.static(240.degrees)
} }
} }

View file

@ -66,19 +66,19 @@ class StairvilleClb4(override val firstChannel: DmxAddress) : Device {
*colors.toTypedArray() *colors.toTypedArray()
) )
private val classroomColor = Color(40.degrees, saturation = 90.percent, brightness = 100.percent)
fun fadeColorsToClassroomFromDarkness(duration: Duration) { 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) fadeColorsToClassroom(duration)
} }
fun fadeColorsToClassroom(duration: Duration) { fun fadeColorsToClassroom(duration: Duration) {
sideLight.color1.fade(color1.getCurrentValue().copy(brightness = 0.percent), 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(classroomColor, duration = duration)
sideLight.color3.fade(classroomColor, duration = duration)
sideLight.color2.fade(color, duration = duration) sideLight.color4.fade(classroomColor, duration = duration)
sideLight.color3.fade(color, duration = duration)
sideLight.color4.fade(color, duration = duration)
} }
context(CoroutineScope) context(CoroutineScope)

View file

@ -26,7 +26,7 @@ fun SceneBuilderContext.songRichy() {
it.brightness.fade(100.percent, 10.seconds) 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")) { lightStep(StepCue.Custom("2. Breakdown am Ende")) {
bar.brightness.fade(100.percent, 200.milliseconds) 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() } FrontLights.all { it.brightness.off() }
Washs.both { it.brightness.off(200.milliseconds) } Washs.both { it.brightness.off(200.milliseconds) }

View file

@ -21,8 +21,17 @@ fun SceneBuilderContext.songSchauMichMit() {
onRun { onRun {
sideLight.moveColorsPinkAndBlue() sideLight.moveColorsPinkAndBlue()
Washs.left.brightness.switch(0.percent, 100.percent, 1.seconds, false) Washs.left.run {
Washs.right.brightness.switch(100.percent, 0.percent, 1.seconds, false) 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) } Tops.both { it.brightness.fade(100.percent, 1.seconds) }
FrontLights.all { it.brightness.fade(40.percent, 10.seconds) } FrontLights.all { it.brightness.fade(40.percent, 10.seconds) }