Lektion 20 Tut3: Unterschied zwischen den Versionen

Aus Deutsches DMXC-Wiki
KKeine Bearbeitungszusammenfassung
(Alte Fassung des Tutorials entfernt)
Zeile 213: Zeile 213:
</source>
</source>


= Alte Fassung bis 13.06.2017 =
== Übungen ==
Eine Gerätedefinitionsdatei (kurz: DDF) wird verwendet, um DMXControl über die Eigenschaften eines Gerätes zu informieren. Ein DDF ist in XML-Sprache geschrieben und die Datei befindet sich im Ordner {{Manual_Filepath|<DMXControl program path>\kernel\devices}}. Um DDFs für DMXControl 3 zu erstellen, gibt es zwei Wege. Entweder, Du schreibst die DDFs in einem Texteditor, oder Du nutzt den [[DDFCreator 3]]. Mit letzterem kannst Du dir die DDFs mit Hilfe einer grafischen Oberfläche zusammenstellen. Auf der Wiki-Seite des DDFCreators wird beschrieben, wie man ihn bedient und damit DDFs erstellt.
# Wirf einen Blick in einige Definitionen von Geräten, bevor du eigene DDFs erstellst (siehe obiges Verzeichnis).
<br>
# Öffne das DDF für den Eurolite TS-255. Trenne die unterschiedlichen Eigenschaften durch Leerzeilen, um es besser zu verstehen.
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:
# Erstelle ein DDF für dein eigenes Gerät.
 
<br />
*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
<br>
Als erstes schauen wir uns ein sehr einfaches DDF an ("Generic RGB Par"):
 
----
 
{| cellspacing="1" cellpadding="1" border="0" align="center" width="200"
|-
| <source lang="xml">
01 <?xml version="1.0" encoding="utf-8" ?>
02 <device image="bild" type="DMXDevice" dmxaddresscount="3" dmxcversion="3" ddfversion="1.0">
03  <information>
04    <modell>Generic RGB PAR</modell>
05    <vendor>Generic</vendor>
06    <author>Arne Luedtke</author>
07    <comment>KLEINER TEXT</comment>
08  </information>
09  <functions>
10    <rgb>
11      <red dmxchannel="0" />
12      <green dmxchannel="1" />
13      <blue dmxchannel="2" />
  14    </rgb>
15  </functions>
16 </device>
</source>
|
<br>[[Image:DeviceManegerInfoBox.jpg|DeviceManegerInfoBox.jpg]]
|}
 
----
 
Zeile 01 ist zwingend notwendig für die Beschreibung der XML-Version. Zeile 02 ("bild" kann ersetzt werden durch z.B. "Light.gif" oder "Light.png") und Zeile 15 bilden den Rahmen für die Geräte-Definition, die aus zwei Teilen besteht:
 
*Informationsbereich (Zeile 03 bis 08), keine weitere Erklärung notwendig.
*Funktionsbereich (Zeile 09 bis 14)
 
Das Gerät in unserem Beispiel hat eine Eigenschaft RGB color Modus. Die Zuordnung der DMX Kanäle wird in den Zeilen 11 bis 13 beschrieben.
 
Das ist alles!
 
Folgende Tabelle zeigt die vorhandenen Eigenschaften<br>
 
