DDF DMXC3

Aus Deutsches DMXC-Wiki
Version vom 11. Juni 2017, 16:00 Uhr von Skistner (Diskussion | Beiträge) (Kapitel 5.1 bis 5.3 vollständig neu verfasst, alter Stand aktuell noch beibehalten)
Books.png DDF DMXC3 Artikel beschreibt
DMXControl 3.0.0
VLC icon.png Dieser Artikel oder Abschnitt wird gerade durch den User Skistner bearbeitet. Um Bearbeitungskonflikte zu vermeiden, warte bitte mit Änderungen, bis diese Markierung entfernt ist, oder wende dich an den Bearbeiter.
Inhaltsverzeichnis
Teil 1: Allgemein
Teil 2: Programmeinstieg
Teil 3: Programmumstieg
Teil 4: Ausführliches Handbuch

 

Hinweis:
18.10.2013: JKuehn: Artikel wurde erstellt
14.04.2015: JKuehn: Übertragung des Artikels muss durchgeführt werden

Hintergrund: Wofür werden DDFs benötigt?

Das Device Definition File (kurz DDF) ist eine XML-Datei, in der für DMXControl 3 alle erforderlichen Informationen hinterlegt sind, um ein Gerät wie Movinghead, Scanner oder LED-PAR intelligent ansteuern können. Es sagt DMXControl 3, dass bei einem LED-PAR zum Beispiel die Farben rot, grün und blau auf den Kanälen 2, 3 und 4 sowie Dimmer und Strobe auf den Kanälen 1 und 5 liegen.

Der zweite Punkt ist, dass mit den Informationen im DDF der Inhalt des Device Controls sowie der Funktionsumfang der einzelnen Controls für Color, Gobo, Intensity und ggf. weitere Controls selbstständig automatisch dargestellt wird. Eine Gestaltung der Bedienoberfläche für die DDFs so wie bei DMXControl 2 ist bei DMXControl 3 nicht mehr erforderlich.

Sobald sich die Funktionen der Geräte ändern, muss ein neues DDF angelegt werden. Das bedeutet, dass für 20 gleiche Dimmer (klassische PAR-Kannen an Dimmerpacks) das gleiche DDF verwendet werden kann, wohingegen Movingheads mit verschiedenen Kanalbelegungen (DMX-Modi[1]) auch getrennte DDFs benötigt werden. Bei letzterem Punkt ist wichtig, dass das DDF zum ausgewählten DMX-Modus passen muss, damit eine ordnungsgemäße Ansteuerung möglich ist.

Speicherort: Wo sind die DDFs zu finden?

Die DDFs von DMXControl 3 sind lokal auf dem PC in folgendem Verzeichnis zu finden:

[Installationsverzeichnis]\kernel\devices\


[Installationsverzeichnis] steht hierbei für das Verzeichnis, in dem DMXControl 3 installiert wurde. Wurde dies beim Installieren nicht geändert, lautet der Pfad üblicherweise

C:\Programme (x86)\DMXControl3\


Das Bild für das Icon des Geräts in der Stage View liegt immer im Verzeichnis

[Installationsverzeichnis]\kernel\devices\images\


und die Icons der Gobos unter

[Installationsverzeichnis]\kernel\icons


Struktur: Wie ist ein DDF aufgebaut?

Das DDF für DMXControl 3 besteht aus vier Teilen:

  • Basisteil mit grundlegenden Angaben zum DDF selbst wie DDF-Version und Bild
  • Informationsteil mit Angaben zum Gerät, Hersteller, Autor sowie DMX-Modus
  • Funktionsteil mit den Funktionen jedes DMX-Kanals und zugehörigen Wertebereichen
  • Procedures-Teil für spezielle Geräte-Funktionen wie Reset oder Lampen ein- oder ausschalten


<?xml version="1.0" encoding="utf-8"?>
<device image="bild.png" type="DMXDevice" dmxaddresscount="1" dmxcversion="3" ddfversion="1" subdevice="no">
  <information>
     ...
  </information>
  <functions>
     ...
  </functions>
  <procedures>
    ...
  </procedures>
