First, not a problem! Here:
Edited DMXcommands.xml (Google Docs) Second, if you just set your two lights to “3 Ch.” and “D1,” then they will both work with the default file.
My file was written for two
Venue “Thinpar64” 10mm LED PAR lights (
here is one place to purchase them); however, any
LED PAR lights will work so long as they have a DMX input and accept 3 channel RGB mixing. Simply set the first light to “3 Ch.” mode and use “D1” as the channel, and set the second light to “3 Ch.” mode and use “D4” as the channel.
My file also modifies some of the default behaviors. Red alert now pulses and alternates between the two lights. (Not only is this good looking in my opinion, but you can also see the shield status ‘underneath’ the red alert, so no more guessing if shields are up or down when in red alert!) The tractored for dock now also pulses. Finally, getting shot at is more epic.
And, since I do stage lighting and crew work for a living, I can also give a rundown on how DMX works (some concepts are simplified when such doesn’t change the outcome or understanding):
* * *
DMX (
DMX512, specifically) is a stage lighting industry standard digital protocol for controlling various lights and effects. The power of DMX is that, before its adoption, each manufacturer had a different standard for controlling their lights. This meant that components were not likely to be interchangeable (a nightmare when a new company thought of something new and cool, but you couldn’t control it without buying a whole new setup!).
DMX runs in “universes,” where each universe can output a maximum of 512 channels. Each channel is a single piece of numeric information, taking any value between 0 and 255. For the rest of this explanation (and for everything relating to Artemis), we can assume that we are staying within a single universe (meaning that we are not using more than 512 channels).
The DMX controller outputs all 512 channels along a single cable, and every light only reads this data (doesn’t modify or remove it from the stream). To attach more lights, simply daisy chain the lights together. In the example of two lights, we would have a DMX cable going from the controller to the input of the first light, then a second cable going from the output of the first light to the input of the second.
Because the full 512 channels are carried by the single cable and because this information is not modified by any lights in the daisy chain, the order of the lights does not matter. Every light in the daisy chain will receive exactly the same information. You should wire the DMX cables in the shortest and most convenient way, even if this means that the first light in your program is not the first light in the daisy chain.
But, then how does each light know what to do if the order of the daisy chain makes no difference? This is where the “3 Ch.” and “D1/D4” that we set on the lights themselves comes into play! Just because all 512 channels are transmitted along the entire daisy chain doesn’t mean that every light ‘listens’ to all 512 of those channels. We need to tell each light which channels are important and which are not.
By choosing “3 Ch.” we are telling the light to only listen to 3 channels out of the full 512 that it is receiving. By choosing “D1” we are telling the light to start listening on channel 1. In this example, the light is listening to channels 1, 2, and 3 (which is 3 total channels, starting on channel 1).
The second light is similar. We still want the light to listen to 3 channels, but we want a different 3 channels. So, we still choose “3 Ch.” but we give it a different starting number, in this case “D4.” The second light will now listen to channels 4, 5, and 6 (which is 3 total channels, starting on channel 4).
This can be done for any number of lights, so long as the total number of channels used by all the lights combined does not exceed our 512 maximum. Also, be sure that no channels overlap! If the first light is “3 Ch. / D1,” then the second light cannot be “3 Ch. / D3.” This would mean that DMX channel 3 is shared by both the first and second lights. (Nothing bad will happen. No lights will die, your house won’t burn down, and you won’t fry the motherboard. But, you will spend countless hours trying to figure out why your lighting looks wrong.)
If you move your Artemis setup from one place to another and you find that, in rewiring the lights, you have transposed the position of a few of the lights, don’t worry. There is no need to rewrite the DMX file. If the light on the left of the main screen used to be “D1” but you put the wrong light there and now it is “D4,” just change it to “D1.” You can achieve exactly the same lighting look with any light in any of the positions, so long as whichever light is where the old “D1”used to be is reprogrammed to be the new “D1,”etc.
Also, if you have more than one light that you want to be identical, meaning that under no circumstances do you ever want them to behave differently from each other, then you may assign them to ‘listen’ to the same channels. For example, if you always want the two lights on either side of the main screen to always be the same color, always flicker at the same time, etc., you may assign them both to “3 Ch. / D1” (or any D#).
* * *
Some of the above explanation has been simplified. A major simplification has been that I assume your lights can operate in a 3 channel mode, and that you have only two of them (or, specifically, you have only two different behaviors). If your lights cannot operate in 3 channel mode, then the concepts still remain the same; however, your starting channel numbers will change. A light that is in 7 channel mode will, obviously, need 7 channels. “7 Ch. / D14” would be a light listening to channels 14, 15, 16, 17, 18, 19, and 20.
Now, a bit of Artemis programming: Most lights use 3 channel mode for RGB mixing, meaning that the first channel controls the red value, the second controls the green value, and the third controls the blue value. So, if you would like to control light “3 Ch. / D7” and make it bright yellow, you would:
<setvalue index="6" value="255" change="0"/> <!-- red value of third light box -->
<setvalue index="7" value="255" change="0"/> <!-- green value of third light box -->
<setvalue index="8" value="000" change="0"/> <!-- blue value of third light box -->
Why are the index values 6, 7, and 8? Why not 7, 8, and 9? We told the light “D7,” right? So, why did we not start with an index of 7? There is no nice answer, just memorize the fact that the index value is always one lower than the channel. (Channel 1 has an index of 0, so therefore channel 2 has an index of 1, etc.)
Another common setting is 7 channel mode. I won’t go too much into this, but basically the channels are typically red, green, blue, macro, speed, mode, and dimmer. Macro is a color override of the RGB mixing, and serves little purpose here. Leave it at 0. Mode varies with each light, but 0 leaves the light in RGB mixing mode. You can experiment with different effect modes that your lights can do, if you desire. Assuming mode was set to 0, the speed channel will strobe the current color (set by either ‘red, green, and blue,’ or the ‘macro’). Finally, the dimmer channel will set the overall brightness of the entire light.
So, the same bright yellow we achieved above with “3 Ch. / D7” can be done with “7 Ch. / D7” by using the following:
<setvalue index="6" value="255" change="0"/> <!-- red value of third light box -->
<setvalue index="7" value="255" change="0"/> <!-- green value of third light box -->
<setvalue index="8" value="000" change="0"/> <!-- blue value of third light box -->
<setvalue index="9" value="000" change="0"/> <!-- macro value of third light box -->
<setvalue index="10" value="000" change="0"/> <!-- speed value of third light box -->
<setvalue index="11" value="000" change="0"/> <!-- mode value of third light box -->
<setvalue index="11" value="255" change="0"/> <!-- dim value of third light box -->
If we wanted to dim the bright yellow in 3 channel mode, we would need to edit the individual RGB values:
<setvalue index="6" value="120" change="0"/> <!-- red value of third light box -->
<setvalue index="7" value="120" change="0"/> <!-- green value of third light box -->
<setvalue index="8" value="000" change="0"/> <!-- blue value of third light box -->
But, in 7 channel mode, we can achieve the same result by either dimming the red and green equally as we did above, or:
<setvalue index="6" value="255" change="0"/> <!-- red value of third light box -->
<setvalue index="7" value="255" change="0"/> <!-- green value of third light box -->
<setvalue index="8" value="000" change="0"/> <!-- blue value of third light box -->
<setvalue index="9" value="000" change="0"/> <!-- macro value of third light box -->
<setvalue index="10" value="000" change="0"/> <!-- speed value of third light box -->
<setvalue index="11" value="000" change="0"/> <!-- mode value of third light box -->
<setvalue index="11" value="120" change="0"/> <!-- dim value of third light box -->
Those are some of the basics of 3 channel and 7 channel programming for Artemis. If you are still totally lost and want to do some of your own lighting programming, feel free to ask more specific questions. I assumed a basic knowledge of XML, and I know not everyone has that experience.
Also, if you can’t figure out how to set up your specific lights, post the names and I’ll pull up a PDF manual and walk you through it all.
* * *
TL;DR:
DMX outputs 512 channels, and each light (regardless of the order in which they are wired together) only listens to a subset of those 512 channels. You need to tell each light how many channels to listen to, and on what channel to start. Typically,
LED PAR lights will listen to either 3 or 7 channels. If, for example, a light is set to “3 Ch. / D4,” then that light will listen to channels 4, 5, and 6 (which are index numbers 3, 4, and 5 in the Artemis DMX XML file).
[Last edited Jan 17, 2013 10:04:32]