DDF-Tutorial Moving Head DMXC3: Unterschied zwischen den Versionen

Aus Deutsches DMXC-Wiki
KKeine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Kapitelüberschrift|Version=DMXControl 3.1.2}}
{{Manual Header
 
| Type = DMXC3 DDFs
 
| Version = 3.2.3
{{DMXC3_Manual-Navigation_DDF
| zurückLink = DDF-Tutorial_4er-Bar_DMXC3
|zurückLink = DDF-Tutorial_4er-Bar_DMXC3
| zurückText = 4er-Bar
|zurückText = 4er-Bar
| vorLink =
|vorLink =
| vorText =
|vorText =
}}
}}


Zeile 72: Zeile 71:
</syntaxhighlight>
</syntaxhighlight>


Im Basisteil geben wir dieses Mal auch an, dass das DDF für die Programmversion <code>3.1.2</code> erstellt ist und auf Grund von mehreren Anpassungen im Vorfeld bei der Version <code>1.2</code> steht.
Im Basisteil geben wir dieses Mal auch an, dass das DDF für die Programmversion <code>3.2.3</code> erstellt ist und auf Grund von mehreren Anpassungen im Vorfeld bei der Version <code>1.2.0</code> steht.


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<device image="Showtec Indigo 150.png" type="DMXDevice" dmxcversion="3.1.2" ddfversion="1.2">
<device image="Showtec Indigo 150.png" type="DMXDevice" dmxcversion="3.2.3" ddfversion="1.2.0">
</syntaxhighlight>
</syntaxhighlight>


Zeile 87: Zeile 86:
     <author>Stefan Kistner</author>
     <author>Stefan Kistner</author>
     <mode>12 Channel</mode>
     <mode>12 Channel</mode>
</syntaxhighlight>
Neben den Angaben zu Hersteller, Modellbezeichnung etc. tragen wir hier nun auch mal Werte zur elektrischen Leistungsaufnahme ein. Deswegen wird der Informationsteil nach dem <code>20</code>-Element noch nicht wieder geschlossen. Bei den Angaben zur elektrischen Leistungsaufnahme gibt es zwei verschiedene Einträge, die man im DDF entweder jeweils nur allein oder gemeinsam hinterlegen kann:
* <code>static</code>: Dies ist die elektrische Leistung, die ein Gerät immer verbraucht, sobald es eingeschaltet ist. Hierunter fällt nicht nur die grundlegende Leistungsaufnahme der Steuerelektronik. Zu diesem Eintrag zählt auch die Leistungsaufnahme von Geräten mit einer Entladungslampe, auch wenn man diese oftmals ferngesteuert ein- und ausschalten kann. Ein anderes Beispiel ist das Heizelement von Nebelmaschinen, welches zwar nicht dauerhaft läuft, aber trotzdem eine hohe elektrische Leistung benötigt.
* <code>dimmer</code>: Unter diese Kategorie versteht DMXControl 3 alles, wo sich die Leistungsaufnahme durch hoch- und runterschieben des Dimmer-Regelers bzw. durch das Anpassen des Werts für den Dimmer ändert. Das sind zum einen klassische Halogen-Leuchtmittel in PAR-Scheinwerfern. Aber hierunter fallen auf der anderen Seite auch nahezu sämtliche LED-Scheinwerfer und eben Moving-Heads mit einer LED als Leuchtmittel. Im Gegensatz zu den Moving-Heads mit Entladungslampe wird die Helligkeit bei LEDs elektronisch geregelt.
Insgesamt muss du aber zum Punkt elektrische Leistungsaufnahme wissen, dass dies nur als eine grobe Orientierungshilfe verstanden werden darf. Die tatsächlichen Leistungsaufnahmen können nochmals variieren und sind daher besser mit geeigneten Messgeräten zu prüfen, solltest du Wert auf genaue Werte legen.
Die elektrische Leistungsaufnahme ist ein Unterpunkt des Informationsteils und wird durch <code>electrical</code>-Element eingefasst. Darin befinden sich wie im aktuellen Beispiel beide zugehörigen Elemente: <code>static</code> und <code>dimmer</code>. Die elektrische Leistungsaufnahme lässt sich weitestegehend anhand des verbauten LED-Chips herleiten. Von daher tragen wir für <code>dimmer</code> den Wert <code>20</code> ein, also 20 W. Bei der Leistungsaufnahme für die Elektronik etc. im eingeschalteten Zustand gibt es keine genaue Angabe im Handbuch bzw. in den technischen Daten. Hier nehmen wir daher 10 W an und tragen für <code>static</code> entsprechend <code>10</code> ein. Nach diesen beiden Elementen wird sowohl das <code>electrical</code>-Element als auch das <code>information</code>-Element geschlossen. Damit ist der Informationsteil vollständig.
<syntaxhighlight lang="xml">
    <electrical>
      <static>10</static>
      <dimmer>20</dimmer>
    </electrical>
   </information>
   </information>
