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

Video Transkript

Komponenten benennen 6m 9s
00:07
Die Baumstruktur bietet uns noch einen dritten Weg, Steuerungselemente in unserem Skript zu beeinflussen.
00:14
Beim Steuerungsskript musstet ihr einen separaten Regler mit den Steuerpins eures Skripts verbinden, während sich Programmierbare Steuerungen auf ein natives Steuerungselement in der Komponente beziehen kann.
00:28
Ihr könntet aber auch „Benannte Komponenten“ (Named Components) verwenden.
00:33
Eine Named Component ist genau das, wonach es klingt – eine Komponente, der Sie einen individuellen Namen gegeben haben.
00:42
Ziehen wir zum Beispiel diesen Gain-Block in das Design und werfen einen Blick auf seine Eigenschaften.
00:48
Eine der Eigenschaften heißt „Label“; dies ist der Klarname, der für die Komponente im Schema angezeigt wird. Doch gibt es auch noch eine andere Eigenschaft mit der Bezeichnung „Codename“.
01:00
Ich gebe der Gain-Komponente einen listigen Decknamen wie ... „RobinHood.“
01:07
Dies ist schon etwas ganz anderes, als ihr Label zu ändern, denn hinter den Kulissen wird dadurch meiner Komponente eine Lua-Tabelle zugewiesen.
01:16
Die Komponente wird visuell immer noch mit dem Label „Gain“ angezeigt, wenn ich aber den Mauszeiger darüber halte,
01:24
kann ich ihren geheimen Codenamen RobinHood bestätigen.
01:28
Mit diesem Codenamen können Sie nun die Steuerungselemente Ihrer Komponente aus jedem Lua-Skript heraus ansteuern, ohne dass Sie es mit diesem Skript verknüpfen müssten.
01:38
Wenn Sie beispielsweise einen Block Controller öffnen, sehen Sie links einen Zweig mit allen Named Components, auf die mittels eines Codenamens zugegriffen werden kann.
01:49
So nutze ich vielleicht einen Trigger-Button hier im Block Controller, um den Gain-Regler der entsprechenden Komponente auf -40dB zu stellen.
01:59
Wenn ich nun den Trigger-Button antippe, kann man sehen, dass die entsprechende Komponente erfolgreich geändert wurde.
02:05
Für diejenigen, die lieber mit Lua arbeiten, öffnen wir ein Control Script und steuern die Komponente auch von hier aus an.
02:14
So sieht die Syntax aus: „Component.New“, danach muss in Klammern der Codename der Benamten Komponente folgen.
02:22
Da dieser Text eine Zeichenfolge ist, muss sie in Anführungszeichen stehen.
02:27
Als nächstes müssen Sie eine eckige Klammer öffnen, um den Namen der Steuerung anzugeben,
02:33
die in dieser Komponente angesteuert werden soll und die auch hier wieder in Anführungszeichen stehen muss.
02:39
Falls Sie nicht genau wissen, wie die Steuerungselemente innerhalb der Komponente heißen, können Sie die Komponente auswählen,
02:45
zum Tools-Menü gehen und dort „View Component Controls Info“ wählen.
02:51
Dadurch wird auf der linken Seite der Lua-Name jedes Steuerungselements angezeigt, ebenso wie der Klarname und die Art des Steuerungselements auf der rechten.
03:01
Nachdem Sie das Steuerungselement selbst erfolgreich referenziert haben, können Sie die Baumstruktur fortführen und eine Eigenschaft auswählen.
03:09
Ich ändere zum Beispiel den .Value von RobinHoods Mute-Steuerung. Und wenn ich das Skript laufen lasse, sehen wir, dass es funktioniert.
03:20
Ich selbst würde dieses Steuerungselement durch eine Variable repräsentieren.
03:24
Dieses Stück Code hier ist wirklich hässlich – Component.New, Klammern, Anführungszeichen, eckige Klammer, Anführungszeichen.
03:34
Definieren wir einfach das ganze Ding mit der Variablen MrGain. Jetzt kann ich den Bezug zu diesem Element allein mit MrGain.Value oder MrGain.String herstellen.
03:48
Das liest sich viel besser und ähnelt eher den anderen Baumstruktur-Aktivitäten, die ihr bisher kennt.
03:54
Benannte Komponenten sind ein schlagkräftiges Mittel für den Zugriff eurer Skripte auf Steuerungselemente, und zwar ohne Verschaltungen oder Programmierbare Steuerungen.
04:05
Es bedeutet auch, dass sich beliebig viele Lua-Skripte auf dieses Steuerungselement beziehen können.
04:11
Im Prinzip könnt ihr damit auf etwas Bezug nehmen, das gar nicht in eurem Skript steht.
04:15
„Script Access“ ist eine weitere Eigenschaft, die Sie kennen sollten.
04:20
Vielleicht ist Ihnen bereits aufgefallen, dass beim Ändern des Codenamens der Komponente auch die „Script Access“-Eigenschaft von „None“ zu „All“ gewechselt hat.
04:31
Grundsätzlich werden alle Komponenten im sichersten Modus erstellt, der keinen externen Zugriff erlaubt, doch Q-SYS geht davon aus,
04:39
dass Sie aufgrund der Benennung mit einem Codenamen diese Komponente auch steuern möchten.
04:45
Sie könnten dieses Feld auch auf „Script“ setzen, wodurch nur interne Q-SYS Skripte auf Ihre Komponente zugreifen dürfen,
04:54
oder auf „Extern“, was den Zugriff ausschließlich für externe Geräte erlaubt.
05:00
Abschließend findet sich im Tools-Menü unter dem Namen „Script Programmer Mode“ noch eine weitere Option.
05:07
Wenn dieser Modus aktiviert ist, wird die visuelle Darstellung des Labels und des Codenamens für alle Komponenten umgekehrt,
05:16
sodass der Codename jeder Komponente gut sichtbar angezeigt wird und ihr Label nur sichtbar wird, wenn Sie den Mauszeiger über die Komponente halten.
05:25
In diesem Modus wird durch das Umbenennen der Komponente hier im Schema ihr Codename und nicht ihr Label aktualisiert,
05:33
weshalb Sie immer darauf achten sollten, in welchem Modus Sie sich gerade befinden.
05:38
Sie werden außerdem bemerken, dass jede Komponente mit einem kleinen farbigen Quadrat gekennzeichnet ist, aus dem ihre „Script Access“-Eigenschaft ersichtlich wird:
05:49
Rot für All, Orangefarben für External, Gelb für Scripts und Grau für None.
05:56
So, das wars mit den Benannten Komponenten. Im Control Worksheet gibt es eine Aufgabe dazu, und danach könnt ihr mit dem nächsten Video weitermachen.

Übungsbeschreibung

Komponenten benennen 6m 9s

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