Adventures in Projection (Part III) - Take Control

You're watching a show and suddently the scene is interrupted by a massive mouse pointer, menu bar, pop-up window etc... It happens to the best of us, but it really shouldn't.

If you have money you probably use a media server - the de facto industry standard has become Disguise, but it's not cheap. There's also Green Hippo's wonderful animal-themed products, Avolites Ai, Hive and many more.

My own media server

This is worthy of another post some day, but I've previously built an sACN/ArtNet controlled media server that runs on a Raspberry Pi, this works great and allows easy control of projected images from the lighting console, and the projector fades with lighting cues etc.  

However, it has its limitations - notably only one output, no masking, and only I have it (for now) so it doesn't help when giving someone else tips.

Therefore, I turned to another industry-standard friend... QLab.

Before we begin, Figure53 already has an excellent guide to preparing QLab and disabling a lot of things that could cause distractions or interruption to your projections, follow it!  

QLab as a Media Server

QLab is perfectly capable of doing most things a traditional media server can do, but not quite as elegantly, especially when it comes to control from a lighting desk however it does everything we needed.  

QLab makes preparing the surfaces, and adjusting keystoning etc, easy. There's also an excellent tool by Richard Williamson, Maskerator, that makes creating masks for QLab really simple. You can simply export the Surface Grid from QLab and import into Maskerator, then create a Video cue in QLab to show the NDI feed from Maskerator allowing you to adjust the mask live, we used this to mask the areas we wanted to project onto.

In order to keep it as simple as possible for the operator, we kept all projection cues in their own cue list in QLab and simply triggered these from the lighting desk by OSC, this meant that things like fade times had to be manually kept in sync (if you change the fade time on the desk, you'd need to change it in QLab but otherwise it just works™)

Triggering QLab from Eos

We use ETC Eos (well, specifically an Element at this venue) which has a simple OSC integration, but most other consoles will provide this as well. If your console doesn't support this then it's simple enough to have your operator hit GO for the proejction cues too.

The easiest way to make QLab trigger from Eos is to set the OSC Cue Send String in Eos to /cue/LX%1/start

Thereafter, Eos will send a message telling QLab to fire LXnn (where nn is your Eos cue) for every cue. If that doesn't exist in QLab, it's ignored, so that makes it easy to manage your projected cues - simply number them the same as Eos, so whatever projection you want to appear in cue 6.2 (for example) you'd simply number LX6.2 and it would run together.  

Why QLab?

Using QLab, and following Figure53's guide linked above, greatly reduces the chance of anything other than your projections appearing on stage.

It's also very fairly priced, compared to a lot of other solutions. Indeed if you only need one 'surface' then it's completely free! And if you do have to rent a license, every penny you spend renting it goes towards your future purchase, so once you've rented it a lot, you own it outright.

There's always the temptation to use 'things you know' in the amateur world particularly - but even in small scale touring -  I've seen people use PowerPoint for projections on stage - but I wouldn't recommend it.