</syntaxhighlight>
</syntaxhighlight>
Zeile 337: Zeile 349:
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<device image="Showtec Indigo 150 V2.png" type="DMXDevice" dmxcversion="3.1.2" ddfversion="1.2">
<device image="Showtec Indigo 150 V2.png" type="DMXDevice" dmxcversion="3.2.3" ddfversion="1.2.0">
   <information>
   <information>
     <model>Indigo 150 V2</model>
     <model>Indigo 150 V2</model>
Zeile 343: Zeile 355:
     <author>Stefan Kistner</author>
     <author>Stefan Kistner</author>
     <mode>12 channel</mode>
     <mode>12 channel</mode>
    <electrical>
      <static>10</static>
      <dimmer>20</dimmer>
    </electrical>
   </information>
   </information>
   <functions>
   <functions>

Aktuelle Version vom 10. November 2024, 15:10 Uhr

Blockdevice.png Artikel beschreibt
DMXControl 3.2.3
DDF-Tutorial Moving Head DMXC3
Arrow back.png 4er-Bar
Inhaltsverzeichnis
Teil 1: Grundlagen
Teil 2: Funktionen
Teil 3: Procederes
Teil 4: Beispiele


Showtec Indigo 150.png

Dieses dritte Beispiel zeigt euch nun, wie ihr das DDF für einen einfachen Moving Head erstellt. Als Vorlage dient hier der Showtec Indigo 150 LED, der teilweise auch unter anderen Marken vertrieben wurde. Von den Funktionen her ist dieser Moving Head relativ unspektakulär, aber dafür umso besser geeignet, euch einen guten Einstieg zu vermitteln. Denn dieser Funktionsumfang ist bei vielen Einsteigergeräten zu finden, sodass sich dieses Tutorial recht schnell von euch auf ähnliche Geräte adaptieren lässt.

Bitte bedenkt aber, dass gerade Moving Heads und Scanner zu den komplexesten Geräten gehören, die auch viele Informationen im DDF für eine ordnungsgemäße Ansteuerung benötigen. Wenn ihr also ein entsprechendes Gerät mit vielen Funktionen vor euch habt, schaut am besten in die Beschreibung der einzelnen Funktionen mit der zugehörigen Syntax.


Ausgangsdaten: die Bedienungsanleitung

Kanalbelegung

Bei jedem Gerät sieht die Bedienungsanleitung jedes Mal anders aus. Für den Showtec Indigo 150 LED ist die Kanalbelegung diesmal eine Grafik, in der alle Funktionen aufgeführt sind. Diese Darstellung erinnert euch bestimmt an ein DMX-Pult und zeigt die Belegung für den 12-Kanal-Modus. Den kleineren 9-Kanal-Modus werden wir an dieser Stelle nicht weiter besprechen.

Technische Daten

Neben der Kanalbelegung findet ihr in dem Handbuch folgende technische Daten zu diesem Moving Head.

Kanalbelegung des Showtec Indigo 150 V2

Allgemeine Angaben

  • Modell: Showtec Indigo 150 LED
  • Eingangsspannung: 240V, 50 Hz (CE)
  • Leistungsaufnahme: 20W
  • Sicherung: T1,5A / 250V
  • Abmessungen 210x245x370mm (LxBxH)
  • Gewicht: 6,3kg

Bedienung und Steuerung

  • Ausgangsbelegung: Pin 1 Erde, Pin 2 (-), Pin 3 (+)
  • Geräteeinstellung und -adressierung: LED Display
  • DMX-Kanäle: 9 oder 12
  • Signaleingang: XLR-Stecker, 3-polig
  • Signalausgang: XLR-Buchse, 3-polig

Elektro-mechanische Effekte

  • Automatische Pan- / Tilt-Korrektur
  • Musiksteuerung
  • Goborad mit sieben rotierenden Gobos und offen
  • Goboshake-Funktion
  • Farbrad mit neun dichroitischen Farben plus weiß
  • Manueller Fokus
  • Lüftergekühlt
  • Abstrahlwinkel: 16°
  • Gobodurchmesser: 26mm
  • Bildurchmesser: 20mm
  • Shutter: 0 bis 15Hz
  • Dimmer: elektronischer Dimmer
  • Pan: 0° bis 530°
  • Tilt: 0° bis 270°
  • Bewegungsauflösung: 8bit oder 16bit
  • Steuerungsmöglichkeiten: DMX-512, Master / Slave, Sound-to-light
  • DMX-Modes: Basic (9 Kanäle) oder Erweitert (12 Kanäle)
  • Helles LCD-Display

Gobos

  • Farbrad: hitzebeständiges und verstärktes Glas, dichroitische Glasbeschichtung
  • Maximaltemperaturen: maximale Umgebungstemperatur 40°C, maximale Gehäusetemperatur 80°C
  • Kühlung: ein Lüfter im Gerät
  • Motoren: hochwertige Mikrokontroller-gesteuerte Stepper-Motoren


Programmierung: der XML-Code für den 12-Kanal-Modus

Wir beginnen wieder mit einer leeren XML-Datei in dem Texteditor eures Vertrauens. Auch in diesem Beispiel gilt, dass hier nur die Dinge ausführlicher erläutert werden, die in den vorherigen Beispielen nicht enthalten sind.

