Lektion 20 Tut3: Unterschied zwischen den Versionen

Aus Deutsches DMXC-Wiki
(Kapitel 2 vollständig neu verfasst, alter Stand aktuell noch beibehalten ausgenommen Inhalte, die bereits im Artikel DDF DMXC3 enthalten sind)
Zeile 13: Zeile 13:


= Lektion 20: Neue Gerätedefinitionen erstellen  =
= Lektion 20: Neue Gerätedefinitionen erstellen  =
== Kurzeinstieg ==
Eine Gerätedefinitionsdatei (kurz: DDF) wird verwendet, um DMXControl 3 über die Eigenschaften eines Gerätes zu informieren. Ein DDF ist in XML-Sprache geschrieben und die Datei befindet sich im Ordner <code>"<DMXControl program path>\kernel\devices"</code>. Um DDFs für DMXControl 3 zu erstellen, gibt es zwei Wege. Entweder, du schreibst die DDFs in einem Texteditor, oder du nutzt den [[DDFCreator 3]]. Mit letzterem kannst du dir die DDFs mit Hilfe einer grafischen Oberfläche zusammenstellen. Auf der Wiki-Seite des DDFCreators wird beschrieben, wie man ihn bedient und damit DDFs erstellt.
Im Folgenden konzentrieren wir uns auf die Erstellung eines DDFs im Texteditor. Wenn du mit DDFs von DMXControl 2 vertraut bist, dann kannst Du einige wichtige Unterschiede feststellen:
* Es gibt keine grafische Oberfläche (GUI), da DMXControl 3 kein Gerätekontextmenü unterstützt.
* Einige Syntaxelemente sind sehr ähnlich (speziell im Informations-Teil), das heißt du kannst die bestehenden DDFs wiederverwenden.
* Der Funktionsteil ist viel abstrakter: Du machst die Definition vor allem durch die Eigenschaften und nicht durch die DMX-Kanäle.
In diesem Tutorial werden wir anhand von drei Beispielen, die von Mal zu Mal insbesondere umfangreicher und ein klein wenig schwieriger werden, die manuelle Erstellung eines DDFs Schritt für Schritt durchgehen.
Dabei greifen wir nicht alle Funktionen auf, die von DMXControl 3 unterstützt werden. Eine ausführliche Erläuterung der Funktionen findest du in dem Artikel [[DDF DMXC3]].
== Beispiel 1: ein LED-PAR-Scheinwerfer ==
Für einen einfachen LED-PAR-Scheinwerfer mit eigenem Dimmer- und Strobe-Kanal sowie einem DMX-Kanal für Makros soll im Folgenden ein DDF erstellt werden. Der LED-PAR-Scheinwerfer hat damit sechs DMX-Kanäle.
=== Ausgangsdaten: die Bedienungsanleitung ===
Bevor wir mit der Programmierung des eigentlichen DDFs starten, lohnt sich immer ein Blick in die Bedienungsanleitung. Dort findest du grundsätzlich eine Tabelle mit der Auflistung aller DMX-Kanäle und deren jeweiligen Funktionen – kurzum: die Kanalbelegung.
Manchmal solltest du dir aber auch zusätzlich die technischen Daten deines Geräts anschauen. Hier sind nämlich nochmal Angaben notiert, die nicht immer aus der Kanalbelegung hervorgehen. Hierzu gehört beispielsweise die maximale Strobe-Frequenz.
==== Kanalbelegung ====
Die Tabelle mit der Kanalbelegung sieht für den LED-PAR-Scheinwerfer wie folgt aus:
{| class="wikitable toptextcells"
|-
! Kanal !! Wert !! Funktion
|-
|style="width: 10em"| <code>CH1</code>
|style="width: 10em"| <code>000 - 255</code>
|style="width: 40em"| Master-Dimmer (0% - 100%)
|-
| <code>CH2</code>
| <code>000 - 255</code>
| Red (0% - 100%)
|-
| <code>CH3</code>
| <code>000 - 255</code>
| Green (0% - 100%)
|-
| <code>CH4</code>
| <code>000 - 255</code>
| Blue (0% - 100%)
|-
|rowspan="3"| <code>CH5</code>
| <code>000 - 004</code>
| No function
|-
| <code>005 - 084</code>
| Color macro
|-
| <code>170 - 255</code>
| Color fade
|-
| <code>CH6</code>
| <code>000 - 255</code>
| Strobe
|}
==== Technische Daten ====
Wie bereits eingangs angedeutet, geht aus der Kanalbelegung nicht hervor, mit welcher maximalen Frequenz der LED-PAR-Scheinwerfer stroben kann. Daher werfen wir nun einen Blick in die technischen Daten.
'''Steuerungsfunktionen'''
* 6-Kanal-DMX-Steuerung
* Separate Steuerung der Farben Rot, Grün und Blau
'''Eigenschaften'''
* 7 leuchtstarke TRI-Color-LEDs (3 W)
* Musiksteuerung über eingebautes Mikrofon
* Farbwechselgeschwindigkeit und Stroboskopeffekt über Bedienpanel steuerbar
* Multicolor-Farbwechsel
* Strobefrequenz: max. 15 Hz
* Master/Slave-Funktionalität
* Robustes, kompaktes Gehäuse
* Leistungsaufnahme: 30 W
* Longlife-LEDs mit besonders langer Lebensdauer
* Doppelhalterung
Aus den technischen Daten geht hervor, dass die maximale Strobefrequenz bei 15 Hz liegt. Damit haben wir alle Angaben zusammengetragen, um mit der Programmierung des DDFs starten zu können.
=== Programmierung: der XML-Code ===
Zuerst öffnen wir in einem Texteditor deiner Wahl wie beispielsweise dem klassischen Editor von Windows oder Notepad++ eine leere Datei und speichern diese direkt im Datei-Format *.xml ab. Dies hat vor allem beim Texteditor Notepad++ den Vorteil, dass der XML-Code automatisch je nach Code-Typ unterschiedlich eingefärbt wird.
==== Basisteil ====
Die erste Zeile in einem DDF ist immer:
<source lang="xml">
<?xml version="1.0" encoding="utf-8" ?>
</source>
Hiermit wird angeben, wie diese Datei von DMXControl und allen anderen Programmen, die auf diese Datei zugreifen, zu lesen ist.
Nach den Informationen zum Dokumentenstandard wird mit dem Tag <code>device</code> der Bereich für die eigentlichen Informationen geöffnet, die im DDF hinterlegt sind. Die Bild-Datei für das Icon in der Stage View trägt den Dateinamen <code>led-par.png<code>. Bei dem Gerät handelt es sich um ein <code>DMXDevice</code> mit <code>6</code> DMX-Kanälen. Das DDF wird für DMXControl Version <code>3</code> erstellt und wurde bislang nur einmal bearbeitet, weswegen es die Version <code>1</code> ist.
<source lang="xml">
<device image="led-par.png" type="DMXDevice" dmxaddresscount="6" dmxcversion="3" ddfversion="1">
</source>
==== Informationsteil ====
Im Informationsteil ist die Bezeichnung des Geräts, in diesem Fall <code>Studio Mini PAR TRI 3W</code> hinterlegt, der vom Hersteller <code>Cameo</code> geliefert wurde. Erstellt hat dieses DDF <code>Stefan Kistner</code> und es ist gültig für den DMX-Modus <code>Basic</code>. Alle diese Informationen sind durch das Element <code><information> ... </information></code> eingeklammert.
<source lang="xml">
  <information>
    <model>Studio Mini PAR TRI 3W</model>
    <vendor>Cameo</vendor>
    <author>Stefan Kistner</author>
    <mode>Basic</mode>
  </information>
