Wednesday, March 4, 2015

QLab cue variety based on day of month

Let's say you have a production where you want some of the sound or video design to be slightly different each show.

You can do this with AppleScript using a script cue in QLab.

First, set up a script cue that runs when QLab loads.  If you're controlling QLab from your light board via MIDI, you can trigger this cue off of the light board's warmup or preshow cue.  Otherwise under General Settings you can use the "When workspace opens, start cue number" feature.

You need to make sure "Run in separate process" is UNCHECKED - this is to the right of the Compile Script button at the bottom of the Inspector on the Script tab.

Let's say you have 10 different cues and you want only one of these cues to be armed based on the last digit of the day of the month.  For example, on the 23rd, cue #3 would be armed.

You should have all these cues set to Auto-Continue so QLab will go through all of the disarmed cues and run the armed cue.

Here's an example.  Let's say the 10 cues are cue numbers 100 through 190:

tell front workspace
     set armed of cue "100" to false
     set armed of cue "110" to false
     set armed of cue "120" to false
     set armed of cue "130" to false
     set armed of cue "140" to false
     set armed of cue "150" to false
     set armed of cue "160" to false
     set armed of cue "170" to false
     set armed of cue "180" to false
     set armed of cue "190" to false
     if (day of (current date) as text) ends with "0" then set armed of cue "100" to true
     if (day of (current date) as text) ends with "1" then set armed of cue "110" to true 
     if (day of (current date) as text) ends with "2" then set armed of cue "120" to true
     if (day of (current date) as text) ends with "3" then set armed of cue "130" to true
     if (day of (current date) as text) ends with "4" then set armed of cue "140" to true
     if (day of (current date) as text) ends with "5" then set armed of cue "150" to true
     if (day of (current date) as text) ends with "6" then set armed of cue "160" to true
     if (day of (current date) as text) ends with "7" then set armed of cue "170" to true
     if (day of (current date) as text) ends with "8" then set armed of cue "180" to true
     if (day of (current date) as text) ends with "9" then set armed of cue "190" to true
end tell

No comments:

Post a Comment