Lektion 20 Tut3: Unterschied zwischen den Versionen

Aus Deutsches DMXC-Wiki
Zur Navigation springen Zur Suche springen
(Artikel auf die Standard-Definition von amber in DMXControl 3.1.1 umgestellt)
(Beispiele in externe Artikel ausgelagert)
Zeile 12: Zeile 12:
 
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.
 
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 =
+
= Lektion 20: Neue Gerätedefinitionen erstellen =
 
== Kurzeinstieg ==
 
== 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.
+
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. Die Daten sind an verschiedenen Stellen auf dem PC gespeichert:
 +
* '''UserDevices''' (vom Anwender erstellte DDFs): <code>[APPDATA]\DMXControl Projects e.V\DMXControl\Kernel\UserDevices\</code>
 +
* '''LibDevices''' (vom Installer ausgelieferte DDFs): <code>[PROGRAMMVERZEICHNIS]\Kernel\LibDevices\</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:
 
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:
Zeile 23: Zeile 27:
 
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. Für alle Beispiele beziehen wir uns real existierende Geräte, damit du das Tutorial im Nachgang für dich selbst besser nachvollziehen kannst. Die Geräte haben wir anhand ihrer Funktionen so ausgewählt, damit die Beispiele so umfangreich wie möglich ausfallen können.
 
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. Für alle Beispiele beziehen wir uns real existierende Geräte, damit du das Tutorial im Nachgang für dich selbst besser nachvollziehen kannst. Die Geräte haben wir anhand ihrer Funktionen so ausgewählt, damit die Beispiele so umfangreich wie möglich ausfallen können.
  
Wir können in diesem Tutorial leider nicht alle Funktionen aufgreifen, die von DMXControl 3 unterstützt werden. Eine ausführliche Erläuterung der Funktionen findest du in dem Artikel [[DDF DMXC3]].
+
Wir können in diesem Tutorial leider nicht alle Funktionen aufgreifen, die von DMXControl 3 unterstützt werden. Eine ausführliche Erläuterung der Funktionen findest du im Handbuch-Band [[DDF DMXC3]].
 
 
Bevor du jetzt aber voller Tatendrang an das Erstellen von DDFs gehst, beachte bitte folgenden wichtigen Hinweis:
 
 
 
{{BoxHinweis
 
|Text = Standardmäßig hast du im Installationsverzeichnis von DMXControl nur Lese- aber keine Schreibrechte. Diese erhältst du nur nach der obligatorischen Admin-Freigabe. Ohne diese Freigabe legt Windows neue Dateien in ein separates Verzeichnis.
 
Für den Einstieg empfiehlt es sich, neue DDFs in einem neuen Ordner auf dem Desktop zu speichern. Nach der Fertigstellung verschiebst du das neue DDF in das oben genannte Verzeichnis. In der Regel fragt dich Windows hierbei nach den Admin-Rechten, welche du dem Verschiebevorgang erteilen kannst.
 
}}
 
<br />
 
 
 
== Beispiel 1: ein LED-PAR-Scheinwerfer ==
 
Vor uns steht der Cameo Studio Mini PAR TRI 3W, der auch baugleich zum lightmaXX Platinum LED MINI PAR Tri-LED 7x 3 Watt ist. Für diesen einfachen LED-PAR-Scheinwerfer mit eigenem Dimmer- und Strobe-Kanal sowie einem DMX-Kanal für Makros wollen wir im Folgenden ein DDF erstellen. 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>
 
<br />
 
 
 
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>Cameo Studio Mini PAR TRI 3W.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="Cameo Studio Mini PAR TRI 3W.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>. 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>
 
  </information>
 
</source>
 
<br />
 
 
 
==== 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>
 
<br />
 
 
 
===== 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>
 
<br />
 
 
 
===== 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>
 
<br />
 
 
 
===== 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>
 
<br />
 
 
 
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="Cameo Studio Mini PAR TRI 3W.png" type="DMXDevice" dmxaddresscount="6" dmxcversion="3" ddfversion="1">
 
  <information>
 
    <model>Studio Mini PAR TRI 3W</model>
 
    <vendor>Cameo</vendor>
 
    <author>Stefan Kistner</author>
 
  </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="5" >
 
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />
 
    </strobe>
 
  </functions>
 
</device>
 
</source>
 
<br />
 
 
 
== Beispiel 2: eine 4er-LED-Bar (keine Leiste) ==
 
Mit dem zweiten Beispiel widmen wir uns einer 4er-LED-Bar und zwar konkret der Eurolite KLS-2500. Diese 4er-LED-Bar besteht aus vier einzelnen LED-Scheinwerfern, die allesamt fest an einer Bar montiert sind. Jeder LED-Scheinwerfer kann frei positioniert werden.
 
Wir haben diese LED-Bar als Beispiel ausgewählt, da hier zum einen Penta-Color-LEDs verbaut sind. Das bedeutet, dass in jedem LED-Chip fünf verschiedene Farben verbaut sind und zwar die Farben rot, grün, blau, weiß und amber (bernsteinfarben). Zum anderen besitzt diese 4er-LED-Bar unterschiedliche DMX-Modi. Die Feinheiten, die es hierbei zu beachten gilt, möchten wir mit euch genau in diesem Beispiel besprechen und deswegen direkt für zwei DMX-Modi die DDF-Dateien erstellen. Gleichzeitig wiederholen wir Teile aus dem ersten Beispiel.
 
 
 
=== Ausgangsdaten: die Bedienungsanleitung ===
 
