Der Skripteditor wird, wie der Name schon sagt, zum Bearbeiten von Skript-Funktionen verwendet.
Es besteht im Wesentlichen aus einem Texteditor, in dem der Benutzer ein Skript unter Verwendung einer Metasprache mit einer unten beschriebenen Syntax schreiben kann.
Das Skript kann manuell geändert werden, wenn Sie die Syntax der Sprache vollständig verstehen. Andernfalls stehen ganz rechts im Editor einige Hilfsschaltflächen zur Verfügung, um die Erstellung/Bearbeitung des Skripts zu beschleunigen und zu erleichtern.
Jede Zeile eines Skripts wird von QLC+ in sequentieller Reihenfolge ausgeführt.
![]() |
Aktivieren Sie die Ausgabe und führen Sie das Skript aus, um seine Ausführung zu testen | |
Skriptname | Ändern Sie den Namen des Skripts. | |
![]() |
Wenn Sie auf diese Schaltfläche klicken, wird ein Popup angezeigt, in dem Sie den Skriptausschnitt auswählen können, den Sie an der aktuellen Cursorposition im Editor einfügen möchten.![]() Durch diesen Vorgang wird am Ende der Codezeile automatisch ein Kommentar mit dem QLC+-Namen der ausgewählten Funktion hinzugefügt. ![]() Durch diesen Vorgang wird am Ende der Codezeile automatisch ein Kommentar mit dem QLC+-Namen der ausgewählten Funktion hinzugefügt. ![]() ![]() Durch diesen Vorgang wird am Ende der Codezeile automatisch ein Kommentar mit dem QLC+-Namen der ausgewählten Geräte und Kanäle hinzugefügt. ![]() ![]() ![]() Ein Kommentar sieht im C-Sprachstil aus: Er beginnt mit „//“ und alles bis zum Ende der Zeile wird dann als Kommentar betrachtet ![]() Dies kann nützlich sein, um DMX-Werte zu randomisieren, die über das Schlüsselwort setfixture festgelegt wurden. Siehe unten. ![]() Wenn ein Pfad Leerzeichen enthält, wird er in Anführungszeichen |
geschrieben |
![]() |
Schneiden Sie den aktuell ausgewählten Text im Editor aus, um ihn später einzufügen | |
![]() |
Kopieren Sie den aktuell ausgewählten Text im Editor zum späteren Einfügen | |
![]() |
Einen zuvor ausgeschnittenen oder kopierten Text an der Cursorposition im Editor einfügen | |
![]() |
Machen Sie den letzten am Editor ausgeführten Vorgang rückgängig | |
![]() |
Überprüfen Sie die Skriptsyntax. Es wird eine Popup-Meldung angezeigt, die angibt, ob das Skript in Ordnung ist, oder die Zeilennummern, in denen Syntaxfehler gefunden wurden. |
Die QLC+ Script-Metasprache basiert auf einem Schlüsselwort:Wert-Modell mit einigen Einfügungen von C-Sprachsyntaxregeln.
Jede Codezeile wird von der QLC+-Engine analysiert und überprüft, um das Vorhandensein von Syntaxfehlern zu erkennen.
Hier ist eine Tabelle, die jedes von der Skript-Engine akzeptierte Schlüsselwort und seine Syntax beschreibt.v
Typ: Schlüsselwort
Beschreibung: startet eine QLC+-Funktion mit der angegebenen ID
Syntax: startfunction:functionID
„functionID“ ist eine Ganzzahl der ID, die QLC+ einer Funktion zugewiesen hat.
Da QLC+-Benutzern keine IDs angezeigt werden, ist es in diesem Fall praktisch, die Hilfsschaltfläche ganz rechts im Editor zu verwenden, die auch einen Kommentar mit dem Funktionsnamen hinzufügt.
Irgendwann lernt ein Benutzer die ID einer Funktion und verwendet sie daher, um manuell mehr Code zum Skript hinzuzufügen.
Beispiel:
startfunction:2 // Grüne Szene
Typ: Schlüsselwort
Beschreibung: Stoppt eine laufende QLC+-Funktion mit der angegebenen ID
Syntax: stopfunction:functionID
functionID
ist eine Ganzzahl der ID, die QLC+ einer Funktion zugewiesen hat. Siehe startfunction description
Example:
stopfunction:0 // Grüne Szene
Type: keyword
Description: Schaltet den Blackout an oder aus.
Syntax: blackout:on|off
functionID
ist eine Ganzzahl der ID, die QLC+ einer Funktion zugewiesen hat. Siehe startfunction description.
Examples:
blackout:an
blackout:aus
Type: keyword
Description: Führen Sie ein Programm oder ein Skript im angegebenen absoluten Pfad mit den (optionalen) bereitgestellten Argumenten aus.
Syntax:systemcommand:programPath arg:arg1 arg:arg2 ... arg:argN
programPath
ist der absolute Pfad eines ausführbaren Programms oder Skripts. Zum Beispiel /usr/bin/vlc
or C:\\Tools\\myTool.exe
Wenn der Pfad zu einer ausführbaren Datei Leerzeichen enthält, muss er in Anführungszeichen geschrieben werden.
_arg1 ... argN
sind die Argumente, die beim Ausführen von programPath verwendet werden sollen. Wenn keine Argumente benötigt werden, sind die Schlüsselwörter arg: nicht erforderlich.
Wenn ein Argument Leerzeichen enthält, muss es in Anführungszeichen geschrieben werden.
Examples:
systemcommand:/usr/bin/vlc arg:-f arg:/home/user/video.mp4 // spielt mein Video mit VLC im Vollbildmodus ab
systemcommand:"C:\\Program Files\\Tools\\My Tool.exe" arg:"D:\\My Files\\My file.txt"
Type: keyword
Description: Setzt einen QLC+ Fixture-Kanal auf den bereitgestellten DMX-Wert.
Syntax: setfixture:fixtureID ch:channelIndex val:DMXValue
fixtureID
ist eine Ganzzahl der ID, die QLC+ einer Funktion zugewiesen hat.
Da QLC+-Benutzern keine IDs angezeigt werden, ist es in diesem Fall praktisch, die Hilfsschaltfläche ganz rechts im Editor zu verwenden, die auch einen Kommentar mit dem Geräte- und Kanalnamen hinzufügt.
Schließlich erfährt ein Benutzer die ID eines Geräts und den Index eines Kanals und kann diese daher verwenden, um manuell mehr Code zum Skript hinzuzufügen.
channelIndex
ist eine Ganzzahl, die die Kanalnummer des Geräts darstellt. Die Kanalindizes beginnen hier bei 0.
DMXValue
ist der tatsächliche DMX-Wert, der auf den angegebenen Gerätekanal eingestellt werden soll. Der Wert liegt zwischen 0 und 255
Example:
setfixture:0 ch:1 val:135 // Generisches RGB, Rot. Setzt den roten Kanal eines generischen RGB-Geräts auf den DMX-Wert 135
Type: keyword
Description:Warten Sie die angegebene Zeit ab, bevor Sie die nächste Codezeile ausführen.
Beachten Sie, dass eine Wartezeit auch zufällig festgelegt werden kann, indem Sie der unten beschriebenen zufälligen-Syntax folgen.
Syntax: wait:time
time
kann entweder eine ganze Zahl von Millisekunden oder eine Zeichenfolge sein, die die Wartezeit im QLC+-Stil darstellt: **h**m**s.**
Examples:
wait:1800 //wartet für 1 Sekunde und 800 Millisekunden
wait:03s.20 // Wartet für 3 Sekunden and 200 Millisekunden
Type: keyword
Description: Warten Sie, bis eine bestimmte Funktion ausgeführt wird.
Dieser Befehl benötigt ein Argument, nämlich die ID der Funktion, auf die Sie warten möchten. Sobald die angegebene Funktion ausgeführt wird oder wenn sie bereits ausgeführt wird, wird das Skript ab der nächsten Zeile weiter ausgeführt.
Syntax: waitfunctionstart:functionID
functionID
ist eine Ganzzahl der ID, die QLC+ einer Funktion zugewiesen hat. Siehe startfunction description.
Examples:
waitfunctionstart:2 // Warten Sie, bis die grüne Szene beginnt
Type: keyword
Description: Warten Sie, bis eine bestimmte Funktion nicht mehr ausgeführt wird.
Dieser Befehl benötigt ein Argument, nämlich die ID der Funktion, auf die Sie warten möchten. Sobald die angegebene Funktion nicht mehr ausgeführt wird oder wenn sie nicht bereits ausgeführt wird, wird das Skript ab der nächsten Zeile weiter ausgeführt.
Syntax: waitfunctionstart:functionID
functionID
ist eine Ganzzahl der ID, die QLC+ einer Funktion zugewiesen hat. Siehe startfunction description.
Examples:
waitfunctionstop:0 // Warten Sie, bis die blaue Szene aufhört
Type: Helper macro
Description: comments can be inserted at any position in the script code and they do not affect the script execution. They are normally used to give a meaning to a line of code.
QLC+ Scripts comment follow the C Language style rule of the "//" syntax. Basically everything written after "//" will be considered a comment until the end of the line of code.
So pay a particular attention to not writing meaningful code after a "//" and expect it to be run, cause it won't.
Comments can be added at the end of a Script line of code or they can take a whole line, for example to describe an entire block of code.
Type: Hilfsmakro
Description: generiert eine zufällige Ganzzahl zwischen den angegebenen Minimal- und Maximalwerten
Syntax: random(min,max)
min
ist der Mindestwert, den die Randomisierung erreichen kann. Es kann entweder eine Ganzzahl oder eine Zeitzeichenfolge sein
max
ist der maximale Wert, den die Randomisierung erreichen kann. Es kann entweder eine Ganzzahl oder eine Zeitzeichenfolge sein
Examples:
wait:random(02s.00,05s.00) // Waits a random time between 2 and 5 seconds
// set channel 3 of fixture with ID:1 to a random DMX value between 20 and 235
setfixture:1 ch:2 val:random(20,235)
Type: keyword
Description: controls whether functions started during the script should be stopped at the end.
Syntax: stoponexit:[true|false]
true
: Alle danach gestarteten Funktionen werden gestoppt, wenn das Skript beendet ist (Standardverhalten).
false
: Alle danach gestarteten Funktionen werden nach Abschluss des Skripts weiter ausgeführt.
Example:
In diesem Skriptbeispiel werden die Funktionen 1 und 3 am Ende gestoppt, die Funktionen 2 und 4 werden jedoch weiter ausgeführt.
startfunction:1 // Standardverhalten: Funktion 1 wird gestoppt
stoponexit:false
startfunction:2 // Funktion 2 läuft weiter
stoponexit:true
startfunction:3 // Funktion 3 wird gestoppt
stoponexit:false
startfunction:4 // Funktion 4 läuft weiter