DMX-Plugin: Unterschied zwischen den Versionen

Aus PyroNeo Wiki
Zur Navigation springenZur Suche springen
(Die Seite wurde neu angelegt: „Das DMX-Plugin für SkyConductor erweitert die Software bei einer bestehenden DMX-Freischaltung um diverse SkyDirector-spezifische DMX-Funktionen des DMX-Modul…“)
 
(Verzahnung von Sequenzen)
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 12: Zeile 12:
 
== Einfache Gerätedefinition ==
 
== 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.
+
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 ===
 +
<pre>
 +
[General]
 +
Identity=Test DMX Device
 +
Manufacturer=HSE Productions
 +
DeviceName=Test device
 +
ChannelCount=5
 +
SetChannelFlag1=arming_lock,always_internal
 +
ClearChannelFlag1=copy_armed_value
 +
</pre>
 +
 
 +
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, muss in der Gerätedefinition eine eigene, neue Sektion hinzugefügt werden. Innerhalb einer Sequenz können teilweise Parameter (Format ''Name''=''Wert'') angegeben werden. Alle anderen Zeilen werden als Befehle einer Sequenz interpretiert und in der Reihenfolge wie sie aufgeführt werden abgearbeitet wenn die Sequenz gestartet wurde.
 +
 
 +
Folgende Befehle stehen dabei zur Verfügung:
 +
* '''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. Wenn der Kanal durch den gleichen Cue gesperrt wurde (Set_Lock), wird er durch diesen Befehl wieder freigegeben.
 +
* '''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. Wenn der Kanal durch den gleichen Cue gesperrt wurde (Set_Lock), wird er durch diesen Befehl wieder freigegeben.
 +
* '''Set_Lock <x>, <y>''': Setzt Kanal x (1-512) auf den Wert y (0-255). Der Kanal wird für andere Cues innerhalb der aktuellen Sequenz gesperrt, er muss im Laufe eines Sequenz wieder freigegeben werden (durch Set_LTP oder Set_HTP) damit andere Cues darauf 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.
 +
: ''Anmerkung: Die genaue Funktion der Set_LTP, Set_HTP und Set_Lock-Befehle wird im Bereich der Effektsequenzen genauer erklärt.''
 +
