Lektion 20 Tut3

Aus Deutsches DMXC-Wiki
Version vom 22. Juli 2017, 13:16 Uhr von Skistner (Diskussion | Beiträge) (Beispiel 2, eine 4er-LED-Bar (keine Leiste) neu hinzugefügt)
Zur Navigation springen Zur Suche springen
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 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. 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.

Bevor du jetzt aber voller Tatendrang an das Erstellen von DDFs gehst, beachte bitte folgenden wichtigen Hinweis:


 Wichtiger Hinweis 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.


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:

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 Cameo Studio Mini PAR TRI 3W.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="Cameo Studio Mini PAR TRI 3W.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. 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>
  </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="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>


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

DMX-Kanal DMX-Wert Funktion
1 000 - 009 Keine Funktion
010 - 029 Programm 1
030 - 049 Programm 2
050 - 069 Programm 3
070 - 089 Programm 4
090 - 109 Programm 5
110 - 129 Programm 6
130 - 149 Programm 7
150 - 169 Programm 8
170 - 189 Programm 9
190 - 209 Programm 10
210 - 229 Programm 11
230 - 249 Programm 0
250 - 255 Musiksteuerung
2 000 - 255 Dimmen von 0 – 100 %
3 000 - 255 Ablaufgeschwindigkeit Programme 0-11 langsam → schnell oder
000 - 010 Keine Mikrofonempfindlichkeit
011 - 255 Mikrofonempfindlichkeit niedrig → hoch

23-Kanal-Modus

DMX-Kanal DMX-Wert Funktion
1 000 - 009 Keine Funktion
010 - 029 Programm 1
030 - 049 Programm 2
050 - 069 Programm 3
070 - 089 Programm 4
090 - 109 Programm 5
110 - 129 Programm 6
130 - 149 Programm 7
150 - 169 Programm 8
170 - 189 Programm 9
190 - 209 Programm 10
210 - 229 Programm 11
230 - 249 Programm 0
250 - 255 Musiksteuerung
2 000 - 255 Dimmen von 0 – 100 %
3 000 - 009 Keine Funktion
010 - 255 Strobe langsam → schnell
4 000 - 255 Rot 0 – 100 % oder

Ablaufgeschwindigkeit langsam → schnell (wenn Kanal 1 auf ein Programm eingestellt ist)

Spot 1
5 000 - 255 Grün 0 – 100 % oder

Überblendzeit schnell → langsam (wenn Kanal 1 auf ein Programm eingestellt ist)

6 000 - 255 Blau 0 – 100 %
7 000 - 255 Amber 0 – 100 %
8 000 - 255 Weiß 0 – 100 %
9 000 - 255 Rot 0 – 100 % Spot 2
10 000 - 255 Grün 0 – 100 %
11 000 - 255 Blau 0 – 100 %
12 000 - 255 Amber 0 – 100 %
13 000 - 255 Weiß 0 – 100 %
14 000 - 255 Rot 0 – 100 % Spot 3
15 000 - 255 Grün 0 – 100 %
16 000 - 255 Blau 0 – 100 %
17 000 - 255 Amber 0 – 100 %
18 000 - 255 Weiß 0 – 100 %
19 000 - 255 Rot 0 – 100 % Spot 4
20 000 - 255 Grün 0 – 100 %
21 000 - 255 Blau 0 – 100 %
22 000 - 255 Amber 0 – 100 %
23 000 - 255 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:

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

Im Element mit dem Tag device ändern sich nur wenige Angaben im Vergleich zum ersten Beispiel. Die Bild-Datei ist mit Eurolite LED KLS-2500.png benannt und das Gerät hat in dem aktuellen Modus 3 DMX-Kanäle.

<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="3" dmxcversion="3" ddfversion="1">


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 mode, 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 3 channel mode ein. Wenn wir später noch die DDFs für den 23-Kanal-Modus programmieren und sich dann nur die Angaben im mode-Element unterscheiden, ordnet DMXControl 3 automatisch alle DDFs unter der LED KLS-2500 ein. Im Übrigen werden Angaben zum Kanalmodus nur in dem mode-Element gemacht. Das Element model 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.

  <information>
    <model>LED KLS-2500</model>
    <vendor>Cameo</vendor>
    <author>Stefan Kistner</author>
    <mode>3 channel mode</mode>
  </information>


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 rawstep. Da kein expliziter Name angegeben ist, nennen wir diesen Kanal Programs.

  <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-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:

    <dimmer dmxchannel="1" mindmx="0" maxdmx="255" minval="0" maxval="100" />


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 raw-Element im DDF abbilden, da in beiden Fällen jeweils nur einen Scheiberegler benötigst. Der Name des Schiebereglers respektive des raw-Elements lautet Speed. Damit du dir DMXControl 3 auch wirklich einen Schieberegler im Device Control anzeigt, muss das untergeordnete Element des raw-Elements ein range-Element sein. Das Verhalten des Reglers ist dabei linear, was der Wert für das Attribut type ist. Beim DMX-Wert 0 ist die Geschwindigkeit der internen Programme am langsamsten – der Einfachheit halber bei 0%. Dies sind die Angaben für die Attribute mindmx und minval. Die maximale Geschwindigkeit von vereinfacht 100% (Attribut maxval) wird beim DMX-Wert 255 (Attribut maxdmx) erreicht.

    <raw dmxchannel="2" name="Speed" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    </raw>


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 <device> noch mittels des End-Tags </device> 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 5 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.