</source>
==== Funktionsteil ====
Der Funktionsteil wird immer durch den Tag <code>functions</code> geöffnet.
===== Dimmer-Kanal =====
Der erste DMX-Kanal ist der DMX-Kanal mit der Funktion Dimmer. Das zugehörige Element heißt ebenfalls <code>dimmer</code>. Da man in der Programmierung immer bei 0 mit dem Zählen anfängt, muss für das Attribut <code>dmxchannel</code> der Wert <code>0</code> eingetragen werden. Beim DMX-Wert 0 ist der LED-PAR-Scheinwerfer komplett aus, das heißt 0% Helligkeit. Hieraus ergeben sich die Werte für die Attribute <code>mindmx</code> und <code>minval</code>, nämlich jeweils <code>0</code>. Die maximale Helligkeit (100%) erreicht der LED-PAR-Scheinwerfer beim DMX-Wert 255. Folglich ist bei den Attributen <code>maxdmx</code> der Wert <code>255</code> und bei <code>maxval</code> der Wert <code>100</code> zu hinterlegen.
Der Teil des XML-Codes sieht damit wie folgt aus:
<source lang="xml">
  <functions>
    <dimmer dmxchannel="0" mindmx="0" maxdmx="255" minval="0" maxval="100" />
</source>
===== Kanäle für rot, grün und blau =====
Da bei diesem LED-PAR-Scheinwerfer nur rote, grüne und blaue LEDs für die Farbmischung verbaut sind, wird im DDF ein einfaches RGB-Element verwendet. Dabei steuert der DMX-Kanal 2 die roten LEDs, der DMX-Kanal 3 die grünen und der DMX-Kanal 4 die blauen LEDs.
Das Element <code>rgb</code> besteht aus den drei untergeordneten Elementen <code>red</code>, <code>green</code> und <code>blue</code> – jeweils ein Element für jede Farbe. Für die Attribute <code>dmxchannel</code> tragen wir die Werte <code>1</code>, <code>2</code> bzw. <code>3</code> ein.
<source lang="xml">
    <rgb>
      <red dmxchannel="1" />
      <green dmxchannel="2" />
      <blue dmxchannel="3" />
    </rgb>
