Lesson 20 Tut3: Difference between revisions

From English DMXC-Wiki
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 16: Line 16:


  <DMXControl program path>\kernel\devices
  <DMXControl program path>\kernel\devices
<br><br>
<br>
If you are familiar with DDFs of DMXControl 2.0 you will see some important differences:
If you are familiar with DDFs of DMXControl 2.0 you will see some important differences:


Line 73: Line 73:
|-
|-
| switch  
| switch  
| colspan="2" |   fixture has a switch channel<br>  
| colspan="2" | fixture has a switch channel<br>  
| colspan="3" | <pre>&lt;switch dmxchannel="0" /&gt;</pre>
| colspan="3" | <source lang="xml"><switch dmxchannel="0" /></source>
|-
|-
| dimmer  
| dimmer  
| colspan="2" |   fixture has a dimmer channel<br>  
| colspan="2" | fixture has a dimmer channel<br>  
| colspan="3" | <pre>&lt;dimmer dmxchannel="0" /&gt; </pre>
| colspan="3" | <source lang="xml"><dimmer dmxchannel="0" /> </source>
|-
| matrix
| colspan="2" | Fixture ist ein Matrix-Gerät<br>
| colspan="3" | <source lang="xml"><matrix rows="2" columns="3">
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
</matrix>
</source>  
|-
|-
| fog  
| fog  
| colspan="2" | fod property <br>  
| colspan="2" | fod property <br>  
| colspan="3" | <pre>&lt;fog dmxchannel="0" /&gt;</pre>
| colspan="3" | <source lang="xml"><fog dmxchannel="0" /></source>
|-
|-
| shutter  
| shutter  
| colspan="2" | fixture has a shutter <br>  
| colspan="2" | fixture has a shutter <br>  
| colspan="3" | <pre>&lt;shutter dmxchannel="0" /&gt;</pre>
| colspan="3" | <source lang="xml"><shutter dmxchannel="0" /></source>
|-
|-
| strobe  
| strobe  
| colspan="2" | fixture has a strobe channel<br>  
| colspan="2" | fixture has a strobe channel<br>  
| colspan="3" | <pre>&lt;strobe dmxchannel="0" /&gt;</pre>
| colspan="3" | <source lang="xml"><strobe dmxchannel="0" /></source>
|-
|-
| iris<br>  
| iris<br>  
| colspan="2" | fixture has a iris channel<br>  
| colspan="2" | fixture has a iris channel<br>  
| colspan="3" | <pre>&lt;iris dmxchannel="0"/&gt;</pre>
| colspan="3" | <source lang="xml"><iris dmxchannel="0"/></source>
|-
|-
| focus<br>  
| focus<br>  
| colspan="2" | fixture has a focus channel<br>  
| colspan="2" | fixture has a focus channel<br>  
| colspan="3" | <pre>&lt;focus dmxchannel="0"/&gt;</pre>
| colspan="3" | <source lang="xml"><focus dmxchannel="0"/></source>
|-
|-
| zoom<br>  
| zoom<br>  
| colspan="2" | fixture has a zoom channel<br>  
| colspan="2" | fixture has a zoom channel<br>  
| colspan="3" | <pre>&lt;zoom dmxchannel="0"/&gt;</pre>
| colspan="3" | <source lang="xml"><zoom dmxchannel="0"/></source>
|-
|-
| rgb  
| rgb  
| colspan="2" | fixture has RGB function  
| colspan="2" | fixture has RGB function  
| colspan="3" | <pre>&lt;rgb&gt;
| colspan="3" | <source lang="xml"><rgb>
   &lt;red dmxchannel="0" /&gt;
   <red dmxchannel="0" />
   &lt;green dmxchannel="1" /&gt;
   <green dmxchannel="1" />
   &lt;blue dmxchannel="2" /&gt;
   <blue dmxchannel="2" />
&lt;/rgb&gt;
</rgb>
</pre>
</source>
|-
|-
| cmy<br>  
| cmy<br>  
| colspan="2" | fixture has CMY function<br>  
| colspan="2" | fixture has CMY function<br>  
| colspan="3" | <pre>&lt;cmy&gt;
| colspan="3" | <source lang="xml"><cmy>
   &lt;cyan dmxchannel="0"/&gt;
   <cyan dmxchannel="0"/>
   &lt;magenta dmxchannel="1"/&gt;
   <magenta dmxchannel="1"/>
   &lt;yellow dmxchannel="2"/&gt;
   <yellow dmxchannel="2"/>
