Script ideas to keep an audio cue alive in rehearsals?

236 views
Skip to first unread message

j hydroplant

unread,
Dec 14, 2021, 8:46:19 AM12/14/21
to QLab
Hello,

We have some IEMs attached to bluetooth speakers that fall asleep if they do not hear a signal after a certain amount of time. I've got a low sine wav being sent to all the speakers on a loop that keeps them awake.

I want to think of a way to tell qlab every couple of minutes to just check if it's playing or not, and if it isn't then start the loop again...

I'm not sure how to make a script that is always monitoring for some trigger or other...

It's probably a case of just having a sticky note on the screen that says "remember to run this cue" but now i'm thinking about it and want to figure out a solution.

Any ideas? Maybe something to do with a wall clock cue that runs every minute...?

micpool

unread,
Dec 14, 2021, 8:49:21 AM12/14/21
to QLab

j hydroplant

unread,
Dec 30, 2021, 7:59:44 AM12/30/21
to QLab
OK, I didn't quite manage to get my head around the options in that thread....

So, what i've done is create a group called "CLOCK" that has 60 cues in it, to fire every minute.

Then another group of 24 scripts, one for every hour triggered by the local wallclock, that targets "CLOCK" group and changes the hour.

The only thing that would make this work better, and that I cannot work out how to do, is to make a cue that fires when Qlab opens which takes the current system hour and chanes the "CLOCK" cues to that...

Sorry to be lazy, can anyone help with that, it's broken my mind a bit....

have attached the project, in case it's useful for anyone
keeping a cue alive.qlab4

micpool

unread,
Dec 30, 2021, 4:12:24 PM12/30/21
to QLab
Sorry, just realised that although I'd posted a screen recording in that thread, I hadn't actually posted a workspace or script. Here's a new version

Vampire.png


The script don't Panic sets wall clocks for cue "VAMPIRE" and cue "dontPanic" repeatedly,  a few seconds ahead of system time

--restart a group cue in a panicked workspace using  wall clock timers
-- based on GJR AutoSaver V1 by Gareth Risdale
set myQnumber to "dontPanic"
set theinterval to 1 -- seconds
set t to (time of (current date))
tell application id "com.figure53.QLab.4" to tell front workspace
        set mygroup to parent of cue myQnumber
        set t to (theinterval) + t
        set h to (t div 3600)
        set m to (t - (h * 3600)) div 60
        set s to (t - (h * 3600)) mod 60
        set wall clock trigger of mygroup to enabled
        set wall clock hours of mygroup to h
        set wall clock minutes of mygroup to m
        set wall clock seconds of mygroup to s
        set t to (theinterval) + t + 1
        set h to (t div 3600)
        set m to (t - (h * 3600)) div 60
        set s to (t - (h * 3600)) mod 60
        set wall clock trigger of cue myQnumber to enabled
        set wall clock hours of cue myQnumber to h
        set wall clock minutes of cue myQnumber to m
        set wall clock seconds of cue myQnumber to s
       
end tell

The example workspace auto starts cue "VAMPIRE" (settings/general ) when the workspace opens.

If you want to kill the cue then the example has a kill cue called "SILVERBULLET"  

tell application id "com.figure53.QLab.4" to tell front workspace
        set wall clock trigger of cue "VAMPIRE" to disabled
        set wall clock trigger of cue "dontPanic" to disabled
        stop cue "VAMPIRE"
end tell


Which can be undone with cue "REVIVIFY"

tell application id "com.figure53.QLab.4" to tell front workspace
        set wall clock trigger of cue "VAMPIRE" to enabled
        set wall clock trigger of cue "dontPanic" to enabled
        start cue "VAMPIRE"
end tell


Demo Workspace attached with a 22Hz Sine Wave Loop in the VAMPIRE group. You can stick anything else in this group that you want to ESCape proof.

Obviously,  use with care, and at your own risk  and I would suggest putting a prominent note at the top of the Main Cue List to warn users that this is running.

And for completeness I reprint a modified version of the warning in the original post here:

Because this technique  just uses standard QLab features in cue lists, it is slightly  more acceptable for advanced general  use, although I  am firmly  in agreement with  the tenet of QLab design philosophy, which requires that anyone without detailed knowledge of a particular workspace should be able to stop everything by hitting escape!

This rather brilliant  technique was conceived  by Gareth Risdale, in a script he wrote to keep a script persistent, in order to guarantee automatic saves would be made of a QLab workspace at regular intervals. It worked by programming the wall clock of the script cue to execute the next save, thus rendering it immune to a panicked workspace.

My version is based on his script,  but uses much shorter intervals so that a panicked cue will restart in seconds.It also uses 2 wall clocks to eliminate edge cases where the timing of an ESC key press can interrupt the updating of the wall clock on the script cue.


Mic
VAMPIRE.zip
Reply all
Reply to author
Forward
0 new messages