Controlling DMX lights with Quartz Composer

I’ve tried this a few times and always encountered some problems, so I decided to write down how this works. With this tutorial I try to illustrate how to set up Quartz Composer (QC) to control some DMX-lights (should work with other dmx-controlled devices as well), using our Enttec Open DMX Ethernet (ODE) -controller and the Kineme Art-Net plugin ($15, we have three paid copies of it).

Step 1. Connect and initialize the devices:

Lamp – (XLR 3 pin cable to 5 pin DMX adapter) – ODE – (Ethernet) computer.

Make sure the lamp is set to receive DMX messages (depends on the lamp, e.g our RGB-led lamp you switch pin 1 on and others off to receive (dmx-or art-net or whatever is the proper protocol name) messages for channels 1, 2, 3 and 4, if you use a second lamp set pins 1 and 3 on to start receiving on channels 5,6,7 and 8. 1+3 is not 4 in this case, but 5, since the pins use a 2-base binary system: 1, 2, 4, 8 etc. Also since we can control individually Red, Green, and Blue each lamp takes 3 channels for those colors and the first channel is used for the whole lamp brightness controlling. But this is just our lamp and it might behave differently with different devices.


dmx lamp switches

DMX lamp switches

Step 2. Set up communication between the computer and the ODE.

In OS X  System preferences > network: Create a new location, and add to it only Ethernet access. Then Configure IPv4 Manually to use an adress, which is in the same IP-address universe as the ODE. Our ODE box is now set to use the address, with the subnet mask So the computer can be or with the same subnet mask.

You can test the art-net communication with the NMU-software from the Enttec website. Configure > Enable Art-Net and then try out the sliders. This is also a way to test which channels control which light channels, but the software is a bit buggy. This is where the ODE IP-address is set, in case you need to change it. Keep it in the 10.*.*.* address space though. Also if you have many ODE’s you probably need to set up different subnets, universes etc for each.


network settings

network settings



Step 3. Set up Quartz Composer to communicate with the ODE.

Basically the patch Kineme ArtDMX (yet another way to spell art-net and dmx) Sender works out of the box, sending messages to IP 10.*.*.* address space and universe 00, subnet 00 (the default of the ODE unless you fiddled them up). The only input in the patch you need to change and will send your data to is the Channel structure. It takes as input a (keyed) Structure. This is a bit tricky (or impossible?) to construct using QC normal tools, so patch Kineme Named Structure Maker is needed (correct me if I’m wrong). It is part of Kineme Data tools if I am not mistaken. The point is that the ODE is sent message in the format which looks something like this in the Channel structure input: 0:”1″ = 0.32 – in other words a structure with one element, whose index is 0, and key or unique name is “1” and value at this case 0.32. It would be easy to build a structure with String printer, but it doesn’t allow creating keyed structures.

Also remember that by default in this patch the Normalized values boolean is set to true so we send out values between 0 and 1 (the normal QC range) Otherwise the values would be beween 0 and 255 (or 0 and 65535, in case you work with 16-bit composite channels, whatever they are). The possibility of sending comma-delimited keyed values for sending MSB and LSB to 16-bit channels doesn’t really say anything to me, in the documentation and the Kineme pages this is not explained. If it does to you, great! Tell me as well!

Here is a link to a QC Composition which runs an slightly off-sync mirrored loop interpolation between 0 and 1 channels 2, 3 and 4 (R,G,B).

Lastly I want to point out that when I tried it out this year I didn’t get it to work. The reason was that the computer I tried it with had an unlicensed version of the Art-net tools installed – I guess updating the OS or something had made the computer to forget the registration of the patch. So the Kineme Art-Net tools plug-in doesn’t work after the 7 day trial, although it doesn’t give you any errors!

Next up: hooking Kinect / OSC / Midi to the DMX lights…

A view of the QC Patch

A view of the QC Patch