</source>
===== Makro-Kanal =====
Über den fünften DMX-Kanal dieses LED-PAR-Scheinwerfer können wir verschiedene Automatikprogramme aufrufen.
Um diesen Kanal am besten im DDF abzubilden, nehmen wir das Element <code>rawstep</code>. Mit den untergeordneten Elementen erzeugt das Element <code>rawstep</code> eine Auswahlliste im Device Control.
Für jeden <code>step</code> gibt es dabei eine kurze Beschreibung, die im Attribut <code>caption</code> hinterlegt wird. Dazu kommen noch die Werte für die Attribute <code>mindmx</code> und <code>maxdmx</code>. Alle diese Angaben kannst du aus der Bedienungsanleitung übertragen.
<source lang="xml">
    <rawstep dmxchannel="4" name="Macros">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Colour macro" mindmx="5" maxdmx="84" />
      <step caption="Colour jump" mindmx="85" maxdmx="169" />
      <step caption="Colour fade" mindmx="170" maxdmx="255" />
    </rawstep>
</source>
===== Strobe-Kanal =====
Der Strobe-Kanal liegt auf Kanal 6. Der vorliegende LED-PAR-Scheinwerfer verfügt nur über eine einfache Strobe-Funktion, die beim DMX-Wert <code>0 </code>aus ist (<code>0</code> Hz) und bis DMX-Wert <code>255</code> kontinuierlich schneller wird bis zu einer Strobe-Frequenz von <code>15</code> Hz. Damit sind die Werte der Attribute <code>mindmx</code>, <code>maxdmx</code>, <code>minval</code> und <code>maxval</code> bereits bestimmt. Offen ist somit noch der Wert für das Attribut <code>type</code>. Als Wert musst du im DDF <code>linear</code> angegeben, da die Strobe-Frequenz ja mit größer werdenden DMX-Werten stetig zunimmt.
Wichtig ist an dieser Stelle zu erwähnen, dass die Einheit (hier Hertz) nicht eingetragen wird. Damit DMXControl 3 am Ende im Übrigen auch weiß, dass du die Strobe-Frequenz variabel anpassen möchtest, muss das untergeordnete Element ein <code>range</code>-Element ein.
<source lang="xml">
    <strobe dmxchannel="5" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />
    </strobe>
  </functions>
</source>
Da nach dem Strobe-Element keine weiteren Funktionen folgen, wird das Element <code><functions></code> mit dem End-Tag <code></functions></code> geschlossen.
==== Procedures ====
Bei diesem einfachen LED-PAR-Scheinwerfer gibt es keine Sonderfunktionen, wie zum Bespiel die Initiierung eines Reset (ein Neustart) des Geräts. Deswegen entfällt das Element für Procedures komplett.
Zum Schluss muss das Element <code><device></code> noch mittels des End-Tags <code></device></code> geschlossen werden.
=== Ergebnis: das fertige DDF ===
Das komplette DDF für den Cameo Studio Mini PAR TRI 3W sieht wie folgt aus:
<source lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<device image="led-par.png" type="DMXDevice" dmxaddresscount="6" dmxcversion="3" ddfversion="1">
  <information>
    <model>Studio Mini PAR TRI 3W</model>
    <vendor>Cameo</vendor>
    <author>Stefan Kistner</author>
    <mode>Basic</mode>
  </information>
  <functions>
    <dimmer dmxchannel="0" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    <rgb>
      <red dmxchannel="1" />
      <green dmxchannel="2" />
      <blue dmxchannel="3" />
    </rgb>
    <rawstep dmxchannel="4" name="Macros">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Colour macro" mindmx="5" maxdmx="84" />
      <step caption="Colour jump" mindmx="85" maxdmx="169" />
      <step caption="Colour fade" mindmx="170" maxdmx="255" />
    </rawstep>
    <strobe dmxchannel="4" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />
    </strobe>
  </functions>
</device>
</source>
= Alte Fassung bis 13.06.2017 =
Eine Gerätedefinitionsdatei (kurz: DDF) wird verwendet, um DMXControl über die Eigenschaften eines Gerätes zu informieren. Ein DDF ist in XML-Sprache geschrieben und die Datei befindet sich im Ordner {{Manual_Filepath|<DMXControl program path>\kernel\devices}}. Um DDFs für DMXControl 3 zu erstellen, gibt es zwei Wege. Entweder, Du schreibst die DDFs in einem Texteditor, oder Du nutzt den [[DDFCreator 3]]. Mit letzterem kannst Du dir die DDFs mit Hilfe einer grafischen Oberfläche zusammenstellen. Auf der Wiki-Seite des DDFCreators wird beschrieben, wie man ihn bedient und damit DDFs erstellt.
Eine Gerätedefinitionsdatei (kurz: DDF) wird verwendet, um DMXControl über die Eigenschaften eines Gerätes zu informieren. Ein DDF ist in XML-Sprache geschrieben und die Datei befindet sich im Ordner {{Manual_Filepath|<DMXControl program path>\kernel\devices}}. Um DDFs für DMXControl 3 zu erstellen, gibt es zwei Wege. Entweder, Du schreibst die DDFs in einem Texteditor, oder Du nutzt den [[DDFCreator 3]]. Mit letzterem kannst Du dir die DDFs mit Hilfe einer grafischen Oberfläche zusammenstellen. Auf der Wiki-Seite des DDFCreators wird beschrieben, wie man ihn bedient und damit DDFs erstellt.
<br>
<br>
Zeile 229: Zeile 432:
|}
|}


