Jkuehn (Diskussion | Beiträge) |
(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: | ||
|} | |} | ||
== Übung == | == Übung == |
Version vom 13. Juni 2017, 22:00 Uhr
[[Bild:{{{Logo}}}|48px|link=]] | {{{Überschrift}}} |
Ü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>
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.