[Updated for QLab 4.1 13 JUL 17 ]

In shows with voice-over recordings, click tracks, or videos featuring characters, it is often necessary to have a quick and reliable way of selecting which cues will be used in a performance, based on who will be performing.

There have been lots of solutions to this problem using AppleScript. With the introduction of OSC cues, which can use wildcards in custom OSC strings, this process has been made much easier. The method illustrated here is based on an OSC method by Chris Ashworth.

The version described below works in all versions of QLab 3 and QLab 4.  It’s fairly easy to adapt for situations where you want to change the cues used for multiple performers.

With QLab 4 there is a much better method using cart lists devised by Andy Lang.  This method is described at the end of this article.

The selection of cues is made from a dialog at the top of the main list. The current selection is  clearly visible in a memo cue at the top of the cue list. This is a simple example which allows the selection of 1 of 3 sets of cues. It is easily adapted for more complicated requirements.

How It Works:

A script with Hotkey “§” puts up a list of actors to choose from. Depending on which actor is selected a cue is run.

set actorlist to {“ANN”, “BRIDGET”, “CAZ”}
set actor to (choose from list actorlist with title “VO Selector” with prompt “At this performance Cosette will be played by?”) as string
tell application id “com.figure53.qlab.3” to tell front workspace
if actor = “ANN” then
start cue “9991”
else if actor = “BRIDGET” then
start cue “9992”
else if actor = “CAZ” then
start cue “9993”
end if
end try
end tell

These cues are in a separate cue list and contain groups of OSC cues, which arm or disarm the relevant voiceover cues.

Qlab Arm Actor

They use wildcards to select the cues. So, for instance, the OSC:

/cues/*ANN/armed 1

would select any cue whose number was (anything) ANN. So if all voiceover cues have the name of the actor after their number, then they will all be selected for the arm or disarm.

IMPORTANT NOTE:  All OSC is case-sensitive!

The final cue in each group is a script cue, which sets the Q name of the memo cue,  numbered CAST, in the main cue list, to the name of the cast selected.

tell application id “com.figure53.qlab.3” to tell front workspace
set q name of cue “CAST” to “ANN” & ” SELECTED”
end tell

This example workspace can be downloaded from here

Using Carts as the Selector Interface
(requires QLab 4 or 4.1 or later  to pop out the cart list so you can see both simultaneously)

This method is a simplified version of a workspace programmed by Andy Lang. His original controls photographs and name captions for a video title sequence for a large number of roles with many alternates or understudies. It also has sophisticated features like mirroring changes to a backup QLab system.

This simplified example is for voiceover audio cues in a play with 2 characters with a single understudy for each part.  Here it is in action (best viewed full screen:

On the right is the cue cart which contains 6 start cues. Each column represents a character and contains buttons for selecting which cast member will be playing each character, or in the case of the third column whether an announcement appropriate for a  matinée or evening performance is played. As each cart is clicked the selection is indicated by a change in cart color and by the disarming and arming of cues in the main cue list, on the left, to correspond to choices for that performance.

Because each selection requires a number of cues to be executed, the cart cues are start cues which start a start all children group cue, in a dedicated cue list, which contains network cues appropriate for each selection.

Here’s a closer look at the cue list

cart and cuelist

At the top is a pre-show announcement which has 2 versions, one of which is armed to play depending on the cart selection, and the other cue is disarmed.  Then there is a short recorded dialogue sequence between 2 characters, Thomas and Florence. For each voiceover, there is an audio cue for each cast member who may be playing the part in a start all children group cue. Only one cue is armed. The example only uses 2 roles, each one covered by 2 actors but it is easy to expand the number of roles and alternates for each role.

cart inspector

So if the Thomas Played by Daniel Fogerty Cart is clicked, a cue numbered select.thomas.daniel is started.

This is in a cue list called Understudy Handlers. The list contains a start all children group for each cart in the cart cues list

thomaswildcard disarm

When the cue select.thomas.daniel is started it first disarms all cues in the main cue list whose numbers start with thomas by means of a network cue, which sends an address composed from the information in the settings tab:

thomas.* in the cue number

armed in the command

and 0 in the parameters field

which will result in this OSC message being sent

/cue/thomas.*/armed 0

The asterisk denotes a wildcard which means any other text, so cues including thomas.oliver.3 and thomas.daniel.1 would be disarmed.

The next cue in the group arms the selected cast members voiceovers for that character using a network cue which results in this OSC. MESSAGE

/cue/thomas.daniel*/armed 1

thomas.daniel arm

This will arm all cues that start with thomas.daniel so all voiceovers including  thomas.daniel.1 and thomas.daniel.4 will be armed

The next 2 cues set the cart colors to indicate the selection in a similar way. The color is cleared (x) in all carts whose cue numbers begin cart.thomas and then switched to purple for cart.thomas.daniel

The clever thing with Andy’s workspace is the dot numbering style.

Cues are numbered,

Carts with,

and group cues triggered by the start cues in the cart list select.characterName.castmember

this makes it easy to use wildcards to apply the arms and disarms to either all cues pertaining to Thomas for the disarms, and all cues pertaining to Thomas played by Daniel for the arms.

A useful addition, if you are thinking of using a similar workspace frequently, might be some helper scripts to automatically create, name, and number cues, with the complex dot structure names, automatically. For instance, a script could ask for a character name and cast member in a dialog and create a cart in the cart list and a group cue in the handler list with all the wildcard network cues automatically created. Another script might go through a cue list and find all the cues with the name of a character and VO in the cue name and generate a cue number for it.

You can download the workspace with some placeholder audio here

Chapter Author: Mic Pool

Chapter Graphic: Original Photograph ‘Out Of The Snow’
By Keven Law (Los Angeles, USA) via Wikimedia Commons.
Licensed under a Creative Commons Attribution-ShareAlike 2.0 Generic License.
Modified image distributed under the same licenseCreative Commons License