How did you get involved in DMX coding? As in, what are the sort of
productions you find yourself doing DMX coding for?
: 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:
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.
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?
: 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?
What hardware do you use for your permanent installations?
: 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?