Auch bei diesem Beispiel schauen wir uns zu aller erst die Bedienungsanleitung an. Hier fällt auf, dass es im Kapitel „DMX-Protokoll“ mehr als eine Tabelle mit der Kanalbelegung gibt. Insgesamt sind sieben verschiedene Kanalbelegungen (sprich DMX-Modi) möglich.
 
Unterschiedliche Kanalbelegungen werden meist immer aus dem Grund vorgesehen, um dir als Nutzer die Entscheidung offen zu lassen, ob du über DMX beim vorliegenden Beispiel jeden Scheinwerfer quasi jeweils wie einen eigenen LED-PAR-Scheinwerfer analog zum Beispiel 1 ansteuern möchtest. Dies entspräche hier dem 28-Kanal-Modus. Die andere Alternative ist, über den 3-Kanal-Modus die internen Programme der 4er-LED-Bar aufzurufen und die Helligkeit und die Abspiel-Geschwindigkeit anzupassen.
 
In jedem Fall ist wichtig: für die Kanalbelegung, die du am Gerät einstellst, muss du deinem Projekt in DMXControl 3 auch das zugehörige DDF hinzufügen. DMXControl weiß nicht, welche Kanalbelegung (DMX-Modus) du an deinem Gerät aktiviert hast.
 
 
 
==== Kanalbelegung ====
 
Die Kanalbelegungen sind in folgender Weise in der Bedienungsanleitung abgedruckt. Du findest hier nur die beiden Kanalbelegungen, für die wir auch die DDF-Dateien erstellen werden.
 
 
 
'''3-Kanal-Modus'''
 
{| class="wikitable toptextcells"
 
|-
 
! DMX-Kanal !! DMX-Wert !! Funktion
 
|-
 
|style="width: 10em" rowspan="14" | <code>1</code>
 
|style="width: 10em"| <code>000 - 009</code>
 
|style="width: 40em"| Keine Funktion
 
|-
 
| <code>010 - 029</code>
 
| Programm 1
 
|-
 
| <code>030 - 049</code>
 
| Programm 2
 
|-
 
| <code>050 - 069</code>
 
| Programm 3
 
|-
 
| <code>070 - 089</code>
 
| Programm 4
 
|-
 
| <code>090 - 109</code>
 
| Programm 5
 
|-
 
| <code>110 - 129</code>
 
| Programm 6
 
|-
 
| <code>130 - 149</code>
 
| Programm 7
 
|-
 
| <code>150 - 169</code>
 
| Programm 8
 
|-
 
| <code>170 - 189</code>
 
| Programm 9
 
|-
 
| <code>190 - 209</code>
 
| Programm 10
 
|-
 
| <code>210 - 229</code>
 
| Programm 11
 
|-
 
| <code>230 - 249</code>
 
| Programm 0
 
|-
 
| <code>250 - 255</code>
 
| Musiksteuerung
 
|-
 
| <code>2</code>
 
| <code>000 - 255</code>
 
| Dimmen von 0 – 100 %
 
|-
 
|rowspan="3"| <code>3</code>
 
| <code>000 - 255</code>
 
| Ablaufgeschwindigkeit Programme 0-11 langsam → schnell oder
 
|-
 
| <code>000 - 010</code>
 
| Keine Mikrofonempfindlichkeit
 
|-
 
| <code>011 - 255</code>
 
| Mikrofonempfindlichkeit niedrig → hoch
 
|}
 
 
 
'''23-Kanal-Modus'''
 