Wenn das Fixture über ein Farb/Goborad verfügt, das sich kontinuierlich drehen kann, dann schreibt man das so:<br>
<source lang="xml"><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>
</source>
<br>


Wenn das Fixture über ein Farb/Goborad verfügt, das sich auf zufällige Positionen drehen kann, dann schreibt man das so:<br>
<source lang="xml">
<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>
</source>
<br>
Wenn ein Gerät über feine Kanäle für z.B Zoom verfügt, dann schreibt man das so:
<br>
<source lang="xml"><zoom dmxchannel="0" finedmxchannel="1"/></source>
Das funktioniert bei jedem Property.
<br>
Die verschiedenen Intervalle in einem DMX-Kanal werden von der „Step“ Variablen definiert:
<source lang="xml">
<step val="0" mindmx="0" maxdmx="127" />
<step val="100" mindmx="128" maxdmx="255" />
</source>
oder:
<source lang="xml">
<step type="color" val="#FFFFFF" caption="Weiß" mindmx="0" maxdmx="31" />
<step type="color" val="#FF0000" caption="Rot" mindmx="32" maxdmx="63" />
</source>
== Procedures ==
Gerätekanäle für Reset, Lampe an/aus oder sonstige Gerätesystemfunktionen können über Proceduren abgebildet werden. Hierbei wird auf diese Funktionen nicht über das Property Grid, sondern im Stage View über das Kontexmenü des jeweiligen Geräts, über das Untermenü Procedures zugegriffen. Es gibt drei standard Proceduren: Reset, LampOn und LampOff, alle weiteren Funktionen, die durch Proceduren abgebildet werden sollen, können wie in Zeile 02 bis 06 erzeugt werden.
<source lang="xml">
01  <procedures>
02    <procedure name="P/T-Reset">
03      <set dmxchannel="9" value="200" />
04      <hold value="6000" />                                  //Haltezeit in ms!!!
05      <restore dmxchannel="10" />
06    </procedure>
07    <reset>
08      <set dmxchannel="9" value="255" />
09      <hold value="6000" />                                  //Haltezeit in ms!!!
10      <restore dmxchannel="10" />
11    </reset>
12    <lamp_on>
13      <set dmxchannel="9" value="210" />
14      <hold value="6000" />                                  //Haltezeit in ms!!!
15      <restore dmxchannel="10" />
16    </lamp_on>
17    <lamp_off>
18      <set dmxchannel="9" value="220" />
19      <hold value="6000" />                                  //Haltezeit in ms!!!             
20      <restore dmxchannel="10" />
21    </lamp_off>
22  </procedures>
</source>
<br>
'''Folgende Proceduren sind zur Zeit in DMXControl 3 verfügbar.''' (Stand: Januar 2014)
{| class="wikitable"
|-
! Procedur-Name
! Beschreibung
! Bemerkung
|-
| lamp_on
| Schaltet die Lampe des entsprechenden Geräts ein.
|-
| lamp_off
| Schaltet die Lampe des entsprechenden Geräts aus.
|-
| reset
| Löst am entsprechenden Gerät einen Reset aus.
|-
| reset_pan_tilt
| Löst am entsprechenden Gerät einen Reset der Pan & Tilt Motoren aus.
| Das Gerät fährt mit Pan & Tilt seine Referenzpunkte an.
|-
| reset_pan
| Löst am entsprechenden Gerät einen Reset des Pan Motors aus.
| Das Gerät fährt mit Pan seine Referenzpunkte an.
|-
| reset_tilt
| Löst am entsprechenden Gerät einen Reset des Tilt Motors aus.
| Das Gerät fährt mit Tilt seine Referenzpunkte an.
|-
| reset_gobo
| Löst am entsprechenden Gerät einen Reset des Gobo Motors aus.
| Das Gobo-Wheel fährt seine Referenzpunkte an.
|-
| reset_gobo2
| Löst am entsprechenden Gerät einen Reset des Gobo2 Motors aus.
| Das Gobo2-Wheel fährt seine Referenzpunkte an.
|-
| reset_color
| Löst am entsprechenden Gerät einen Reset des Color Motors aus.
| Das Color-Wheel fährt seine Referenzpunkte an.
|-
| reset_color2
| Löst am entsprechenden Gerät einen Reset des Color2 Motors aus.
| Das Color2-Wheel fährt seine Referenzpunkte an.
|-
| reset_effects
| Löst am entsprechenden Gerät das Zurücksetzen der eingebauten Effekte aus.
|
|-
| reset_zoom
| Löst am entsprechenden Gerät den Reset der Zoom-Funktion aus.
|
|-
| reset_shutter
| Löst am entsprechenden Gerät den Reset des Shutters aus.
|
|-
| reset_iris
| Löst am entsprechenden Gerät den Reset der Iris-Blende aus.
|
|-
| reset_focus
| Löst am entsprechenden Gerät den Reset der Fokusfunktion aus.
|
|-
| reset_prism
| Löst am entsprechenden Gerät einen Reset des Prismarades aus.
|
|-
| pan_invert_on
| Am entsprechenden Gerät wird der Pan-Kanal invertiert.
|
|-
| pan_invert_off
| Am entsprechenden Gerät wird die Invertierung des Pan-Kanals aufgehoben.
|
|-
| tilt_invert_on
| Am entsprechenden Gerät wird der Tilt-Kanal invertiert.
|
|-
| tilt_invert_off
| Am entsprechenden Gerät wird die Invertierung des Tilt-Kanals aufgehoben.
|
|-
| pan_tilt_swap_on
| Am entsprechenden Gerät werden Pan und Tilt vertauscht.
|
|-
| pan_tilt_swap_off
| Die Vertauschung von Pan und Tilt wird deaktiviert.
|
|-
| display_on
| Das Display des entsprechenden Gerätes wird aktiviert.
|
|-
| display_off
| Das Display des entsprechenden Gerätes wird deaktiviert.
|
|}