Basisteil

Dieses DDF beginnt standardmäßig wieder mit den folgenden Zeilen:

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

Im Basisteil geben wir dieses Mal auch an, dass das DDF für die Programmversion 3.2.3 erstellt ist und auf Grund von mehreren Anpassungen im Vorfeld bei der Version 1.2.0 steht.

<device image="Showtec Indigo 150.png" type="DMXDevice" dmxcversion="3.2.3" ddfversion="1.2.0">

Informationsteil

Die Angaben im Informationsteil werden wie gehabt hinterlegt. Hier ist es aber sinnvoll, dass du das mode-Element trotzdem ausfüllst, selbst wenn wir hier das DDF nur für den 12-Kanal-Modus programmieren. Sollte später jemand anderes noch das DDF für den 9-Kanal-Modus erstellen, lassen sich später beide DDFs einfacher auseinanderhalten.

  <information>
    <model>Indigo 150 LED</model>
    <vendor>Showtec</vendor>
    <author>Stefan Kistner</author>
    <mode>12 Channel</mode>

Neben den Angaben zu Hersteller, Modellbezeichnung etc. tragen wir hier nun auch mal Werte zur elektrischen Leistungsaufnahme ein. Deswegen wird der Informationsteil nach dem 20-Element noch nicht wieder geschlossen. Bei den Angaben zur elektrischen Leistungsaufnahme gibt es zwei verschiedene Einträge, die man im DDF entweder jeweils nur allein oder gemeinsam hinterlegen kann:

  • static: Dies ist die elektrische Leistung, die ein Gerät immer verbraucht, sobald es eingeschaltet ist. Hierunter fällt nicht nur die grundlegende Leistungsaufnahme der Steuerelektronik. Zu diesem Eintrag zählt auch die Leistungsaufnahme von Geräten mit einer Entladungslampe, auch wenn man diese oftmals ferngesteuert ein- und ausschalten kann. Ein anderes Beispiel ist das Heizelement von Nebelmaschinen, welches zwar nicht dauerhaft läuft, aber trotzdem eine hohe elektrische Leistung benötigt.
  • dimmer: Unter diese Kategorie versteht DMXControl 3 alles, wo sich die Leistungsaufnahme durch hoch- und runterschieben des Dimmer-Regelers bzw. durch das Anpassen des Werts für den Dimmer ändert. Das sind zum einen klassische Halogen-Leuchtmittel in PAR-Scheinwerfern. Aber hierunter fallen auf der anderen Seite auch nahezu sämtliche LED-Scheinwerfer und eben Moving-Heads mit einer LED als Leuchtmittel. Im Gegensatz zu den Moving-Heads mit Entladungslampe wird die Helligkeit bei LEDs elektronisch geregelt.

Insgesamt muss du aber zum Punkt elektrische Leistungsaufnahme wissen, dass dies nur als eine grobe Orientierungshilfe verstanden werden darf. Die tatsächlichen Leistungsaufnahmen können nochmals variieren und sind daher besser mit geeigneten Messgeräten zu prüfen, solltest du Wert auf genaue Werte legen.

Die elektrische Leistungsaufnahme ist ein Unterpunkt des Informationsteils und wird durch electrical-Element eingefasst. Darin befinden sich wie im aktuellen Beispiel beide zugehörigen Elemente: static und dimmer. Die elektrische Leistungsaufnahme lässt sich weitestegehend anhand des verbauten LED-Chips herleiten. Von daher tragen wir für dimmer den Wert 20 ein, also 20 W. Bei der Leistungsaufnahme für die Elektronik etc. im eingeschalteten Zustand gibt es keine genaue Angabe im Handbuch bzw. in den technischen Daten. Hier nehmen wir daher 10 W an und tragen für static entsprechend 10 ein. Nach diesen beiden Elementen wird sowohl das electrical-Element als auch das information-Element geschlossen. Damit ist der Informationsteil vollständig.

    <electrical>
      <static>10</static>
      <dimmer>20</dimmer>
    </electrical>
  </information>

Funktionsteil

Pan- und Tilt-Kanäle

Die Kanäle für die Pan- und Tilt-Bewegung werden allesamt in dem position-Element zusammengefasst. Die Angabe der DMX-Kanäle erfolgt aber erst in den untergeordneten pan- bzw. tilt-Elementen. Da der Moving Head bei beiden Bewegungsachsen mit 16 bit auflöst, was auch gerne als Pan fine und Tilt fine bezeichnet wird, definieren wir den zusätzlichen DMX-Kanal für den 16-bit-Anteil der Bewegung mit dem zusätzlichen Attribut finedmxchannel, welches dem bereits bekannten Attribut dmxchannel folgt. Neben der Angabe der DMX-Kanäle müssen bei dem position-Element auch die jeweiligen Schwenkbereiche von 540 bzw. 270 Grad für beide Bewegungsachsen hinterlegt werden. Ohne diese Angaben kann die HAL mit dem Moving Head nicht arbeiten.

  <functions>
    <position>
      <pan dmxchannel="0" finedmxchannel="1">
        <range range="540" />
      </pan>
      <tilt dmxchannel="2" finedmxchannel="3">
        <range range="270" />
      </tilt>
    </position>