{| class="wikitable"
|-
! scope="col" | Property
! colspan="2" scope="col" | Beschreibung
! colspan="3" scope="col" | Kommentar
|-
| switch
| colspan="2" | Fixture hat einen Switch-Kanal.<br>
| colspan="3" | <source lang="xml"><switch dmxchannel="0" /></source>
|-
| dimmer
| colspan="2" | Fixture hat einen Dimmer-Kanal.<br>
| colspan="3" | <source lang="xml"><dimmer dmxchannel="0" /></source>
|-
| matrix
| colspan="2" | Fixture ist ein Matrix-Gerät.<br>
| colspan="3" | <source lang="xml"><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>
</source>
|-
| fog
| colspan="2" | Nebel-Kanal<br>
| colspan="3" | <source lang="xml"><fog dmxchannel="0" /></source>
|-
| shutter
| colspan="2" | Fixture hat einen Shutter.<br>
| colspan="3" | <source lang="xml"><shutter dmxchannel="0" /></source>
|-
| strobe
| colspan="2" | Fixture hat einen Strobe-Kanal.<br>
| colspan="3" | <source lang="xml"><strobe dmxchannel="0" /></source>
|-
| iris<br>
| colspan="2" | Fixture hat einen Iris-Kanal.<br>
| colspan="3" | <source lang="xml"><iris dmxchannel="0"/></source>
|-
| focus<br>
| colspan="2" | Fixture hat einen Fokus-Kanal.<br>
| colspan="3" | <source lang="xml"><focus dmxchannel="0"/></source>
|-
| zoom<br>
| colspan="2" | Fixture hat einen Zoom-Kanal.<br>
| colspan="3" | <source lang="xml"><zoom dmxchannel="0"/></source>
|-
| rgb
| colspan="2" | Fixture hat die RGB-Funktion.
| colspan="3" | <source lang="xml"><rgb>
  <red dmxchannel="0" />
  <green dmxchannel="1" />
  <blue dmxchannel="2" />
</rgb>
</source>
|-
| cmy<br>
| colspan="2" | Fixture hat die CMY-Funktion.<br>
| colspan="3" | <source lang="xml"><cmy>
  <cyan dmxchannel="0"/>
  <magenta dmxchannel="1"/>
  <yellow dmxchannel="2"/>
</cmy>
</source>
|-
| position
| colspan="2" | Fixture hat Pan und/ oder Tilt.
| nowrap="nowrap" colspan="3" | <source lang="xml"><position>
  <pan dmxchannel="0">
    <range range="540" />
  </pan>
  <tilt dmxchannel="1">
    <range range="246" />
  </tilt>
</position>
</source>
|-
| color wheel
| colspan="2" | Fixture mit Farbrad.
| colspan="2" | <source lang="xml"><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>
</source>
|-
| rowspan="3" | gobo wheel
| rowspan="3" | Fixture mit Goborad.
| valign="top" nowrap="nowrap" |
<br>
 
Goborotation
 
| valign="top" nowrap="nowrap" rowspan="3" | <source lang="xml"><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></source>
|-
| valign="top" |
Goboposition
 
|-
|
Rotation Gobo 1
 
Shake Gobo 1<br>
|-
|| raw<br>
| colspan="2" | Fixture hat undefinierte Funktionen. Der Raw-Kanal ist ein Fade-Kanal<br>
|| <source lang="xml"><raw dmxchannel="17" name="White"/></source>
|-
|| rawstep<br>
| colspan="2" | Fixture hat undefinierte Funktionen. Der Rawstep-Kanal ist ein Kanal mit mehreren Eigenschaftsbereichen.<br>
|| <source lang="xml"><rawstep dmxchannel="0" name="Macros">
<step caption="MACRO 15" mindmx="0" maxdmx="1" />
...
</rawstep> </source>
|-
|| const<br>
| colspan="2" | Fixture hat einen mit einem konstanten Wert belegten Kanal.<br>
|| <source lang="xml"><const dmxchannel="1" val="0" name="Macro"/> </source>
|}
 
 
 
== Übung  ==
1) Wirf einen Blick in einige Definitionen von Geräten, bevor Du eigene DDFs erstellst (siehe obiges Verzeichnis).
<br>
2) Öffne das DDF für den TS255. Trenne die unterschiedlichen Eigenschaften durch Leerzeilen, um es besser zu verstehen.
<br>
3) Erstelle ein DDF für Dein eigenes Gerät.
 
{{NavigationTop-Tut3
{{NavigationTop-Tut3
| zurückLink = Lektion_19_Tut3
| zurückLink = Lektion_19_Tut3

Version vom 3. Juli 2017, 08:38 Uhr

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


Inhaltsverzeichnis

Überblick

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

Lektion 20: Neue Gerätedefinitionen erstellen

Kurzeinstieg

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

Im Folgenden konzentrieren wir uns auf die Erstellung eines DDFs im Texteditor. Wenn du mit DDFs von DMXControl 2 vertraut bist, dann kannst Du einige wichtige Unterschiede feststellen:

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

In diesem Tutorial werden wir anhand von drei Beispielen, die von Mal zu Mal insbesondere umfangreicher und ein klein wenig schwieriger werden, die manuelle Erstellung eines DDFs Schritt für Schritt durchgehen. 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 an ihren 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.

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 einen einfachen LED-PAR-Scheinwerfer mit eigenem Dimmer- und Strobe-Kanal sowie einem DMX-Kanal für Makros wollen 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 und es ist gültig für den DMX-Modus Basic. Alle diese Informationen sind durch das Element <information> ... </information> eingeklammert.

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

Funktionsteil

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

Dimmer-Kanal

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

Der Teil des XML-Codes sieht damit wie folgt aus:

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

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

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

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

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

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

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

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

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

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

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

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

Procedures

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

Ergebnis: das fertige DDF

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

<?xml version="1.0" encoding="utf-8"?>
<device image="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>
    <mode>Basic</mode>
  </information>
  <functions>
    <dimmer dmxchannel="0" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    <rgb>
      <red dmxchannel="1" />
      <green dmxchannel="2" />
      <blue dmxchannel="3" />
    </rgb>
    <rawstep dmxchannel="4" name="Macros">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Colour macro" mindmx="5" maxdmx="84" />
      <step caption="Colour jump" mindmx="85" maxdmx="169" />
      <step caption="Colour fade" mindmx="170" maxdmx="255" />
    </rawstep>
    <strobe dmxchannel="5" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />
    </strobe>
  </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.



Inhaltsverzeichnis