== Übung  ==
== Übung  ==

Version vom 13. Juni 2017, 22:00 Uhr

[[Bild:{{{Logo}}}|48px|link=]] {{{Überschrift}}}


Inhaltsverzeichnis

Überblick

In dieser Lektion lernst Du, wie das Erstellen und Hinzufügen neuer Gerätedefinitionen funktioniert. Du musst diese Aktion nur anwenden, wenn Dein Gerät noch nicht als Standardgerät von DMXControl 3 definiert ist.

Lektion 20: Neue Gerätedefinitionen erstellen

Kurzeinstieg

Eine Gerätedefinitionsdatei (kurz: DDF) wird verwendet, um DMXControl 3 über die Eigenschaften eines Gerätes zu informieren. Ein DDF ist in XML-Sprache geschrieben und die Datei befindet sich im Ordner "<DMXControl program path>\kernel\devices". Um DDFs für DMXControl 3 zu erstellen, gibt es zwei Wege. Entweder, du schreibst die DDFs in einem Texteditor, oder du nutzt den DDFCreator 3. Mit letzterem kannst du dir die DDFs mit Hilfe einer grafischen Oberfläche zusammenstellen. Auf der Wiki-Seite des DDFCreators wird beschrieben, wie man ihn bedient und damit DDFs erstellt. Im Folgenden konzentrieren wir uns auf die Erstellung eines DDFs im Texteditor. Wenn du mit DDFs von DMXControl 2 vertraut bist, dann kannst Du einige wichtige Unterschiede feststellen:

  • Es gibt keine grafische Oberfläche (GUI), da DMXControl 3 kein Gerätekontextmenü unterstützt.
  • Einige Syntaxelemente sind sehr ähnlich (speziell im Informations-Teil), das heißt du kannst die bestehenden DDFs wiederverwenden.
  • Der Funktionsteil ist viel abstrakter: Du machst die Definition vor allem durch die Eigenschaften und nicht durch die DMX-Kanäle.

In diesem Tutorial werden wir anhand von drei Beispielen, die von Mal zu Mal insbesondere umfangreicher und ein klein wenig schwieriger werden, die manuelle Erstellung eines DDFs Schritt für Schritt durchgehen. Dabei greifen wir nicht alle Funktionen auf, die von DMXControl 3 unterstützt werden. Eine ausführliche Erläuterung der Funktionen findest du in dem Artikel DDF DMXC3.

Beispiel 1: ein LED-PAR-Scheinwerfer

Für einen einfachen LED-PAR-Scheinwerfer mit eigenem Dimmer- und Strobe-Kanal sowie einem DMX-Kanal für Makros soll im Folgenden ein DDF erstellt werden. Der LED-PAR-Scheinwerfer hat damit sechs DMX-Kanäle.

Ausgangsdaten: die Bedienungsanleitung

