Page 1 of 1

Feature request: Artificial scripted slider with fading support

Posted: Mon Oct 28, 2024 9:08 am
by cmuellner
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.

Re: Feature request: Artificial scripted slider with fading support

Posted: Tue Oct 29, 2024 7:22 am
by thibaultphil
Good morning,
For streaming music from QLC (windows 11), I use VLC.
I run a QLC script that plays an audio file with VLC. the VLC app appears in the foreground and I act on the VLC volume. I set VLC so that the sound of the next file starts at 100% volume.

Re: Feature request: Artificial scripted slider with fading support

Posted: Tue Oct 29, 2024 6:01 pm
by cmuellner
Thanks for your input! I was considering using a different tool to play the audio files.
However, using an external tool means you won't be able to synchronize light and audio easily.
For example, we had a fighting scene with music and strobes. At a certain point, the whole scene should immediately change into normal light without audio.
Any delay between the light change and the audio mute messes up this moment.
QLC+'s audio support can handle this perfectly fine (for my needs).

Regarding the volume control:
Before playing an audio file, I could set the system volume to the required level using QLC+ scripts.
For fade-up/down of the system volume, I used my notebook's vol+ and vol- keys.
It's not perfect, but it worked.