Tutorial - How to do fader communication with ETC EOS lighting desk using OSC
Juriaan last edited by
Hi there all,
In this tutorial we are going to dive deep in the communication with ETC - EOS Lighting desk using Isadora.
Why OSC ?
OSC (OpenSoundControl) is really rich in ETC products. They provide a wide range of information regarding the state of the desk, what is currently going on, etc.
Why is this important ?
As a technician / operator / artist I wish to know as much information as possible regarding the elements that I control.
I don't want to think 'Hey, is this fader really the fader that I need to control my front light ?"
Or is this "Color Palette" blue or orange ?
Using OSC and some light reading we are able to get all the information that we need to put ourself at rest and know at all times what is going on :) (+ Create really nice interface elements in the progress..)
+ The support for USB MIDI products with faders natively in ETC is horrible and lacks docs..
Included file : ETC EOS Faders.izz
The document included showcases how to do basic fader mapping with Isadora, if you are interested in the more technical talk, see the bottom of the post.
If you have any questions regarding the topic, feel free to reply to this forum post, send me a DM or even send me an e-mail at firstname.lastname@example.org. I'm here to help :)
Prepare your Lighting desk
- To communicate with ETC products we first need to go into our Shell
- Into the Shell you will find 'Settings', click on it
- Go to the Network Tab
- Go to Interface Protocols (Scroll down)
- Make sure that UDP & OSC is turned on
- And that we are on TCP format 1.0
- Great ! Exit the settings menu and open up your Show document
- Open up your File Browser (If it is not there, then click on the little triangle to open it up)
- Go to Setup > Show Settings
- Set the following fields (OSC TX IP Address, OSC TX Port Number (Isadora Incoming port), OSC RX Port Number (The port that we use in Isadora to send commands)
- Make sure that String and OSC TX and String RX are enabled
- Close down the settings and go back to Live View
- The following steps are only meant for 'checking' the connection. They are not required ;)
- Press Tab 99 [ENTER] to bring up the Diagnostic window.
- Set OSC Incoming and OSC Outgoing to On
- Open up the example file ETC EOS Faders.izz
- Setup your Isadora incoming OSC port
- Open up the Control panel
- Go to the settings section and set the IP address to the IP address of the ETC desk (Don't know where to find this ? If you open Tab 99 on your Lighting desk the IP address will show itself :))
- Set the outgoing port (OSC RX Port Number)
- Click on "Connect"
- If you have connection the Version field will showcase the current version of the Lighting desk
- Move the faders up and down, the faders on the Fader Page (Tab 28, Page 1) will move with Isadora
HELP ! The connection doesn't work
Are you sure that your settings are correct ? If so, please feel free to contact me :)
Alright.. But how does OSC communication work with EOS ?
Glad you asked :)
First we make a new watcher, so that the lighting desk will tell us more information regarding the version, but also when a button is pressed or when a fader is moved.
Then we request the version of the Console by sending a Get request
EOS will respond with
Now we know a bit more regarding the desk, next we are going to make a 'ping' connection. Each time Isadora sends a 'trigger' to a OSC transmit we are going to receive a ping back from the console
EOS will respond with
If the value is not received within 2000 ms the actor will send out a 'disconnect' event so that we know 'Hey, we lost connection with our lighting desk'
The next step is to create a virtual fader page. Basically what we are saying is "Oh hi ! I got 10 faders in a single page." You can change this to 1-99 (And make your own patch with 30 faders if you wish to)
EOS will respond with
"/eos/fader/1/1/name" = "NAME" (This is really handy for if you wish to connect the names to interface elements in your patch !)
To control a fader using OSC we need to send the following :
"/eos/user/2/fader/1/1" = 0 - 1 (float)
Let's try to make sense of the above.
/eos/ (the start)
/user/2 (User 0 and 1 are our master. If you decide to use your Desk we don't want Isadora to take control over it !) By saying we are user 2 we will never override the controls of User 1 (Our main desk)
/fader/ (We wish to execute a fader command)
/1 (On fader page 1)
/1 (Fader 1)
If you are interested about taking control of ETC products using OSC check out the following documents
Or post on the forum and tag me if you need any further assist :)