</device>


Insbesondere der zweite Teil ist wichtig für die Aufbereitung des DDFs durch die GUI, damit alle Steuerelemente wie das Device Control und die Controls richtig dargestellt werden. Des Weiteren greift die HAL auf diese Informationen zurück, um die eingestellten Lichtstimmungen in den Cues eines Projekts abzuspeichern.

Inhalt der vier Teile innerhalb des DDFs

Basisteil

Im Basisteil des DDFs sind allgemeine Informationen zur Datei sowie das Element device enthalten. Der Tag device umfasst folgende Attribute:

Attribut Beschreibung Standard-Wert Zulässige Werte Optional
image Bild-Datei des DDFs Nicht vorhanden Dateiname des Bilds als *.png-Datei
type DMXDevice DMXDevice
dmxaddresscount Gesamtzahl der DMX-Kanäle des Geräts Nicht vorhanden Ganze Zahlen von 1 bis 512 X
dmxcversion Erforderliche Programmversion zur Verwendung des DDFs 3 3, 3.0.1, 3.0.2, 3.1, 3.1.1 und alle zukünftigen Programmversion
ddfversion Version des DDFs Nicht vorhanden 1, 1.1, 1.2 usw.
subdevice Zusatzgerät für vorhandenes Gerät wie zum Beispiel Colorscroller für klassische PAR-Scheinwerfer No No oder yes X

Das Element device umklammert alle Informationen des DDFs. Angaben außerhalb des Tags führen zu Fehlern beim Einfügen des DDFs in ein Projekt. Beim Eintragen des Dateinamens für Icon in der Stage View ist nur der Dateiname inkl. der Dateiendung einzusetzen. Die Angabe des Pfades ist nicht erforderlich.

Informationsteil

Im Informationsteil werden alle grundlegenden Informationen zum Gerät hinterlegt, für dies das DDF erstellt wurde. Mit Hilfe dieser Informationen erfolgt auch die Einsortierung des neuen DDFs im Device Manager. Alle Angaben werden durch das Element <information> ... </information> eingeklammert.

Tag Beschreibung Optional
model Bezeichnung des Geräts gemäß Bedienungsanleitung
vendor Hersteller des Geräts gemäß vorgegebener Herstellerliste
author Autor des DDFs
mode DMX-Modus X
comment Kommentar zum DDF oder Gerät X

Funktionsteil

Im Funktionsteil werden die eigentlichen Funktionen des Geräts eingetragen, wie beispielsweise Pan und Tilt, Dimmer, Farbrad, Strobe etc. Welche Funktionen aktuell unterstützt werden, sind im Syntax: die möglichen Funktions-Bausteine im Detail inklusive Code-Beispielen aufgelistet. Alle Angaben werden durch das Element <functions> ... </functions> eingeklammert.

Unterfunktionen eines DMX-Kanals

Jede einzelne Funktion eines DMX-Kanals kann durch eine Unterfunktion erweitert werden. Prominentestes Beispiel ist der Goboshake, welcher sich jeweils zu dem aktuell ausgewählten Gobo zusätzlich aktiviert lässt. Diese Funktion liegt meist auf dem gleichen DMX-Kanal wie die Funktion zum Auswählen des Gobos, in der Regel aber in einem anderen Wertebereich.

Ergänzende Funktionen für einen DMX-Kanal

Neben den Unterfunktionen gibt es noch ergänzende Funktionen Diese können entweder auf dem gleichen DMX-Kanal liegen, wie zum Beispiel das kontinuierliche Drehen des Farbrads in einem Movinghead oder Scanner. Im Falle der Goborotation liegt die ergänzende Funktion auf einem getrennten DMX-Kanal. Hier wird über den ersten DMX-Kanal das Gobo ausgewählt und über den zweiten DMX-Kanal bestimmt, wie schnell sich das Gobo in welche Richtung drehen soll.