&lt;/cmy&gt;
</cmy>
</pre>
</source>
|-
|-
| position  
| position  
| colspan="2" | fixture has Pan and/ or Tilt  
| colspan="2" | fixture has Pan and/ or Tilt  
| nowrap="nowrap" colspan="3" | <pre>&lt;position&gt;
| nowrap="nowrap" colspan="3" | <source lang="xml"><position>
   &lt;pan dmxchannel="0"&gt;
   <pan dmxchannel="0">
     &lt;range range="540" /&gt;
     <range range="540" />
   &lt;/pan&gt;
   </pan>
   &lt;tilt dmxchannel="1"&gt;
   <tilt dmxchannel="1">
     &lt;range range="246" /&gt;
     <range range="246" />
   &lt;/tilt&gt;
   </tilt>
&lt;/position&gt;
</position>
</pre>
</source>
|-
|-
| color wheel  
| color wheel  
| colspan="2" | fixtures contains color wheel  
| colspan="2" | fixtures contains color wheel  
| colspan="3" | <pre>&lt;colorwheel dmxchannel="0"&gt;
| colspan="3" | <source lang="xml"><colorwheel dmxchannel="0">
   &lt;step type="color" val="#ffffff" caption="white" mindmx="0" maxdmx="0" /&gt;
   <step type="color" val="#ffffff" caption="white" mindmx="0" maxdmx="0" />
   &lt;step type="color" val="#00bd52" caption="green 203" mindmx="32" maxdmx="32" /&gt;
   <step type="color" val="#00bd52" caption="green 203" mindmx="32" maxdmx="32" />
   &lt;step type="color" val="#080094" caption="blue 108" mindmx="64" maxdmx="64" /&gt;
   <step type="color" val="#080094" caption="blue 108" mindmx="64" maxdmx="64" />
   &lt;step type="color" val="#8e10bc" caption="UV" mindmx="96" maxdmx="96" /&gt;
   <step type="color" val="#8e10bc" caption="UV" mindmx="96" maxdmx="96" />
   &lt;step type="color" val="#eedefe" caption="1/2 Minus Green" mindmx="128" maxdmx="128" /&gt;
   <step type="color" val="#eedefe" caption="1/2 Minus Green" mindmx="128" maxdmx="128" />
   &lt;step type="color" val="#ffffff" caption="white" mindmx="160" maxdmx="160" /&gt;
   <step type="color" val="#ffffff" caption="white" mindmx="160" maxdmx="160" />
&lt;/colorwheel&gt;
</colorwheel>
</pre>
</source>
|-
|-
| rowspan="4" | gobo wheel  
| rowspan="4" | gobo wheel  
Line 152: Line 188:
Gobo rotation  
Gobo rotation  


| valign="top" nowrap="nowrap" rowspan="3" | <pre>&lt;gobowheel dmxchannel="0"&gt;
| valign="top" nowrap="nowrap" rowspan="3" | <source lang="xml"><gobowheel dmxchannel="0">
   &lt;goborotation dmxchannel="12" finedmxchannel="13"&gt;
   <goborotation dmxchannel="12" finedmxchannel="13">
     &lt;step type="stop" mindmx="0" maxdmx="2" /&gt;
     <step type="stop" mindmx="0" maxdmx="2" />
     &lt;step type="stop" mindmx="253" maxdmx="255" /&gt;
     <step type="stop" mindmx="253" maxdmx="255" />
     &lt;range type="cw" mindmx="3" maxdmx="127" minval="0,1" maxval="8" /&gt;
     <range type="cw" mindmx="3" maxdmx="127" minval="0,1" maxval="8" />
     &lt;range type="ccw" mindmx="252" maxdmx="128" minval="0,1" maxval="8" /&gt;
     <range type="ccw" mindmx="252" maxdmx="128" minval="0,1" maxval="8" />
   &lt;/goborotation&gt;
   </goborotation>
   &lt;goboindex dmxchannel="8" finedmxchannel="9"&gt;
   <goboindex dmxchannel="8" finedmxchannel="9">
     &lt;range mindmx="0" maxdmx="255" range="395" /&gt;
     <range mindmx="0" maxdmx="255" range="395" />
   &lt;/goboindex&gt;
   </goboindex>
   &lt;step type="open" caption="Open" mindmx="0" maxdmx="11" /&gt;
   <step type="open" caption="Open" mindmx="0" maxdmx="11" />
   &lt;step type="gobo" caption="Gobo 1" mindmx="12" maxdmx="15" val="gobo1.png"&gt;
   <step type="gobo" caption="Gobo 1" mindmx="12" maxdmx="15" val="gobo1.png">
     &lt;step for="goborotation" mindmx="36" maxdmx="39" /&gt;
     <step for="goborotation" mindmx="36" maxdmx="39" />
     &lt;step handler="shake" mindmx="60" maxdmx="71" minval="0,1" maxval="3" /&gt;
     <step handler="shake" mindmx="60" maxdmx="71" minval="0,1" maxval="3" />
   &lt;/step&gt;
   </step>
   ...
   ...