Bewegungsgeschwindigkeit für Pan und Tilt

Um die Bewegungsgeschwindigkeit für die Pan- und Tilt-Bewegung im DDF zu hinterlegen, musst du nur darauf achten, bei welchem DMX-Wert der Moving Head die schnellste Bewegungsgeschwindigkeit besitzt und welcher DMX-Wert für die langsamste Bewegungsgeschwindigkeit eingestellt werden muss. DMXControl setzt diesen Wert standardmäßig auf 100%, sodass der zugehörige Wert für maxval=“100“ bei diesem Moving Head maxdmx=“0“ lautet. Daraus leiten sich die Werte für minval und mindmx ab.

    <ptspeed dmxchannel="4">
      <range type="linear" mindmx="255" maxdmx="0" minval="0" maxval="100" />
    </ptspeed>

Farbrad

Das Programmieren des Farbrads teilen wir an dieser Stelle in zwei Teile auf. Im ersten Teil hinterlegen wir im DDF die Farben, welches in der Regel Fleißarbeit ist. Das Schema ist bei allen step aber das gleiche: jedem DMX-Wertebereich ordnest du jeweils im Attribut val den zugehörigen Farbewert im HEX-Wert zu und gibt im Attribut caption ein möglichst passenden Namen in englischer Sprache an. Solltest du nicht sicher sein, wie der HEX-Wert für die verschiedenen Farben lautet, suche im Internet am besten unter dem Stichwort „RGB zu HEX“ nach entsprechenden Tools. Bei vielen Tools ist auch ein Farbkreis mit von der Partie, sodass du die Farbe hier live auswählen kannst.

    <colorwheel dmxchannel="5">
      <step type="color" val="#FFFFFF" mindmx="0" maxdmx="14" caption="White" />
      <step type="color" val="#FF0000" mindmx="15" maxdmx="29" caption="Red" />
      <step type="color" val="#FFFF00" mindmx="30" maxdmx="44" caption="Yellow" />
      <step type="color" val="#00FF00" mindmx="45" maxdmx="59" caption="Green" />
      <step type="color" val="#FF00FF" mindmx="60" maxdmx="74" caption="Pink" />
      <step type="color" val="#0000FF" mindmx="75" maxdmx="89" caption="Blue" />
      <step type="color" val="#FF7F00" mindmx="90" maxdmx="104" caption="Orange" />
      <step type="color" val="#B200CC" mindmx="105" maxdmx="119" caption="Purple" />
      <step type="color" val="#3399FF" mindmx="120" maxdmx="134" caption="Light Blue" />
      <step type="color" val="#99FF66" mindmx="135" maxdmx="149" caption="Light Green" />

Im zweiten Teil widmen wir uns der kontinuierlichen Drehung des Farbrads. Nachdem alle Farben eingefügt sind, erstellst das untergeordnete Element wheelrotation. Dort gibst du unter type mit dem Wert cw an, dass sich das Farbrad dreht in diesem Fall im Uhrzeigersinn dreht und definierst die zugehörigen Werte den DMX-Wert für die minimale Drehzahl sowie den DMX-Wert für die maximale Drehzahl. Da dieser Moving Head nur eine Richtung für die kontinuierliche Drehung des Farbrads unterstützt, folgen in dem Element wheelrotation keine weiteren Angaben.

      <wheelrotation>
        <range type="cw" mindmx="150" maxdmx="255" minval="0.1" maxval="8" />
      </wheelrotation>
    </colorwheel>

Goborad

Das Goborad lässt sich auf ähnliche Weise programmieren, wie das Farbrad zuvor. Allerdings musst du hier genau drauf achten, welche Funktionen du bei deinem Moving Head bei den Gobos hast und wie du die einstellen musst. Beim „wie einstellen“ gibt es nämlich verschiedene Varianten. Folgende Varianten werden von DMXControl 3 aktuell nativ unterstützt, sodass du diese direkt und auf einheitliche Weise über die GUI ansprechen bzw. aufrufen kannst. Die Auflistung bezieht sich dabei aus Übersichtsgründen nur auf die Goborotation, für Goboshake und Goboindizierung gilt dies gleichermaßen. Die detaillierte Beschreibung aller Varianten findest du in der Funktionsbeschreibung für Gobo.

  • Drehgeschwindigkeit und -richtung auf gleichem DMX-Kanal mit entsprechender Unterteilung der einzelnen Wertebereiche der Gobos.
  • Zusätzlicher DMX-Kanal für Drehgeschwindigkeit und -richtung.
  • Auswahl des Gobos auf einem ersten DMX-Kanal, Festlegung der Drehrichtung auf einem zweiten DMX-Kanal und Einstellen der Drehgeschwindigkeit auf einem dritten DMX-Kanal.

