My gaffer makes a MEAL (a banquet?) of driving work. I tell other programmers about what he like to have and they look at me with disbelief. So this whole tutorial is probably overkill. But who knows what someone will ask you for on a given day? The programmers who say “coming right up” get more gigs than those who say “uhhhh”, so I’m sharing. (Full disclosure- I’ve been both programmers at different times.). Right up front- thank you to Ian Peterson, who helped me understand where in Blackout there were tools to help me make this work. Also thank you to Chris Balo, who helped me solve a very odd QLab behavior. Heads up- this technique requires both third party software and the MIDI module license in Blackout.
The Ask:
My gaffer works with multiple layers of drive-by lighting. Top layer is the streetlights, which are a constant color temp. But the next layer is often four randomized CCTs that represent different stores, shops, factories and houses. The color temps must be variable per side- no matching color temps except as they sometimes randomly do. The creating of the effects themselves is pretty easy, but randomized playback isn’t currently in BO. The answer I came up with is in a piece of software called QLab, and it’s worth getting to know.
What is QLab:
QLab is software for video and sound playback- but to the nth degree. (It also does lighting control, but it’s not meant for people like me so I stay away from it.) The unadvertised things it offers are far more important to me. It offers nearly comprehensive Timecode (linear and MIDI), OSC, MIDI and MIDI over Network tools. They sell licenses per-module (Sound, Video, Lighting) and any ONE of these licenses unlocks the whole of the MIDI and Network options. Even better- you can rent a license by the day or days. Any monies you spend on these rentals can count towards the purchase of a license. Super sick. It’s on literally every live show pretty much in existence and has been for a very long time. I mention this because it’s the rare code that I fully trust. It’s beautifully made and maintained. There is only one thing that may give you pause: it’s Mac only.
If you didn’t just leave the tutorial in a Windows or Linux induced rage, let’s get into it. (Also- if you left and found a product that does the job that works on either platform- let me know. I know the main Windows QLab competitor and I don’t believe it has what I need, but I’m happy to be wrong.)
The Process:
I’m going to lean into the QLab/Blackout sync aspects of this and not the effects themselves. I feel like many programmers and instructors could fill in the content creation and I want to avoid a long tutorial. (Well- any tutorial on Show Control is going to be long as this one is no exception. So I’m trying to avoid a tutorial so long NO ONE would want to read it.)
The first task to is connect our MacBook to our iPad. Make sure they are sharing the same network (hard line is ideal for precise timing, but WiFi works pretty good in general). Open AudioMIDI Setup on your MacBook.
Go to Windows>MIDI Studio.

On the upper right hand corner, touch the Globe.

1. Create new session by clicking +, then naming it Blackout
2. Activate Session by clicking
3. Select iPad and press Connect

This task is done, but remember to leave the MIDI Network Setup window open to keep the connection activated.
Blackout Setup:
With the connection between iPad and MacBook made, let’s set up Blackout to receive. Touch Link Status at the upper right. Touch Connect to Device. Again- touch Connect to Device. Your MacBook should show up under Found Devices. Touch it and BO will automatically connect to it. As you return to this setup, remember you will need to refresh this connection at startup each time.

QLab
After you install your license, setup in QLab is simple. Press the cog in the lower right hand corner, then select the MIDI tab on the left. Click New MIDI Patch.

Name the new patch and select Blackout from the MIDI Destination pull down menu.

Close setup by clicking Done at the bottom right.
The way this is going to come together is we are going to use MIDI note triggers in a Playlist that we tell QLab to shuffle every time it plays, then we’ll add a repeat command. Let’s build the list.
In QLab, there is a toolbar with icons for the kinds of actions you can program. The Square icon is a Group Cue. Drag and drop one into the interface.

A Group cue has many options. The lower third of your screen is a tabbed interface that shows the options for whatever you are selected on. Navigate to the Mode tab and select Playlist.

Notice the little description of what Playlist does that appears to the right of your selection. Also- the last tab has now changed to the Playlist tab. Navigate to that tab and turn on Auto-shuffle.

