In this 2nd article in my Working with Hardware series on DMX programming in Max, I’d like to present a couple of interviews with very experienced Max programmers who are heavily into the field of DMX programming, and also present a list of links to DMX hardware vendors.
David Butler is a Max programmer based in London. If you've been on the forum asking DMX related questions he’s probably chimed in, and over at his website he’s got a bunch of Max related stuff up, including the DMX tools imp.dmx. He’s a really busy guy, but I recently got a chance to ask him about his current work.
How did you get involved in DMX coding? As in, what are the sort of productions you find yourself doing DMX coding for?
DB: For one of my Max composition projects at the end of the first year of my degree I was working on a piece with five instrumental performers cued via headphones from a patch. I wanted to use coloured light on each performer, so I bought a USB DMX box and borrowed some basic LED RGB parcans from the theatre I worked in at the time. Once I'd got the hardware, I found a lot of scope for adding lighting as an additional element in other projects I was working on, both in theatre-work and my own compositions. Over the course of my degree I gradually moved away from music composition to more visual-based projects, and I focused in on lighting and show control programming. I found that there was a niche market for programmers who had experience of theatre and event production. By working in Max I can develop multi-platform solutions very quickly, and occasionally 'in the field' (or in a freezing park at 5 in the morning, as happened on a recent job).
I'm interested in convergence and integration for different forms of show control/media playback, so a lot of the projects I work on are concerned with linking together different control systems. My personal philosophy in using Max is that it's pointless to try and recreate existing complex software or hardware, so generally I use it to augment systems to add support for customised hardware, or provide a custom interface for an unusual control situation. Occasionally I build complete integrated systems for projects where buying a full-blown lighting desk would be overkill.
When I first started working with DMX in Max, I found that although there was quite a history of its use on various other projects there weren't really any specialised tools or objects (beyond basic hardware support) for it. My first task was to try and enable Art-Net support in Max. Eventually I found a good cross-platform solution using a Max abstraction and a bit of java code. This has evolved and is now a native Max object with better support for the protocol. I've also made a bunch of abstractions to make integrating DMX into patchers quicker and easier (imp.dmx).
What DMX hardware do you use?
DB: For portable and day-to-day use, I have an Enttec DMX USB Pro, which is probably the best interface there is for someone who wants to experiment with DMX. It's not the absolute cheapest, but it's pretty rock solid, supports full frame rate DMX, is electrically isolated to protect your computer, and can both send and receive DMX. There's an object written by Olaf Matthes to enable support in Max, but I've just written a replacement as I was having compatibility issues with Max 6 when using receive mode.
For more involved projects I also have an Enttec ODE, which is about the cheapest Art-Net to DMX device around, but very reliable and good quality. In an installation situation I'd use this as first preference, as it's completely separate from the computer (having it's own power supply, DMX output won't stop if the computer goes down).
Tell us a little about Art-Net. What's the kind of situation where Art-Net becomes preferable to straight up DMX512?
DB: Art-Net is great because being an Ethernet protocol it's completely hardware agnostic. Therefore you don't have any issues with hardware communication, because all the computer has to do is broadcast Art-Net packets and other devices on the network (fixtures, computers, Art-Net DMX interfaces) will receive them. For anyone who's planning a moderately large project, or can see DMX becoming an essential part of their work, I'd strongly recommend to go down the Art-Net route. It's far more future-proof than a USB solution.
The entertainment control industry is gradually shifting to all-Ethernet based control systems, although it's going to take a few decades before DMX disappears completely. The new protocol (ACN - Architecture for Control Networks) is based around Ethernet, and will allows a much more intelligent form of control (analogous to the difference between MIDI and OSC) than DMX which just constantly sends 8-bit values. No one is really using it yet, but in the distant future it will hopefully replace DMX. In the meantime we have Ethernet-based control protocols like Art-Net which merely replicate DMX. However there are lots of advantages to using Ethernet as the transport:
- Cat5/6 Cable is far, far cheaper, and one cable can carry around 40 Art-Net universes at once (one universe is 512 DMX channels, the maximum amount that can be sent down a single DMX cable).
- Standard IT networking equipment can be used to route and distribute the signal, which again is far cheaper than specialised DMX routing equipment.
- It's far easier to connect computers and other equipment which uses Ethernet, therefore the show network can be used for types of control other than lighting.
However there is a severe problem with using Ethernet for DMX. Standard DMX cable is connected to fixtures in a daisy-chain fashion. On most fixtures the DMX Thru/Out is passively connected to the input, so the signal will pass through even if the fixture loses power. This isn't possible with Ethernet, every fixture must be cabled back to a hub, which although cheaper than DMX splitters/hubs, would still raise the cost of running a lighting control network significantly (not to mention the extra cable costs).
Quite a lot of newer lighting fixtures now have Ethernet ports included, and can receive Art-Net directly, but some can also receive Art-Net and then output the signal as serial DMX, effectively acting as an Art-Net to DMX interface. So the place for Ethernet is in the distribution system leading to each lighting bar, where it can be translated to serial DMX and be daisy-chained between fixtures. In my opinion this will become the norm for large projects in the next 5 years.
What DMX projects are you currently working on?
I've just finished working on NVA's Speed of Light as part of the Edinburgh International Festival 2012. This involved wireless DMX transmission to around 120 runners wearing RGB LED light suits out on Arthur's Seat. I'm also working on a personal project involving projection mapping with yoked DMX controlled projectors.
I'm just about to release the newest version of my Ableton Live DMX system called DMaX. This allows linking of DMX control parameters for different kinds of fixtures to Ableton parameters, which can then be automated, modulated, mapped and controlled like any other Ableton parameter. The new version allows up to four universes of fixtures, has a completely redesigned interface, and an easier method for users to create their own fixture modules.
Olaf Matthes is a Max programmer living in the Northern part of Germany. He uses Max for programming but prefers to use Max 4 ( “it does everything I want!”). Olaf has published an external for communication between MaxMSP and Enttec USB DMX devices, you can find it and other Max related stuff over at his website.
What DMX hardware do you use for your projects?
OM: For non-permanent installations I use the USB DMX Pro box from Enttec. I also have created and sell an external for controlling Enttec USB DMX devices. It is available at my website.
What sort of non permanent exhibitions using DMX have you worked on?
OM: This is a mobile-phone controlled orchestra of household machines. Also check the SALE AWAY videos.
What hardware do you use for your permanent installations?
OM: Because of the 1 ms timing limit in Max and because of problems with long-time stability of USB connected hardware (not just the Enttec box) we switched over to industrial grade hardware from Beckhoff using EtherCAT fieldbus.
I made a Max external for that and the nice thing is since all the various interface boxes available send and receive just numbers over the same bus I can use one single external to communicate with all hardware interface available for that system. The system is a bit like a hardware equivalent to Max.
Best of all, they allow timing down to microseconds! Of course it's tricky (aka. impossible) to do with Max, but there are ways to tell the hardware something like "switch on for 20us and then switch off again".
Luckily the Beckhoff company likes the idea of their hardware boxes getting used in the art world, so we get some (small) rebate, good support and sometimes they even send some company representative to the opening. I think their usual customers are large factories where their stuff gets used to control assembly lines.
Can you show us an example of the kind of work you can do with this hardware?
This is a project we used the Beckhoff gear in:
And this is a short, low quality video:
It’s probably the largest Max-controlled object in the world! DMX and other signals run through fibre-optic cables because the distances are so large. Here’s a picture showing me in the control room (basement of the majors hall) looking for some lost cables. The whole thing has about 120 light blocks in the ground over a total length of about 300 meters. Each of the columns is 6 meters tall.
If you want to go absolutely crazy with full on industrial sized bits of gear to control your lighting rigs, it’s pretty obvious that Olaf is the guiding light.
I’d like to thank both David and Olaf for spending the time to help me out with these interviews. To finish up - here’s a small list of DMX links I have gathered together, presented in no particular order.
- Makers of low cost DMX interfaces and gear: ENTTEC and DMXking
- Makers of controllers and dimmer packs: LanBox
- Ethernet DMX interface: KissBox
- A bewildering array of DMX controllable stuff: Blue Point Engineering
- A whole range of dimmer packs and other DMX gear: Doug Fleenor design based in California
- Show control DMX equipment: swisson
- Enttec distributor, wireless DMX, and a bunch of other stuff: sirs-e
- DMX512 for the Arduino: Arduino
- Tiny USB bus powered DMX interface, with Max external: [anyma]
- How to wire a 3 pin DMX cable to a 5 pin DMX cable: AV Info
- Show control system written in Max, with DMX support for Enttec controllers: H C Gilje
Next up, in article 3, I’m going to walk through the process of creating a small DMX programming project in Max. I also want to thank everyone for all the great links and comments for article 1; please feel free to add in a bunch more for this article!