Aus der Kanalbelegung entnimmst du, dass du die Drehgeschwindigkeit und -drehrichtung über einen separaten DMX-Kanal festlegst, während die Frequenz für die Goboshake-Funktion auf demselben DMX-Kanal liegt wie die Auswahl der Gobos selbst. Beginnen wir also mit der Programmierung des DMX-Kanals für die Drehgeschwindigkeit und -drehrichtung. Dieser Teil ist eines von mehreren untergeordneten Elementen des gobo-Elements. Für die Drehung gibt es in DMXControl 3 das Element goborotation, dem du direkt auch einen dmxchannel zuordnest.

    <gobowheel dmxchannel="6">
      <goborotation dmxchannel="7">

Die folgenden drei Einträge definieren dann die jeweilige Drehrichtung und die zugehörige Geschwindigkeit sowie den DMX-Wertebereich, bei dem die Goborotation gestoppt wird. Wie du siehst, hinterlegst du die Angaben genauso wie für die kontinuierliche Drehung des Farbrads. Der Wert ccw steht hierbei für Drehung entgegen dem Uhrzeigersinn. Bei der Angabe für das Stoppen der Goborotation genügt nur eine einzige Angabe. Bei diesem Moving Head verwenden wir für den step mit dem stop-Wert den DMX-Wertebereich 0 bis 2.

        <step type="stop" mindmx="0" maxdmx="2" />
        <range type="cw" mindmx="3" maxdmx="128" minval="0.1" maxval="8" />
        <range type="ccw" mindmx="133" maxdmx="255" minval="0.1" maxval="8" />
      </goborotation>

Da die Frequenz für die Goboshake-Funktion auf dem gleichen DMX-Kanal liegt, wie das eigentliche Goborad selbst, musst du hier keine weiteren Angaben machen. Stattdessen fügst du dem XML-Code einfach die folgende Zeile hinzu. Damit weiß die HAL, dass die Goboshake-Funktion ebenfalls auf dem DMX-Kanal 6 liegt.

      <goboshake />

Mit den folgenden Schritten hinterlegst du die verfügbaren Gobos in dem Moving Head. Neben den step-Elementen, wo der DMX-Wertebereiche für das entsprechende Gobo definiert, mit dem Attribut val das Icon verlinkt und beim Attribut caption eine beliebige Beschreibung des Gobos angeben ist, folgt in dem untergeordneten range-Element die Definition der Goboshake-Frequenz. Der wesentliche Unterschied zu den bisherigen Geschwindigkeitsangaben ist, dass du hier zusätzlich das Attribut handler mit dem Wert goboshake einfügen musst. Wie hier andere Konstellationen umgesetzt werden, findest du im Artikel Grundaufbau der DDFs bzw. in der vollständigen Erläuterung der Syntax für das Gobo. Die eingetragenen Werte bei minval und maxval für die minimale und maximale Goboshake-Frequenz sind hier im übrigen Schätzwerte, da diese nicht in der Kanalbelegung oder an anderer Stelle in der Bedienungsanleitung angegeben sind.

      <step type="open" mindmx="0" maxdmx="9" caption="Open" />
      <step type="gobo" mindmx="10" maxdmx="19" val="Showtec Indigo 150 Gobo 1.png" caption="Splash">
        <range handler="goboshake" mindmx="200" maxdmx="219" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="20" maxdmx="29" val="Showtec Indigo 150 Gobo 2.png" caption="Sun">
        <range handler="goboshake" mindmx="180" maxdmx="199" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="30" maxdmx="39" val="Showtec Indigo 150 Gobo 3.png" caption="Star">
        <range handler="goboshake" mindmx="160" maxdmx="179" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="40" maxdmx="49" val="Showtec Indigo 150 Gobo 4.png" caption="Quadrangle">
        <range handler="goboshake" mindmx="140" maxdmx="159" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="50" maxdmx="59" val="Showtec Indigo 150 Gobo 5.png" caption="Line">
        <range handler="goboshake" mindmx="120" maxdmx="139" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="60" maxdmx="69" val="Showtec Indigo 150 Gobo 6.png" caption="Glass 1">
        <range handler="goboshake" mindmx="100" maxdmx="119" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="70" maxdmx="79" val="Showtec Indigo 150 Gobo 7.png" caption="Glass 2">
        <range handler="goboshake" mindmx="80" maxdmx="99" minval="0.1" maxval="3" />
      </step>

Die kontinuierliche Drehung des Goborads definierst du auf die gleiche Weise, wie du es bereits beim Farbrad gemacht hast.

      <wheelrotation>
        <range type="cw" mindmx="220" maxdmx="255" minval="0.1" maxval="2" />
      </wheelrotation>
    </gobowheel>

Prisma

Das Prisma auf DMX-Kanal 9 lässt sich nach dem umfangreichen DMX-Kanal für Goborad und Goborotation mit sehr wenigen Zeilen in den XML-Code aufnehmen. Du musst hier nur zwei Zustände definieren: den Zustand ohne Prisma mit dem Wert open und den Zustand mit dem eingefahrenen Prisma mit dem Wert prism für das Attribut type. Auch hier kannst du beim Attribut caption eine kurze Beschreibung eintragen.

    <prism dmxchannel="8">
      <step type="open" mindmx="0" maxdmx="127" caption="open" />
      <step type="prism" mindmx="128" maxdmx="255" caption="3-fach Primsa" />
    </prism>

