This commit is contained in:
Moritz Ruth 2023-07-04 11:53:59 +02:00
parent db9272a4fe
commit 6f0e3b4f44
Signed by: moritzruth
GPG key ID: C9BBAB79405EE56D
6 changed files with 44 additions and 25 deletions

View file

@ -20,24 +20,17 @@ import kotlin.time.Duration.Companion.seconds
fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
scene("Szene 1") {
lightStep(StepCue.Custom("Pause")) {}
lightStep(StepCue.MusicStart("Ende der Pause", 10.minutes)) {
val sideColor = Color(60.degrees, saturation = 20.percent)
sideLight.color1.static(sideColor)
sideLight.color2.static(sideColor)
sideLight.color3.static(Color.BLACK)
sideLight.color4.static(Color.BLACK)
sideLight.brightness.static(40.percent)
// für später
Tops.both {
it.startRoomMovement(10.0)
it.prismMode.static(FuturelightDmh160.PrismMode.FACETS_8)
it.prismRotationSpeed.static(20.percent)
it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Yellow)
}
sideLight.brightness.off()
Washs.both {
it.brightness.static(100.percent)
it.pointAtBathroomObjects()
it.colorWheelMode.static(CoemarProWash.ColorWheelMode.White)
it.beamAngle.static(100.percent)
@ -56,7 +49,9 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
curtainState = CurtainState.OPEN
onRun {
sideLight.brightness.fade(100.percent, 8.seconds)
val duration = 8.seconds
sideLight.brightness.fade(100.percent, duration)
Washs.both { it.brightness.fade(100.percent, duration) }
}
}
@ -77,6 +72,16 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
actors {
-"Bianca / nach rechts"
}
onRun {
// für den Song
Tops.both {
it.startRoomMovement(10.0)
it.prismMode.static(FuturelightDmh160.PrismMode.FACETS_8)
it.prismRotationSpeed.static(20.percent)
it.colorWheelMode.static(FuturelightDmh160.ColorWheelMode.Yellow)
}
}
}
songSchauMichMit()
@ -211,7 +216,7 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
bar.color.static(Color(50.degrees, saturation = 50.percent))
bar.brightness.sine(6.seconds, minimum = 80.percent, maximum = 100.percent)
sideLight.brightness.fade(50.percent, 8.seconds)
sideLight.brightness.fade(100.percent, 8.seconds)
sideLight.fadeColorsToClassroomFromDarkness(Duration.ZERO)
}
}
@ -436,7 +441,10 @@ fun ShowBuilderContext.fourthAct() = act("Vierter Akt") {
rightSpotTarget = null
onRun {
spotRight.brightness.off()
spotRight.brightness.off(5.seconds)
Washs.both {
it.brightness.off(5.seconds)
}
}
}
}

View file

@ -3,6 +3,7 @@ package de.moritzruth.lampenfieber.act
import de.moritzruth.lampenfieber.PropConfigurations
import de.moritzruth.lampenfieber.device.*
import de.moritzruth.lampenfieber.song.songRopeSkippingTanz
import de.moritzruth.theaterdsl.device.reset
import de.moritzruth.theaterdsl.show.CurtainState
import de.moritzruth.theaterdsl.show.ShowBuilderContext
import de.moritzruth.theaterdsl.show.StepCue
@ -361,6 +362,10 @@ fun ShowBuilderContext.thirdAct() = act("Dritter Akt") {
leftSpotTarget = null
curtainState = CurtainState.CLOSED
onRun {
Tops.both { it.reset() }
}
}
}
}

View file