Bevor wir mit der Programmierung des eigentlichen DDFs starten, lohnt sich immer ein Blick in die Bedienungsanleitung. Dort findest du grundsätzlich eine Tabelle mit der Auflistung aller DMX-Kanäle und deren jeweiligen Funktionen – kurzum: die Kanalbelegung. Manchmal solltest du dir aber auch zusätzlich die technischen Daten deines Geräts anschauen. Hier sind nämlich nochmal Angaben notiert, die nicht immer aus der Kanalbelegung hervorgehen. Hierzu gehört beispielsweise die maximale Strobe-Frequenz.

Kanalbelegung

Die Tabelle mit der Kanalbelegung sieht für den LED-PAR-Scheinwerfer wie folgt aus:

Kanal Wert Funktion
CH1 000 - 255 Master-Dimmer (0% - 100%)
CH2 000 - 255 Red (0% - 100%)
CH3 000 - 255 Green (0% - 100%)
CH4 000 - 255 Blue (0% - 100%)
CH5 000 - 004 No function
005 - 084 Color macro
170 - 255 Color fade
CH6 000 - 255 Strobe

Technische Daten

Wie bereits eingangs angedeutet, geht aus der Kanalbelegung nicht hervor, mit welcher maximalen Frequenz der LED-PAR-Scheinwerfer stroben kann. Daher werfen wir nun einen Blick in die technischen Daten.

Steuerungsfunktionen

  • 6-Kanal-DMX-Steuerung
  • Separate Steuerung der Farben Rot, Grün und Blau

Eigenschaften

  • 7 leuchtstarke TRI-Color-LEDs (3 W)
  • Musiksteuerung über eingebautes Mikrofon
  • Farbwechselgeschwindigkeit und Stroboskopeffekt über Bedienpanel steuerbar
  • Multicolor-Farbwechsel
  • Strobefrequenz: max. 15 Hz
  • Master/Slave-Funktionalität
  • Robustes, kompaktes Gehäuse
  • Leistungsaufnahme: 30 W
  • Longlife-LEDs mit besonders langer Lebensdauer
  • Doppelhalterung

Aus den technischen Daten geht hervor, dass die maximale Strobefrequenz bei 15 Hz liegt. Damit haben wir alle Angaben zusammengetragen, um mit der Programmierung des DDFs starten zu können.

Programmierung: der XML-Code

Zuerst öffnen wir in einem Texteditor deiner Wahl wie beispielsweise dem klassischen Editor von Windows oder Notepad++ eine leere Datei und speichern diese direkt im Datei-Format *.xml ab. Dies hat vor allem beim Texteditor Notepad++ den Vorteil, dass der XML-Code automatisch je nach Code-Typ unterschiedlich eingefärbt wird.

Basisteil

Die erste Zeile in einem DDF ist immer:

<?xml version="1.0" encoding="utf-8" ?>

Hiermit wird angeben, wie diese Datei von DMXControl und allen anderen Programmen, die auf diese Datei zugreifen, zu lesen ist.

Nach den Informationen zum Dokumentenstandard wird mit dem Tag device der Bereich für die eigentlichen Informationen geöffnet, die im DDF hinterlegt sind. Die Bild-Datei für das Icon in der Stage View trägt den Dateinamen led-par.png. Bei dem Gerät handelt es sich um ein DMXDevice mit 6 DMX-Kanälen. Das DDF wird für DMXControl Version 3 erstellt und wurde bislang nur einmal bearbeitet, weswegen es die Version 1 ist.

<device image="led-par.png" type="DMXDevice" dmxaddresscount="6" dmxcversion="3" ddfversion="1">

Informationsteil

Im Informationsteil ist die Bezeichnung des Geräts, in diesem Fall Studio Mini PAR TRI 3W hinterlegt, der vom Hersteller Cameo geliefert wurde. Erstellt hat dieses DDF Stefan Kistner und es ist gültig für den DMX-Modus Basic. Alle diese Informationen sind durch das Element <information> ... </information> eingeklammert.

  <information>
    <model>Studio Mini PAR TRI 3W</model>
    <vendor>Cameo</vendor>
    <author>Stefan Kistner</author>
    <mode>Basic</mode>
  </information>

Funktionsteil

Der Funktionsteil wird immer durch den Tag functions geöffnet.

Dimmer-Kanal

Der erste DMX-Kanal ist der DMX-Kanal mit der Funktion Dimmer. Das zugehörige Element heißt ebenfalls dimmer. Da man in der Programmierung immer bei 0 mit dem Zählen anfängt, muss für das Attribut dmxchannel der Wert 0 eingetragen werden. Beim DMX-Wert 0 ist der LED-PAR-Scheinwerfer komplett aus, das heißt 0% Helligkeit. Hieraus ergeben sich die Werte für die Attribute mindmx und minval, nämlich jeweils 0. Die maximale Helligkeit (100%) erreicht der LED-PAR-Scheinwerfer beim DMX-Wert 255. Folglich ist bei den Attributen maxdmx der Wert 255 und bei maxval der Wert 100 zu hinterlegen. Der Teil des XML-Codes sieht damit wie folgt aus:

  <functions>
    <dimmer dmxchannel="0" mindmx="0" maxdmx="255" minval="0" maxval="100" />