Dimmer

Der Moving Head verfügt über einen Dimmerkanal ohne weitere Zusatzfunktionen, sodass du hier keine weiteren Angaben im DDF hinterlegen musst und auf die Standardwerte der HAL zurückgreifen kannst.

    <dimmer dmxchannel="9" />

Shutter

In der Kanalbelegung findest du auf dem DMX-Kanal 11 sowohl die Strobefunktion als auch den Shutter. Dieser ist trotz der verbauten LED dem ursprünglich mechanisch arbeitendem Shutter nachempfunden, der für Moving Heads mit Entladungslampe benötigt wird. Im DDF musst du nur zwei der aufgeführten Zustände aufnehmen, damit die HAL die Funktion ordnungsgemäß umsetzen kann. Üblicherweise reicht es aus, wenn du für den Zustand open den niedrigsten der aufgeführten DMX-Wertebereiche übernimmst. Genauso verfährst du mit dem Zustand closed, sofern dieser mehrfach auf dem DMX-Kanal enthalten ist. Für beide Zustände gibt du dann nur über minval und maxval die DMX-Werte für den jeweiligen Zustand an.

    <shutter dmxchannel="10">
      <step type="closed" mindmx="0" maxdmx="31" />
      <step type="open" mindmx="32" maxdmx="63" />
    </shutter>

Strobe

Wie bei der Funktion Shutter erwähnt, teilen sich der Shutter und die Strobe-Funktion meistens einen DMX-Kanal. Die HAL kann mit dieser Situation entsprechend umgehen, sodass du hier für zwei Funktionen bei dmxchannel die gleichen DMX-Kanäle einträgst. Du musst du neben den drei verschiedenen Strobe-Funktionen linear, pulse und random noch den Bereich angeben, in dem die Strobe-Funktion deaktiviert ist. Hier empfiehlt es sich, dass du einfach den gesamten DMX-Wertebereich für Shutter closed und open übernimmt. In diesem Fall ist es so, dass der Shutter ab DMX-Wert 0 geschlossen und bis DMX-Wert 63 offen ist. Die Angaben für die minimale und maximale Strobe-Frequenz ergeben sich übrigens wieder aus den technischen Daten zu diesem Moving Head. Diese Werte musst du auch zwingend eintragen, da sonst das DDF deinem Projekt nicht hinzugefügt werden kann.

    <strobe dmxchannel="10">
      <step type="open" mindmx="0" maxdmx="63" />
      <range type="linear" mindmx="64" maxdmx="95" minval="0.5" maxval="15" />
      <range type="pulse" mindmx="128" maxdmx="159" minval="0.5" maxval="15" />
      <range type="random" mindmx="192" maxdmx="223" minval="0.5" maxval="15" />
    </strobe>

Kanal für allgemeine Gerätefunktionen

Von dem DMX-Kanal 12 übernehmen wir nur Teile in ein rawstep-Element, um beim Auswählen des Moving Heads in der Stage View eine Auswahlliste zu erhalten, die sich später dann in einer Cue abspeichern lässt. Das Unterscheidungskriterium war hier, dass alle folgenden Einstellungen dauerhaft an den Moving Head gesendet, während Funktionen für den Reset nur kurzzeitig aufgerufen werden müssen. Für diese Funktionen erstellen wir im nächsten Abschnitt passende Procedures.

    <rawstep dmxchannel="11" name="Control">
      <step caption="No function" mindmx="0" maxdmx="19" />
      <step caption="Auto 1" mindmx="60" maxdmx="79" />
      <step caption="Auto 2" mindmx="80" maxdmx="99" />
      <step caption="Sound 1" mindmx="100" maxdmx="119" />
      <step caption="Sound 2" mindmx="120" maxdmx="139" />
    </rawstep>
  </functions>

Procedures

In diesem Beispiel haben wir es nun erstmals mit Procedures zu tun. Procedures setzt du immer dann ein, wenn du Funktionen deiner Geräte schnell ansteuern möchtest, die du für den Live-Betrieb (also die Lichtshow) am Ende nicht brauchst und deswegen auch in keiner Cuelist abspeicherst. Für diesen Moving Head richten wir vier verschiedene Procedures ein:

  • Procedure 1 zum Resetten des Moving Heads
  • Procedure 2 für das Starten des automatischen Testprogramms
  • Procedure 3 zum Aktivieren des Blackouts während der Pan- und Tilt-Bewegung
  • Procedure 4 zum Deaktivieren des Pan-Tilt-Blackouts

Das Angelegen der Procedures geht in DMXControl 3 auch um ein Vielfaches schnell und ist dabei auch weniger komplex, wenn du noch Procedures von DDFs für DMXControl 2 vor Augen hast. Bei DMXControl 3 besteht ein Standard-Procedure neben dem einrahmenden Element in der Regel nur aus drei weiteren Codezeilen. In diesen drei Codezeilen wird bestimmt,

  • welcher DMX-Kanal auf welchen DMX-Wert gesetzt,
  • wie lange der zuvor gesetzt DMX-Wert ausgegeben und
  • ob der DMX-Wert des zugehörigen DMX-Kanals wieder zurückgesetzt werden soll.