{| class="wikitable toptextcells"
 
|-
 
! DMX-Kanal !! DMX-Wert !! Funktion !!
 
|-
 
|style="width: 10em" rowspan="14"| <code>1</code>
 
|style="width: 10em"| <code>000 - 009</code>
 
|style="width: 40em"| Keine Funktion
 
|style="width: 10em" rowspan="17"|
 
|-
 
| <code>010 - 029</code>
 
| Programm 1
 
|-
 
| <code>030 - 049</code>
 
| Programm 2
 
|-
 
| <code>050 - 069</code>
 
| Programm 3
 
|-
 
| <code>070 - 089</code>
 
| Programm 4
 
|-
 
| <code>090 - 109</code>
 
| Programm 5
 
|-
 
| <code>110 - 129</code>
 
| Programm 6
 
|-
 
| <code>130 - 149</code>
 
| Programm 7
 
|-
 
| <code>150 - 169</code>
 
| Programm 8
 
|-
 
| <code>170 - 189</code>
 
| Programm 9
 
|-
 
| <code>190 - 209</code>
 
| Programm 10
 
|-
 
| <code>210 - 229</code>
 
| Programm 11
 
|-
 
| <code>230 - 249</code>
 
| Programm 0
 
|-
 
| <code>250 - 255</code>
 
| Musiksteuerung
 
|-
 
| <code>2</code>
 
| <code>000 - 255</code>
 
| Dimmen von 0 – 100 %
 
|-
 
|rowspan="2"| <code>3</code>
 
| <code>000 - 009</code>
 
| Keine Funktion
 
|-
 
| <code>010 - 255</code>
 
| Strobe langsam → schnell
 
|-
 
| <code>4</code>
 
| <code>000 - 255</code>
 
| Rot 0 – 100 % oder
 
Ablaufgeschwindigkeit langsam → schnell (wenn Kanal 1 auf ein Programm eingestellt ist)
 
|rowspan="5"| Spot 1
 
|-
 
| <code>5</code>
 
| <code>000 - 255</code>
 
| Grün 0 – 100 % oder
 
Überblendzeit schnell → langsam (wenn Kanal 1 auf ein Programm eingestellt ist)
 
|-
 
| <code>6</code>
 
| <code>000 - 255</code>
 
| Blau 0 – 100 %
 
|-
 
| <code>7</code>
 
| <code>000 - 255</code>
 
| Amber 0 – 100 %
 
|-
 
| <code>8</code>
 
| <code>000 - 255</code>
 
| Weiß 0 – 100 %
 
|-
 
| <code>9</code>
 
| <code>000 - 255</code>
 
| Rot 0 – 100 %
 
|rowspan="5"| Spot 2
 
|-
 
| <code>10</code>
 
| <code>000 - 255</code>
 
| Grün 0 – 100 %
 
|-
 
| <code>11</code>
 
| <code>000 - 255</code>
 
| Blau 0 – 100 %
 
|-
 
| <code>12</code>
 
| <code>000 - 255</code>
 
| Amber 0 – 100 %
 
|-
 
| <code>13</code>
 
| <code>000 - 255</code>
 
| Weiß 0 – 100 %
 
|-
 
| <code>14</code>
 
| <code>000 - 255</code>
 
| Rot 0 – 100 %
 
|rowspan="5"| Spot 3
 
|-
 
| <code>15</code>
 
| <code>000 - 255</code>
 
| Grün 0 – 100 %
 
|-
 
| <code>16</code>
 
| <code>000 - 255</code>
 
| Blau 0 – 100 %
 
|-
 
| <code>17</code>
 
| <code>000 - 255</code>
 
| Amber 0 – 100 %
 
|-
 
| <code>18</code>
 
| <code>000 - 255</code>
 
| Weiß 0 – 100 %
 
|-
 
| <code>19</code>
 
| <code>000 - 255</code>
 
| Rot 0 – 100 %
 
|rowspan="5"| Spot 4
 
|-
 
| <code>20</code>
 
| <code>000 - 255</code>
 
| Grün 0 – 100 %
 
|-
 
| <code>21</code>
 
| <code>000 - 255</code>
 
| Blau 0 – 100 %
 
|-
 
| <code>22</code>
 
| <code>000 - 255</code>
 
| Amber 0 – 100 %
 
|-
 
| <code>23</code>
 
| <code>000 - 255</code>
 
| Weiß 0 – 100 %
 
|}
 
 
 
==== Technische Daten ====
 
Was bereits beim ersten Beispiel der Fall war, trifft auch auf unser zweites Beispiel zu. Aus der Kanalbelegung geht nicht hervor, mit welcher maximalen Frequenz der LED-PAR-Scheinwerfer stroben kann.
 
* Spannungsversorgung: 100-240 V AC, 50/60 Hz ~
 
* Gesamtanschlusswert: 190 W
 
* DMX-Steuerkanäle: 2/3/4/7/20/23/28
 
* DMX512-Anschluss: 3-pol. XLR
 
* QuickDMX-Anschluss: 5-pol. XLR
 
* Musiksteuerung: über eingebautes Mikrofon
 
* Anzahl der LEDs: 28
 
* LED-Typ: 10-W-PCL (RGBAW)
 
* Abstrahlwinkel: 28°
 
* TV-Zapfen: D = 28 mm
 
* Musiksteuerung: über eingebautes Mikrofon
 
* Maximale Umgebungstemperatur Ta: 45° C
 
* Max. Leuchtentemperatur im Beharrungszustand TC: 75° C
 
* Mindestabstand zu entflammbaren Oberflächen: 0,50 m
 
* Mindestabstand zum angestrahlten Objekt: 0,10 m
 
* Sicherungen: T3,15A/250V Netzeingang, 2 x T5A/250V Netzausgänge
 
* Maße (LxBxH): 1160 x 60 x 320 mm
 
* Gewicht: 12 kg
 
 
 
Bei diesen Angaben können wir leider keine Information darüber finden, bei welchem Wert die maximale Strobe-Frequenz liegt. Daher bleiben an dieser Stelle nur zwei Möglichkeiten, um alle Angaben für das DDF zusammenzutragen:
 
* Wir schätzen die maximale Strobe-Frequenz ab. Dabei gilt: Werte über 25 Hz machen keinen Sinn, da unser Auge diese Frequenzen nur noch als „ein“ wahrnehmen kann.
 
* Du hast bereits ein anderes Gerät, wo die maximale Strobe-Frequenz bekannt ist. Beide Geräte stellst du dann nebeneinander und schaust, bei welchem DMX-Wert die 4er-LED-Bar die gleiche Strobe-Frequenz besitzt wie das „Vorlage-Gerät“. Ggf. musst du für den Anfang über den Dreisatz mathematisch ermitteln, wie die maximale Strobe-Frequenz der 4er-LED-Bar ist, sollte diese nämlich schneller stroben können als das „Vorlage-Gerät“.
 
Für den Moment schätzen wir aber nun mal die maximale Strobe-Frequenz und nehmen hier als Wert 18 Hz. Dieser Wert kann bei Bedarf zu einem späteren Zeitpunkt korrigiert werden.
 
 
 
=== Programmierung Teil 1: der 3-Kanal-Modus ===
 
Wie beim ersten Beispiel auch, öffnen wir wieder den Texteditor unseres Vertrauens und erstellen eine neue XML-Datei. Wir starten mit dem DDF für den 3-Kanal-Modus.
 
