DMX-Plugin
Das DMX-Plugin für SkyConductor erweitert die Software bei einer bestehenden DMX-Freischaltung um diverse PyroNeo-spezifische DMX-Funktionen des DMX-Moduls. Unter anderem erlaubt es das DMX-Plugin, eigene Geräte zu definieren und in Shows zu verwenden. Das DMX-Plugin besteht aus mehreren Komponenten, welche weiter unten einzeln beschrieben sind.
Inhaltsverzeichnis
Installation des DMX-Plugins
Das DMX-Plugin wird über ein eigenständiges Setup-Programm installiert. Nach der Installation bietet das DMX-Plugin keine eigenständige Oberfläche sondern wird direkt über SkyConductor bedient und angesprochen. Es erweitert die Software um diverse Gerätedefinitionen (vorwiegend Flammenprojektoren) und die Möglichkeit, eigene Geräte über entsprechende Gerätedefinitionsdateien zu erstellen.
Anlegen neuer Geräte
Das DMX-Plugin bietet die Möglichkeit, neue Geräte auf zwei Arten hinzuzufügen: eine einfache dafür weniger flexible Methode und eine vollständig programmierbare Variante.
Einfache Gerätedefinition
Die einfache Gerätedefinition ermöglicht es für ein benutzerdefiniertes Gerät abhängig vom Geräte-Startkanal bei verschiedenen Aktionen (Scharfschaltung, Pause einer Show, Servicesequenzen) oder innerhalb von musiksynchronen Shows oder manuellen Sequenzen diverse vorgefertigte Aktionen auszuführen. Dazu wird eine entsprechende Geräte-Definitionsdatei angelegt, über welche die entsprechenden Steuerungsaufgaben für das DMX-Universum programmiert werden können. Parameter lassen sich mit dieser Art der Ansteuerung nicht verwenden, es wird also nur eine reine "ein/aus"-Steuerung realisiert. Dafür ist diese Art der Ansteuerung sehr einfach zu verwenden.
Im Folgenden findet sich ein Beispiel für eine entsprechende Gerätedefinition. Die einzelnen Bereiche sind einzeln angegeben um eine übersichtlichere Beschreibung zu ermöglichen:
General-Sektion
[General] Identity=Test DMX Device Manufacturer=HSE Productions DeviceName=Test device ChannelCount=5 SetChannelFlag1=arming_lock,always_internal ClearChannelFlag1=copy_armed_value
In der General-Sektion werden generelle Eigenschaften der Gerätedefinition festgelegt:
- Identity
- Der Identity-Eintrag legt die Identität des Gerätes fest. Der hier angegebene Name muss global eindeutig sein.
- Manufacturer
- Der Hersteller des Geräts. Dieser Name wird zur Einsortierung im Geräteauswahl-Dialog benutzt. Alle Geräte eines Herstellers werden dabei zusammen ausklappbar gruppiert.
- DeviceName
- Der Name des Geräts. Der Name sollte so kurz wie möglich aber so aussagekräftig wie nötig angegeben werden. Abkürzungen sollten jedoch vermieden werden wenn sie nicht absolut eindeutig sind.
- ChannelCount
- Die Anzahl DMX-Kanäle die das Gerät benötigt.
- SetChannelFlag1 .. SetChannelFlag<n>
- Die Angabe der Kanaleigenschaften, welche für diesen DMX-Kanal des Geräts unbedingt gesetzt sein sollten.
- ClearChannelFlag1 .. ClearChannelFlag<n>
- Die Angabe der Kanaleigenschaften, welche für diesen DMX-Kanal des Geräts auf keinen Fall gesetzt sein sollten.
Je nachdem welche Kanaleigenschaft betroffen ist, hat entweder die Angabe von SetChannelFlag oder ClearChannelFlag Priorität. Folgende Eigenschaften sind zur Zeit möglich:
- arming_lock: Verhindert, dass ein Kanal auf gezogen werden kann während das DMX-Modul unscharf ist. "Set" hat Priorität über "Clear".
- always_internal: Verhindert, dass eine Zusamenmischung mit den Daten eines externen Lichtpults erfolgt. "Set" hat Priorität über "Clear".
- copy_armed_value: Behält den letzten Wert eines Kanals beim Unscharf schalten bei, fällt also nicht auf den Zustand vor der Scharfschaltung zurück. "Clear" hat Priorität über "Set".
DMX-Sequenzen
Für jede DMX-Sequenz welche einzeln ausgeführt wird, wird eine eigene, neue Sektion hinzugefügt.
Armed-Sequenz
[Armed] Set 2, 0 Wait 100 Set 1, 255
Scharfschalte-Sequenz. Diese Sequenz wird ausgeführt, wenn das DMX-Modul scharf geschaltet wird. Erlaubt sind alle Befehle die in einer Sequenz gültig sind:
- Set <x>, <y>: Setzt Kanal x (1-512) auf den Wert y (0-255). Mischung von mehreren Kanalwerten erfolgt im LTP-Modus, d.H. alle vorherigen Werte werden überschrieben sofern der Kanal nicht von einem anderen Effekt gesperrt ist.
- Set_HTP <x>, <y>: Setzt Kanal x (1-512) auf den Wert y (0-255). Mischung von mehreren Kanalwerten erfolgt im HTP-Modus, d.H. der zu einer beliebigen Zeit höchste Wert hat Priorität.
- Set_Lock <x>, <y>: Setzt Kanal x (1-512) auf den Wert y (0-255). Der Kanal wird für andere Cues innerhalb dieses Scripts gesperrt, er muss im Laufe eines Scripts wieder freigegeben werden (durch Set_LTP oder Set_HTP) damit andere Cues wieder Zugriff haben. Während der Kanal gesperrt ist, werden weitere Zugriffe (LTP, HTP oder Lock) im Hintergrund beibehalten und werden erst angewendet wenn der Kanal freigegeben wurde.
- Wait <Zeit>: Pausiert die Sequenz für die angegebene Zeit (Angabe in Millisekunden)
- WaitUntil <Zeit>: Pausiert die Sequenz bis die angegebene absolute Zeit (in Millisekunden) erreicht ist. Absolute Zeit bedeutet, dass die Zeit ab dem Start der Sequenz gerechnet wird und nicht relativ zum letzten Wait oder WaitUntil-Befehl
Pause-Sequenz
[Paused] SequenceFlags=may_run_disarmed Set 2, 0
Sequenz welche beim Pausieren einer Show ausgeführt wird um z.B. Flammenprojektoren abzuschalten welche sonst eine konstante Flamme auslösen würden. Der Eintrag SequenceFlags legt Eigenschaften der Sequenz fest. Die z.Zt. einzig mögliche Angabe ist may_run_disarmed, was dazu führt dass die Sequenz auch bei unscharf geschaltetem DMX-Modul ausgeführt werden darf.
Prepare-Sequenz
[Prepare] ;Noch nicht berücksichtigt! MinDuration=100 Set 3, 255
Wird immer dann ausgeführt, wenn ein Cue gezündet wird, d.H. die Vorlaufzeit bis zum eigentlichen Effekt beginnt. Bei einem pyrotechnischen Effekt mit entsprechender Steigzeit wäre dies die Auslösung der Zündung.
TurnOn-Sequenz
[TurnOn] Set 2, 255
Wird immer im Moment der Effektzeit eines Cues ausgeführt. Dient z.B. dazu, die Flamme eines Flammenprojektors auszulösen.
TurnOff-Sequenz
Die "TurnOff"-Sequenz wird ausgeführt, wenn ein Effekt nicht mehr sichtbar sein soll. Der genaue Zeitpunkt wird aus dem in der Show vorhandenen Cue ermittelt.
[TurnOff] Set 2, 0 Wait 30 Set 3, 0
Service-Sequenzen
Servicesequenzen werden im Menü des DMX-Moduls angezeigt und können von dort vom Benutzer aufgerufen werden. Es lassen sich (fast) beliebig viele Servicesequenzen definieren wobei beachtet werden sollte, dass die Übersichtlichkeit bei vielen Sequenzen natürlich leiden kann. Servicesequenzen werden pro Gerätedefinition genau einmal angelegt. Wenn also von einem Flammenprojektor 10 Stück in einer Show aufgebaut werden und in der Gerätedefinition für den Projektor 2 Servicesequenzen (z.B. zum Testen und Entlüften des Geräts) angelegt sind, so werden später im Gerät stattliche 20 Servicesequenzen angezeigt. Da dies in Form einer Liste erfolgt ist es wichtig, nur Servicesequenzen anzulegen die wirklich für den Betrieb benötigt werden.
[PrivateSequence1] Name=%id%: Vent Set 3, 255 Wait 2500 Set 3, 0
Der angegebene Name sollte kurz und prägnant sein, da er insgesamt in eine Zeile mit max. 20 Zeichen passen muss (darüber hinaus gehende Zeichen werden abgeschnitten). Um hier verschiedene Geräte ansprechen zu können, sollte über das Kürzel %id% der Name unter welchem das Gerät läuft und welcher bei der Showplanung vergeben wird mit eingebaut werden, da sonst die Servicesequenz eventuell nicht von anderen Servicesequenzen unterscheidbar ist. Servicesequenzen können ebenfalls (wie im nächsten Abschnitt ersichtlich) mit Eigenschaften gekennzeichnet werden (ManualSequenceFlags=..). Die zur Zeit einzige Eigenschaft ist arm_to_run, welches dem DMX-Modul mitteilt dass diese Sequenz nur korrekt funktioniert wenn das DMX-Modul dafür scharf geschaltet ist und damit alle Kanäle freigegeben werden die nur im scharf geschalteten Zustand auf gezogen werden dürfen.
[PrivateSequence2] Name=%id%: Fire! ManualSequenceFlags=arm_to_run Set 2, 0 Wait 30 Set 1, 255 Wait 60 Set 4, 255 Wait 100 Set 3, 255 Wait 1000 Set 3, 0 Wait 30 Set 4, 0 Wait 30 Set 2, 0
Beispiel für eine Service-Sequenz welche die Scharfschaltung des DMX-Moduls erfordert.