DMXControl 3 arbeitet die Befehle grundsätzlich in der Reihenfolge ab, wie sie im DDF hinterlegt sind. Somit ist es auch möglich, innerhalb eines Procedures weitere DMX-Kanäle anzusprechen und hier ebenfalls bestimmte DMX-Werte zu setzen. Dieser Punkt sei an dieser Stelle nur der Vollständigkeit erwähnt. Des Weiteren gibt es in DMXControl 3 Procedures für Standard-Funktionen, wie beispielsweise den Reset eines Geräts. Das erkennst du immer direkt an der Tag-Bezeichnung. Bei diesen Procedure ist die Beschreibung einheitlich hinterlegt und der Eintrag im Kontextmenü in der Stage View größtenteils auch mit einem Icon versehen. Du kannst dir aber auch eigene Procedures mit eigenen Namen anlegen. Wie du später sehen wirst, gibt es hier nur marginale Unterschiede du den Procedures für die Standard-Funktionen.

Geräte-Reset

Für den Geräte-Reset verwenden wir ein Standard-Procedure von DMXControl 3. Dieses Element trägt die Bezeichnung reset. Der eigentliche Programmablauf beginnt dann in der folgenden Zeile, in der beim Attribut dmxchannel der DMX-Kanal 11 ausgewählt und mit value auf den Wert 200 gesetzt wird.

  <procedures>
    <reset>
      <set dmxchannel="11" value="200" />

Die zweite Zeile in diesem Procedure sagt aus, wie lange der DMX-Wert 200 gehalten werden soll. Hier tragen wir für das Attribut value den Wert 6000 ein. 6000 steht hier für 6000 Millisekunden, also 6 Sekunden.

      <hold value="6000" />

In der letzten Zeile wird der DMX-Kanal 11 wieder auf den Ausgangswert zurückgesetzt, wie er durch andere Funktionen in diesem DDF gesetzt wird. Mit </reset> wird das Procedure geschlossen und damit funktionsfähig.

      <restore dmxchannel="11" />
    </reset>

Testprogramm

Um ein eigenes Procedure zu erstellen, musst du nur zu Beginn etwas anders starten. Die Elemente deiner eigenem Procedures tragen allesamt den Namen procedure. Um auch in der GUI einen Namen für dein eigenes Procedure zu sehen, trägst du in dem Attribut name eine entsprechende Bezeichnung ein. In diesem Fall lautet der Name dieses Procedure Test.

    <procedure name="Test">

Alle folgenden Einträge erstellst analog zum ersten Procedure. Wir sprechen den DMX-Kanal 11 an und setzen für 20 Sekunden den DMX-Wert auf 160. Nach Ablauf dieser Zeit springt der DMX-Wert wieder auf den Ausgang-Wert zurück. Mit </procedure> wird dein eigenes Procedure geschlossen.

      <set dmxchannel="11" value="160" />
      <hold value="20000" />
      <restore dmxchannel="11" />
    </procedure>

Pan-Tilt-Blackout

Zum Aktivieren und Deaktivieren des Blackouts bei der Pan-Tilt-Bewegung erstellen wir insgesamt zwei Procedures. Nach dem zweiten Procedure schließt du nicht nur das Procedure selbst, sondern mit </procedures> im Anschluss auch den gesamten Procedures-Teil im DDF. Die letzte Zeile ist dann wie üblich </device>.

    <procedure name="Pan-Tilt blackout on">
      <set dmxchannel="11" value="20" />
      <hold value="4500" />
      <restore dmxchannel="11" />
    </procedure>
    <procedure name="Pan-Tilt blackout off">
      <set dmxchannel="11" value="40" />
      <hold value="4500" />
      <restore dmxchannel="11" />
    </procedure>
  </procedures>
</device>

Ergebnis: das fertige DDF