An dieser Stelle sei angemerkt, dass in allen folgenden Beispielen nur noch Dinge genauer erläutert werden, die in den vorgegangenen Beispielen nicht bereits ausführlich besprochen wurden.
 
 
 
==== Basisteil ====
 
Die erste Zeile lautet wieder:
 
 
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
</source>
 
 
 
Im Element mit dem Tag <code>device</code> ändern sich nur wenige Angaben im Vergleich zum ersten Beispiel. Die Bild-Datei ist mit <code>Eurolite LED KLS-2500.png</code> benannt und das Gerät hat in dem aktuellen Modus <code>3</code> DMX-Kanäle.
 
 
 
<source lang="xml">
 
<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="3" dmxcversion="3" ddfversion="1">
 
</source>
 
<br />
 
 
 
==== Informationsteil ====
 
Der Informationsteil, den wir im ersten Beispiel erstellt haben, wird komplett auf die Angaben für die 4er-LED-Bar abgeändert. Besonderes Augenmerk geht dem untergeordneten Element <code>mode</code>, welches wir für dieses Gerät erstmals benötigen. Hier geben wir eine kurze und eindeutige Beschreibung des DMX-Modus an, für den wir das DDF erstellen. Bei diesem Beispiel tragen wir daher <code>3 channel mode</code> ein. Wenn wir später noch die DDFs für den 23-Kanal-Modus programmieren und sich dann nur die Angaben im <code>mode</code>-Element unterscheiden, ordnet DMXControl 3 automatisch alle DDFs unter der LED KLS-2500 ein.
 
Im Übrigen werden Angaben zum Kanalmodus nur in dem <code>mode</code>-Element gemacht. Das Element <code>model</code> ist alleinig der Bezeichnung des Gerätes vorbehalten, daher sind dort Angaben zur Kanalbelegung nicht einzutragen. Ansonsten funktioniert das Einsortieren der einzelnen DMX-Modi eines Geräts nicht. Daher solltest du auch vorher im Device Manager oder in der DDFLib nachschauen, wie das aktuelle bzw. ein ähnliches Gerät des gleichen Herstellers benannt ist.
 
 
 
<source lang="xml">
 
  <information>
 
    <model>LED KLS-2500</model>
 
    <vendor>Cameo</vendor>
 
    <author>Stefan Kistner</author>
 
    <mode>3 channel mode</mode>
 
  </information>
 
</source>
 
<br />
 
 
 
==== Funktionsteil ====
 
===== Kanal zur Auswahl der internen Programme =====
 
Mit dem ersten DMX-Kanal rufst du die internen Programme der 4er-LED-Bar auf. Wie du der Kanalbelegung in der Bedienungsanleitung entnehmen kannst, findet auf diesem Kanal nur die Auswahl statt. Eine Anpassung der internen Programme findet über diesen Kanal nicht statt. Das passende Element zum Aufrufen der einzelnen Programme ist ebenfalls das Element <code>rawstep</code>. Da kein expliziter Name angegeben ist, nennen wir diesen Kanal <code>Programs</code>.
 
 
 
<source lang="xml">
 
  <functions>
 
    <rawstep dmxchannel="0" name="Programs">
 
      <step caption="No function" mindmx="0" maxdmx="9" />
 
      <step caption="Program 1" mindmx="10" maxdmx="29" />
 
      <step caption="Program 2" mindmx="30" maxdmx="49" />
 
      <step caption="Program 3" mindmx="50" maxdmx="69" />
 
      <step caption="Program 4" mindmx="70" maxdmx="89" />
 
      <step caption="Program 5" mindmx="90" maxdmx="109" />
 
      <step caption="Program 6" mindmx="110" maxdmx="129" />
 
      <step caption="Program 7" mindmx="130" maxdmx="149" />
 
      <step caption="Program 8" mindmx="150" maxdmx="169" />
 
      <step caption="Program 9" mindmx="170" maxdmx="189" />
 
      <step caption="Program 10" mindmx="190" maxdmx="209" />
 
      <step caption="Program 11" mindmx="210" maxdmx="229" />
 
      <step caption="Program 0" mindmx="230" maxdmx="249" />
 
      <step caption="Sound-to-light" mindmx="250" maxdmx="255" />
 
    </rawstep>
 
</source>
 
<br />
 
 
 
===== Dimmer-Kanal =====
 
Der zweite DMX-Kanal ist im 3-Kanal-Modus ein einfacher Dimmer-Kanal, mit dessen Hilfe die Helligkeit der internen Programme gesteuert wird. Im XML-Code musst du dies wie folgt schreiben:
 
 
 
<source lang="xml">
 
    <dimmer dmxchannel="1" mindmx="0" maxdmx="255" minval="0" maxval="100" />
 
</source>
 
<br />
 
 
 
===== Kanal für Geschwindigkeit der internen Programme =====
 
Der dritte DMX-Kanal sieht auf den ersten Blick etwas komplizierter aus, als er tatsächlich ist. Diesen DMX-Kanal kannst du recht einfach mit einem <code>raw</code>-Element im DDF abbilden, da in beiden Fällen jeweils nur einen Scheiberegler benötigst. Der Name des Schiebereglers respektive des <code>raw</code>-Elements lautet <code>Speed</code>.
 
