| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Example DMX Declaration

This version was saved 8 years, 6 months ago View current version     Page history
Saved by Dave Thaler
on September 29, 2015 at 4:40:25 pm
 

Updated to clarify which items are XML elements vs attributes, and which are optional.

Each DMX trigger declaration appears in the DMXcommands.xml inside the containing <DMX_CONTROL version="2.00"> element, and contains the following parts.

 

Anything between a <!-- and --> is considered commented out.

 

event - This tag is what is used to define separate trigger event actions.  It must be a child element under <DMX_CONTROL>, and has mandatory type and optional continuous attributes.

 

  • type - This is where you tell the program which trigger to watch for.

 

  • continuous - Do you want this even to loop as long as the event is happening, possibly cutting off in the middle?  or do you want it to fire off once, completely, and not again until triggered again?  See the DMX Cues page for info on which event tags are "states" safe to use continuous effects with.  If absent, continuous defaults to "no".

 

timeblock - This tag breaks up the event into sections, played sequentially.   It must be a child element under <event>, and has a mandatory mseconds attribute.

 

  • mseconds - How long is this timeblock, in milliseconds.   Triggers appear to be fired approximately every 31 to 32 milliseconds, and so durations get rounded to the nearest multiple of that.

 

setvalue - Here's where the magic happens.  This tag is a command for a single DMX address.  It must be a child element under <timeblock>, and has mandatory index, value, and change attributes.

 

  • index - The channel you're addressing with this setvalue command.  Valid integers are between 0-511, Artemis will increment the address by 1 to read 1-512.

 

  • value - Any integer from 0-255.

 

  • change - During this timeblock, if not 0, Artemis will increment or decrement the value by this amount over 1000 ms, but the value is bounded by the range of 0-255.  For example change="-100", then it will decrement the value by 1 every 10 ms.  change is not limited to +-255, for example change="512" will take value="0" to 255 in 500 ms.  Keep in mind that changes are only updated every 31 or 32 milliseconds.

 

The event below creates a yellow light during tractoring events, and fades it out for a half second and in for a half second.  

 

  <!-- ********************************************************************************************* -->

  <event type="TRACTORED_FOR_DOCKED" continuous="yes">

 

    <!-- pulsing yellow light -->

    <timeblock mseconds="500">

      <setvalue index="5" value="200" change="-100"/>    <!-- red   value of first light box -->

      <setvalue index="6" value="200" change="-100"/>    <!-- green value of first light box -->

      <setvalue index="7" value="13" change="0"/>    <!-- blue  value of first light box -->

    </timeblock>

      <timeblock mseconds="500">

      <setvalue index="5" value="150" change="100"/>    <!-- red   value of first light box -->

      <setvalue index="6" value="150" change="100"/>    <!-- green value of first light box -->

      <setvalue index="7" value="13" change="0"/>    <!-- blue  value of first light box -->

    </timeblock>

  </event>

 

 

Comments (0)

You don't have permission to comment on this page.