Automatically Switching Cue Lists in Qlab

TL;DR:
Tell Qlab to automatically switch to another Cue List so that you’re ready to go – like jumping from Act 1 to Act 2, or out of your Preshow routine. No clicks needed, and make life easier for your board op.

The Story:
My goal with this blog is to help as many designers and engineers as I can – as well as use it as a training tool for my students. However, with posts like this, it also serves as a repository for things I forget how to do and need my own reference material!

I copied this largely from some forum or another, before I made some adjustments. Maybe the Qlab Google Forum. I don’t know. If this is your work, please let me know and I will credit it. Because I have totally forgotten that I had this working properly at one point, and five minutes ago stumbled on this script while researching something else in my archives. (It was two years ago, and my attempts to recreate it since then have been half-hearted failures.)

During production of “Having Our Say,” a revival that was put up by Long Wharf Theatre here in CT (and then passed on to their production partner, Hartford Stage, for a couple more weeks), I, as video engineer, worked closely with my then-new-friend Adam Bintz, who was the sound engineer/supervisor for LWT. Our two departments were combining our Qlab shows together, and our goal was to make it all as seemless for Adam as possible, so he could focus on mixing, not taking cues. This led to triggers from lighting, and so on.

“Having Our Say” tech rehearsal

One of the things I worked on for this show was this script – the ability to jump from one Cue List to another. The thought process is to save clicks for your operator. Top of the show, he could start the soundcheck Cue List, and when it was done, Qlab would automatically go to the Show Cue Cue List (script is at the bottom of the screenshot).

The script we are creating is at the bottom of this Cue List example

I find this type of script useful to put at the end of Act One, and automatically go to Act Two, so that when the operator returns from their break, Qlab is ready to go. They don’t have to manually click on the Cue List – or display the list of Cue Lists, if it is hidden.

Will it change the world of theatre? No. But it is a nice service I like to do for my operators or for myself, especially on shows where there is a lot to do and relieving mental overhead is useful.

The Esoteric Bit:

There is a bit of math going on in this script, but implementing it is as simple as copy and paste into a new script cue, and setting group cues/autocontinues/autofollows in a way that the script cue is fired.

Create a new script cue, label it something obvious like I did “Switch to Show_Cue_List”. Paste in the following:

tell application “QLab”
    tell front workspace
        set cueLists to every cue list
        set currentList to current cue list
    end tell
end tell
set listPosition to getPosition(currentList, cueLists)
set totalLists to count cueLists
–Select Next Cue List
if (listPosition < totalLists) then
    gotoList(cueLists, listPosition, 1)
end if
–End Select Next Cue List
on gotoList(l, p, i)
    tell application “QLab”
        tell front workspace
            set newList to item (p + i) of l
            set current cue list to newList
        end tell
    end tell
end gotoList
on getPosition(i, l)
    repeat with n from 1 to (count l)
        if l’s item n is i then return n
    end repeat
end getPosition

It should then look like this, after you hit “Compile Script”:

The compiled Applescript

You will notice that the screenshot example says “QLab 3.” I have been working in Qlab since version 2, and have kept multiple versions on my computer at any given time, for compatibility and testing purposes. So to keep them straight, as well as to have more than one program in my Applications folder called “Qlab,” I renamed them with a version number. So my script was invoking the proper on on the computer at that time.

The important thing to realize about this script is that it will jump you out of your existing Cue List (view-only, media will continue to play!) and into whatever Cue List is after it. If you want to make Qlab go BACK to a previous Cue List, you would have to replace the section marked “Select Next Cue List” with this:

–Select Prev Cue List
if (listPosition is not equal to 1) then
gotoList(cueLists, listPosition, -1)
end if
–End Select Prev Cue List

This will then make Qlab go back one Cue List, to whatever is there. I have played around with creating a script that lands you in a SPECIFIC Cue List, but I haven’t gotten that working. So for now, just step sequentially through your lists!

Cheers!
-brian