Skip to main content

Midi Time Code (MTC), Qlab, ETC Ion

The Aim

So, the aim of this little project is to run Midi Time Code on a Qlab machine, in time with a music track, and have cues fire on the lighting desk at set points in the music track.

What we’re not going to do

One way to achieve this is to use the Midi Show Control option and send “Go” commands from Qlab straight into the lighting desk. While this would work, it involves creating cues on the lighting desk, and the Qlab machine. You would also have to fire alot of cues in Qlab at once, or work out pre or post wait times in Qlab between every cue. Wanting to change a cue would involve re-arranging the cue list and working out different cue times. As I said before, this would work, but it can and would get messy. Don’t get me wrong, if you have a few short sound effects that you want to fire an lx cue at the same time, a Midi Show Control cue is ideal. But if you have a long track with hundreds of cues, you’l want to use timecode.

System Overview

So what have we got. Basically a Qlab machine with a soundcard that happens to have Midi in/out on it and an ETC Ion lighting desk with Midi in/out. You’l also need a standard MIDI cable of whatever length you need it to be. I’ve have lengths of up to 30/40m via XLR adaptors working fine in the past. Obviously the shorter the better. (Any USB-MIDI device should work with Qlab). Heres a lovely picture.

mtc sig path

That’s the hardware. Now for the software. In order to use Midi Time Code cues in Qlab, you will need a Pro licence. (note, you will be able to insert and use the timecode cue without a licence, but won’t be able to use it once you have reopened the qlab file.)

Timecode Preroll

Im not entirely sure what to call it, but il go with pre-roll. Basically, the device receiving the timecode needs some time to start “reading” the timecode signal. If you put a lighting cue to trigger right at the start of the timecode, chances are it won’t fire 100% of the time, if at all. To get round this, you simply need to play a little timecode before you want any cues to start happening. If you are aligning it to a track like we are here, simply delaying the music track starting by a few seconds will enable the lighting desk to start reading the timecode before the music starts. Note!: do this before you add any cues as changing this after you have plotted some will just mess up your timings.

Qlab Setup

In Qlab I have my audio track and a Timecode cue that I have dragged in from the icons above the cuestack. We want both the audio track and the timecode cue to be triggered at the same time. To do this, I have put them both in a group, and set the group to trigger all cues simultaneously. But hang on, we want the timecode to start before the audio track. Lets add a pre-wait to the audio track. Ive chosen 5 seconds as this will be fine for this project. I have also included a Stop cue. If we don’t stop the timecode, it will just keep running. Notice this triggers after the audio track has finished (including +5 seconds on the pre-wait)

qlab mtc screenshot

Ion Setup

So there are a number of things to setup in the Ion before it will work. First things first make sure your console is up to date. (I’ve had timecode not working on some older versions of the software – with an update fixing it) For the purpose of this tutorial, I am using the offline editor for screenshots!

  1. Lets go into Browser > Setup > Show Setup and head over to the Show Control tab. Make sure that MTC Receive is Enabled.
    mtc setup
  2. Next you’l need to find the Show Control tab. It probably won’t be there but you can click the + and add it to your view. (Theres probably a key shortcut but i’m not an EOS programmer so il show you the way I found!)mtc show control tab
  3. So you can have multiple Event Lists, just like you can have multiple Cue Lists. Each event list can have different settings. Each Event acts like a cue. For every cue you enter that you want to fire via timecode will need its own event. So I have created an event list, and an Event by entering Event 1 [enter]. Then I have set the type to MIDI (by clicking in the type column and hitting a soft key) and set the External Source to On. Note that the FPS (Frames per second) defaults to 30 – which is what we set in Qlab earlier. Heres a screengrab with my settings on it.mtc event list
  4. Now you’l need to find the Cue List Index tab. Once again, add it if you cant see it. I had to. We now need to tie our Cue list to the Event list. To do this we type Cue 1 / Execute TimeCode 1 [enter] (You will find the Execute and TimeCode commands on the Softkeys/More Softkeys bits)
  5. Send some timecode! See what happens. Hopefully you will see a clock in the top left of your screens showing you the timecode counting up. But at the moment nothing will fire as we haven’t told any cues and times yet. So step 6…
  6. One way to enter a time code for a cue is Cue 1 Execute Timecode 204024 This will set the cue to fire at 20 minutes, 40 seconds and 24 frames. It will probably format it in the command bar so you can just type numbers in and see what it will look like. You will notice the timecode value appear in the execute column on the cue list display.
    mtc cue ext link
  7. Another way to enter timecode into a cue is to activate Learn mode. This will let you fire the cue and it will read the timecode at the moment you press go. Quite useful to ‘rough in’ the points at which you want cues to fire, if its too much of a hassle to work out the timecodes.

You can find the official documentation here from ETC on timecode and show control in general. Hopefully you can get your show to work using my steps and failing that, the document linked to above.

Timecode Tracks

If you are sending a second track from Qlab, you will want to change the 01 to 02 in the starting point box in Qlab for the Timecode cue. If you don’t do this, you will fire all the cues you’ve set for your first track!

Midi with an ETC Nomad and an ETC Puck

So we had some trouble getting this to work. The Ion has MIDI ports on the back of the desk – so it just works. The particular show I was helping with this was planing to take the show on tour with a Nomad and a Gadget combined with a simple 3rd party USB > MIDI cable. This simply doesn’t work. You can get the midi signals into the computer running Nomad but the ETC software won’t pick up the device, and therefore it won’t work. The only way around this is to get a Show Control Gateway and use this to get the MIDI signals into the Nomad or Puck machine. (yep, that’s another ~£1000).


James is a freelance Sound Engineer in the East of England. He works for a variety of companies specialising in different sectors of the industry.