Damit du dir DMXControl 3 auch wirklich einen Schieberegler im Device Control anzeigt, muss das untergeordnete Element des <code>raw</code>-Elements ein <code>range</code>-Element sein. Das Verhalten des Reglers ist dabei <code>linear</code>, was der Wert für das Attribut <code>type</code> ist. Beim DMX-Wert <code>0</code> ist die Geschwindigkeit der internen Programme am langsamsten – der Einfachheit halber bei <code>0</code>%. Dies sind die Angaben für die Attribute <code>mindmx</code> und <code>minval</code>. Die maximale Geschwindigkeit von vereinfacht <code>100</code>% (Attribut <code>maxval</code>) wird beim DMX-Wert <code>255</code> (Attribut <code>maxdmx</code>) erreicht.
 
 
 
<source lang="xml">
 
    <raw dmxchannel="2" name="Speed" >
 
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
 
    </raw>
 
</source>
 
<br />
 
 
 
==== Procedures ====
 
Im 3-Kanal-Modus besitzt die 4er-LED-Bar 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.
 
 
 
=== Programmierung Teil 2: der 23-Kanal-Modus ===
 
==== Hintergrundinformationen zum Einstieg ====
 
Der 23-Kanal-Modus ist zwar umfangreicher hinsichtlich der Anzahl der DMX-Kanäle. Aber wenn du genau hinschaust, stellst du fest, dass die Spots 2 bis 4 nur Kopien des ersten Spots sind. Damit kommen wir direkt zu dem Punkt, weswegen der 23-Kanal-Modus beim Erstellen des DDFs so tricky ist: Am Ende schreiben wir nämlich zwei DDFs für den 23-Kanal-Modus!
 
 
 
===== Multibeam und Pixelmapping =====
 
Der Grund ist der, was an mancher Stelle bereits als „Multibeam“-Unterstützung bezeichnet wurde. Mit Multibeam sind alle Geräte gemeint, bei denen du mehr als einen Lichtstrahl pro Gerät individuell ansteuern kannst. Die Geräte sehen dabei auch komplett unterschiedlich aus. Das Thema „Multibeam“ ist nicht auf einen bestimmten Gerätetyp beschränkt. Ein anderes Stichwort ist „Pixelmapping“, was ebenfalls mit dem Thema Multibeam im Zusammenhang steht.
 
Pixelmapping kommt dann zum Einsatz, wenn auf einer großen Zahl von (meist) gleichen Geräten aufwendige Lichteffekte wiedergegeben werden sollen. Diese Effekte programmiert man nicht manuell Bildpunkt für Bildpunkt (sprich Pixel für Pixel). Man greift stattdessen auf Videos bzw. Animationen zurück und erklärt der Lichtsteuerung dann nur noch, welches Gerät welchen Ausschnitt des Videos bzw. der Animation wiedergeben soll. Dieses Festlegen nennt man dann Mapping der Pixel, kurz Pixelmapping.
 
 
 
Typische Geräte mit mehreren Lichtstrahlen, die dann auch gerne in ein Pixelmapping eingebunden werden, sind unter anderem:
 
* 4er-LED-Bars mit einzeln ansteuerbaren LED-Scheinwerfern
 
* LED-Bars mit einzeln ansteuerbaren LEDs
 
* Wash-Movingheads mit LED als Lichtquelle
 
* Digitale LED-Stripes
 
* Verschiedene Lichteffekte
 
 
 
===== Multibeam und DMXControl 3 =====
 
Wie eingangs erwähnt ist in DMXControl 3 zum jetzigen Zeitpunkt noch keine Multibeam-Unterstützung integriert. Damit du aber schon heute die vollen Funktionalitäten der HAL auch für Multibeam-Geräte nutzen kannst, musst du hier mehrere DDFs erstellen. Für unsere 4er-LED-Bar aus dem aktuellen Beispiel sind es für den 23-Kanal-Modus zwei DDFs.
 
Die DDFs unterteilen sich in zwei Kategorien:
 
* Steuerungs-DDF (Control-DDF): Hier werden alle Funktionen hinterlegt, die das gesamte Gerät steuern. Bei der 4er-LED-Bar sind dies der Kanal zum Aufrufen der internen Programme, der Masterdimmer für das ganze Gerät und die Strobe-Funktion. Das Control-DDF ist dann im Projekt einmal pro Gerät vorhanden.
 
* Scheinwerfer-DDF (Beam-DDF): Das Beam-DDF beinhaltet die Funktionen, die nur für einen einzelnen Scheinwerfer / Lichtstrahl gelten. Dies sind in diesem Fall die Kanäle zur Ansteuerung der roten, grünen, blauen, amber-farbenen und weißen LEDs. Das Beam-DDF musst du im Gegensatz zum Control-DDF mehrfach zu deinem Projekt hinzufügen – hier also vier Mal, da die 4er-LED-Bar vier Scheinwerfer besitzt.
 
 
 
==== Basisteil ====
 
'''Control-DDF'''
 
Beim Control-DDF ändert sich im Basisteil nur die Anzahl der DMX-Kanäle von 3 beim 3-Kanal-Modus auf <code>5</code> beim Control-DDF für den 23-Kanal-Modus. Dass wir hier fünf DMX-Kanäle haben liegt daran, dass die Kanäle 4 und 5 unterschiedlich belegt sind, je nachdem, welche Funktion auf dem ersten DMX-Kanal aufgerufen ist. Die Bedienungsanleitung drückt dies durch den Hinweis „wenn Kanal 1 auf ein Programm eingestellt ist“ aus. Folglich wird es hier später auch eine Überlappung dieser beiden DMX-Kanäle mit dem Beam-DDF geben.
 
 
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3" ddfversion="1">
 
