Lua-Editor

Q-SYS Control 101 Training (German) : Scripting-Grundlagen

3 ) Einfache Kommunikation

12m 54s

4 ) Block Controller

18m 50s

6 ) Flow Control

36m 23s

7 ) Fazit „Control 101“

1m 29s

Übungsbeschreibung

Lua-Editor 4m 27s

Erkunde die verschiedenen Komponenten, mit denen du im Lua-Editor Skripte schreiben und bearbeiten kannst.

Video Transkript

Lua-Editor 4m 27s
0:08
Jetzt wird es Zeit, dass wir uns die dritte Programmiermethode anschauen: das Scripting. In Q-SYS
0:14
kannst du Skripte in Lua schreiben, indem du deinem Schema Komponenten mit Lua-Editor
0:19
hinzufügst. Das trifft auf eine ganze Reihe von Komponenten zu:
0:24
Unter „Scripting Components“ bieten die Komponenten „Steuerungsskript“ (Control Script) und
0:31
„Programmierbaren Steuerungen“ (Scriptable Controls) Zugang zum Lua-Scripting. In neueren
0:38
Versions von Q-SYS siehst du anstelle der „Scriptable Controls“ den „Text Controller“. Beide haben
0:44
beinahe identische Funktionen, daher verwenden wir sie in den Videos abwechselnd.
0:49
Der Unterschied liegt darin, dass das Steuerungsskript Ein- und Ausgangs-Steuerpins bietet, um
0:55
andere Komponenten mit deinem Skript zu verbinden, während „Scriptable Controls“ und „Text
1:00
Controller“ dir die Möglichkeit gibt, angepasste Steuerungselemente in die Komponente einzubetten,
1:06
die sich intern etwas einfacher referenzieren lassen.
1:10
Den angepassten Steuerungselementen widmen wir uns später. Jetzt machen wir einen Rundgang
1:14
durch das Scripting-Fenster. Für das Steuerungsskript doppelklicke auf die Komponente; anstatt eines
1:21
Bedienfeldes wird der Skript-Editor-Tab geöffnet. In dieses große schwarze Feld kannst du jedes
1:28
Skript eintippen, das du willst – wenn du weißt, wie das geht.
1:31
In der Komponente „Scriptable Controls“ musst du dieses „S“ anklicken, um zum Skript-Editor-Tab zu
1:38
gelangen. Im neueren „Text Controller“ steht dir an gleicher Stelle der “Edit”-Button zur Verfügung.
1:45
Im Skript-Editor gibt es mehrere Bereiche zu besprechen, doch zuerst gehe ich in den
1:50
Emulationsmodus. Wichtig ist noch, dass euer Skript auch im Emulationsmodus funktionsfähig sein
1:56
wird. Denn wenn ihr Befehle an Drittanbieterprodukte sendet oder euer eigenen Designs anpasst, ist
2:02
keine Audioverarbeitung erforderlich, also muss das Programm nicht auf einem aktiven Core laufen.
2:08
Außerdem könnt Ihr euren Code im Emulations- oder im „Run“-Modus schreiben. Anders als bei
2:14
Anpassungen der Audio-Architektur ist zum Bearbeiten des Skripts keine Rückkehr zum Design-
2:20
Modus erforderlich.
2:22
Beim Eintippen des Skripts erscheint oben ein großer gelber Balken mit der Aufschrift „Save
2:26
Changes“. Die vorherige Version deines Skripts bleibt aktiv und in Betrieb, bis dieser Button gedrückt
2:32
wird. So kannst du bei laufendem Core das Skript ändern, aber mit der Anwendung der Änderungen
2:38
warten, bis du sie abgeschlossen hast.
2:41
Am unteren Bildschirmrand siehst du das Fenster „Debug Output“. Falls dein Skript irgendwelche
2:47
Fehler enthält, identifiziert das „Debug“-Fenster die Art des Fehlers und die Zeile, in der er sich
2:53
befindet.
2:54
Am linken Bildschirmrand siehst du die Zeilennummern deines Skripts. Anfangs wirst du die
3:00
Fehlerbeschreibungen im Debug-Fenster nicht immer verstehen, aber sie zeigen dir hoffentlich den
3:04
richtigen Weg!
3:06
Du siehst auch, dass der obere Balken die Gesamtzahl der Fehler im Skript anzeigt, sowie die aktuelle
3:12
Auslastung der verfügbaren Rechenleistung durch das Skript. Diese Angaben findest du auch im
3:17
„Design Inspector“. Jedes Skriptobjekt, das Fehler enthält, wird mit rotem Kreis angezeigt, während
3:25
Skripte ohne Fehler mit grünem Kreis erscheinen.
3:29
Übrigens kannst du einem Block Controller auch Lua hinzufügen. Gehe dazu auf die „System“-
3:35
Kategorie und ziehe einen Lua-Code-Block hinein. Wenn du eine bestimmte Sache schneller mit Skript
3:41
schreiben kannst als dafür die passenden Blöcke zu finden, oder falls du ein Skript für etwas
3:45
benötigst, das der Block Controller nicht kann, das du aber trotzdem in deine Block-Programmierung
3:51
integrieren willst, dann ist das hier der richtige Block für Dich.
3:55
Und noch einmal, falls du an dieser Stelle mit den der Trainingsvideos beginnst: Sei ein letztes Mal
4:00
daran erinnert, dass du zur Nutzung von Skript-Objekten auch eine Scripting Engine Feature-Lizenz
4:06
auf deinem Core Prozessor benötigst, bevor du sie anwenden kannst.
4:10
In den folgenden Videos besprechen wir einige grundlegende Tools für das Lua-Scripting, und wir
4:15
zeigen dir auch ihre Entsprechungen im Block Controller und, wenn möglich, in den
4:19
Steuerungskomponenten. Also, mach weiter, wann immer du möchtest.