← Theatre Networking

OSC

OSC is a wonderful tool. It is a universal language which the majority of entertainment software and tools support.

At its heart OSC is just sending a written message to the address you tell it to, like sending a letter or an email (depending on your age and points of reference).

The most common use is triggering cues on other devices, which we will focus on here. In this example we will use QLab to send a message to ETC EOS lighting consoles.

QLab actually has premade libraries for a huge range of devices to make your life easier, but I will look at triggering EOS from QLab here.

Step 1: Connect the devices together

Using an Ethernet cable, connect the QLab device to the lighting console/laptop. This can either be via a switch, router or a direct connection.

In this example we will assume the following addresses:

  • Router: 192.168.0.1
  • Mac: 192.168.0.2
  • Lighting Desk: 192.168.0.3
  • Subnet for all: 255.255.255.0

Through a router or switch

Mac (QLab) 192.168.0.2 255.255.255.0
Router / switch 192.168.0.1 255.255.255.0
Lighting desk 192.168.0.3 255.255.255.0
All three addresses start 192.168.0 and share the subnet 255.255.255.0, so every device can talk to the others.

Direct connection

Mac (QLab) 192.168.0.2 255.255.255.0
Lighting desk 192.168.0.3 255.255.255.0
No router is needed. One cable between the two devices works, because their addresses still start 192.168.0 and share the subnet 255.255.255.0.

Step 2: Address the Mac

  1. On the Mac, open System Settings > Network and select your Ethernet adaptor > Details.
  2. Disable Private Wi-Fi address (set it to Off).
  3. Disable Limit IP address tracking.
  4. Then click TCP/IP in the sidebar.
  5. Next to Configure IPv4 change the drop-down to Manually.
  6. Then fill in the address and subnet.
  7. If it asks for a DNS server, use 8.8.8.8 and 8.8.4.4
macOS network Details window with Private Wi-Fi address set to Off and Limit IP address tracking turned off
macOS TCP/IP settings with Configure IPv4 set to Manually, IP address 192.168.0.2 and subnet mask 255.255.255.0

If connecting directly or with an unmanaged switch it does not matter that you are not addressing or using a router - by addressing the devices like this they can still talk to each other.

Step 3: Address the Lighting Console

For an EOS console running version 3.x.x:

If connecting to an EOS Nomad on a laptop you will need to change the network settings in the laptop settings.

  1. Open the CIA (pop up at the bottom with File actions).
  2. Go to setup, then Device, Network, and enter the Address and subnet here.
  3. Make sure all OSC options are enabled.
  4. Then go to System, Show Control, OSC and ensure OSC RX (receiving) is enabled.
  5. Make sure the port is configured to 8000. This can be anything but must match what we enter into QLab later.
Image placeholderScreenshot of EOS Setup > Device > Network showing the IP address, subnet and OSC options enabled.
EOS Setup, System, Show Control, OSC tab with OSC RX enabled and OSC UDP RX Port set to 8000

Step 4: QLab Settings

  1. Open your QLab workspace.
  2. Open the settings.
  3. Go to Network.
  4. Create a new Network patch.
  5. Name this something like Lighting Console. Set Type to ETC EOS Family.
  6. Set Network to UDP.
  7. Select the Ethernet Device under Interface.
  8. Set the address you used for the desk (192.168.0.3) and make sure the port next to it matches what we set as the OSC port on the desk.
QLab Workspace Settings, Network, with a patch named Lighting Console, type ETC Eos family, UDP, destination 192.168.0.3 and port 8000
  1. Go back to your workspace.
  2. Create a network cue.
  3. Under the cue Settings:
    • Select the Lighting Console patch
    • Type - Cues
    • Specify user - No
    • Command - Run Cue
    • Cue - Enter the cue number you wish to fire.
QLab network cue Settings tab with the Lighting Console patch, Specify user set to No, Command set to Run cue and Cue set to 1

Setting it up in this way means that the console and QLab will always stay in sync rather than just simulating a press of the go button.

e.g. if you jump a few cues in QLab which included LX5, when you get to the point where LX6 is supposed to fire it will still do that rather than being in LX5.