Kanäle für rot, grün und blau

Da bei diesem LED-PAR-Scheinwerfer nur rote, grüne und blaue LEDs für die Farbmischung verbaut sind, wird im DDF ein einfaches RGB-Element verwendet. Dabei steuert der DMX-Kanal 2 die roten LEDs, der DMX-Kanal 3 die grünen und der DMX-Kanal 4 die blauen LEDs.

Das Element rgb besteht aus den drei untergeordneten Elementen red, green und blue – jeweils ein Element für jede Farbe. Für die Attribute dmxchannel tragen wir die Werte 1, 2 bzw. 3 ein.

    <rgb>
      <red dmxchannel="1" />
      <green dmxchannel="2" />
      <blue dmxchannel="3" />
    </rgb>
Makro-Kanal

Über den fünften DMX-Kanal dieses LED-PAR-Scheinwerfer können wir verschiedene Automatikprogramme aufrufen.

Um diesen Kanal am besten im DDF abzubilden, nehmen wir das Element rawstep. Mit den untergeordneten Elementen erzeugt das Element rawstep eine Auswahlliste im Device Control.

Für jeden step gibt es dabei eine kurze Beschreibung, die im Attribut caption hinterlegt wird. Dazu kommen noch die Werte für die Attribute mindmx und maxdmx. Alle diese Angaben kannst du aus der Bedienungsanleitung übertragen.

    <rawstep dmxchannel="4" name="Macros">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Colour macro" mindmx="5" maxdmx="84" />
      <step caption="Colour jump" mindmx="85" maxdmx="169" />
      <step caption="Colour fade" mindmx="170" maxdmx="255" />
    </rawstep>
Strobe-Kanal

Der Strobe-Kanal liegt auf Kanal 6. Der vorliegende LED-PAR-Scheinwerfer verfügt nur über eine einfache Strobe-Funktion, die beim DMX-Wert 0 aus ist (0 Hz) und bis DMX-Wert 255 kontinuierlich schneller wird bis zu einer Strobe-Frequenz von 15 Hz. Damit sind die Werte der Attribute mindmx, maxdmx, minval und maxval bereits bestimmt. Offen ist somit noch der Wert für das Attribut type. Als Wert musst du im DDF linear angegeben, da die Strobe-Frequenz ja mit größer werdenden DMX-Werten stetig zunimmt.

Wichtig ist an dieser Stelle zu erwähnen, dass die Einheit (hier Hertz) nicht eingetragen wird. Damit DMXControl 3 am Ende im Übrigen auch weiß, dass du die Strobe-Frequenz variabel anpassen möchtest, muss das untergeordnete Element ein range-Element ein.

    <strobe dmxchannel="5" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />
    </strobe>
  </functions>

Da nach dem Strobe-Element keine weiteren Funktionen folgen, wird das Element <functions> mit dem End-Tag </functions> geschlossen.

Procedures

Bei diesem einfachen LED-PAR-Scheinwerfer gibt es keine Sonderfunktionen, wie zum Bespiel die Initiierung eines Reset (ein Neustart) des Geräts. Deswegen entfällt das Element für Procedures komplett. Zum Schluss muss das Element <device> noch mittels des End-Tags </device> geschlossen werden.

Ergebnis: das fertige DDF

Das komplette DDF für den Cameo Studio Mini PAR TRI 3W sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
<device image="led-par.png" type="DMXDevice" dmxaddresscount="6" dmxcversion="3" ddfversion="1">
  <information>
    <model>Studio Mini PAR TRI 3W</model>
    <vendor>Cameo</vendor>
    <author>Stefan Kistner</author>
    <mode>Basic</mode>
  </information>
  <functions>
    <dimmer dmxchannel="0" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    <rgb>
      <red dmxchannel="1" />
      <green dmxchannel="2" />
      <blue dmxchannel="3" />
    </rgb>
    <rawstep dmxchannel="4" name="Macros">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Colour macro" mindmx="5" maxdmx="84" />
      <step caption="Colour jump" mindmx="85" maxdmx="169" />
      <step caption="Colour fade" mindmx="170" maxdmx="255" />
    </rawstep>
    <strobe dmxchannel="4" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />
    </strobe>
  </functions>
</device>





Alte Fassung bis 13.06.2017