&lt;/gobowheel&gt;</pre>
</gobowheel></source>
|-
|-
| valign="top" |  
| valign="top" |  
Line 182: Line 218:
If the fixture has a color / gobo wheel that can rotate continuously, then write it as follows:
If the fixture has a color / gobo wheel that can rotate continuously, then write it as follows:
<br>  
<br>  
<pre>&lt;gobowheel dmxchannel="0"&gt;
<source lang="xml"><gobowheel dmxchannel="0">
   &lt;step type="open" caption="Open" mindmx="0" maxdmx="0" /&gt;
   <step type="open" caption="Open" mindmx="0" maxdmx="0" />
   &lt;step type="gobo" caption="Gobo 1" mindmx="11" maxdmx="11" /&gt;
   <step type="gobo" caption="Gobo 1" mindmx="11" maxdmx="11" />
   ...
   ...
   &lt;wheelrotation&gt;
   <wheelrotation>
     &lt;range type="cw" mindmx="221" maxdmx="203" minval="0,1" maxval="2" /&gt;
     <range type="cw" mindmx="221" maxdmx="203" minval="0,1" maxval="2" />
     &lt;range type="ccw" mindmx="222" maxdmx="240" minval="0,1" maxval="2" /&gt;
     <range type="ccw" mindmx="222" maxdmx="240" minval="0,1" maxval="2" />
   &lt;/wheelrotation&gt;
   </wheelrotation>
&lt;/gobowheel&gt;
</gobowheel>
</pre>  
</source>  
<br>  
<br>  
If the fixture has a color / gobo wheel, which can rotate at random positions, then write it as follows:
If the fixture has a color / gobo wheel, which can rotate at random positions, then write it as follows:
<br>  
<br>  
<pre>&lt;gobowheel dmxchannel="0"&gt;
<source lang="xml"><gobowheel dmxchannel="0">
   &lt;step type="open" caption="Open" mindmx="0" maxdmx="0" /&gt;
   <step type="open" caption="Open" mindmx="0" maxdmx="0" />
   ...
   ...
   &lt;random&gt;
   <random>
     &lt;step type="fast" mindmx="241" maxdmx="245" /&gt;
     <step type="fast" mindmx="241" maxdmx="245" />
     &lt;step type="medium" mindmx="246" maxdmx="250" /&gt;
     <step type="medium" mindmx="246" maxdmx="250" />
     &lt;step type="slow" mindmx="251" maxdmx="255" /&gt;
     <step type="slow" mindmx="251" maxdmx="255" />
   &lt;/random&gt;
   </random>
&lt;/gobowheel&gt;
</gobowheel>
</pre>  
</source>  
<br>  
<br>  
If a device has fine channels for eg zoom, then write it as follows:
If a device has fine channels for eg zoom, then write it as follows:
<br>  
<br>  
<pre>&lt;zoom dmxchannel="0" finedmxchannel="1"/&gt;
<source lang="xml"><zoom dmxchannel="0" finedmxchannel="1"/>
</pre>  
</source>  