</source>
 
<br />
 
 
 
'''Beam-DDF'''
 
Das Beam-DDF startet mit deutlich weniger Erklärungsaufwand: pro LED-Scheinwerfer sind jeweils 5 DMX-Kanäle anzusteuern und damit du das Beam-DDF vom Control-DDF in der Stage View besser unterscheiden kannst, modifizieren wir das Icon. Die Bilddatei heißt nun <code>Eurolite LED KLS-2500 (Beam).png</code>.
 
 
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<device image="Eurolite LED KLS-2500 (Beam).png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3" ddfversion="1">
 
</source>
 
<br />
 
 
 
==== Informationsteil ====
 
Der Informationsteil unterscheidet sich bei beiden DDFs nur geringfügig. Im untergeordneten Element <code>mode</code> fügen wir entsprechende Ergänzungen ein, damit wir beim Hinzufügen des DDFs immer das richtige DDF auswählen.
 
 
 
'''Control-DDF'''
 
<source lang="xml">
 
  <information>
 
    <model>LED KLS-2500</model>
 
    <vendor>Cameo</vendor>
 
    <author>Stefan Kistner</author>
 
    <mode>23 channel mode (Control)</mode>
 
  </information>
 
</source>
 
<br />
 
 
 
'''Beam-DDF'''
 
<source lang="xml">
 
  <information>
 
    <model>LED KLS-2500</model>
 
    <vendor>Cameo</vendor>
 
    <author>Stefan Kistner</author>
 
    <mode>23 channel mode (Beam)</mode>
 
  </information>
 
</source>
 
<br />
 
 
 
====Funktionsteil ====
 
Beim Funktionsteil besprechen wir zuerst das Control-DDF. Der letzte Abschnitt geht dann auf das Beam-DDF ein.
 
 
 
===== DMX-Kanäle 1 und 2 =====
 
'''Control-DDF'''
 
Wenn du den 3-Kanal-Modus mit dem 23-Kanal-Modus vergleichst, siehst du, dass sich die DMX-Kanäle 1 und 2 nicht voneinander unterscheiden. Von daher kann du den XML-Code genauso in die Datei für das Control-DDF des 23-Kanal-Modus kopieren.
 
 
 
<source lang="xml">
 
  <functions>
 
    <rawstep dmxchannel="0" name="Programs">
 
      <step caption="No function" mindmx="0" maxdmx="9" />
 
      <step caption="Program 1" mindmx="10" maxdmx="29" />
 
      <step caption="Program 2" mindmx="30" maxdmx="49" />
 
      <step caption="Program 3" mindmx="50" maxdmx="69" />
 
      <step caption="Program 4" mindmx="70" maxdmx="89" />
 
      <step caption="Program 5" mindmx="90" maxdmx="109" />
 
      <step caption="Program 6" mindmx="110" maxdmx="129" />
 
      <step caption="Program 7" mindmx="130" maxdmx="149" />
 
      <step caption="Program 8" mindmx="150" maxdmx="169" />
 
      <step caption="Program 9" mindmx="170" maxdmx="189" />
 
      <step caption="Program 10" mindmx="190" maxdmx="209" />
 
      <step caption="Program 11" mindmx="210" maxdmx="229" />
 
      <step caption="Program 0" mindmx="230" maxdmx="249" />
 
      <step caption="Sound-to-light" mindmx="250" maxdmx="255" />
 
    </rawstep>
 
    <dimmer dmxchannel="1" mindmx="0" maxdmx="255" minval="0" maxval="100" />
 
</source>
 
<br />
 
 
 
===== Strobe-Kanal =====
 
'''Control-DDF'''
 
Bei dem Strobe-Kanal ist hier zu beachten, dass die Strobe-Funktion auf dem DMX-Kanal 3 erst ab dem DMX-Wert 10 aktiviert wird. Dies musst du DMXControl auch genauso mitteilen.
 
Das Element <code>strobe</code> ergänzt du um ein weiteres untergeordnetes Element, dem <code>step</code>-Element. Hier gibst du über den Wert <code>open</code> beim Attribut <code>type</code> an, dass zwischen den DMX-Werten <code>0</code> für <code>mindmx</code> und <code>9</code> für <code>maxdmx</code> die Strobe-Funktion deaktiviert ist und somit das Licht normal ausgegeben wird.
 
Die Werte für das <code>range</code>-Element passt du entsprechend der Bedienungsanleitung sowie den technischen Daten an.
 
 
 
<source lang="xml">
 
    <strobe dmxchannel="2" >
 
      <step type="open" mindmx="0" maxdmx="9" />
 
      <range type="linear" mindmx="10" maxdmx="255" minval="0.1" maxval="18" />
 
    </strobe>
 
</source>
 
<br />
 
 
 
===== Kanal für die Ablaufgeschwindigkeit =====
 
'''Control-DDF'''
 
Der vierte DMX-Kanal entspricht dem dritten DMX-Kanal des 3-Kanal-Modus, mit dem einzigen Unterschied, dass zumindest laut Bedienungsanleitung über diesen DMX-Kanal ausschließlich die Ablaufgeschwindigkeit der Programme angepasst wird. Die Anpassung der Mikrofonempfindlichkeit entfällt. Auch ignorieren wir, dass wir über diesen DMX-Kanal die roten LEDs des ersten Scheinwerfers ansteuern können.
 
Von daher kannst du den XML-Code für diesen DMX-Kanal komplett aus dem DDF für den 3-Kanal-Modus übernehmen.
 
 
 
