Script: "WAIT" command until the the end of chase

Ask a generic question about the usage of QLC+, not related to a particular operating system
Post Reply
jsem0n
Posts: 2
Joined: Sun Nov 26, 2023 11:36 pm
Real Name: Ondrej Becev

Hi QLC experts,

I am a QLC newbie and I have run into an issue with scripting.

I want to run several chases one after the another in a one-shot manner. I understand this can be achieved by a startfunction followed by a wait command.
However I will likely fiddle with durations in many of the the steps in chase, seeking for the best overall experience. That means, the total length of a chase will change many times during the chase development and testing..
Is there any way of setting the wait time dynamically? i.e. telling the wait command to wait until the end of respective onging chase, whattever that would be?
And if not, is there any way how to easily copy-paste the total time length of a chase? So i don't have to manually calculate chase length after every change?

Thank you!
O.
User avatar
GGGss
Posts: 2732
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

Welcome to the froum,

No there is not such a thing ... but you could consider the 'chaser inside chaser' method. Create a master chaser and put your sub-chasers inside it.
Or you step through the steps of your master chaser by hand, or you compute the time each sub-chaser needs to complete...
Using this method, you won't need to script anything.
Hint: Have a look at collections also... a very powerful tool. A collection can start different things at once (or with 1 command / step / ...).
All electric machines work on smoke... when the smoke escapes... they don't work anymore
MichelSliepenbeek
Posts: 504
Joined: Wed Feb 08, 2023 10:24 am
Location: Nederland
Real Name: Michel Sliepenbeek

You could have a look at the Speed Dial: https://docs.qlcplus.org/v4/virtual-console/speed-dial

It is important to understand that a Speed Dial only affects the Functions (Chasers, Scenes, EFX, etc) you assign to it.
So if you have a Chaser that uses 4 scenes, you can set up one Speed Dial to control the (running and/or fade times) of the Chaser and another 4 Speed Dials to control the individual scenes.
You can even use 3 Speed Dials to specifically control the Fade In, Fade Out and Running Time of one Scene or Chaser, by setting the Time Factor to "(Not Sent)" accordingly on the Functions Tab.

I advice you to use the Appearance Tab and Unbox everything you don't want to use. In most cases i end up with only Seconds and Milliseconds being Boxed.

While you're testing to find out which Fade and Running times to use, you need to know that (in Operate Mode) when you move your mouse to a specific Second or Millisecond Field you can change the value with your mouse wheel (or mark the field with your mouse and then enter a value on your keyboard).
You could call this a "way of setting the wait time dynamically". :) :)


If you want a more sophisticated way of changing the Running and Fade Times, you could use Loopback to add a Fader to your Speed Dial.
For an example you could check "Loopback Easy Example.QXW" (together with its QXI file) overhere: viewtopic.php?t=16694
Go to the second page of the Multi Page frame.

You could also check "Loopback Easy Example 6.QXW", it will give an example of how you could use separate Speed Dials for Chasers and Scenes.
A QLC Workspace is like a Bob Ross painting: "it's your world, you can create whatever you want!"
jsem0n
Posts: 2
Joined: Sun Nov 26, 2023 11:36 pm
Real Name: Ondrej Becev

GGGss wrote: Mon Nov 27, 2023 8:11 am Welcome to the froum,

No there is not such a thing ... but you could consider the 'chaser inside chaser' method. Create a master chaser and put your sub-chasers inside it.
Or you step through the steps of your master chaser by hand, or you compute the time each sub-chaser needs to complete...
Using this method, you won't need to script anything.
Hint: Have a look at collections also... a very powerful tool. A collection can start different things at once (or with 1 command / step / ...).
Thanks for your reply!

Actually, putting chasers inside a master chaser was the first thing I tried, even before playing with scripts. The problem is, that it suffers from the same problem.
You need to explicitely specify a Duration time for each of the sub-chasers, which means you need to know (=calculate) the total duration of a given sub-chaser.

Collection seem to run all of the functions in parallel.
User avatar
GGGss
Posts: 2732
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

Rethinking about your wish... What if your last step in the sub-chaser acts as a Go for your master chaser to proceed?
Then everything would be automated and you wouldn't have to compute the masters' hold times.
This can be achieved by using some Loopback Magic. In the last step of your sub-chaser, you set a scene (which holds a channel in loopback universe) and this channel is bound to the next command of the main chaser. (Make sure you reset this channel with the first step of the next sub-chaser.)
All electric machines work on smoke... when the smoke escapes... they don't work anymore
Post Reply