That works for any property.
That works for any property.
Line 215: Line 251:
The different intervals in a DMX channel are defined by the "step" tag:
The different intervals in a DMX channel are defined by the "step" tag:
<source lang="xml">
<source lang="xml">
  <step val="0" mindmx="0" maxdmx="127" />
  <step val="0" mindmx="0" maxdmx="127" />;
  <step val="100" mindmx="128" maxdmx="255" />
  <step val="100" mindmx="128" maxdmx="255" />;
</source>
</source>


Line 222: Line 258:


<source lang="xml">
<source lang="xml">
  <step type="color" val="#FFFFFF" caption="Weiß" mindmx="0" maxdmx="31" />
  <step type="color" val="#FFFFFF" caption="Weiß" mindmx="0" maxdmx="31" />;
  <step type="color" val="#FF0000" caption="Rot" mindmx="32" maxdmx="63" />
  <step type="color" val="#FF0000" caption="Rot" mindmx="32" maxdmx="63" />;
</source>
</source>



Latest revision as of 00:04, 16 May 2013

[[File:{{{Logo}}}|48px|link=]] {{{Pagetitle}}}


Arrow back.png Lesson 19
Lesson 21 Arrow forw.png
table of content

Overview

In this lesson we will learn how to create and add new device definitions. You need to do this activity only, if your device is not yet defined in the default set of DMXControl 3 device definitions.

Lecture 20: Create new device definitions

A device definition file (short: DDF) is used to inform DMXControl about the properties of a device. A DDF is written in XML language and stored in the path

<DMXControl program path>\kernel\devices


If you are familiar with DDFs of DMXControl 2.0 you will see some important differences:

  • There is no GUI description part, because DMXControl 3 doesn't provide the device context menus.
  • Some syntax elements are very similar (esp. in information part). I.e. you can reuse the existing DDFs
  • The function part is much more abstract. You make the definition mainly by properties and not by DMX channels

Currently there is no "DDF creator" available for DMXControl 3. We recommend using a text editor or XML editor tool. (Hint: We need support for adaption of an existing DMXControl 2 php tool towards DMXControl 3)

At first lets look at a very simple DDF ("Generic RGB Par"):


01 <?xml version="1.0" encoding="utf-8" ?>
 02 <device image="bild" type="DMXDevice">
 03  <information>
 04    <modell>Generic RGB PAR</modell>
 05    <vendor>Generic</vendor>
 06    <author>Arne Luedtke</author>
       <comment>KLEINER TEXT</comment>
 07  </information>
 08  <functions>
 09    <rgb>
 10      <red dmxchannel="0" />
 11      <green dmxchannel="1" />
 12      <blue dmxchannel="2" />
 13    </rgb>
 14  </functions>
 15 </device>


DeviceManegerInfoBox.jpg


Line 01 is a mandatory default line for describing the XML version. Lines 02 and 15 provide the frame for the device definition that contains two parts:

  • Information part (lines 03 to 07). No need for further explanation.
  • Function(property) specification part (lines 08 to 14)

The "image" can be replaced by another .gif or .png file.

The example device possesses one property: RGB color mode. The mapping to DMX channels is described in lines 10 to 12.

That's all!

Following table shows the supported properties:

Property Description Comment
switch fixture has a switch channel
<switch dmxchannel="0" />
dimmer fixture has a dimmer channel
<dimmer dmxchannel="0" />
matrix Fixture ist ein Matrix-Gerät
<matrix rows="2" columns="3"> 
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
  <rgb>
    <red dmxchannel="2" />
    <green dmxchannel="2" />
    <blue dmxchannel="2" />
  </rgb>
</matrix>
fog fod property
<fog dmxchannel="0" />
shutter fixture has a shutter
<shutter dmxchannel="0" />
strobe fixture has a strobe channel
<strobe dmxchannel="0" />
iris
fixture has a iris channel
<iris dmxchannel="0"/>
focus
fixture has a focus channel
<focus dmxchannel="0"/>
zoom
fixture has a zoom channel
<zoom dmxchannel="0"/>
rgb fixture has RGB function
<rgb>
  <red dmxchannel="0" />
  <green dmxchannel="1" />
  <blue dmxchannel="2" />
</rgb>
cmy
fixture has CMY function
<cmy>
  <cyan dmxchannel="0"/>
  <magenta dmxchannel="1"/>
  <yellow dmxchannel="2"/>