You might reasonably expect to also turn on Loop until stopped. Don’t do that. We found (for no reason) that engaging that feature had the first four cues play in correct timing, but then Qlab would count down for quite a while before reshuffling and playing the cues. Not helpful.
It’s time to add some MIDI cues inside this Playlist. From the toolbar, drag and drop in a MIDI cue. Make sure it goes inside the Playlist. If you miss, you can just drag and drop it in.


Click on the name “MIDI note on” to rename it. I’m going to name it Driver’s Side 1750. This is because I’ve already created four different effects that are all single shot (number of cycles 1) effects that set the color temperature, then do an intensity pass down a bunch of pixels for motion.

Notice that the Note Number is 60. MIDI is a 7 bit protocol, so the lowest value is 0 and the highest is 127. We need to make sure all of our commands have unique notes, since that’s how we are communicating to BO which effect to run. Theefor, this should be the only cue that uses Note Number 60.
Notice also the Send Message. This is a great way to trigger the note when you are using MIDI Learn in BO.
At this point, copy and paste the MIDI cue three more times into the Playlist. Make sure you edit each new cue for labeling and so the MIDI note is unique from the others. I’m just raising them gradually by one, so I’m using Note Numbers 60-63. Here’s what mine looks like.

Now the thing about MIDI commands is they don’t take time as such. They are a very short message, and we need them to match the timing of the effects I built. My current effects are 3.5 seconds long. So each cue and add a timing of 00:03.50 on Pre-Wait.

This next instruction is a little weird but when my friend Chris Balo was helping me figure out the strange repeating behavior, he figured out that copying and pasting the whole playlist, then adding a Go message to loop back solved the strange timing. So select the Playlist by clicking Playlist-Shuffle and copy and paste it.
Now we need to loop it. First step is to find the icon in the toolbar that looks like a Play button and drag and drop it below the last playlist- outside of any playlist.

Notice the X next to it? It has that because we have told it what to loop back to. We do that by clicking on the first Playlist-Shuffle and dragging and dropping it onto Target of the new cue.

Last step in looping is to tell the Playlists themselves to Autofollow. Click on the names of each playlist one at a time, navigate to the Basics tab and select Auto-Follow from the pull down list under Continue.

Once you’ve done that for both Playlists, Qlab is done for setup and creation. Now all we have to do is MIDI learn the notes in Blackout.
Blackout for the Finish
Since I’m using Effects, and BO doesn’t allow Effects to be MIDI learned yet, I’ve made macros that trigger each effect. The syntax of which is basically On Effect X Enter, with “X” being the number of the effect I want triggered.
To help make the learning process easier, make sure you can see the Macros view. Touch Link Status>Connect to Device>MIDI Learn.

I’m selecting the Driver’s Side 1750 Macro in Blackout to be Learned first.
Press the X to close the MIDI learn popup. Now, choose the first cue in Qlab Driver’s Side 1750. You should be on the Settings tab. Remember the Send Message button? Press that button and you’ll see BO learned the MIDI note to trigger the Macro.

Repeat with each macro and each of the first four cues in Qlab (the other four are repeats, so you don’t need to do anything with them.) To play your Playlist, select the first Playlist and press Go.
Depending on what you are trying to achieve, you will almost certainly need to adjust the Pre-Wait time to match the timing your effect and Gaffer want. But that’s the process. Though this is an unusual effect, hopefully the technique is something you all can have fun with. What other shows control or QLab requests do y’all have? Hit me in the comments.
Featured Image Photo by CHUTTERSNAP on Unsplash
***
Mark LaPierre is a programmer in film and television based out of Albuquerque. He grew up in live entertainment and has been a designer/programmer for musicals, concert dance, live music, circus and corporate. Mark is a proud member of IATSE, an ETC Eos trainer and an enthusiastic trainer of many other platforms and subjects. He offers Zoom console training as well as in person. If you enjoy his content, please consider commenting on his posts on the website to appease the Algorithm.