Komponenten benennen

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

Komponenten benennen 4m 41s

Verwende die Liste „Benannte Komponenten anzeigen“, um aus jedem Skript in deinem Design auf deine Steuerelemente zuzugreifen.

Video Transkript

Komponenten benennen 4m 41s
0:08
Die Baumstruktur bietet uns noch einen dritten Weg, Steuerungselemente in unserem Skript zu
0:13
beeinflussen. Beim Steuerungsskript musstet ihr einen separaten Regler mit den Steuerpins eures
0:19
Skripts verbinden, während sich Programmierbare Steuerungen auf ein natives Steuerungselement in
0:26
der Komponente beziehen kann. Ihr könntet aber auch „Benannte Komponenten“ (Named
0:32
Components) verwenden.
0:34
Eine Benannte Komponente ist genau das, wonach es klingt – eine Komponente, der du einen
0:39
individuellen Namen gegeben hast. Ich ziehe z. B. diesen Gain-Block in das Design, und kann ihn dann
0:46
nennen, wie ich will. Ich nenne meinen „RobinHood“. Dies sieht vielleicht nur nach einer einfachen
0:52
Methode aus, Schema-Objekte zu kennzeichnen, aber unter der Haube wird dieser Komponente eine
0:58
Lua-Tabelle zugeordnet.
1:00
Wenn du eine Benannte Komponente auswählst und ins „Tools“-Menü gehst, findest du eine Option
1:06
namens „View Named Component Info“. Diese öffnet eine Tabelle mit allen Steuerungselementen in
1:14
dieser Benannten Komponente – hier sehe ich die vier Elemente, aus denen meine Gain-Komponente
1:19
besteht. Links steht ihr Lua-Name, der rechte ist einfach eine Beschreibung der jeweiligen Steuerung.
1:27
Bei einem einfachen Gain-Block wie diesen sind die Namen alle gleich, aber bei einem Matrixmischer
1:33
sehen wir, dass sein Lua-Baum etwas komplizierter ist, und die Beschreibung hilft dabei, die
1:38
Steuerungselemente auseinanderzuhalten.
1:41
Mit der Information dieser Benannten Komponente könnt ihr nun eure Steuerungselemente aus
1:46
jedem Lua-Skript heraus ansteuern, ohne dass ihr es mit diesem Skript verknüpfen müsst. Öffnen wir
1:53
dafür also ein Steuerungsskript. So sieht die Syntax aus: „Component.New“, und dann muss in
2:00
Klammern der Name der Benannten Komponente folgen. Da diese Kennzeichnung eine
2:05
Textzeichenfolge ist, muss sie in Anführungszeichen stehen.
2:10
Als nächstes müsst ihr eine eckige Klammer öffnen, um den Namen der Steuerung anzugeben, die in
2:16
der Benannten Komponente angesteuert werden soll – auch hier wieder mit Anführungszeichen.
2:22
Nachdem ihr das Steuerungselement selbst erfolgreich referenziert habt, könnt ihr die Baumstruktur
2:27
fortführen und eine Eigenschaft auswählen.
2:30
Ich ändere z. b. den .Value von RobinHoods Mute-Steuerung auf 1. Wenn ich das Skript laufen lasse,
2:39
sehen wir, dass es funktioniert!
2:41
Ich selbst würde dieses Steuerungselement durch eine Variable repräsentieren. Dieses Stück Code
2:46
hier ist wirklich hässlich – Component.New, Klammern, Anführungszeichen, eckige Klammer,
2:53
Anführungszeichen. Definieren wir einfach das ganze Ding mit der Variablen MrGain. Jetzt kann ich
3:01
den Bezug zu diesem Element allein mit MrGain.Value oder MrGain.String herstellen. Das liest sich
3:10
viel besser und ähnelt eher den anderen Baumstruktur-Aktivitäten, die ihr bisher kennt.
3:16
Benannte Komponenten sind ein schlagkräftiges Mittel für den Zugriff eurer Skripte auf
3:21
Steuerungselemente, und zwar ohne Verschaltungen oder Programmierbare Steuerungen. Es
3:27
bedeutet auch, dass sich beliebig viele Lua-Skripte auf dieses Steuerungselement beziehen können.
3:32
Im Prinzip könnt ihr damit auf etwas Bezug nehmen, das gar nicht in eurem Skript steht. Allerdings
3:37
gibt es derzeit keinen Block im Block Controller, der ein Steuerungselement einer Benannten
3:43
Komponente repräsentieren kann. Ihr könnt aber trotzdem auf eine Benannte Komponente
3:47
zugreifen, indem ihr in die Kategorie „System“ geht und den „Lua“-Block verwendet.
3:54
Damit könnt ihr jeden Lua-Code eingeben, insbesondere für seltenere Features wie dieses, für die es
4:00
keinen entsprechenden Block gibt. Ich gebe die Aktion ein, die ausgeführt werden soll, wie z. B. eine
4:07
Gain-Änderung auf -40.
4:10
Nehmen wir in diesem Fall zur Abwechslung mal einen Trigger-Button aus dem Block Controller. Ich
4:15
nehme den „on control change“-Block dieses Trigger-Buttons und füge meinen Lua-Code in den „do“-
4:21
Abschnitt ein. Wenn ich jetzt das Skript ausführe und den Trigger-Button drücke, empfängt die
4:27
Benannte Komponente den Befehl.
4:29
So, das wars mit den Benannten Komponenten. Im Control Worksheet gibt es eine Aufgabe dazu, und
4:35
danach könnt ihr mit dem nächsten Video weitermachen.