</cmy>
position fixture has Pan and/ or Tilt
<position>
  <pan dmxchannel="0">
    <range range="540" />
  </pan>
  <tilt dmxchannel="1">
    <range range="246" />
  </tilt>
</position>
color wheel fixtures contains color wheel
<colorwheel dmxchannel="0">
   <step type="color" val="#ffffff" caption="white" mindmx="0" maxdmx="0" />
   <step type="color" val="#00bd52" caption="green 203" mindmx="32" maxdmx="32" />
   <step type="color" val="#080094" caption="blue 108" mindmx="64" maxdmx="64" />
   <step type="color" val="#8e10bc" caption="UV" mindmx="96" maxdmx="96" />
   <step type="color" val="#eedefe" caption="1/2 Minus Green" mindmx="128" maxdmx="128" />
   <step type="color" val="#ffffff" caption="white" mindmx="160" maxdmx="160" />
</colorwheel>
gobo wheel fixture with Gobo wheel


Gobo rotation

<gobowheel dmxchannel="0">
  <goborotation dmxchannel="12" finedmxchannel="13">
    <step type="stop" mindmx="0" maxdmx="2" />
    <step type="stop" mindmx="253" maxdmx="255" />
    <range type="cw" mindmx="3" maxdmx="127" minval="0,1" maxval="8" />
    <range type="ccw" mindmx="252" maxdmx="128" minval="0,1" maxval="8" />
  </goborotation>
  <goboindex dmxchannel="8" finedmxchannel="9">
    <range mindmx="0" maxdmx="255" range="395" />
  </goboindex>
  <step type="open" caption="Open" mindmx="0" maxdmx="11" />
  <step type="gobo" caption="Gobo 1" mindmx="12" maxdmx="15" val="gobo1.png">
    <step for="goborotation" mindmx="36" maxdmx="39" />
    <step handler="shake" mindmx="60" maxdmx="71" minval="0,1" maxval="3" />
  </step>
  ...
</gobowheel>

Goboposition

Rotation Gobo 1

Shake Gobo 1

If the fixture has a color / gobo wheel that can rotate continuously, then write it as follows:

<gobowheel dmxchannel="0">
  <step type="open" caption="Open" mindmx="0" maxdmx="0" />
  <step type="gobo" caption="Gobo 1" mindmx="11" maxdmx="11" />
  ...
  <wheelrotation>
    <range type="cw" mindmx="221" maxdmx="203" minval="0,1" maxval="2" />
    <range type="ccw" mindmx="222" maxdmx="240" minval="0,1" maxval="2" />
  </wheelrotation>
</gobowheel>


If the fixture has a color / gobo wheel, which can rotate at random positions, then write it as follows:

<gobowheel dmxchannel="0">
  <step type="open" caption="Open" mindmx="0" maxdmx="0" />
  ...
  <random>
    <step type="fast" mindmx="241" maxdmx="245" />
    <step type="medium" mindmx="246" maxdmx="250" />
    <step type="slow" mindmx="251" maxdmx="255" />
  </random>
</gobowheel>


If a device has fine channels for eg zoom, then write it as follows:

<zoom dmxchannel="0" finedmxchannel="1"/>

That works for any property.
The different intervals in a DMX channel are defined by the "step" tag:

 <step val="0" mindmx="0" maxdmx="127" />;
 <step val="100" mindmx="128" maxdmx="255" />;

or:

 <step type="color" val="#FFFFFF" caption="Weiß" mindmx="0" maxdmx="31" />;
 <step type="color" val="#FF0000" caption="Rot" mindmx="32" maxdmx="63" />;


 Important Hint A DDF Creator for DMXControl 3 is already in the works. Until then, please create your own DDFs with an XML editor of your choice, or simply a text editor. Sometimes it helps to copy an existing DDF and to adapt it. Please send us your new DDFs, so we can add them to the library.


Exercise

1) Have a look into several device definitions before creating your own DDF.
2) Open the DDF for TS255. Separate the different properties by blank lines to get a better understanding.
3) Create the DDF for your own device.

Arrow back.png Lesson 19
Lesson 21 Arrow forw.png
table of content