Procedures

Procedures werden nur eingesetzt, um selten benutzte Funktionen am Gerät zu aktivieren, die für den Live-Betrieb in der Regel nicht erforderlich sind. Üblicherweise verfügen insbesondere Movingheads oder Scanner über Funktionen zur Durchführung eines Resets oder zum Ein- bzw. Ausschalten des Leuchtmittels. Alle diese Funktionen werden ausgeführt, wenn ein bestimmter DMX-Wert auf dem zugehörigen DMX-Kanal für eine bestimmte Zeit gehalten wird. Procedures können nicht in Cues abgespeichert werden und lassen sich nur über die Stage View aufrufen.

Aufbau einer Funktion auf einem DMX-Kanal

Liegen auf einem DMX-Kanal wie beispielsweise beim Strobe, Shutter oder Goborad mehrere Funktionen, so werden diese in zwei Kategorien unterteilt:

  • step für Funktionen, die immer nur umgeschaltet werden, zum Beispiel das Wechseln der Farbe auf einem Farbrad
  • range für Funktionen, die parallel zum Umschalten auch noch in bestimmten Bereichen variiert werden können, wie zum Beispiel die Richtung und die Geschwindigkeit der Goborotation

Ein step besteht dabei immer aus dem eigentlichen Tag step, dem Attribut type, sowie den Attributen für den minimalen DMX-Wert mindmx und den maximalen DMX-Wert maxdmx für den step. Der Wert für das Attribut type ist immer abhängig von der Eigenschaft des DMX-Kanals, die abgebildet werden soll. Welche Werte zulässig sind, wird bei der Beschreibung der jeweiligen Eigenschaft angegeben.

<step type="open" mindmx="225" maxdmx="255" />


Der Tag range ist ähnlich aufgebaut, wie der Tag step. Der wesentlichste Unterschied ist die Ergänzung der Attribute minval und maxval. Hier werden beispielsweise die minimale und maximale Drehzahl für die Goborotation angegeben.

Die Besonderheit ist an dieser Stelle, dass die DMX-Werte den Geschwindigkeiten zugeordnet werden. Das heißt, zur minimalen Drehzahl wird der DMX-Wert eingetragen, wo sich das Gobo am langsamsten dreht. Genauso verhält es sich mit der maximalen Drehzahl. Daher kann es vorkommen, dass die minimale Drehzahl nicht immer automatisch auch der niedrige DMX-Wert und die maximale Drehzahl beim größten DMX-Wert anliegt. Ein Code-Beispiel ist im Abschnitt Goborad zu finden.

<range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />


Grundregeln bei der Erstellung eines DDFs

Bei den DDFs sind folgende grundlegenden Regeln zu beachten:

  • Die DMX-Kanäle werden in den DDFs immer bei 0 beginnend gezählt. Deswegen sind für einen LED-PAR mit 5 DMX-Kanälen im DDF auch die DMX-Kanäle 0 bis 4 angegeben, während die Funktionen in der Bedienungsanleitung von DMX-Kanal 1 bis 5 beschriftet sind.
  • Die Eintragung der Werte für Strobe-Frequenz, Schwenk-Bereiche für Pan und Tilt, Drehzahl für Gobo-Rotation etc. erfolgt ohne Einheiten. Die üblichen Einheiten für diese Werte sind in der nachfolgenden Tabelle aufgelistet.
  • Die zugehörigen DMX-Werte zum Beispiel für die Drehzahl der Goborotation sind so einzutragen, dass von dem Punkt Goborotation stopp aus die Drehzahlen vor und entgegen des Uhrzeigersinns zunehmen.
  • Bilder für das Geräte-Icon sowie für die Gobos sollen in einer Auslösung von 128 x 128 Pixeln und als *.png-Datei im DDF hinterlegt werden.
  • Die DDFs werden üblicherweise in englischer Sprache verfasst.
