Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{ | {{Manual Header | ||
| Type = DMXC3 DDFs | |||
| Version = 3.2.3 | |||
|zurückLink = DDF- | | zurückLink = Grundaufbau (DDF-Syntax) DMXC3 | ||
|zurückText = Grundaufbau der DDFs | | zurückText = Grundaufbau der DDFs | ||
|vorLink = DDF- | | vorLink = Grundregeln (DDF-Syntax) DMXC3 | ||
|vorText = Grundregeln der DDF-Erstellung | | vorText = Grundregeln der DDF-Erstellung | ||
}} | }} | ||
Zeile 19: | Zeile 19: | ||
Das Attribut <code>dmxchannel</code> inklusive der Abwandlungen <code>finedmxchannel</code>, <code>ultradmxchannel</code> und <code>ultrafinedmxchannel</code> gibt den DMX-Kanal an, auf dem sich die entsprechende Funktion befindet. In den meisten Fällen besitzt eine Funktion nur eine 8-bit-Auflösung, weswegen vielerorts nur das Attribut <code>dmxchannel</code> benötigt wird. | Das Attribut <code>dmxchannel</code> inklusive der Abwandlungen <code>finedmxchannel</code>, <code>ultradmxchannel</code> und <code>ultrafinedmxchannel</code> gibt den DMX-Kanal an, auf dem sich die entsprechende Funktion befindet. In den meisten Fällen besitzt eine Funktion nur eine 8-bit-Auflösung, weswegen vielerorts nur das Attribut <code>dmxchannel</code> benötigt wird. | ||
Dass für die Angabe des DMX-Kanals bis zu vier Attribute benötigt werden, ist darin begründet, dass auf jedem DMX-Kanal nur insgesamt 256 verschiedene Werte übertragen werden können. Die Werte liegen im Bereich von DMX-Wert 0 bis DMX-Wert 255. Dies beschreibt die klassische Auflösung bzw. Genauigkeit eines DMX-Kanals von 8 bit. | Dass für die Angabe des DMX-Kanals bis zu vier Attribute benötigt werden, ist darin begründet, dass auf jedem DMX-Kanal nur insgesamt 256 verschiedene Werte übertragen werden können. Die Werte liegen im Bereich von DMX-Wert {{Manual Value | DMX value | 0}} bis DMX-Wert {{Manual Value | DMX value | 255}}. Dies beschreibt die klassische Auflösung bzw. Genauigkeit eines DMX-Kanals von 8 bit. | ||
Um bei bestimmten Funktionen wie zum Beispiel bei Pan, Tilt oder beim Dimmer feine Auflösungen zu erzielen, werden weitere DMX-Kanäle hinzugezogen, um die Auflösung zu erhöhen. In diesem Fall spricht man dann von einer Auflösung mit 16 bit oder der zweite DMX-Kanal für die Pan-Funktion wird mit Pan fine bezeichnet. | Um bei bestimmten Funktionen wie zum Beispiel bei Pan, Tilt oder beim Dimmer feine Auflösungen zu erzielen, werden weitere DMX-Kanäle hinzugezogen, um die Auflösung zu erhöhen. In diesem Fall spricht man dann von einer Auflösung mit 16 bit oder der zweite DMX-Kanal für die Pan-Funktion wird mit Pan fine bezeichnet. | ||
Zeile 27: | Zeile 27: | ||
* <code>ultradmxchannel</code> für 24-bit-Auflösung | * <code>ultradmxchannel</code> für 24-bit-Auflösung | ||
* <code>ultrafinedmxchannel</code> für 32-bit-Auflösung | * <code>ultrafinedmxchannel</code> für 32-bit-Auflösung | ||
Es ist dabei zu beachten, dass bei der 32-bit-Auflösung auch alle vier DMX-Kanäle anzugeben sind. Es ist mitunter nicht unüblich, dass die vier DMX-Kanäle in der Belegung nicht direkt hintereinander angeordnet sind. Die folgende Tabelle zeigt die Definition der aktuell möglichen Auflösungen anhand | Es ist dabei zu beachten, dass bei der 32-bit-Auflösung auch alle vier DMX-Kanäle anzugeben sind. Es ist mitunter nicht unüblich, dass die vier DMX-Kanäle in der Belegung nicht direkt hintereinander angeordnet sind. Die folgende Tabelle zeigt die Definition der aktuell möglichen Auflösungen für eine Gerätefunktion exemplarische anhand der Funktion "Dimmers". | ||
{{DMXC3 Manual-Tableheader DDF-Code examples | de }} | |||
| Gerätefunktion mit 8-bit-Auflösung | |||
| <syntaxhighlight lang="xml"> | |||
<dimmer dmxchannel="0" /> | <dimmer dmxchannel="0" /> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Dimmer auf DMX-Kanal | Dimmer auf DMX-Kanal {{Manual Value | DMX channel | 1}} | ||
|- | |- | ||
| | | Gerätefunktion mit 16-bit-Auflösung | ||
| <syntaxhighlight lang="xml"> | | <syntaxhighlight lang="xml"> | ||
<dimmer dmxchannel="0" finedmxchannel="1" /> | <dimmer dmxchannel="0" finedmxchannel="1" /> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Dimmer mit 16-bit-Auflösung auf DMX-Kanal | Dimmer mit 16-bit-Auflösung auf DMX-Kanal {{Manual Value | DMX channel | 1}} und {{Manual Value | DMX channel | 2}} | ||
|- | |- | ||
| | | Gerätefunktion mit 24-bit-Auflösung | ||
| <syntaxhighlight lang="xml"> | | <syntaxhighlight lang="xml"> | ||
<dimmer dmxchannel="0" finedmxchannel="1" ultradmxchannel="2" /> | <dimmer dmxchannel="0" finedmxchannel="1" ultradmxchannel="2" /> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Dimmer mit 24-bit-Auflösung auf DMX-Kanal | Dimmer mit 24-bit-Auflösung auf DMX-Kanal {{Manual Value | DMX channel | 1}}, {{Manual Value | DMX channel | 2}} und {{Manual Value | DMX channel | 3}} | ||
|- | |- | ||
| | | Gerätefunktion mit 32-bit-Auflösung | ||
| <syntaxhighlight lang="xml"> | | <syntaxhighlight lang="xml"> | ||
<dimmer dmxchannel="0" finedmxchannel="1" ultradmxchannel="2" ultrafinedmxchannel="3" /> | <dimmer dmxchannel="0" finedmxchannel="1" ultradmxchannel="2" ultrafinedmxchannel="3" /> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Dimmer mit 32-bit-Auflösung auf DMX-Kanal | Dimmer mit 32-bit-Auflösung auf DMX-Kanal {{Manual Value | DMX channel | 1}}, {{Manual Value | DMX channel | 2}}, {{Manual Value | DMX channel | 3}} und {{Manual Value | DMX channel | 4}} | ||
|} | |} | ||
Zeile 67: | Zeile 65: | ||
* Iris | * Iris | ||
* Zoom | * Zoom | ||
* Index | |||
* Rotation | |||
* Raw | * Raw | ||
* Rawrange | * Rawrange | ||
Zeile 72: | Zeile 72: | ||
Der Wert für das Attribut <code>defaultval</code> muss dabei immer innerhalb der <code>range</code> liegen, die in der Regel nachfolgend angegeben wird. Greift man bei einer Funktion auf die Standarddefinition für den Wertebereich zurück, muss der Wert für <code>defaultval</code> entsprechend zwischen <code>0</code> und <code>1</code> bzw. zwischen <code>0</code> und <code>100</code> liegen. | Der Wert für das Attribut <code>defaultval</code> muss dabei immer innerhalb der <code>range</code> liegen, die in der Regel nachfolgend angegeben wird. Greift man bei einer Funktion auf die Standarddefinition für den Wertebereich zurück, muss der Wert für <code>defaultval</code> entsprechend zwischen <code>0</code> und <code>1</code> bzw. zwischen <code>0</code> und <code>100</code> liegen. | ||
{ | {{DMXC3 Manual-Tableheader DDF-Code examples | de }} | ||
| Vorgabewert für die Helligkeit | |||
| <syntaxhighlight lang="xml"> | |||
<dimmer dmxchannel="0" defaultval="25"/> | <dimmer dmxchannel="0" defaultval="25"/> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Spricht man den Dimmer (Intensity) nicht an, setzt der HAL den Wert für den Dimmer nun entgegen der Standarddefinition auf | Spricht man den Dimmer (Intensity) nicht an, setzt der {{Manual Windowcaption | [[Hardware Abstraction Layer (HAL) DMXC3 | Hardware Abstraction Layer (HAL)]]}} den Wert für den Dimmer nun entgegen der Standarddefinition auf {{Manual Value | | 25%}}. | ||
|- | |- | ||
| Eigener Wert für die Farbtemperatur | | Eigener Wert für die Farbtemperatur | ||
Zeile 88: | Zeile 86: | ||
</colortemp> | </colortemp> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Farbtemperatur kann auf DMX-Kanal | Farbtemperatur kann auf DMX-Kanal {{Manual Value | DMX channel | 1}} von {{Manual Value | | 9.500 K}} bei DMX-Wert {{Manual Value | DMX value | 0}} abnehmend bis {{Manual Value | | 2.5000 K}} bei DMX-Wert {{Manual Value | DMX value | 255}} eingestellt werden. Nutzt man die Funktion nicht und hat keinen spezifischen Wert in einer Szene etc. hinterlegt, wird statt des Standardwerts von {{Manual Value | | 6.500 K}} eine Farbtemoperatur von {{Manual Value | | 5.500 K}} gesetzt. | ||
|- | |- | ||
| Frei definierter Regler | | Frei definierter Regler | ||
Zeile 96: | Zeile 94: | ||
</raw> | </raw> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Die standardmäßige Geschwindigkeit der Automatik-Programme soll | Die standardmäßige Geschwindigkeit der Automatik-Programme soll {{Manual Value | | 25%}} betragen. Bei der Angabe des Wertebereich von {{Manual Value | | 0%}} bei DMX-Wert {{Manual Value | DMX value | 0}} und {{Manual Value | | 100%}} bei DMX-Wert {{Manual Value | DMX value | 255}} wird durch <code>defaultval</code> ein DMX-Wert von {{Manual Value | DMX value | 63}} ausgegeben. | ||
|} | |} | ||
Zeile 125: | Zeile 123: | ||
* der minimale und maximale Abstrahlwinkel des Zooms | * der minimale und maximale Abstrahlwinkel des Zooms | ||
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 zum Beispiel das Gobo am langsamsten dreht. Genauso verhält es sich mit der maximalen Drehzahl des Gobos. 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 Artikel [[DDF-Syntax_Gobo_DMXC3#Basis-Funktionen|Goborad]] zu finden. Eine übersichtlichere Konstellation zeigt dagegen das folgende Beispiel für die Strobefrequenz, wo beim niedrigsten DMX-Wert | 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 zum Beispiel das Gobo am langsamsten dreht. Genauso verhält es sich mit der maximalen Drehzahl des Gobos. 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 Artikel [[DDF-Syntax_Gobo_DMXC3#Basis-Funktionen|Goborad]] zu finden. Eine übersichtlichere Konstellation zeigt dagegen das folgende Beispiel für die Strobefrequenz, wo beim niedrigsten DMX-Wert {{Manual Value | DMX value | 0}} auch die geringste Strobefrequenz von {{Manual Value | | 0,5 Hz}} ausgegeben wird. | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Zeile 133: | Zeile 131: | ||
== Optionale Funktionselemente == | == Optionale Funktionselemente == | ||
=== <code>supporthandler</code>: Werteabhängige Steuerung von DMX-Kanälen === | === <code>supporthandler</code>: Werteabhängige Steuerung von DMX-Kanälen === | ||
Einige Geräte besitzen eine oder auch mehrere Funktionen, die nach dem Prinzip arbeiten: "Man wähle auch einem DMX-Kanal die Funktion aus und über einen zweiten DMX-Kanal steuert man die Geschwindigkeit". Ein anschauliches Beispiel kann hier ein Goborad mit rotierenden Gobos sein, welche sich zusätzlich auch noch indizieren lassen. Hier hat man bereits drei verschiedene Funktionen: | |||
* Indizierung der Gobos | |||
* Rotation im Uhrzeigersinn | |||
* Rotation entgegen des Uhrzeigersinns | |||
Über einen ersten DMX-Kanal wählt man dann eine der drei Funktionen aus, während der zweite DMX-Kanal immer über seinen gesamten Wertebereich von {{Manual Value | DMX value | 0}} bis {{Manual Value | DMX value | 255}} arbeitet und die Funktion wie | |||
* Angabe des Indizierungswinkels | |||
* Rotationsgeschwindigkeit, von langsam bis schnell im Uhrzeigersinn | |||
* Rotationsgeschwindigkeit, von langsam bis schnell entgegen des Uhrzeigersinns | |||
bestimmt. | |||
Um dieses Szenario in einem DDF für DMXControl 3 umzusetzen gibt es den so genannten <code>supporthandler</code>. Dieser besteht immer aus zwei Teilen: | |||
* der Angabe, welcher DMX-Kanal die Funktion umschaltet | |||
* der Zusatz an der Definition, bei der eigentliche Wert festgelegt wird | |||
Im Falle des Goborads baut sich die Implementierung für die Funktion "Indizierung der Gobos" wie folgt auf. Der erste Teil des <code>supporthandler</code> ist eine weitere Zeile innerhalb des Elements <code>goboindex</code>, nachdem in gleichen Zusammenhang vermerkt wurde, dass sich diese Funktion aus dem DMX-Kanal 3 befindet, also der DMX-Kanal 3 den eigentlichen Wert bestimmt. | |||
<syntaxhighlight lang="xml"><goboindex dmxchannel="2"></syntaxhighlight> | |||
Diese Implementierung entspricht dabei der normalen Implementierung ohne die Ergänzung durch den <code>supporthandler</code>. Durch die Angabe der direkt nachfolgenden Zeile | |||
<syntaxhighlight lang="xml"><support dmxchannel="1" name="goboindex" /></syntaxhighlight> | |||
wird definiert, dass die Umschaltung der Funktion auf DMX-Kanal {{Manual Value | DMX channel | 2}} erfolgt. Das zugehörige Schlüsselwort lautet hier ebenfalls <code>goboindex</code>, wobei hier auch jeder andere Wert zulässig ist. Im weiteren gibt man wieder den Wertebereich für die Funktion an, so als ob man auch ohne den <code>supporthandler</code> arbeitet. Die Zeile unterscheidet sich nur dahingehend, dass für <code>mindmx</code> und <code>maxdmx</code> der angegebene Wertebereich des DMX-Kanals erfolgt, welcher den Wert festlegt. Des weiteren schließt man die Zeile durch <code>/></code>nicht ab, sondern lässt diese offen. | |||
<syntaxhighlight lang="xml"><range range="360" mindmx="0" maxdmx="255" minval="0" maxval="360" ></syntaxhighlight> | |||
In der nachfolgenden Zeile, die ein untergeordnetes Element zum <code>range</code>-Element ist, gibt man erst an, auf welchen DMX-Wert der DMX-Kanal zur Auswahl der Funktion gesetzt werden muss, sobald man wie in diesem Beispiel die Funktion Goboindizierung nutzt. Neben dem entsprechenden Wertebereich via der Attribute <code>mindmx</code> und <code>maxdmx</code>, erhält diese Zeile den zweiten Teil des <code>supporthandler</code>. Dieser besteht aus dem Attribut <code>handler</code> und als Wert dem Schlüsselwort, welches man zuvor gewählt hat. Hier ist es das Schlüsselwort <code>goboindex</code>, welches man mit dem Präfix <code>support-</code> als Wert hinterlegt. Damit sind alle Definitionen innerhalb dieser Zeile abgeschlossen. | |||
<syntaxhighlight lang="xml"><step handler="support-goboindex" mindmx="0" maxdmx="15" /></syntaxhighlight> | |||
{{Manual Box | de | Important | Die Zeile mit der Angabe des DMX-Werts für die Auswahl der entsprechenden Funktion muss jeder Definition hinzugefügt werden, die einen bestimmten DMX-Wert auf dem Auswahlkanal benötigt. Im Falle beispielsweise der Goborotation bedeutet dies, dass dieser Zusatz möglicherweise dreimal einzufügen ist: Rotation im Uhrzeigersinn, Stop, Rotation entgegen des Uhrzeigersinns.}} | |||
Nachfolgende erfolgt der restliche Teil für die Implementierung der Goboindizierung. In der Summe sieht das Code-Stück dann wie folgt aus. | |||
{{DMXC3 Manual-Tableheader DDF-Code examples | de }} | |||
| Goboindizierung | |||
| <syntaxhighlight lang="xml"> | |||
<gobowheel dmxchannel="0"> | |||
<goboindex dmxchannel="2"> | |||
<support dmxchannel="1" name="goboindex" /> | |||
<range range="360" mindmx="0" maxdmx="255" minval="0" maxval="360" > | |||
<step handler="support-goboindex" mindmx="0" maxdmx="15" /> | |||
</range> | |||
</goboindex> | |||
<step type="open" mindmx="0" maxdmx="15" caption="Open" /> | |||
<step type="gobo" mindmx="16" maxdmx="31" val="congostar.png" caption="Gobo 1" /> | |||
<step type="gobo" mindmx="32" maxdmx="47" val="sunburst.png" caption="Gobo 2" /> | |||
</syntaxhighlight> | |||
Goborad auf DMX-Kanal {{Manual Value | DMX channel | 1}}, Goboindizierung auf DMX-Kanal {{Manual Value | DMX channel | 3}}, Auswahl des Modus "Goboindizierung" über DMX-Kanal {{Manual Value | DMX channel | 2}}: | |||
* Aktivierung der Goboindizierung bei einem DMX-Wert auf DMX-Kanal {{Manual Value | DMX channel | 2}} zwischen {{Manual Value | DMX value | 0}} und {{Manual Value | DMX value | 15}}. Positionierung / Ausrichtung des Gobos über DMX-Kanal {{Manual Value | DMX channel | 3}} in einem Winkel zwischen {{Manual Value | | 0°}} bei DMX-Wert {{Manual Value | DMX value | 0}} und {{Manual Value | | 360°}} bei DMX-Wert {{Manual Value | DMX value | 255}}. | |||
|} | |||
''Weitere Beispiele für die Nutzung des <code>supporthandler</code> sind in den Artikeln zum '''[[Color (DDF-Syntax) DMXC3#Farbrad|Farbrad]]''' und zum '''[[Gobo (DDF-Syntax) DMXC3#Goborad|Goborad]]''' zu finden.'' | |||
[[en: Function elements (DDF-Syntax) DMXC3]] | |||
[[Kategorie: DDF DMXControl 3]] | [[Kategorie: DDF DMXControl 3]] |
Aktuelle Version vom 10. November 2024, 15:08 Uhr
Artikel beschreibt DMXControl 3.2.3 |
Funktionselemente (DDF-Syntax) DMXC3 | ||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
|
Neben der allgemeinen Struktur in den DDFs für DMXControl 3 gibt es innerhalb des Funktionsteils verschiedene Elemente, die in (nahezu) allen Funktionen Anwendung finden (können). Diese finden sich an zwei Stellen:
- Es existieren für alle Funktionen verschiedene zusätzliche Attribute, im folgenden als Funktionsattribute. Einige dieser Funktionsattribute sind dabei Pflichtangaben, um die verwendete Funktion vollständig zu definieren.
- Viele Funktionen benötigen verschiedene untergeordnete Funktionselemente. Diese Funktionselemente definieren den Wertebereichs eines DMX-Kanals genauer oder es werden vorgegebene Abhängigkeiten hergestellt.
Funktionsattribute
Pflichtattribute
dmxchannel
: DMX-Kanal
Das Attribut dmxchannel
inklusive der Abwandlungen finedmxchannel
, ultradmxchannel
und ultrafinedmxchannel
gibt den DMX-Kanal an, auf dem sich die entsprechende Funktion befindet. In den meisten Fällen besitzt eine Funktion nur eine 8-bit-Auflösung, weswegen vielerorts nur das Attribut dmxchannel
benötigt wird.
Dass für die Angabe des DMX-Kanals bis zu vier Attribute benötigt werden, ist darin begründet, dass auf jedem DMX-Kanal nur insgesamt 256 verschiedene Werte übertragen werden können. Die Werte liegen im Bereich von DMX-Wert 0 bis DMX-Wert 255. Dies beschreibt die klassische Auflösung bzw. Genauigkeit eines DMX-Kanals von 8 bit. Um bei bestimmten Funktionen wie zum Beispiel bei Pan, Tilt oder beim Dimmer feine Auflösungen zu erzielen, werden weitere DMX-Kanäle hinzugezogen, um die Auflösung zu erhöhen. In diesem Fall spricht man dann von einer Auflösung mit 16 bit oder der zweite DMX-Kanal für die Pan-Funktion wird mit Pan fine bezeichnet.
DMXControl 3 unterstützt aktuell Auflösungen von für alle Funktionen bis 32 bit. Für hierfür werden dann vier DMX-Kanäle zusammengefasst, um die Funktion in dieser Auflösung darzustellen. In den DDFs kommen dabei folgende Bezeichnungen zum Einsatz:
dmxchannel
für 8-bit-Auflösungfinedmxchannel
für 16-bit-Auflösungultradmxchannel
für 24-bit-Auflösungultrafinedmxchannel
für 32-bit-Auflösung
Es ist dabei zu beachten, dass bei der 32-bit-Auflösung auch alle vier DMX-Kanäle anzugeben sind. Es ist mitunter nicht unüblich, dass die vier DMX-Kanäle in der Belegung nicht direkt hintereinander angeordnet sind. Die folgende Tabelle zeigt die Definition der aktuell möglichen Auflösungen für eine Gerätefunktion exemplarische anhand der Funktion "Dimmers".
Variante | Code-Beispiel |
---|---|
Gerätefunktion mit 8-bit-Auflösung | <dimmer dmxchannel="0" />
Dimmer auf DMX-Kanal 1 |
Gerätefunktion mit 16-bit-Auflösung | <dimmer dmxchannel="0" finedmxchannel="1" />
Dimmer mit 16-bit-Auflösung auf DMX-Kanal 1 und 2 |
Gerätefunktion mit 24-bit-Auflösung | <dimmer dmxchannel="0" finedmxchannel="1" ultradmxchannel="2" />
Dimmer mit 24-bit-Auflösung auf DMX-Kanal 1, 2 und 3 |
Gerätefunktion mit 32-bit-Auflösung | <dimmer dmxchannel="0" finedmxchannel="1" ultradmxchannel="2" ultrafinedmxchannel="3" />
Dimmer mit 32-bit-Auflösung auf DMX-Kanal 1, 2, 3 und 4 |
Optionale Attribute
defaultval
: Initialwert bzw. Standardwert
Auf Wunsch kann man bei einer Auswahl von Funktionen vorgeben, welchen Wert diese abweichend von der Standarddefinition in DMXControl 3 annehmen soll. Dies erfolgt über das Attribut defaultval
. Bei folgenden Funktionen kann dieses Attribut eingesetzt werden:
- Intensity
- Switch
- Colortemp
- Focus
- Iris
- Zoom
- Index
- Rotation
- Raw
- Rawrange
- Rawstep
Der Wert für das Attribut defaultval
muss dabei immer innerhalb der range
liegen, die in der Regel nachfolgend angegeben wird. Greift man bei einer Funktion auf die Standarddefinition für den Wertebereich zurück, muss der Wert für defaultval
entsprechend zwischen 0
und 1
bzw. zwischen 0
und 100
liegen.
Variante | Code-Beispiel |
---|---|
Vorgabewert für die Helligkeit | <dimmer dmxchannel="0" defaultval="25"/>
Spricht man den Dimmer (Intensity) nicht an, setzt der Hardware Abstraction Layer (HAL) den Wert für den Dimmer nun entgegen der Standarddefinition auf 25%. |
Eigener Wert für die Farbtemperatur | <colortemp dmxchannel="0" defaultval="5500">
<range mindmx="255" maxdmx="0" minval="2500" maxval="9500"/>
</colortemp>
Farbtemperatur kann auf DMX-Kanal 1 von 9.500 K bei DMX-Wert 0 abnehmend bis 2.5000 K bei DMX-Wert 255 eingestellt werden. Nutzt man die Funktion nicht und hat keinen spezifischen Wert in einer Szene etc. hinterlegt, wird statt des Standardwerts von 6.500 K eine Farbtemoperatur von 5.500 K gesetzt. |
Frei definierter Regler | <raw dmxchannel="0" name="Auto / music speed" defaultval="25">
<range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
</raw>
Die standardmäßige Geschwindigkeit der Automatik-Programme soll 25% betragen. Bei der Angabe des Wertebereich von 0% bei DMX-Wert 0 und 100% bei DMX-Wert 255 wird durch |
Funktionselemente
Die zur Verfügung stehenden Funktionselemente kommen in der Regel immer dann zum Einsatz, wenn auf einem DMX-Kanal mehrere Funktionen untergebracht sind. Dies können zum Beispiel verschiedene Strobe-Modi sein wie linear, zufällig. Bei einem Farbrad bzw. einem Goborad müssen die verschiedenen Farben und Gobos angegeben werden. Aber bereits bei einem Shutter liegen direkt zwei Funktionen vor, nämlich geschlossen und offen.
Um all dies im DDF zu hinterlegen, stehen verschiedene Funktionselemente zur Verfügung. Sie definieren, dass
- zwischen verschiedenen Funktionen auf einem DMX-Kanal nur umgeschaltet wird (
step
). - sich eine Funktion verändern lässt, wenn man einen Reglers in einem bestimmten Bereich bewegt (
range
). - zum Nutzen einer bestimmten Funktion ein anderer DMX-Kanal auf einen vorgegeben DMX-Wert gesetzt werden muss (
supporthandler
).
Ob die genannten Funktionselemente benötigt werden, hängt von der jeweiligen Funktion ab. Existiert bereits eine Standardimplementierung direkt in DMXControl 3, wie es zum Beispiel beim dimmer
der Fall ist, können die Funktionselemente komplett entfallen. Besitzt eine Funktion entweder keine Standardimplementierung oder man muss davon abweichen, kommen die Funktionselemente step
oder range
mehr oder minder verpflichtend zum Einsatz.
Funktionselemente wie zum Beispiel der supporthandler
sind aber per se optional und kommend entsprechend nur in bestimmten Anwendungsfällen zum Einsatz. Entsprechende typische Beispiele sind bei den betreffenden Funktionen aufgeführt.
Benötigte Funktionselemente
step
: Angabe von einzelen Schritten
Das Funktionselemente step
besteht 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 Funktion angegeben. Wichtig ist hier zu wissen, dass die HAL immer den Mittelwert zwischen mindmx
und maxdmx
. Bezogen auf das folgende Beispiel wäre dies der DMX-Wert 227.
<step type="open" mindmx="200" maxdmx="255" />
range
: Angabe eines regelbaren Bereichs
Das Funktionselement range
ist ähnlich aufgebaut, wie das Funktionselement step
. Der wesentlichste Unterschied ist die Ergänzung der Attribute minval
und maxval
. Hier werden beispielsweise angegeben:
- die minimale und maximale Strobefrequenz
- die minimale und maximale Drehzahl für die Goborotation
- der minimale und maximale Abstrahlwinkel des Zooms
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 zum Beispiel das Gobo am langsamsten dreht. Genauso verhält es sich mit der maximalen Drehzahl des Gobos. 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 Artikel Goborad zu finden. Eine übersichtlichere Konstellation zeigt dagegen das folgende Beispiel für die Strobefrequenz, wo beim niedrigsten DMX-Wert 0 auch die geringste Strobefrequenz von 0,5 Hz ausgegeben wird.
<range type="linear" mindmx="0" maxdmx="255" minval="0.5" maxval="15" />
Optionale Funktionselemente
supporthandler
: Werteabhängige Steuerung von DMX-Kanälen
Einige Geräte besitzen eine oder auch mehrere Funktionen, die nach dem Prinzip arbeiten: "Man wähle auch einem DMX-Kanal die Funktion aus und über einen zweiten DMX-Kanal steuert man die Geschwindigkeit". Ein anschauliches Beispiel kann hier ein Goborad mit rotierenden Gobos sein, welche sich zusätzlich auch noch indizieren lassen. Hier hat man bereits drei verschiedene Funktionen:
- Indizierung der Gobos
- Rotation im Uhrzeigersinn
- Rotation entgegen des Uhrzeigersinns
Über einen ersten DMX-Kanal wählt man dann eine der drei Funktionen aus, während der zweite DMX-Kanal immer über seinen gesamten Wertebereich von 0 bis 255 arbeitet und die Funktion wie
- Angabe des Indizierungswinkels
- Rotationsgeschwindigkeit, von langsam bis schnell im Uhrzeigersinn
- Rotationsgeschwindigkeit, von langsam bis schnell entgegen des Uhrzeigersinns
bestimmt.
Um dieses Szenario in einem DDF für DMXControl 3 umzusetzen gibt es den so genannten supporthandler
. Dieser besteht immer aus zwei Teilen:
- der Angabe, welcher DMX-Kanal die Funktion umschaltet
- der Zusatz an der Definition, bei der eigentliche Wert festgelegt wird
Im Falle des Goborads baut sich die Implementierung für die Funktion "Indizierung der Gobos" wie folgt auf. Der erste Teil des supporthandler
ist eine weitere Zeile innerhalb des Elements goboindex
, nachdem in gleichen Zusammenhang vermerkt wurde, dass sich diese Funktion aus dem DMX-Kanal 3 befindet, also der DMX-Kanal 3 den eigentlichen Wert bestimmt.
<goboindex dmxchannel="2">
Diese Implementierung entspricht dabei der normalen Implementierung ohne die Ergänzung durch den supporthandler
. Durch die Angabe der direkt nachfolgenden Zeile
<support dmxchannel="1" name="goboindex" />
wird definiert, dass die Umschaltung der Funktion auf DMX-Kanal 2 erfolgt. Das zugehörige Schlüsselwort lautet hier ebenfalls goboindex
, wobei hier auch jeder andere Wert zulässig ist. Im weiteren gibt man wieder den Wertebereich für die Funktion an, so als ob man auch ohne den supporthandler
arbeitet. Die Zeile unterscheidet sich nur dahingehend, dass für mindmx
und maxdmx
der angegebene Wertebereich des DMX-Kanals erfolgt, welcher den Wert festlegt. Des weiteren schließt man die Zeile durch />
nicht ab, sondern lässt diese offen.
<range range="360" mindmx="0" maxdmx="255" minval="0" maxval="360" >
In der nachfolgenden Zeile, die ein untergeordnetes Element zum range
-Element ist, gibt man erst an, auf welchen DMX-Wert der DMX-Kanal zur Auswahl der Funktion gesetzt werden muss, sobald man wie in diesem Beispiel die Funktion Goboindizierung nutzt. Neben dem entsprechenden Wertebereich via der Attribute mindmx
und maxdmx
, erhält diese Zeile den zweiten Teil des supporthandler
. Dieser besteht aus dem Attribut handler
und als Wert dem Schlüsselwort, welches man zuvor gewählt hat. Hier ist es das Schlüsselwort goboindex
, welches man mit dem Präfix support-
als Wert hinterlegt. Damit sind alle Definitionen innerhalb dieser Zeile abgeschlossen.
<step handler="support-goboindex" mindmx="0" maxdmx="15" />
Die Zeile mit der Angabe des DMX-Werts für die Auswahl der entsprechenden Funktion muss jeder Definition hinzugefügt werden, die einen bestimmten DMX-Wert auf dem Auswahlkanal benötigt. Im Falle beispielsweise der Goborotation bedeutet dies, dass dieser Zusatz möglicherweise dreimal einzufügen ist: Rotation im Uhrzeigersinn, Stop, Rotation entgegen des Uhrzeigersinns. |
Nachfolgende erfolgt der restliche Teil für die Implementierung der Goboindizierung. In der Summe sieht das Code-Stück dann wie folgt aus.
Variante | Code-Beispiel |
---|---|
Goboindizierung | <gobowheel dmxchannel="0">
<goboindex dmxchannel="2">
<support dmxchannel="1" name="goboindex" />
<range range="360" mindmx="0" maxdmx="255" minval="0" maxval="360" >
<step handler="support-goboindex" mindmx="0" maxdmx="15" />
</range>
</goboindex>
<step type="open" mindmx="0" maxdmx="15" caption="Open" />
<step type="gobo" mindmx="16" maxdmx="31" val="congostar.png" caption="Gobo 1" />
<step type="gobo" mindmx="32" maxdmx="47" val="sunburst.png" caption="Gobo 2" />
Goborad auf DMX-Kanal 1, Goboindizierung auf DMX-Kanal 3, Auswahl des Modus "Goboindizierung" über DMX-Kanal 2:
|
Weitere Beispiele für die Nutzung des supporthandler
sind in den Artikeln zum Farbrad und zum Goborad zu finden.