Das komplette DDF für den Showtec Indigo 150 sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
<device image="Showtec Indigo 150 V2.png" type="DMXDevice" dmxcversion="3.2.3" ddfversion="1.2.0">
  <information>
    <model>Indigo 150 V2</model>
    <vendor>Showtec</vendor>
    <author>Stefan Kistner</author>
    <mode>12 channel</mode>
    <electrical>
      <static>10</static>
      <dimmer>20</dimmer>
    </electrical>
  </information>
  <functions>
    <position>
      <pan dmxchannel="0" finedmxchannel="1">
        <range range="540" />
      </pan>
      <tilt dmxchannel="2" finedmxchannel="3">
        <range range="270" />
      </tilt>
    </position>
    <ptspeed dmxchannel="4">
      <range type="linear" mindmx="255" maxdmx="0" minval="0" maxval="100" />
    </ptspeed>
    <colorwheel dmxchannel="5">
      <step type="color" val="#FFFFFF" mindmx="0" maxdmx="14" caption="White" />
      <step type="color" val="#FF0000" mindmx="15" maxdmx="29" caption="Red" />
      <step type="color" val="#FFFF00" mindmx="30" maxdmx="44" caption="Yellow" />
      <step type="color" val="#00FF00" mindmx="45" maxdmx="59" caption="Green" />
      <step type="color" val="#FF00FF" mindmx="60" maxdmx="74" caption="Pink" />
      <step type="color" val="#0000FF" mindmx="75" maxdmx="89" caption="Blue" />
      <step type="color" val="#FF7F00" mindmx="90" maxdmx="104" caption="Orange" />
      <step type="color" val="#B200CC" mindmx="105" maxdmx="119" caption="Purple" />
      <step type="color" val="#3399FF" mindmx="120" maxdmx="134" caption="Light Blue" />
      <step type="color" val="#99FF66" mindmx="135" maxdmx="149" caption="Light Green" />
      <wheelrotation>
        <range type="cw" mindmx="150" maxdmx="255" minval="0.1" maxval="8" />
      </wheelrotation>
    </colorwheel>
    <gobowheel dmxchannel="6">
      <goborotation dmxchannel="7">
        <step type="stop" mindmx="0" maxdmx="2" />
        <range type="cw" mindmx="3" maxdmx="128" minval="0.1" maxval="8" />
        <range type="ccw" mindmx="133" maxdmx="255" minval="0.1" maxval="8" />
      </goborotation>
      <goboshake />
      <step type="open" mindmx="0" maxdmx="9" caption="Open" />
      <step type="gobo" mindmx="10" maxdmx="19" val="Showtec Indigo 150 Gobo 1.png" caption="Splash">
        <range handler="goboshake" mindmx="200" maxdmx="219" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="20" maxdmx="29" val="Showtec Indigo 150 Gobo 2.png" caption="Sun">
        <range handler="goboshake" mindmx="180" maxdmx="199" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="30" maxdmx="39" val="Showtec Indigo 150 Gobo 3.png" caption="Star">
        <range handler="goboshake" mindmx="160" maxdmx="179" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="40" maxdmx="49" val="Showtec Indigo 150 Gobo 4.png" caption="Quadrangle">
        <range handler="goboshake" mindmx="140" maxdmx="159" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="50" maxdmx="59" val="Showtec Indigo 150 Gobo 5.png" caption="Line">
        <range handler="goboshake" mindmx="120" maxdmx="139" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="60" maxdmx="69" val="Showtec Indigo 150 Gobo 6.png" caption="Glass 1">
        <range handler="goboshake" mindmx="100" maxdmx="119" minval="0.1" maxval="3" />
      </step>
      <step type="gobo" mindmx="70" maxdmx="79" val="Showtec Indigo 150 Gobo 7.png" caption="Glass 2">
        <range handler="goboshake" mindmx="80" maxdmx="99" minval="0.1" maxval="3" />
      </step>
      <wheelrotation>
        <range type="cw" mindmx="220" maxdmx="255" minval="0.1" maxval="2" />
      </wheelrotation>
    </gobowheel>
    <prism dmxchannel="8">
      <step type="open" mindmx="0" maxdmx="127" caption="open" />
      <step type="prism" mindmx="128" maxdmx="255" caption="3-fach Primsa" />
    </prism>
    <dimmer dmxchannel="9" />
    <shutter dmxchannel="10">
      <step type="closed" mindmx="0" maxdmx="31" />
      <step type="open" mindmx="32" maxdmx="63" />
    </shutter>
    <strobe dmxchannel="10">
      <step type="open" mindmx="0" maxdmx="63" />
      <range type="linear" mindmx="64" maxdmx="95" minval="0.5" maxval="15" />
      <range type="pulse" mindmx="128" maxdmx="159" minval="0.5" maxval="15" />
      <range type="random" mindmx="192" maxdmx="223" minval="0.5" maxval="15" />
    </strobe>
    <rawstep dmxchannel="11" name="Control">
      <step caption="No function" mindmx="0" maxdmx="19" />
      <step caption="Auto 1" mindmx="60" maxdmx="79" />
      <step caption="Auto 2" mindmx="80" maxdmx="99" />
      <step caption="Sound 1" mindmx="100" maxdmx="119" />
      <step caption="Sound 2" mindmx="120" maxdmx="139" />
    </rawstep>
  </functions>
  <procedures>
    <reset>
      <set dmxchannel="11" value="200" />
      <hold value="6000" />
      <restore dmxchannel="11" />
    </reset>
    <procedure name="Test">
      <set dmxchannel="11" value="160" />
      <hold value="20000" />
      <restore dmxchannel="11" />
    </procedure>
    <procedure name="Pan-Tilt blackout on">
      <set dmxchannel="11" value="20" />
      <hold value="4500" />
      <restore dmxchannel="11" />
    </procedure>
    <procedure name="Pan-Tilt blackout off">
      <set dmxchannel="11" value="40" />
      <hold value="4500" />
      <restore dmxchannel="11" />
    </procedure>
  </procedures>
</device>