This commit is contained in:
Moritz Ruth 2023-05-25 22:49:57 +02:00
parent b4794904cf
commit b56e907eca
Signed by: moritzruth
GPG key ID: C9BBAB79405EE56D
4 changed files with 104 additions and 13 deletions

View file

@ -149,6 +149,12 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
// TODO: Wer? // TODO: Wer?
+"Paula" +"Paula"
+"David" +"David"
// Kommen in 4.5 vor
+"Richy"
+"Sandra"
+"Eva"
+"Maria"
} }
onRun { onRun {
@ -211,35 +217,112 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
step(StepCue.MusicStart("Richy", 3.minutes)) { step(StepCue.MusicStart("Richy", 3.minutes)) {
onRun { onRun {
Washs.both.forEach {
it.magenta.static(0.percent)
}
// TODO: Song // TODO: Song
} }
} }
lightStep(StepCue.Custom("Schlussschlag")) {
FrontLights.all.forEach { it.brightness.off(3.seconds) }
// Vorhang zu
}
} }
scene("6") { scene("6") {
step { step(StepCue.MusicEnd) {
trigger = StepCue.MusicEnd actors {
-"Richy"
-"Sandra"
-"Maria"
-"Eva"
}
rightSpotTarget = "Paula & David (rechts)"
onRun { onRun {
// Vorhang zu, rechts davor
// rotes Licht
spotRight.brightness.fade(100.percent, 10.seconds) spotRight.brightness.fade(100.percent, 10.seconds)
bar.color.static(Color(300.degrees))
bar.brightness.fade(25.percent, 10.seconds)
Washs.both.forEach {
it.beamAngle.static(75.percent)
it.brightness.fade(100.percent, 10.seconds)
}
} }
} }
step { step(StepCue.Text("Paula", "umgekehrt, du Hirsch!")) {
trigger = StepCue.Custom("Störung, Ruf") actors {
// TODO: links ist wichtig wegen Wash
+"Kai / von links"
+"Adrian / von links"
}
leftSpotTarget = "Kai & Adrian (rechtzeitig positionieren!)"
onRun { onRun {
FrontLights.left.forEach { it.brightness.static(100.percent) } Washs.left.colorWheelMode.static(CoemarProWash.ColorWheelMode.Rotate(5.percent, true))
spotLeft.brightness.static(100.percent) spotLeft.brightness.static(100.percent)
// romantisches Licht schlagartig aus
} }
} }
} }
scene("7") { scene("7") {
step(StepCue.Text("David", "Aber auf jeden Fall nicht hier.")) {
actors {
+"Theaterlehrer"
+"Sven"
+"Heike"
+"Andreas"
+"Eva"
+"Kathi"
}
onRun {
// Vorhang auf
// sideLights ist noch an
Washs.both.forEach { it.brightness.off(1.seconds) }
spotLeft.brightness.off(1.seconds)
spotRight.brightness.off(1.seconds)
bar.brightness.off(1.seconds)
}
}
lightStep(StepCue.Custom("Washs sind aus")) {
Washs.both.forEach {
it.beamAngle.static(100.percent)
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.DarkBlue)
}
Tops.both.forEach {
it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.White)
it.prismMode.static(FuturelightDmh160.PrismMode.FROST)
it.prismRotationSpeed.static(0.percent)
it.pointAtStageCenterMarking()
}
}
lightStep(StepCue.Text("Paula", "Starrt mich nicht so an.", "auf das letzt Wort")) {
// TODO: Paula auf Markierung hinweisen
Tops.both.forEach {
it.brightness.pulseOnce(200.milliseconds, 3.seconds)
}
bar.color.static(Color(190.degrees))
bar.brightness.static(100.percent)
sideLight.color3.fadeRandomAround(190.degrees, 10.degrees, 5.seconds)
sideLight.color4.fadeRandomAround(190.degrees, 20.degrees, 6.seconds)
Washs.both.forEach {
it.brightness.static(100.percent)
it.beamAngle.fade(0.percent, 2.seconds)
}
}
step { step {
trigger = StepCue.Stub trigger = StepCue.Stub

View file

@ -136,7 +136,7 @@ fun ShowBuilderContext.thirdAct() = act("Dritter Akt") {
scene("6") { scene("6") {
step(StepCue.MusicStart("Umbaumusik", 69.seconds)) { step(StepCue.MusicStart("Umbaumusik", 69.seconds)) {
Tops.both.forEach { Tops.both.forEach {
it.tilt.static(110.degrees) // TODO: Auf die Mitte der Bühne, ein paar Meter Abstand it.pointStraightAtStageCenter()
// TODO: Warm-weiß, wenn möglich // TODO: Warm-weiß, wenn möglich
} }
} }

View file

@ -14,8 +14,8 @@ val spotLeft = SimpleDimmer(DmxAddress(10u))
val spotRight = SimpleDimmer(DmxAddress(11u)) val spotRight = SimpleDimmer(DmxAddress(11u))
object Tops { object Tops {
val left = FuturelightDmh160(DmxAddress(37u)) val left = FuturelightDmh160(DmxAddress(37u), false)
val right = FuturelightDmh160(DmxAddress(53u)) val right = FuturelightDmh160(DmxAddress(53u), true)
val both = listOf(left, right) val both = listOf(left, right)
} }

View file

@ -14,7 +14,7 @@ import kotlin.math.roundToInt
import kotlin.time.Duration.Companion.minutes import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.seconds import kotlin.time.Duration.Companion.seconds
class FuturelightDmh160(override val firstChannel: DmxAddress) : Device { class FuturelightDmh160(override val firstChannel: DmxAddress, private val isRight: Boolean) : Device {
companion object { companion object {
private const val PAN_LIMIT = 630f // degrees private const val PAN_LIMIT = 630f // degrees
private const val TILT_LIMIT = 270f // degrees private const val TILT_LIMIT = 270f // degrees
@ -91,4 +91,12 @@ class FuturelightDmh160(override val firstChannel: DmxAddress) : Device {
override val dvs = persistentSetOf( override val dvs = persistentSetOf(
pan, tilt, brightness, colorWheelMode, strobeSpeed pan, tilt, brightness, colorWheelMode, strobeSpeed
) )
fun pointAtStageCenterMarking() {
// TODO: Markierung anbringen und ausrichten
}
fun pointStraightAtStageCenter() {
// TODO: Ausrichten
}
} }