Wert Einheit Verwendung
Drehzahl 1/min (Umdrehung pro Minute) Goborotation, Prismenrotation, kontinuierliche Drehung des Farbrads, kontinuierliche Drehung des Goborads
Farbtemperatur K (Kelvin) Farbtemperatur
Frequenz Hz (Hertz) Strobe-Frequenz, Goboshake-Geschwindigkeit
Winkel ° (Grad) Pan- und Tilt-Schwenkbereich, Goboindizierung, Prismenindizierung, Zoom
Einheitslos % (Prozent) Dimmer, Iris

Beispiel: So sieht ein einfaches DDF aus

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

Basisteil

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 5 DMX-Kanälen. Das DDF wird für DMXControl Version 3 erstellt und wurde bislang nur einmal bearbeitet, weswegen es die Version 1 ist.

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

Informationsteil

Im Informationsteil ist die Bezeichnung des Geräts, in diesem Fall LED-PAR hinterlegt, der vom Hersteller Various 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>LED-PAR</model>
    <vendor>Various</vendor>
    <author>Stefan Kistner</author>
    <mode>Basic</mode>
  </information>

Funktionsteil

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

Dimmer-Kanal

Es wird als erstes ein Dimmer-Property für den DMX-Kanal 1 angelegt, welches in dem DMX-Bereich (range) von 192 (dunkel) bis 0 (hell) im Gerät implementiert ist. Der Parameterwertebereich erstreckt sich von minval bis maxval, also von 0 bis 100. Im Dimmer-Property wird also die Intensität zwischen 0 (%) und 100 (%) eingestellt und DMXControl 3 rechnet diese dann proportional in die DMX-Werte um anhand der Zuordnung mindmxminval und maxdmxmaxval.

  <functions>
    <dimmer dmxchannel="0" mindmx="192" maxdmx="0" 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.

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

Strobe-Kanal

Der Strobe-Kanal liegt auf Kanal 5. 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. Wichtig ist an dieser Stelle, dass die Einheit (hier Hertz) nicht eingetragen wird.

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

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

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.

Zusammenfassung

Das komplette DDF für diesen LED-PAR-Scheinwerfer sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
<device image="led-par.png" type="DMXDevice" dmxaddresscount="5" dmxcversion="3" ddfversion="1">
  <information>
    <model>LED-PAR</model>
    <vendor>Various</vendor>
    <author>Stefan Kistner</author>
    <mode>Basic</mode>
  </information>
  <functions>
    <dimmer dmxchannel="0" mindmx="192" maxdmx="0" minval="0" maxval="100" />
    <rgb>
      <red dmxchannel="1" />
      <green dmxchannel="2" />
      <blue dmxchannel="3" />
    </rgb>
    <strobe dmxchannel="4" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />
    </strobe>
  </functions>
</device>

Syntax: die möglichen Funktions-Bausteine

Nachfolgend sind alle aktuell unterstützten Funktionen aufgelistet, die von DMXControl direkt unterstützt werden. Jede Funktion ist mit einem Codebeispiel versehen, der wiederum in Klartext übersetzt ist.

Dimmer

Über den Dimmer-Kanal wird die Helligkeit eines Geräts gesteuert. LED-PAR-Scheinwerfer oder Movingheads haben meistens nur einen Dimmerkanal. Je nach Ausführung sind von der Standard-Auflösung mit 8 bit feiner Auflösung bis hin zu 32 bit möglich. Dazu wird das Element auf <dimmer dmxchannel="0" finedmxchannel="1" ultraddmxchannel="2" ultrafinedmxchannel="3" /> erweitert. Die entsprechende Berechnung, wie welcher DMX-Kanal anzusteuern ist, übernimmt DMXControl automatisch.

