With the release of 2.3, it is now possible to trigger Qlab cues using a protocol called OSC. OSC is like MIDI Show control, except way more awesome, and it runs on modern networking protocols like TCP or UDP. That means you can ditch the MIDI gear, and just connect your Qlab computer to your Eos lighting network.
The only trick is, Eos and Qlab speak slightly different dialects of OSC. Every time you take a cue on Eos, it will output a command that looks like "/eos/out/event/cue/1/2/fire", but Qlab is listening for a command that looks like "/cue/2/start". So how do we get them to talk to each other? Here's how to get it working:
1) Make sure you're running Qlab 3 and Eos v2.3 or higher.
1a) Make sure that "UDP Strings & OSC" are enabled in the Eos shell settings (Exit to the shell, click "Setup", click "Network", scroll down to "Interface Protocols")
2) On Eos, navigate to Settings>Show Settings>Show Control, and configure your system so it matches these key settings:
For your Eos system to output OSC, String TX must be enabled, and you need to tell it what IP address you want it to send OSC commands to. So under OSC TX IP Address, enter the IP address of the Qlab computer, and under OSC TX Port Number, enter 8000 (more on that later).
3) On the Qlab computer, download an application called OSCRouter (written by Eos developer, Chris Mizerak) from the ETC Labs Git Hub page:
In OSCRouter, configure it to look like this:
That is telling your Qlab computer to listen for any OSC commands on port 8000 that look like /eos/out/event/cue/1/<cue number>/fire and then convert them to the format /cue/<cue number>/start, and then re-broadcast those commands to the localhost IP address (127.0.0.1) on port 53000 (which is the port that Qlab listens on).
Remember to click the Apply button
Check out the OSCRouter documentation for more amazing features, and for more information about why we use /eos/cue/out/event/1/* for the incoming path, and /cue/%6/start for the outgoing path.
4) In Qlab, make sure that your settings for your workspace look like this:
5) You should be all set! When you fire a cue from Eos, double check that OSCRouter is making the conversion correctly. It should look something like this:
Thanks for this, it was very helpful and helped know I'm atleast on the right track. The only difference I'm seeing between this and what I have is that I don't have to use OSC router and im using /cue/#/start type commands and so on, I've got a few macros set up on buttons on a magic sheet for panic, pause, stop, and resume and am executing QLab commands from Ion cues with the following g settings. Problem is, I'm not sure if this is correct or not:
If it is working, it is correct :-)
My method means any cue in Qlab that has a corresponding cue number in Eos will get triggered automatically ( the way that MSC works). You don't have to use OSCRouter if you are okay manually entering each OSC command you want to send directly to Qlab.
That might be helpful... :)
Change your incoming path to /eos/out/event/cue/1/*
The * will match any event that starts with "/eos/out/event/cue/1/" so you don't need the "fire"
That's likely a bug... we'll see what Chris Mizerak says. Leaving the IP field blank should do exactly the same thing as using the localhost IP address, yeah?
Yeah what's happening is you are transmitting all of your OSC commands on port 5000 now, so everything is ending up in OSCRouter. If OSCRouter doesn't know to forward something, the command just dies.
Set up another line with empty paths, and OSCRouter will forward all incoming OSC packets to port 53000
Here are some other examples that Chris made to show the things that OSCRouter can do:
Thank you both! There was definitely a bug there on the Mac side.
All fixed in v0.2: