Feature request: Artificial scripted slider with fading support
Posted: Mon Oct 28, 2024 9:08 am
I was lightning a theater show this weekend, which also required playing some audio tracks. E.g. there was a party scene where the music started at high volume (let's say 85%) and the actors started morphing the room into the party location (this took 1-2 minutes). Then the actual play continued and all that was needed was lower the volume smoothly (let's say to 35%) so some actors could dance to music while others could talk and the audience could still hear their words.
I like to automate theater shows as much as possible in a chaser (incl. proper transitions using fade-in/fade-out times), so I just need to wait for triggers and press next. While this works well with DMX-controlled channels (i.e., all light fixtures), QLC+ only supports audio/video playback without volume control. My workaround for volume control was to create a few scripts to set the volume to a defined level (on Linux using "amixer set Master 50%"). However, this does not work well for smooth transitions of the volume (fade-down from 85% to 35% within 5 seconds while playing the track).
I'm aware that volume control of the host computer is a bit tricky, especially since Qt does not provide an API for that functionality. So, I'm not requesting volume control in QLC+.
I would like to see artificial scripted channels in QLC+, which would allow the use of the fade-in/fade-out functionality. A scripted channel would work like a script (command + arguments), but the argument string would also support variables that expand to the channel's value (e.g. "%p" for level in percentage). So in my case, the master volume scripted channel would be "amixer set Master %p%%". Scripted channels can then be set to defined values in scenes (just like DMX channels of the fixtures).
To avoid useless exec() calls, it would be great if the invocation of the scripted channel's command could be restricted to commands that have a different value than the previous invocation.
I like to automate theater shows as much as possible in a chaser (incl. proper transitions using fade-in/fade-out times), so I just need to wait for triggers and press next. While this works well with DMX-controlled channels (i.e., all light fixtures), QLC+ only supports audio/video playback without volume control. My workaround for volume control was to create a few scripts to set the volume to a defined level (on Linux using "amixer set Master 50%"). However, this does not work well for smooth transitions of the volume (fade-down from 85% to 35% within 5 seconds while playing the track).
I'm aware that volume control of the host computer is a bit tricky, especially since Qt does not provide an API for that functionality. So, I'm not requesting volume control in QLC+.
I would like to see artificial scripted channels in QLC+, which would allow the use of the fade-in/fade-out functionality. A scripted channel would work like a script (command + arguments), but the argument string would also support variables that expand to the channel's value (e.g. "%p" for level in percentage). So in my case, the master volume scripted channel would be "amixer set Master %p%%". Scripted channels can then be set to defined values in scenes (just like DMX channels of the fixtures).
To avoid useless exec() calls, it would be great if the invocation of the scripted channel's command could be restricted to commands that have a different value than the previous invocation.