Dimmerpacks besitzen im Gegensatz zu LED-PARs, Scannern oder Movingheads mehrere Dimmer-Kanäle. Hier ist es aber nicht erforderlich, das Dimmerpack mit seinen vier, sechs oder zwölf Dimmer-Kanälen selbst abzubilden. Hilfreicher und einfacher ist es an dieser Stelle, die daran angeschlossenen Halogen-PAR-Scheinwerfer in entsprechender Anzahl dem Projekt hinzufügen.

Tag Variante Code
dimmer Standard
<dimmer dmxchannel="0" />

Dimmer auf DMX-Kanal 1

Dimmer mit 16 bit-Auflösung
<dimmer dmxchannel="0" finedmxchannel="1" />

Dimmer mit 16 bit Auflösungen auf DMX-Kanal 1 und 2

Einfacher Dimmer in bestimmtem DMX-Wertebereich
<dimmer dmxchannel="0">
  <range type="linear" mindmx="0" maxdmx="127" />
</dimmer>

Dimmer auf DMX-Kanal 1:

  • Lineares Dimmverhalten von 0% Helligkeit (aus) bei DMX-Wert 0 bis maximale Helligkeit (100%) bei DMX-Wert 127

Switch

Die Funktion switch wird immer dann eingesetzt, wenn es nur zwischen zwei Zuständen hin- und her geschaltet werden soll, beispielsweise der Zustand "Arbeitslicht an" und der Zustand "Arbeitslicht aus".

Tag Variante Code
switch Standard
<switch dmxchannel="0" />

Switch auf DMX-Kanal 1

Shutter

Der Shutter ist meistens bei Movingheads oder Scannern mit einer Entladungslampe zu finden. Hierbei werden mechanische Blenden in den Lichtstrahl geschoben, wenn das Gerät kein Licht ausgeben soll. Darüber hinaus wird über den Shutter der Strobe-Effekt erzeugt. Bei Movingheads oder Scannern mit LEDs als Lichtquelle wird dieses Verhalten über die Elektronik nachgestellt.

In der Regel sind beim Shutter-Kanal mehrere Funktionen zu hinterlegen, mindestens aber die Funktionen Shutter geschlossen und Shutter offen.

Tag Variante Code
shutter Standard
<shutter dmxchannel="0">
  <step type="closed" mindmx="0" maxdmx="21" />
  <step type="open" mindmx="234" maxdmx="255" />
</shutter>

Shutter auf DMX-Kanal 1:

  • Shutter geschlossen bei DMX-Wert zwischen 0 und 21.
  • Shutter geöffnet bei DMX-Wert zwischen 234 und 255.
Attribut type mindmx maxdmx
Beschreibung Unterer DMX-Wert für den Zustand Oberer DMX-Wert für den Zustand
Attributwert closed

open

0 bis 255 0 bis 255

Alter Stand des Artikels bis 11.06.2017


Alter Stand


Das DDF ist eine XML-Datei, welche einen beliebigen Punkt in der Signalkette beschreibt, der die gesendeten DMX-Daten auswerten und verarbeiten kann. Das sind meistens Geräte wie Dimmer, Movinglights oder LED-PARs. Es gibt aber auch Software und Plugins, die DMX-Daten erwarten und demzufolge ein DDF benötigen. Jedes dieser Devices mit eigener DMX-Belegung benötigt eine eigene Beschreibung. Das bedeutet, 20 gleiche Dimmer werden auf dasselbe DDF referenziert, hingegen benötigt ein Movinghead mit verschiedenen Modi meist mehrere DDFs.

Beschreibung