<source lang="xml">
 
    <raw dmxchannel="3" name="Speed" >
 
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
 
    </raw>
 
</source>
 
<br />
 
 
 
===== Kanal für die Überblendzeit =====
 
'''Control-DDF'''
 
Wie der vierte DMX-Kanal wird auch der fünfte DMX-Kanal als <code>raw</code>-Element angelegt. Den DMX-Kanal nennen wir <code>Fade time</code>. Die Attribute <code>type</code>, <code>mindmx</code> und <code>maxdmx</code> belassen wir wie beim vierten DMX-Kanal. Bei den Attributen <code>minval</code> und <code>maxval</code> können wir aber jetzt überlegen, ob wir hier auch einfach eine Prozentangabe von 0% bis 100% angeben. Die Alternative ist, wir schätzen die minimale und maximale Fadezeit ab, sprich die Zeit, wie lange der Wechsel zwischen zwei Farben dauert. Diese ermittelten Zeiten tragen wir als Werte für <code>minval</code> und <code>maxmal</code> ein.
 
 
 
<source lang="xml">
 
    <raw dmxchannel="4" name="Fade time" >
 
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
 
    </raw>
 
</source>
 
<br />
 
 
 
Da der fünfte DMX-Kanal auf der letzte DMX-Kanal in diesem DDF ist, fügen wir noch den End-Tag <code></functions></code> ein, um das Element ordnungsgemäß zu schließen.
 
 
 
===== Farb-Kanäle =====
 
'''Beam-DDF'''
 
Im Funktionsteil des Beam-DDF haben wir nur ein einziges Element, da wir mit diesem Element nur die LEDs mit ihren fünf verschiedenen Farben ansteuern müssen. Das benötigte Element hierzu ist da <code>rgb</code>-Element. Bitte lasse dich nicht davon irritieren, dass das Element nur <code>rgb</code> heißt, obwohl wir diesem Element mehr als drei Farben hinzufügen. Der Name bezieht sich mehr auf den Typ der Farbmischung.
 
Das <code>rgb</code>-Element besteht aus mehreren untergeordneten Elementen für die einzelnen Farben – im aktuellen Beispiel sind dies fünf. In den untergeordneten Elementen geben wir auch erst die entsprechenden DMX-Kanäle an. Weitere Angaben sind hier im Normalfall nicht erforderlich.
 
 
 
<source lang="xml">
 
  <functions>
 
    <rgb>
 
      <red dmxchannel="0" />
 
      <green dmxchannel="1" />
 
      <blue dmxchannel="2" />
 
      <amber dmxchannel="3" />
 
      <white dmxchannel="4" />
 
    </rgb>
 
</source>
 
<br />
 
 
 
An dieser Stelle noch ein wichtiger Hinweis: Die weiße LED wird nach dem Hinzufügen des Geräts zu einem Projekt standardmäßig erst einmal nicht angesteuert. In den Eigenschaften des Geräts, aufzurufen zum Beispiel über die Stage View, kann unter dem Eintrag ''White Automix Mode'' das Verhalten für jedes Gerät einzeln angepasst werden:
 
* ''None'': Keine Ansteuerung der weißen LED (Standard-Einstellung)
 
* ''Add white'': Alle vier LEDs bei 100% für die Farbe weiß
 
* ''Only white'': Nur weiße LEDs bei 100% für die Farbe weiß
 
 
 
Auch hier ist es wieder erforderlich, das <code>functions</code>-Element nach der Definition aller DMX-Kanäle mit dem End-Tag <code></functions></code> schließen.
 
 
 
==== Procedures ====
 
Auch im 23-Kanal-Modus besitzt die 4er-LED-Bar keine Sonderfunktionen, für die wir in beiden DDFs keine Procedures benötigen. Das Element für Procedures entfällt komplett. Wie üblich schließen wir die DDFs mit dem End-Tag <code></device></code>.
 
 
 
=== Ergebnis: die fertigen DDFs ===
 
==== 3-Kanal-Modus ====
 
Das DDF für den 3-Kanal-Modus der Eurolite LED KLS-2500 sieht wie folgt aus:
 
 
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="3" dmxcversion="3" ddfversion="1">
 
  <information>
 
    <model>LED KLS-2500</model>
 
    <vendor>Cameo</vendor>
 
    <author>Stefan Kistner</author>
 
    <mode>3 channel mode</mode>
 
  </information>
 
  <functions>
 
  <functions>
 
    <rawstep dmxchannel="0" name="Programs">
 
      <step caption="No function" mindmx="0" maxdmx="9" />
 
      <step caption="Program 1" mindmx="10" maxdmx="29" />
 
      <step caption="Program 2" mindmx="30" maxdmx="49" />
 
      <step caption="Program 3" mindmx="50" maxdmx="69" />
 
      <step caption="Program 4" mindmx="70" maxdmx="89" />
 
      <step caption="Program 5" mindmx="90" maxdmx="109" />
 
      <step caption="Program 6" mindmx="110" maxdmx="129" />
 
      <step caption="Program 7" mindmx="130" maxdmx="149" />
 
      <step caption="Program 8" mindmx="150" maxdmx="169" />
 
      <step caption="Program 9" mindmx="170" maxdmx="189" />
 
      <step caption="Program 10" mindmx="190" maxdmx="209" />
 
      <step caption="Program 11" mindmx="210" maxdmx="229" />
 
      <step caption="Program 0" mindmx="230" maxdmx="249" />
 
      <step caption="Sound-to-light" mindmx="250" maxdmx="255" />
 
    </rawstep>
 
    <dimmer dmxchannel="1" mindmx="0" maxdmx="255" minval="0" maxval="100" />
 
    <raw dmxchannel="2" name="Speed" >
 
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
 
    </raw>
 
  </functions>
 
