LaunchControl XL 3 for Eos?

As evidenced by my various posts on #techbodgery, and my design and development of lxkey, I'm often dabbling with different ways to control lighting either in live environments or simply to make programming easier when I don't have a full console available.

I usually use ETC Eos consoles and ETCnomad when out and about, but the same techniques and widgets can be applied to a wide range of consoles and controllers as long as they support OSC or similar.

I recently discovered the Novation LaunchControl XL 3 and, seeing the huge array of endless encoders, LEDs, and faders, immediately saw what could be a perfect compact, lightweight, (and cheap!) lighting controller.

Hardware

The third iteration of Novation's LaunchControl XL is streets ahead of what has gone before, it's a slick professional looking minimal piece of kit that feels well manufactured and is really affordable (Currently £189, Amazon UK)

LaunchControl XL3

There are eight faders (non-motorised, but smooth movement) with two buttons beneath each, twenty-four rotary encoders (all quite small designed more like a  sound desk of course), eleven additional buttons, a small OLED display, and (almost) every button and encoder has an LED.

Control Interface

ETCnomad supports MIDI fader wings, however using this as a MIDI device in Eos was never going to allow us to take advantage of the full potential this unit offers. Thankfully, Novation publishes their DAW Programmers Guide designed for developers of Digital Audio Workstations to interface with this device.

Well, who's to say it can only be used for audio...

Faders

The faders are easy, I want them to behave exactly as Eos faders would. They should be configurable in Eos, including assigning masters etc and actions to the buttons.

Frustratingly, OSC doesn't allow you to determine if a sub is Inhibitive or not, so i've hacked around this by always just including "Inhib" in my labels, but for the most part. you can determine the fader's intended colour from the name (e.g. S xx is a Sub, Man Time, GM etc have fixed names)

Given faders can be manipulated by other sources (e.g. the remote app, touch screens etc) the simple fix was to manage this like Element and other consoles, simply flash the LED when it doesn't match what the console sees and then 'catch' the value when it matches, we augment this a little by using the screen to show the current value and the direction in which the fader should be moved.

I plan to add pagination in the future, but eight faders is usually enough for my application.

Encoders

Firstly, the elephant in the room, these are not the right type of encoders for positioning moving lights imho - for that, get a programming wing!

However, in a pinch, they work pretty well, and I like them for adjusting other attributes such as framing shutters (even the newer ETC consoles do include some 'mini encoders')

With 24 to pick from, I've simply hardcoded the features I use most in a grouping that makes sense to me, this is something I intend to make a little GUI around at some point;

My default encoder mapping

To explain some decisions here;

  • Colours are broadly used to group functions (blue are framing shutters, magenta for beam, green for position etc..)
  • I haven't included Gobos, I always like selecting them from a magic sheet or the picker in the UI, not an encoder. Also, too many different fixtures with different options here.
  • The colours have mint/lime on the same encoder as no fixtures have both!

There's lots more possibilties here too. By default, I only illuminate the encoders applicable to the current selection of fixtures.

The display is used as a 'pop up' that shows the current value when adjusting any attribute.

Stop/Go

The Record/Play buttons lended themselves well to Stop/Go, so are mapped accordingly. The display shows the cue transition.

Other Buttons

The "Track" < > buttons are mapped to Prev/Next which is handy when using Hilight to page through fixtures for focussing etc

The 'hidden' Novation button next to Solo/Arm is mapped to Select Last.

The Software

This is very hacky at the moment, the prototype proof-of-concept NodeJS software can be found here https://github.com/rsmck/lcxl-eos and there's a download of a pre-made binary available here

It's worth noting that this was intended for my own use, it's not a finished software product although I do know at least four other people are using it at the time of writing, and I thank them for the feedback!

To use the 'out of the box version' you need to run it from the command line, see the README.txt in the above link.

Future Development

I'm hoping to make the config a little more user friendly, initially with a more friendly config file and perhaps eventually with a GUI tool.

LaunchControl XL as a Lighting Controller