DMXControl muss irgendwoher die Information nehmen, welche Bedeutung den einzelnen DMX-Kanälen eines Devices zugeordnet ist, damit es intelligent die Steuerelement des Property Grid zuordnen kann. Diese Informationen stellt das DDF bereit. Dort heißt es vereinfacht: Der Dimmer liegt auf Kanal 12 und der Strobe-Effekt auf Kanal 7 zwischen den DMX-Werten 7 und 84. Wird ein Device in DMXC3 oder scheibt Lumos oder DMXControl 3? zu einem Projekt hinzugefügt, so wird dessen DDF geladen und die Steuerelemente bereitgestellt, welche den Funktionen des Devices entsprechen. Bei fehlerhaften DDFs gibt der Kernel zum Teil hilfreiche Fehlermeldungen aus. Wird das gleiche Gerät nochmal hinzugefügt, so wird dasselbe (schon eingelesene) DDF verwendet. Änderungen am DDF wirken sich ab dem nächsten Einlesen (z.B. Neustart von DMXC3) auf alle Devices des selben Typs aus. Insbesondere bei Movinglights muss bei der Device- (und damit DDF-) Auswahl auf den richtigen Modus geachtet werden, da verschiedene Modi meist verschiedene DMX-Belegungen haben und somit verschiedene DDFs benötigen. Das ist doppelt (siehe Fußnote), welche Beschreibung gefällt euch besser?

Zur Nachvollziehbarkeit ist es ratsam, das DDF "Lightmaxx DMX-Strobe 750" im Verzeichnis kernel/devices in einem Texteditor oder einem Browser zu öffnen. Ein DDF besteht aus einem Informationsteil in dem Gerätetyp, Hersteller, Autor der Datei und weitere Angaben enthalten sind. Darauf folgt normalerweise der Funktions-Block, der alle zu beschreibenden Funktionen/Parameter und deren Wertebereiche enthält. In DMXC wird nicht direkt der DMX-Wert geändert, sondern ein Parameter mit beliebig festlegbaren Wertebereich. Anhand des DDFs wird der Parameter-Wert (Value) in einen DMX-Wert umgerechnet. Folgendes Beispiel soll die Zuweisung im DDF erklären:

<dimmer>
  <range  mindmx="127" maxdmx="0" minval="0" maxval="100" />
</dimmer>
Abbildung X.1:Effekt auf selbst definierte Funktionen für kontinuierliches Farbrad legen
Abbildung X.1: Effekt auf selbst definierte Funktionen

für kontinuierliches Farbrad legen

Es wird ein Dimmer-Property angelegt, welches in dem DMX-Bereich (range) von 127 (dunkel) bis 0 (hell) im Gerät implementiert ist. Der Parameterwertebereich erstreckt sich von minval bis maxval, also von 0 bis 100. Im Dimmer-Property? wird also die Intensität zwischen 0(%) und 100(%) eingestellt und DMXC rechnet diese dann proportional in die DMX-Werte um anhand der Zuordnung mindmx ≙ minval und maxdmx ≙ maxval. Schon allein die Reihenfolge der Begriffe, also erst die Funktion "Dimmer" und danach der dazugehörige DMX-Kanal, macht deutlich, dass die Devices vor allem über ihre Eigenschaften und weniger über ihre Kanäle definiert werden. Durch die neue HAL in DMXC3 ist es nicht mehr nötig (und möglich), eine graphische Beschreibung des DDFs anzulegen. Alle Steuerelemente werden von der GUI erkannt und an den entsprechenden stellen automatisch dargestellt.

Artikel zu Speierorten anlegen! Ähnlich Mozilla-Wiki, dann kann man darauf im Forum verlinken und jeder weiß, wo er suchen muss nach Icons, Logs, DDFs etc.

Syntax

XML verwendet sogenannte Elemente mit öffnenden und schließenden Tags, die von spitzen Klammern begrenzt werden. Ein Element kann ein oder mehrere Attribute enthalten, deren Wert getrennt durch ein Gleichheitszeichen in Anführungszeichen stehen sollte.

<blockquote class="wissenschaftlich">Und sie bewegt sich doch!</blockquote>
|           |     |                ||                         |           |
|           |     |--Attributwert--||                         |           |
|           |                      ||                         |           |
|           |-------Attribut-------||                         |           |
|                                   |                         |           |
|------------(Start-)Tag------------|------Elementinhalt------|-(End-)Tag-|
|                                                                         |
|---------------------------------Element---------------------------------|

[2]