@ -5,7 +5,8 @@ import de.moritzruth.theaterdsl.dmx.DmxAddress
import kotlinx.collections.immutable.persistentSetOf
object FrontLights {
val left = DeviceGroup(SimpleDimmer(DmxAddress(1u)), SimpleDimmer(DmxAddress(2u)))
// val left = DeviceGroup(SimpleDimmer(DmxAddress(1u)), SimpleDimmer(DmxAddress(2u)))
val left = DeviceGroup(SimpleDimmer(DmxAddress(2u)))
val center = DeviceGroup(SimpleDimmer(DmxAddress(4u)), SimpleDimmer(DmxAddress(5u)))
val right = DeviceGroup(SimpleDimmer(DmxAddress(7u)), SimpleDimmer(DmxAddress(8u)))
val all = left + center + right

View file

@ -24,7 +24,7 @@ class StairvilleClb4(override val firstChannel: DmxAddress) : Device {
override fun writeDmxData(writer: DmxDataWriter, isLightBehindCurtainOn: Boolean) {
if (isLightBehindCurtainOn) {
repeat(3) {
repeat(2) {
writer.writeRaw(DmxValue(255u))
writer.writeRaw(DmxValue(255u))
writer.writeRaw(DmxValue(255u))
@ -74,7 +74,7 @@ class StairvilleClb4(override val firstChannel: DmxAddress) : Device {
fun fadeColorsToClassroom(duration: Duration) {
sideLight.color1.fade(color1.getCurrentValue().copy(brightness = 0.percent), duration)
val color = Color(45.degrees, saturation = 90.percent, brightness = 100.percent)
val color = Color(40.degrees, saturation = 90.percent, brightness = 100.percent)
sideLight.color2.fade(color, duration = duration)
sideLight.color3.fade(color, duration = duration)

View file

@ -25,6 +25,7 @@ fun SceneBuilderContext.songSchauMichMit() {
Washs.right.brightness.switch(100.percent, 0.percent, 1.seconds, false)
Tops.both { it.brightness.fade(100.percent, 1.seconds) }
FrontLights.all { it.brightness.fade(40.percent, 10.seconds) }
}
}
@ -47,7 +48,7 @@ fun SceneBuilderContext.songSchauMichMit() {
sideLight.colors.forEach {
launch {
val downDuration = 1000.milliseconds
val upDuration = 400.milliseconds
val upDuration = 500.milliseconds
while (isActive) {
delay(Random.nextInt(0, 3000).milliseconds)
@ -63,7 +64,7 @@ fun SceneBuilderContext.songSchauMichMit() {
}
lightStep(StepCue.Custom("Strophe (mit dem ersten Wort)")) {
val interval = 750.milliseconds
val interval = 800.milliseconds
bar.brightness.switch(0.percent, 100.percent, interval, false)
@ -98,16 +99,18 @@ fun SceneBuilderContext.songSchauMichMit() {
}
}
lightStep(StepCue.Custom("Steigerung zum Schlussschlag")) {
FrontLights.all { it.brightness.off() }
}
// 3:36
lightStep(StepCue.Custom("Schlussschlag")) {
val upDuration = 200.milliseconds
val downDuration = 2.seconds
spotRight.brightness.fade(start = 100.percent, end = 0.percent, duration = 5.seconds)
sideLight.brightness.off(2.seconds)
bar.brightness.off(200.milliseconds)
spotRight.brightness.pulseOnce(upDuration, downDuration)
sideLight.brightness.off(downDuration)
bar.brightness.off(upDuration)
Tops.both { it.brightness.off(upDuration) }
Tops.both { it.brightness.off(200.milliseconds) }
Washs.both { it.strobeSpeed.off() }
}
step(StepCue.MusicEnd) {

View file

@ -8,6 +8,7 @@
<div class="w-4/7 flex flex-col space-y-4">
<ActorsOnStageBox class="h-full text-7"/>
<MessageEdit class="h-40"/>
<CurtainLightControl/>
</div>
</div>
<MusicProgressBar class="h-10"/>
@ -20,4 +21,5 @@
import { current } from "../state"
import ActorsOnStageBox from "../components/ActorsOnStageBox.vue"
import MessageEdit from "../components/MessageEdit.vue"
import CurtainLightControl from "../components/CurtainLightControl.vue"
</script>