* '''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
 +
{{Achtung|Die Angabe der Kanalnummer in allen oben genannten Befehlen bezieht sich immer auf den Gerätekanal. Die Angabe von Kanal 1 bezieht sich also bei einem Gerät welches die DMX-Kanäle 10-12 belegt auf den DMX-Kanal 10, die Angabe 3 würde sich auf DMX-Kanal 12 beziehen.}}
 +
Die Ansteuerung von globalen Kanälen (welche unabhängig von der Adressierung eines Gerätes sind) ist nicht möglich und würde das Konzept "ein Gerät hat mehrere aufeinander folgende DMX-Kanäle" verwischen. Hierfür muss bei Bedarf ein Pseudo-Gerät definiert werden welches dann auf die entsprechende Adresse in SkyConductor programmiert wird.
 +
 
 +
==== Armed-Sequenz ====
 +
Scharfschalte-Sequenz. Diese Sequenz wird ausgeführt, wenn das DMX-Modul scharf geschaltet wird. Die Befehle für alle definierten Geräte werden in dieser Sequenz zusammengefasst. Bei der Definition eines Geräts muss dies jedoch nicht weiter berücksichtigt werden.
 +
<pre>
 +
[Armed]
 +
Set 2, 0
 +
Wait 100
 +
Set 1, 255
 +
</pre>
 +
 
 +
==== Paused-Sequenz ====
 +
Die Paused-Sequenz wird ausgeführt, wenn eine Show pausiert wird. Einige Geräte müssen in einem solchen Fall abgeschaltet werden, zum Beispiel Flammenprojektoren. Es sollte darauf geachtet werden, dass es keine "Unpausiert"-Sequenz gibt, die erneute Auslösung muss also mit den normalen "Prepare"- und "TurnOn"-Sequenzen möglich sein. Vor allem sollte die Scharfschaltung (Armed-Sequenze) durch die Pause-Sequenz nicht aufgehoben werden. Wie auch die Armed-Sequenz werden die Befehle alle Paused-Sequenzen in einer einzigen Sequenz zusammengefasst.
 +
<pre>
 +
[Paused]
 +
Set 2, 0
 +
</pre>
 +
 
 +
==== Effektsequenzen ====
 +
Die Sequenzen ''Prepare'', ''TurnOn'' und ''TurnOff'' dürfen nur gemeinsam betrachtet werden. Die in ihnen enthaltenen Steuerbefehle werden in einer einzelnen, nämlich der entsprechenden Effektsequenz, miteinander kombiniert. Hinzu kommt, dass mehrere Cues innerhalb einer Sequenz sich zeitlich überlagern können was entsprechend berücksichtigt werden muss. Insofern sind hier auch die Sequenzbefehle Set_LTP, Set_HTP und Set_Lock von besonderer Bedeutung, da sich hierdurch das Zusammenspielen mehrerer gleichzeitiger/nacheinander stattfindender Auslösungen miteinander kombinieren lässt. Beispiele für diese Techniken finden sich weiter unten.
 +
 
 +
Die ''Prepare''-Sequenz wird ausgeführt, wenn ein Cue gezündet würde. Die entsprechenden Befehle werden also zeitlich so einsortiert, dass ihre Ausführung mit der Vorlaufzeit beginnt. Über den ''MinDuration=<Wert>''-Parameter lässt sich festlegen dass die Vorlaufzeit mindestens die angegebene Zeit in Millisekunden betragen muss.
 +
<pre>
 +
[Prepare]
 +
;Noch nicht berücksichtigt!
 +
MinDuration=100
 +
Set 3, 255
 +
</pre>
 +
 
 +
Die ''TurnOn''-Sequenz wird zur Effektzeit des Cues gestartet:
 +
<pre>
 +
[TurnOn]
 +
Set 2, 255
 +
</pre>
 +
Wird immer im Moment der Effektzeit eines Cues ausgeführt. Dient z.B. dazu, die Flamme eines Flammenprojektors auszulösen.
 +
 
 +
Die ''TurnOff''-Sequenz wird ausgeführt, wenn ein Effekt nicht mehr sichtbar sein soll - dieser Zeitpunkt entspricht dem Ende eines Cues.
 +
<pre>
 +
[TurnOff]
 +
Set 2, 0
 +
Wait 30
 +
Set 3, 0
 +
</pre>
 +
 
 +
==== Verzahnung von Sequenzen ====
 +
Dadurch, dass in der Planungsphase in einer Sequenz mehrere Auslösungen des gleichen Geräts hintereinander stattfinden können, besteht die Möglichkeit, dass sich die ''Prepare-'', ''TurnOn-'' und ''TurnOff''-Sequenzen mehrerer Auslösungen überschneiden können. Um in diesem Fall möglichst sinnvolle Effekt-Ergebnisse zu erzielen, gibt es die drei Kanalmodi ''Set_LTP'', ''Set_HTP'' und ''Set_Lock''.
 +
 
 +
'''Beispiel 1 - Set_HTP '''
 +
 
 +
Der Freischalt-Kanal eines Flammenprojektors muss nur direkt vor dem Auslösen des Effekts gesetzt werden - daher soll er nicht in der Scharfschaltung des Systems sondern unmittelbar vor Auslösung des Effekts - nämlich in der ''Prepare''-Sektion gesetzt werden. Die Freischaltung erfolgt über Gerätekanal 1, die Auslösung der Flammen über Kanal 2. Die Flammen bleibt so lange an, wie beide Kanäle über dem Wert 250 sind. Durch die Benutzung des Befehls Set_HTP ist gewährleistet, dass für den Fall dass die ''Prepare''-Sektion einer nachfolgenden Auslösung ''vor'' der ''TurnOff''-Sektion der ersten Auslösung ausgeführt wird der Freigabe-Kanal nicht auf 0 steht (das wäre z.B. bei Set oder Set_LTP der Fall) sondern weiterhin auf 255 - da zu jedem Zeitpunkt der jeweils höchste Wert für den Kanal benutzt wird, der von einem Cue "angefordert" wurde:
 +
 
 +
<pre>
 +
[Prepare]
 +
Set_HTP 1, 255
 +
 
 +
[TurnOn]
 +
Set_HTP 2, 255
 +
 
 +
[TurnOff]
 +
Set_HTP 1, 0
 +
Set_HTP 2, 0
 +
</pre>
 +
 
 +
 
 +
'''Beispiel 2 - Set_Lock'''
 +
 
 +
Eine ähnliche wie die vorhergehende Situation wäre das Festlegen eines Effektwinkels (Gerätekanal 1) bei einem Flammenprojektor mit beweglichem Kopf: Über Set_Lock würde in der ''Prepare''-Sektion der Schusswinkel angefahren so dass der Flammenprojektor genug Zeit hätte darauf zu reagieren. Dieser Winkel wird durch das Benutzen von ''Set_Lock'' für Zugriffe durch andere Cues gesperrt. Gleichzeitig erfolgt, wie in Beispiel 1, die Freischaltung des Effekts über Gerätekanal 2. In ''TurnOn'' erfolgt die Auslösung der Flamme (Gerätekanal 3) und in TurnOff wird sowohl die Flammen abgeschaltet als auch der Winkel-Kanal wieder für Fremdzugriffe freigegeben (hierzu wird Set_HTP oder Set_LTP verwendet - dieser Befehl gibt einen mittels Set_Lock gesperrten Kanal wieder für andere Cues frei).
 +
 
 +
<pre>
 +
[Prepare]
 +
Set_Lock 1, 120
 +
Set_HTP 2, 255
 +
 
 +
[TurnOn]
 +
Set_HTP 3, 255
 +
 
 +
[TurnOff]
 +
Set_LTP 1, 120
 +
Set_HTP 2, 0
 +
Set_HTP 3, 0
 +
</pre>
 +
 
 +
{{Achtung|Die Mechanismen Set_LTP, Set_HTP und Set_Lock werden in der Planungssoftware jeweils pro Sequenz umgesetzt '''bevor''' die Daten an das DMX-Modul gehen. Bei der gemischte Auslösung von manuellen Sequenzen, Reserven, Servicesequenzen oder einer automatischen Show finden diese Mechanismen prinzipbedingt keine Anwendung. Die Sperr-Mechanismen können also nur ''innerhalb'' einer Sequenz verhindern dass es zu Problemen bei einem verzahnten Ablauf kommt.}}
 +
 
 +
==== 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.
 +
Innerhalb von Service-Sequenzen können mit dem Parameter ''SequenceFlags=<Werte>'' folgende Eigenschaften festgelegt werden:
 +
* '''may_run_disarmed''': Diese Sequenz darf auch ausgeführt werden, wenn das DMX-Modul nicht scharf geschaltet ist.
 +
 
 +
<pre>
 +
[PrivateSequence1]
 +
Name=%id%: Vent
 +
Set 3, 255
 +
Wait 2500
 +
Set 3, 0
 +
</pre>
 +
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.
 +
 
 +
<pre>
 +
[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
 +
</pre>
 +
Beispiel für eine Service-Sequenz welche die Scharfschaltung des DMX-Moduls erfordert.

Aktuelle Version vom 4. September 2015, 11:30 Uhr

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.


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, muss in der Gerätedefinition eine eigene, neue Sektion hinzugefügt werden. Innerhalb einer Sequenz können teilweise Parameter (Format Name=Wert) angegeben werden. Alle anderen Zeilen werden als Befehle einer Sequenz interpretiert und in der Reihenfolge wie sie aufgeführt werden abgearbeitet wenn die Sequenz gestartet wurde.

Folgende Befehle stehen dabei zur Verfügung:

  • 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. Wenn der Kanal durch den gleichen Cue gesperrt wurde (Set_Lock), wird er durch diesen Befehl wieder freigegeben.
  • 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. Wenn der Kanal durch den gleichen Cue gesperrt wurde (Set_Lock), wird er durch diesen Befehl wieder freigegeben.
  • Set_Lock <x>, <y>: Setzt Kanal x (1-512) auf den Wert y (0-255). Der Kanal wird für andere Cues innerhalb der aktuellen Sequenz gesperrt, er muss im Laufe eines Sequenz wieder freigegeben werden (durch Set_LTP oder Set_HTP) damit andere Cues darauf 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.
Anmerkung: Die genaue Funktion der Set_LTP, Set_HTP und Set_Lock-Befehle wird im Bereich der Effektsequenzen genauer erklärt.
  • 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

Die Angabe der Kanalnummer in allen oben genannten Befehlen bezieht sich immer auf den Gerätekanal. Die Angabe von Kanal 1 bezieht sich also bei einem Gerät welches die DMX-Kanäle 10-12 belegt auf den DMX-Kanal 10, die Angabe 3 würde sich auf DMX-Kanal 12 beziehen.

Die Ansteuerung von globalen Kanälen (welche unabhängig von der Adressierung eines Gerätes sind) ist nicht möglich und würde das Konzept "ein Gerät hat mehrere aufeinander folgende DMX-Kanäle" verwischen. Hierfür muss bei Bedarf ein Pseudo-Gerät definiert werden welches dann auf die entsprechende Adresse in SkyConductor programmiert wird.

Armed-Sequenz

Scharfschalte-Sequenz. Diese Sequenz wird ausgeführt, wenn das DMX-Modul scharf geschaltet wird. Die Befehle für alle definierten Geräte werden in dieser Sequenz zusammengefasst. Bei der Definition eines Geräts muss dies jedoch nicht weiter berücksichtigt werden.

[Armed]
Set 2, 0
Wait 100
Set 1, 255

Paused-Sequenz

Die Paused-Sequenz wird ausgeführt, wenn eine Show pausiert wird. Einige Geräte müssen in einem solchen Fall abgeschaltet werden, zum Beispiel Flammenprojektoren. Es sollte darauf geachtet werden, dass es keine "Unpausiert"-Sequenz gibt, die erneute Auslösung muss also mit den normalen "Prepare"- und "TurnOn"-Sequenzen möglich sein. Vor allem sollte die Scharfschaltung (Armed-Sequenze) durch die Pause-Sequenz nicht aufgehoben werden. Wie auch die Armed-Sequenz werden die Befehle alle Paused-Sequenzen in einer einzigen Sequenz zusammengefasst.

[Paused]
Set 2, 0

Effektsequenzen

Die Sequenzen Prepare, TurnOn und TurnOff dürfen nur gemeinsam betrachtet werden. Die in ihnen enthaltenen Steuerbefehle werden in einer einzelnen, nämlich der entsprechenden Effektsequenz, miteinander kombiniert. Hinzu kommt, dass mehrere Cues innerhalb einer Sequenz sich zeitlich überlagern können was entsprechend berücksichtigt werden muss. Insofern sind hier auch die Sequenzbefehle Set_LTP, Set_HTP und Set_Lock von besonderer Bedeutung, da sich hierdurch das Zusammenspielen mehrerer gleichzeitiger/nacheinander stattfindender Auslösungen miteinander kombinieren lässt. Beispiele für diese Techniken finden sich weiter unten.

Die Prepare-Sequenz wird ausgeführt, wenn ein Cue gezündet würde. Die entsprechenden Befehle werden also zeitlich so einsortiert, dass ihre Ausführung mit der Vorlaufzeit beginnt. Über den MinDuration=<Wert>-Parameter lässt sich festlegen dass die Vorlaufzeit mindestens die angegebene Zeit in Millisekunden betragen muss.

[Prepare]
;Noch nicht berücksichtigt!
MinDuration=100
Set 3, 255

Die TurnOn-Sequenz wird zur Effektzeit des Cues gestartet:

[TurnOn]
Set 2, 255

Wird immer im Moment der Effektzeit eines Cues ausgeführt. Dient z.B. dazu, die Flamme eines Flammenprojektors auszulösen.

Die TurnOff-Sequenz wird ausgeführt, wenn ein Effekt nicht mehr sichtbar sein soll - dieser Zeitpunkt entspricht dem Ende eines Cues.

[TurnOff]
Set 2, 0
Wait 30
Set 3, 0

Verzahnung von Sequenzen

Dadurch, dass in der Planungsphase in einer Sequenz mehrere Auslösungen des gleichen Geräts hintereinander stattfinden können, besteht die Möglichkeit, dass sich die Prepare-, TurnOn- und TurnOff-Sequenzen mehrerer Auslösungen überschneiden können. Um in diesem Fall möglichst sinnvolle Effekt-Ergebnisse zu erzielen, gibt es die drei Kanalmodi Set_LTP, Set_HTP und Set_Lock.

Beispiel 1 - Set_HTP

Der Freischalt-Kanal eines Flammenprojektors muss nur direkt vor dem Auslösen des Effekts gesetzt werden - daher soll er nicht in der Scharfschaltung des Systems sondern unmittelbar vor Auslösung des Effekts - nämlich in der Prepare-Sektion gesetzt werden. Die Freischaltung erfolgt über Gerätekanal 1, die Auslösung der Flammen über Kanal 2. Die Flammen bleibt so lange an, wie beide Kanäle über dem Wert 250 sind. Durch die Benutzung des Befehls Set_HTP ist gewährleistet, dass für den Fall dass die Prepare-Sektion einer nachfolgenden Auslösung vor der TurnOff-Sektion der ersten Auslösung ausgeführt wird der Freigabe-Kanal nicht auf 0 steht (das wäre z.B. bei Set oder Set_LTP der Fall) sondern weiterhin auf 255 - da zu jedem Zeitpunkt der jeweils höchste Wert für den Kanal benutzt wird, der von einem Cue "angefordert" wurde:

[Prepare]
Set_HTP 1, 255

[TurnOn]
Set_HTP 2, 255

[TurnOff]
Set_HTP 1, 0
Set_HTP 2, 0


Beispiel 2 - Set_Lock

Eine ähnliche wie die vorhergehende Situation wäre das Festlegen eines Effektwinkels (Gerätekanal 1) bei einem Flammenprojektor mit beweglichem Kopf: Über Set_Lock würde in der Prepare-Sektion der Schusswinkel angefahren so dass der Flammenprojektor genug Zeit hätte darauf zu reagieren. Dieser Winkel wird durch das Benutzen von Set_Lock für Zugriffe durch andere Cues gesperrt. Gleichzeitig erfolgt, wie in Beispiel 1, die Freischaltung des Effekts über Gerätekanal 2. In TurnOn erfolgt die Auslösung der Flamme (Gerätekanal 3) und in TurnOff wird sowohl die Flammen abgeschaltet als auch der Winkel-Kanal wieder für Fremdzugriffe freigegeben (hierzu wird Set_HTP oder Set_LTP verwendet - dieser Befehl gibt einen mittels Set_Lock gesperrten Kanal wieder für andere Cues frei).

[Prepare]
Set_Lock 1, 120
Set_HTP 2, 255

[TurnOn]
Set_HTP 3, 255

[TurnOff]
Set_LTP 1, 120
Set_HTP 2, 0
Set_HTP 3, 0

Die Mechanismen Set_LTP, Set_HTP und Set_Lock werden in der Planungssoftware jeweils pro Sequenz umgesetzt bevor die Daten an das DMX-Modul gehen. Bei der gemischte Auslösung von manuellen Sequenzen, Reserven, Servicesequenzen oder einer automatischen Show finden diese Mechanismen prinzipbedingt keine Anwendung. Die Sperr-Mechanismen können also nur innerhalb einer Sequenz verhindern dass es zu Problemen bei einem verzahnten Ablauf kommt.

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. Innerhalb von Service-Sequenzen können mit dem Parameter SequenceFlags=<Werte> folgende Eigenschaften festgelegt werden:

  • may_run_disarmed: Diese Sequenz darf auch ausgeführt werden, wenn das DMX-Modul nicht scharf geschaltet ist.
[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.