Eine Gerätedefinitionsdatei (kurz: DDF) wird verwendet, um DMXControl über die Eigenschaften eines Gerätes zu informieren. Ein DDF ist in XML-Sprache geschrieben und die Datei befindet sich im Ordner "<DMXControl program path>\kernel\devices". Um DDFs für DMXControl 3 zu erstellen, gibt es zwei Wege. Entweder, Du schreibst die DDFs in einem Texteditor, oder Du nutzt den DDFCreator 3. Mit letzterem kannst Du dir die DDFs mit Hilfe einer grafischen Oberfläche zusammenstellen. Auf der Wiki-Seite des DDFCreators wird beschrieben, wie man ihn bedient und damit DDFs erstellt.
Im Folgenden konzentrieren wir uns auf die Erstellung eines DDFs im Texteditor. Wenn Du mit DDFs von DMXControl 2 vertraut bist, dann kannst Du einige wichtige Unterschiede feststellen:

  • Es gibt keine grafische Oberfläche (GUI), da DMXControl 3 kein Gerätekontextmenü unterstützt
  • Einige Syntaxelemente sind sehr ähnlich (speziell im Informations-Teil), d.h. Du kannst die bestehenden DDFs wiederverwenden.
  • Der Funktionsteil ist viel abstrakter: Du machst die Definition vor allem durch die Eigenschaften und nicht durch die DMX-Kanäle


Als erstes schauen wir uns ein sehr einfaches DDF an ("Generic RGB Par"):


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


DeviceManegerInfoBox.jpg


Zeile 01 ist zwingend notwendig für die Beschreibung der XML-Version. Zeile 02 ("bild" kann ersetzt werden durch z.B. "Light.gif" oder "Light.png") und Zeile 15 bilden den Rahmen für die Geräte-Definition, die aus zwei Teilen besteht:

  • Informationsbereich (Zeile 03 bis 08), keine weitere Erklärung notwendig.
  • Funktionsbereich (Zeile 09 bis 14)

Das Gerät in unserem Beispiel hat eine Eigenschaft RGB color Modus. Die Zuordnung der DMX Kanäle wird in den Zeilen 11 bis 13 beschrieben.

Das ist alles!

Folgende Tabelle zeigt die vorhandenen Eigenschaften

Property Beschreibung Kommentar
switch Fixture hat einen Switch-Kanal.
<switch dmxchannel="0" />
dimmer Fixture hat einen Dimmer-Kanal.
<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 Nebel-Kanal
<fog dmxchannel="0" />
shutter Fixture hat einen Shutter.
<shutter dmxchannel="0" />
strobe Fixture hat einen Strobe-Kanal.
<strobe dmxchannel="0" />
iris
Fixture hat einen Iris-Kanal.
<iris dmxchannel="0"/>
focus
Fixture hat einen Fokus-Kanal.
<focus dmxchannel="0"/>
zoom
Fixture hat einen Zoom-Kanal.
<zoom dmxchannel="0"/>
rgb Fixture hat die RGB-Funktion.
<rgb>
  <red dmxchannel="0" />
  <green dmxchannel="1" />
  <blue dmxchannel="2" />
</rgb>
cmy
Fixture hat die CMY-Funktion.
<cmy>
  <cyan dmxchannel="0"/>
  <magenta dmxchannel="1"/>
  <yellow dmxchannel="2"/>
</cmy>
position Fixture hat Pan und/ oder Tilt.
<position>
  <pan dmxchannel="0">
    <range range="540" />
  </pan>
  <tilt dmxchannel="1">
    <range range="246" />
  </tilt>
</position>
color wheel Fixture mit Farbrad.
<colorwheel dmxchannel="0">
   <step type="color" val="#ffffff" caption="Weiß" mindmx="0" maxdmx="0" />
   <step type="color" val="#00bd52" caption="Grün 203" mindmx="32" maxdmx="32" />
   <step type="color" val="#080094" caption="Blau 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="Weiß" mindmx="160" maxdmx="160" />
</colorwheel>
gobo wheel Fixture mit Goborad.


Goborotation

<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>
  <goboshake dmxchannel="7" />
    <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" />
      <range handler="shake" mindmx="60" maxdmx="71" minval="0,1" maxval="3" />
    </step>
  ...
</gobowheel>

Goboposition

Rotation Gobo 1

Shake Gobo 1

raw
Fixture hat undefinierte Funktionen. Der Raw-Kanal ist ein Fade-Kanal
<raw dmxchannel="17" name="White"/>
rawstep
Fixture hat undefinierte Funktionen. Der Rawstep-Kanal ist ein Kanal mit mehreren Eigenschaftsbereichen.
<rawstep dmxchannel="0" name="Macros">
<step caption="MACRO 15" mindmx="0" maxdmx="1" />
...
</rawstep>
const
Fixture hat einen mit einem konstanten Wert belegten Kanal.
<const dmxchannel="1" val="0" name="Macro"/>


Übung

1) Wirf einen Blick in einige Definitionen von Geräten, bevor Du eigene DDFs erstellst (siehe obiges Verzeichnis).
2) Öffne das DDF für den TS255. Trenne die unterschiedlichen Eigenschaften durch Leerzeilen, um es besser zu verstehen.
3) Erstelle ein DDF für Dein eigenes Gerät.


Inhaltsverzeichnis