</device>
 
</source>
 
<br />
 
 
 
==== 23-Kanal-Modus ====
 
'''Control-DDF'''
 
 
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3" ddfversion="1">
 
  <information>
 
    <model>LED KLS-2500</model>
 
    <vendor>Cameo</vendor>
 
    <author>Stefan Kistner</author>
 
    <mode>23 channel mode (Control)</mode>
 
  </information>
 
  <functions>
 
    <rawstep dmxchannel="0" name="Programs">
 
      <step caption="No function" mindmx="0" maxdmx="9" />
 
      <step caption="Program 1" mindmx="10" maxdmx="29" />
 
      <step caption="Program 2" mindmx="30" maxdmx="49" />
 
      <step caption="Program 3" mindmx="50" maxdmx="69" />
 
      <step caption="Program 4" mindmx="70" maxdmx="89" />
 
      <step caption="Program 5" mindmx="90" maxdmx="109" />
 
      <step caption="Program 6" mindmx="110" maxdmx="129" />
 
      <step caption="Program 7" mindmx="130" maxdmx="149" />
 
      <step caption="Program 8" mindmx="150" maxdmx="169" />
 
      <step caption="Program 9" mindmx="170" maxdmx="189" />
 
      <step caption="Program 10" mindmx="190" maxdmx="209" />
 
      <step caption="Program 11" mindmx="210" maxdmx="229" />
 
      <step caption="Program 0" mindmx="230" maxdmx="249" />
 
      <step caption="Sound-to-light" mindmx="250" maxdmx="255" />
 
    </rawstep>
 
    <dimmer dmxchannel="1" mindmx="0" maxdmx="255" minval="0" maxval="100" />
 
    <strobe dmxchannel="2" >
 
      <step type="open" mindmx="0" maxdmx="9" />
 
      <range type="linear" mindmx="10" maxdmx="255" minval="0.1" maxval="18" />
 
    </strobe>
 
    <raw dmxchannel="3" name="Speed" >
 
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
 
    </raw>
 
  </functions>
 
</device>
 
</source>
 
<br />
 
  
'''Beam-DDF'''
+
== Beispiele ==
 +
Wir haben für euch mehrere Bespiele erstellt, wie ihr auf manuellem Wege DDFs programmiert:
 +
* Beispiel 1: [[DDF-Tutorial_LED-Scheinwerfer|LED-Scheinwerfer]]
 +
* Beispiel 2: [[DDF-Tutorial_4er-Bar|4er-LED-Bar (keine Leiste)]]
  
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<device image="Eurolite LED KLS-2500 (Beam).png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3" ddfversion="1">
 
  <information>
 
    <model>LED KLS-2500</model>
 
    <vendor>Cameo</vendor>
 
    <author>Stefan Kistner</author>
 
    <mode>23 channel mode (Beam)</mode>
 
  </information>
 
  <functions>
 
    <rgb>
 
      <red dmxchannel="0" />
 
      <green dmxchannel="1" />
 
      <blue dmxchannel="2" />
 
      <amber dmxchannel="3" />
 
      <white dmxchannel="4" />
 
    </rgb>
 
  </functions>
 
</device>
 
</source>
 
<br />
 
  
== Übungen  ==
 
# Wirf einen Blick in einige Definitionen von Geräten, bevor du eigene DDFs erstellst (siehe obiges Verzeichnis).
 
# Öffne das DDF für den Eurolite TS-255. Trenne die unterschiedlichen Eigenschaften durch Leerzeilen, um es besser zu verstehen.
 
# Erstelle ein DDF für dein eigenes Gerät.
 
<br />
 
 
{{NavigationTop-Tut3
 
{{NavigationTop-Tut3
 
| zurückLink = Lektion_19_Tut3
 
| zurückLink = Lektion_19_Tut3

Version vom 1. Juli 2018, 20:38 Uhr

Im-aim.png Erste Schritte: Lektion 20 Tut3
Arrow back.png Lektion 19
Lektion 21 Arrow forw.png
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. Die Daten sind an verschiedenen Stellen auf dem PC gespeichert:

  • UserDevices (vom Anwender erstellte DDFs): [APPDATA]\DMXControl Projects e.V\DMXControl\Kernel\UserDevices\
  • LibDevices (vom Installer ausgelieferte DDFs): [PROGRAMMVERZEICHNIS]\Kernel\LibDevices\

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. Für alle Beispiele beziehen wir uns real existierende Geräte, damit du das Tutorial im Nachgang für dich selbst besser nachvollziehen kannst. Die Geräte haben wir anhand ihrer Funktionen so ausgewählt, damit die Beispiele so umfangreich wie möglich ausfallen können.

Wir können in diesem Tutorial leider nicht alle Funktionen aufgreifen, die von DMXControl 3 unterstützt werden. Eine ausführliche Erläuterung der Funktionen findest du im Handbuch-Band DDF DMXC3.

Beispiele

Wir haben für euch mehrere Bespiele erstellt, wie ihr auf manuellem Wege DDFs programmiert:


Arrow back.png Lektion 19
Lektion 21 Arrow forw.png
Inhaltsverzeichnis