<?xml version="1.0" encoding="utf-8"?>
<device image="Eurolite LED KLS-2500.png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3" ddfversion="1">


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 Eurolite LED KLS-2500 (Beam).png.

<?xml version="1.0" encoding="utf-8"?>
<device image="Eurolite LED KLS-2500 (Beam).png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3" ddfversion="1">


Informationsteil

Der Informationsteil unterscheidet sich bei beiden DDFs nur geringfügig. Im untergeordneten Element mode fügen wir entsprechende Ergänzungen ein, damit wir beim Hinzufügen des DDFs immer das richtige DDF auswählen.

Control-DDF

  <information>
    <model>LED KLS-2500</model>
    <vendor>Cameo</vendor>
    <author>Stefan Kistner</author>
    <mode>23 channel mode (Control)</mode>
  </information>


Beam-DDF

  <information>
    <model>LED KLS-2500</model>
    <vendor>Cameo</vendor>
    <author>Stefan Kistner</author>
    <mode>23 channel mode (Beam)</mode>
  </information>


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.

  <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-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 strobe ergänzt du um ein weiteres untergeordnetes Element, dem step-Element. Hier gibst du über den Wert open beim Attribut type an, dass zwischen den DMX-Werten 0 für mindmx und 9 für maxdmx die Strobe-Funktion deaktiviert ist und somit das Licht normal ausgegeben wird. Die Werte für das range-Element passt du entsprechend der Bedienungsanleitung sowie den technischen Daten an.

    <strobe dmxchannel="2" >
      <step type="open" mindmx="0" maxdmx="9" />
      <range type="linear" mindmx="10" maxdmx="255" minval="0.1" maxval="18" />
    </strobe>


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.

    <raw dmxchannel="3" name="Speed" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    </raw>


Kanal für die Überblendzeit

Control-DDF Wie der vierte DMX-Kanal wird auch der fünfte DMX-Kanal als raw-Element angelegt. Den DMX-Kanal nennen wir Fade time. Die Attribute type, mindmx und maxdmx belassen wir wie beim vierten DMX-Kanal. Bei den Attributen minval und maxval 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 minval und maxmal ein.

    <raw dmxchannel="4" name="Fade time" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    </raw>


Da der fünfte DMX-Kanal auf der letzte DMX-Kanal in diesem DDF ist, fügen wir noch den End-Tag </functions> 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 rgb-Element. Bitte lasse dich nicht davon irritieren, dass das Element nur rgb heißt, obwohl wir diesem Element mehr als drei Farben hinzufügen. Der Name bezieht sich mehr auf den Typ der Farbmischung. Das rgb-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. Eine Besonderheit stellt die Farbe amber dar. Hier definierst du über die vier zusätzlichen Attribute hueLeftBottom, hueLeftTop, hueRightTop und hueRightBottom, in welchem Teil des Farbkreises im Color Control die Amber-LED angehen soll. In diesem Tutorial gehen wir aber nicht weiter auf die exakten Bedeutungen der einzelnen Werte ein. Für das DDF kannst du die Standwerte so übernehmen.

  <functions>
    <rgb>
      <red dmxchannel="0" />
      <green dmxchannel="1" />
      <blue dmxchannel="2" />
      <amber dmxchannel="3" hueLeftBottom="0" hueLeftTop="60" hueRightTop="60" hueRightBottom="120" />
      <white dmxchannel="4" />
    </rgb>


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 functions-Element nach der Definition aller DMX-Kanäle mit dem End-Tag </functions> 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 </device>.

Ergebnis: die fertigen DDFs

3-Kanal-Modus

Das DDF für den 3-Kanal-Modus der Eurolite LED KLS-2500 sieht wie folgt aus:

<?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>


23-Kanal-Modus

Control-DDF

<?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>


Beam-DDF

<?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" hueLeftBottom="0" hueLeftTop="60" hueRightTop="60" hueRightBottom="120" />
      <white dmxchannel="4" />
    </rgb>
  </functions>
</device>


Übungen

  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 Eurolite TS-255. Trenne die unterschiedlichen Eigenschaften durch Leerzeilen, um es besser zu verstehen.
  3. Erstelle ein DDF für dein eigenes Gerät.


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