Inhaltsleere Elemente werden in sich geschlossen: <element attribut="wert" /> Zur Vertiefung der Syntax siehe XML (selfHTML). Die Datei beschreibt eine Baumstruktur und es gibt zwingende Eltern-Kind-Beziehungen. Das heißt vereinfacht, dass ein dimmer-Element nur innerhalb des Funktionselement vorkommen darf.


  • Erkläre Bezugssystem (step handler, step for)
  • Kommentare

Elemente

jeweils Tabelle mit

Property Beschreibung Codebeispiel Attribute und erlaubte Kindelemente Kommentar
cmy Farbmischung über Cyan Magenta Yellow
<cmy>
  <cyan dmxchannel="0"/>
  <magenta dmxchannel="1"/>
  <yellow dmxchannel="2"/>
<!-- <step type="color" val="#eedefe" caption="1/2 Minus Green" mindmx="128" maxdmx="128" /> -->
</cmy>
Kindelemente:
  • cyan
  • magenta
  • yellow

Universalattribute, keine Kindelemnte

Subtraktive Farbmischung

ist das zu technisch/formalistisch?

information-Teil

functions

procedures

Attribute

Universalattribute

spezielle Attribute

Beispiele

Tipp(s)

Fehlersuche

aus Tutorial

Lektion 20: Neue Gerätedefinitionen erstellen

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


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">
 03  <information>
 04    <modell>Generic RGB PAR</modell>
 05    <vendor>Generic</vendor>
 06    <author>Arne Luedtke</author>
 07    <comment>KLEINER TEXT</comment>
 08  </information>
 09  <functions>
 10    <rgb>
 11      <red dmxchannel="0" />
 12      <green dmxchannel="1" />
 13      <blue dmxchannel="2" />
 14    </rgb>
 15  </functions>
 16 </device>


DeviceManegerInfoBox.jpg


Zeile 01 ist zwingend notwendig für die Beschreibung der XML-Version. Zeile 02 ("bild" kann ersetzt werden durch z.B. "Light.gif" oder "Light.png") und 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 to 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 Description Comment
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 Gobobrad


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>

Gobopositi

Rotation Gobo 1

Shake Gobo 1

rawstep
Fixture hat undefinierte Funktionen.
<rawstep dmxchannel="0" name="Macros">
<step caption="MACRO 15" mindmx="0" maxdmx="1" />
...
</rawstep>
const
Fixture hat nichtbenutzten Kanal.
<const dmxchannel="1" val="0" name="Macro"/>

Wenn das Fixture über ein Farb-/Goborad verfügt, das sich kontinuierlich drehen kann, dann schreibt man das so:

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


Wenn das Fixture über ein Farb-/Goborad verfügt, das sich auf zufällige Positionen drehen kann, dann schreibt man das so:

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


Wenn ein Gerät über feine Kanäle für z.B Zoom verfügt, dann schreibt man das so:

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

Das funktioniert bei jedem Property.
Die verschiedenen Intervalle in einem DMX-Kanal werden von der „Step“ Variablen definiert:

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

oder:

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


 Wichtiger Hinweis Ein DDFCreator für DMXControl 3 ist bereits in Arbeit, siehe Forum. Ihr könnt mit diesem Prototype arbeiten oder die eigenen DDFs mit einem XML-Editor Eurer Wahl oder einfach mit einem Texteditor erstellen. Manchmal hilft es, ein bereits existierendes DDF zu kopieren und anzupassen.

Gerne könnt ihr eure neuen DDFs auch im Forum teilen: DDF Sammlung.


Links und Referenzen

Links

  1. Unterschiedliche Anzahl und Belegung der DMX-Kanäle, einstellbar am Gerät selbst
  2. http://selfhtml.apsel-mv.de/tag-element/tag-element-attribut.html

 

Inhaltsverzeichnis
Teil 1: Allgemein
Teil 2: Programmeinstieg
Teil 3: Programmumstieg
Teil 4: Ausführliches Handbuch