Input Assignment DMXC3

Aus Deutsches DMXC-Wiki
Zur Navigation springen Zur Suche springen
Books.png Input Assignment DMXC3 Artikel beschreibt
DMXControl 3.2.1
Inhaltsverzeichnis
Teil 1: Allgemeines
Teil 2: Quickstart
Teil 3: Tipps und Tricks
Teil 4: Programmfunktionen


Das Input Assignment ist die zentrale Schnittstelle, um DMXControl 3 mit beliebigen Eingabegeräten zu bedienen und Signale zu verteilen. Eingabegeräte und -möglichkeiten sind zum Beispiel eine Tastatur, das Softdesk, DMX-In oder ein MIDI-Controller. Mit dem Input Assignment können Verbindungen der so genannten Ein- und Ausgänge (In- und Outputs) zu programminternen Eigenschaften und Funktionen von DMXControl 3 wie Cuelist, Executoren etc. angelegt werden.


Überblick

 Wichtiger Hinweis Im Input Assignment wird wie auch im Project Explorer sehr viel mit Drag & Drop gearbeitet, sowohl beim Erstellen eines neuen Connectionsets als auch beim Ändern eines Connectionsets in der Graphenansicht.


Der Grundgedanke im Input Assignment ist, dass man nahezu jede Eingabemöglichkeit zur Steuerung einer oder mehreren beliebigen programminternen Funktion von DMXControl 3 nutzen kann. Dabei sind diese Connectionsets nicht als klassische 1:1-Verbindungen zu sehen. Mit dem Input Assignment kann man Werte innerhalb eines Connectionsets an jeder Stelle manipulieren und beliebig viele zusätzliche Steuermöglichkeiten und -abhängigkeiten schaffen. Durch den standardisierten Datenaustausch zwischen vielen Elementen gibt es nahezu keine Einschränkungen. So erhält man besonders flexible und auch universelle Steuerungsmöglichkeiten, die je nach Aufbau sogar unabhängig von dem aktuellen Projekt, das heißt als ein Bestandteil eines eigenen Vorlage-Projekts genutzt werden können.

Neben dem Ansprechen von programminternen Funktionen Cuelist, Executoren, Master etc. bietet das Input Assignment auch die Möglichkeit, die verschiedensten Informationen zum Beispiel im Softdesk zu visualisieren. Das schließt nicht nur das Ändern des Status eines Buttons ein, ob dieser gedrückt oder nicht gedrückt ist, sondern man kann sich auch Informationen auf Textbasis wie den Namen einer aktuell aktiven Cuelist oder die BPM-Werte aller im Projekt genutzten Speed Master anzeigen lassen. Eine Variante ist ein Feedback zu einem MIDI-Controller mit Motorfadern, dessen Position und Wert parallel im Softdesk visualisiert wird.

Wichtige Merkmale

Grundkonzept des Input Assignments

Um ein oder mehrere Inputs mit einem oder mehreren Outputs zu verbinden und damit die Reaktion auf gewisse Eingangssignale zu bestimmen, benötigt man ein sogenanntes Connectionset, in dem die Links (Verbindungen) zwischen Inputs und Outputs definiert werden. In der Tabellenansicht werden alle existierenden Connectionset aufgeführt.


 Wichtiger Hinweis Jede Zeile in der Tabelle ist ein Connectionset, welches mindestens aus zwei Knoten (Nodes) besteht, die wiederum mit mindestens einer Verbindung (Link) verknüpft sind.


Bänke sind die Container für Connctionsets und können ein oder mehrere solcher Sets enthalten. Eine Aufteilung auf mehrere Bänke ist gerade dann hilfreich, wenn man beim Programmieren andere Aktionen anstoßen möchtet als während der Live-Show. Jede Bank lässt sich nämlich gezielt ein- oder ausschalten.

Input vs. Output vs. Node

Im Rahmen einem tiefergehenden Einstieg sprechen wir über die drei, im folgendenen genannten Arten von Objekten, mit denen man regelmäßige Berührungspunkte hat:

  • Inputs sind alle Werte und Befehle, die in die Software hineingeschickt werden. Diese kommen beispielsweise von einer Tastatur, dem Softdesk oder einem anderen Eingabegerät.
  • Outputs empfangen bestimmte Werte und visualisieren diesen Wert in Form eines Feedbacks. Das ist zum einen beispielsweise das Rückmelden des Status an einen Button, der daraufhin seine Farbe ändert. Eine andere Variante kann aber auch das Positionieren des Motorfaders auf einem MIDI-Controller sein. Eine Cuelist, ein Speed Master etc. ist gemäß unserer Definition dagegen kein Output (mehr) sondern ein Node.
  • Nodes haben sowohl einen Input Hub auf der linken Seite und Output Hub auf der rechten Seite (Ein- und Ausgang), die auch alle gleichzeitig verwendet werden können bzw. zum Teil auch verwendet werden müssen. Worin die Unterschiede der Converter-, Logic- und Wrapper-Nodes liegen, ist unter dem Abschnitt Nodes nachzulesen.

ID vs. Nummer vs. Name

Die funktionsspezifischen Nodes, das heißt die Nodes aus dem Wrapper-Bereich, lassen sich auf drei Wege mit der zugehörigen Cuelist, Exectur, Speedmaster etc. verknüpfen.

Verknüpfung Beschreibung Anwendungsbeispiel
ID Einmalige und eindeutige interne ID eines Elements innerhalb eines Projekts, der in so bis zum Löschen des Elements unverändert bleibt. Wer mit vielen Cuelists arbeitet und diese auch regelmäßig umbenennt, kann auf diesem Wege sicher gehen, dass die Verbindungen weiterhin funktionieren.
Name Selbst vergebener Name des Elements wie zum Beispiel Cuelist Show 1 oder Ambiente 2. Lauten die Namen einer Cuelists immer gleich, kann man sich ein Vorlageprojekt erstellen, in dem die Verbindungen bereits enthalten sind. Die Verbindung funktioniert dann sofort, sobald man (wieder) eine Cuelist mit dem Namen Cuelist Show 1 oder Ambiente 2 in seinem Projekt angelegt hat.
Nummer Automatisch vergebene, fortlaufende Nummer, die aber geändert werden kann. Die Zuordnung über die Nummer kann dann genutzt werden, wenn man zum Starten einer Cuelist immer nur eine Taste drücken möchte, die zugeordnete Cuelist aber über zwei andere Tasten live geändert werden soll.

Begriffe und Funktionen

Alle Begriffe, die im Zusammenhang mit dem Input Assignment genutzt werden, erläutern wir mit Hilfe der folgenden Bilder der Standardansicht im Input Assignment, der Tabellenansicht sowie anhand eines Connectionsets, der gerade in der Graphenansicht geöffnet ist.

Bedienelemente

Das Fenster des Input Assignment ist in zwei Bereiche aufgeteilt. Es besteht aus den beiden Verzeichnisbäumen für die Inputs (Input-Baum) und Outputs (Output-Baum) sowie aus der Bereich mit Tabellen- bzw. Graphenansicht.

Input und Output-Bäume

Im linken Verzeichnisbaum sind alle Inputs aufgeführt. Der rechte Baum zeigt alle Outputs, an die Informationen und Aktionsaufforderungen geschickt werden können. Mit den Textfeldern oberhalb der Verzeichnisbäume für die Inputs und Outputs können bestimmte Inputs bzw. Outputs gesucht und aus dem Baum herausgefiltert werden.

Tabellenansicht

Die Tabelle listet alle angelegten Verbindungen zwischen Inputs und Outputs auf. Über der Tabelle befinden sich die Schnellzugriffe zum Bearbeiten von Verbindungen und Bänken. In der Tabelle gibt es bis zu vier Spalten:

Name Beschreibung Hinweis
Active Deaktiviert oder aktiviert ein Connectionset dauerhaft innerhalb einer Bank. Einzelne Connectionsets können nur manuell deaktiviert und aktiviert werden.
Name Freie Beschreibung des Connectionset. Es empfiehlt sich, für jedes Connectionset einen eindeutigen Namen zu vergeben, um mit Hilfe der Log-Dateien des Kernels eventuelle Fehler identifizieren zu können.
Input Auflistung der verwendeten Inputs.
Node
Output Auflistung der verwendeten Outputs.

Sollte eine Verbindung orange markiert werden, so ist beim Anlegen ein Fehler aufgetreten. Das bedeutet, dass der Eingang mit dem Ausgang nicht direkt verbunden werden kann. Um den Fehler zu korrigieren, muss man in die Graphenansicht wechseln und die Verbindung ggf. unter Verwendung zusätzlicher Nodes manuell hinzufügen.

[Screenshot IA]

Die oberhalb der Tabelle befindliche Menüleiste hat folgende Einträge und Funktionen:

Befehl / Menüeintrag Icon Beschreibung
Bank
« Add » Fügt eine neue Bank hinzu.
« Delete » Löscht die ausgewählte Bank.
« Rename » Benennt die aktuelle Bank um.
« Active » Aktiviert / deaktiviert die akutelle Bank.
Connectionset
« Add » Legt in der aktuellen Tabelle ein neue Verbindung mit den links im Baum ausgewählten Input und Output an.
« Add empty » Legt in der aktuellen Tabelle ein neue leere Verbindung an.
« Delete » Löscht die selektierte Verbindung.
« Move » Verschiebt die selektierte Verbindung zur ausgewählten Bank.
« Clone » Löscht die selektierte Verbindung.
Show graph Schaltet von der Tabellenansicht in die Graphenansicht des selektierten Graphens.

Graphenansicht

Die Graphenansicht ist zur Anpassung und Erweiterung von Verbindungen. Um diese aufzurufen, selektiert man die zu bearbeitende Zeile und klickt oben in der Menüleiste auf [Show Graph] oder macht einen Doppelklick auf das graue Feld der Zeile.

In der Graphenansicht wird nun die automatisch generierte Funktion angezeigt, die meist aus den Eingang, ggf. einem Converter und einem Ausgang besteht. Alle Elemente sind durch eine Linie, dem Link verbunden. Natürlich sind die Elemente nur zu sehen, wenn in die zugehörige Zeile in der Tabellenansicht bereits mit Inhalt gefüllt ist. Sollte ein leeres Connectionset angelegt worden sein, findet man natürlich eine leere Graphenansicht vor.

Egal, ob ein Connectionset (weitestgehend) automatisch erzeugt wurde oder ob man direkt mit einem leeren Connectionset startet und sich dieses in der Graphenansicht anschaut: man kann jederzeit weitere Nodes hinzufügen. Welche Nodes euch DMXControl 3 zur Verfügung stellt und welche Funktion diese haben, findet man im nächsten Kapitel.

Nutzung

Aufruf

Das Input Assignment kann man über drei verschiedene Wege aufrufen:

  • direkt über den Weg « Windows »⇒ « Input Assignment »,
  • über den Project Explorer und zwar unter dem Eintrag "Settings" oder
  • ein weiteres Mal über Menü, hier jedoch über die Einträge « Settings »⇒ « Settings », wo man in dem sich öffnenden Fenster ebenfalls den Eintrag Input Assignment findet.

Auch dieses Fenster lässt sich über das Panelsystem frei in DMXControl positionieren und kann so bei genügend Platz auf dem Bildschirm die ganze Zeit geöffnet bleiben.

Arbeitsweise des Input Assignment

Anlegen eines neuen Connectionsets

Connectionsets lassen sich auf drei Arten erstellen:

  • Variante 1: Man zieht einfach einen Input aus dem Input-Baum per Drag 'n' Drop auf einen Output aus dem Output-Baum ziehen. Nun wird automatisch ein neues Connectionset in der aktuellen Bank erstellt. Im Connectionset erzeugt DMXControl 3 auch gleich die entsprechenden Links.
  • Variante 2: Im Input-Baum als auch im Output-Baum werden die als erstes entsprechenden Inputs bzw. Outputs ausgewählt und mittels des Befehls oberhalb der Tabelle « Connectionsets »⇒ « Add » ein neues Connectionset erzeugt. Auch hierbei werden automatisch Verlinkungen gezogen.
  • Variante 3: Möchte man ein leeres Connectionset anlegen, dann ist dies über « Connectionsets »⇒ « Add Empty » möglich.

Ändern einer vorhandenen Verbindung

Möchte man ein vorhandenes Conncectionset ändern, muss man in die Graphenansicht wechseln. Dort besteht die Möglichkeit, per Drag & Drop aus dem Input-Baum heraus direkt einen anderen Input in die Graphenansicht zu ziehen, wie zum Beispiel einen anderen Button, und auf dem bereits vorhandenen Button ablegen. Es wird daraufhin sofort der neue Name des Inputs angezeigt. Gleichermaßen geht man vor, wenn man einen Output ersetzen möchte.


 Wichtiger Hinweis Man kann nicht nur einen Button durch einen Button, sondern auch einen Button durch einen Fader ersetzten. In diesem Fall muss man unter Umständen den nachfolgenden Node wie den Rule of Three oder den Binary Switcher anpassen, damit das Connectionset weiterhin funktioniert.


Anders verhalten sich die Nodes auf dem Bereich-Wrapper, das heißt Nodes wie Cuelist, Speedmaster oder Executor. Hier ändert man in den Einstellung das verlinkte Element. Dies ist besonders von Vorteil, wenn man einen Node mit vielen Ein- und Ausgängen korrigieren möchte. Die Verbindungen auf der Seite des Input Hubs und des Output Hubs bleiben erhalten.

Eine letzte Möglichkeit ist, den neuen Input, Output oder Node in der Tabellenansicht auf die entsprechende Zeile zu ziehen und dann in die Graphenansicht zu wechseln. Die zusätzlichen Elemente sind dann frei in der Graphenansicht platziert und müssen dann verknüpft werden. Nicht verwendete Elemente am besten wieder aus dem Connectionset löschen.

Duplizieren (klonen) einer Verbindung

Das Kopieren und Einfügen von Verbindungen ist nicht vorgesehen. Stattdessen dupliziert bzw. klont man eine vorhandene Verbindung. Diese Funktion ist über das Kontextmenü zu der zuvor ausgewählten Verbindung erreichbar. Die duplizierte (geklonte) Verbindung erkennt man an dem Zusatz im Namen "Copy of".


 Wichtiger Hinweis Um ungewollte Seiteneffekte nach dem Duplizieren einer Verbindung zu vermeiden, ist jede duplizierte Verbindung zu erst einmal deaktiviert. Bei deaktivierten Verbindungen arbeitet auch die Vorschau der Werte an den Ein- und Ausgängen nicht.


Funktionen

Bänke

In einer Bank können Verbindungen gruppiert werden. Dies hat folgende Vorteile:

  • die Übersicht bleibt vor allem in wachsenden Projekt erhalten
  • jede Bank kann mit allen Verbindung sowohl direkt im Input Assignment, aber auch über das Node Bank zum Beispiel über das Softdesk aktiviert und deaktiviert werden.

Am Beispiel der Tastatursteuerung dürfte der Vorteil eines systematischen Aufteilens von Connectionsets auf verschiedene Bänke deutlich werden. Man hat diverse Tasten auf bestimmte Funktionen gelegt und möchte aber eine Cue beschriften. Beim Tippen würden zunächst die Funktionen ausgeführt werden, die vorher festgelegt wurden sind. Dies könnte in einer laufenden Show stören. Hier kommt nun die Bank zum Einsatz. Hat man alle Tastaturbefehle in einer Bank mit dem Titel "Tastatur" abgelegt, könnte diese per Softdesk oder einer bestimmten Tastenkombination nun aktiviert oder deaktiviert werden, um seine Eingaben durchführen zu können, ohne dabei die Live-Show zu stören.

Nodes

In einigen Fällen kann ein Outputport nicht direkt mit einem Inputport verbunden werden, da sich die Formate ihrer Daten unterscheiden. Damit diese Verbindung trotzdem klappt, wird ein Converter benötigt. Solche und einige weitere Nodes sind zu finden, wenn man mit der rechten Maustaste in einen freien Bereich des Graphen-Fensters klickt und in dem sich öffnenden Kontextmenü auf « Add » klickt. Dort sind die Nodes in drei Kategorien geordnet.

Zur ersten Kategorie Converter zählen Nodes, die einen Datentyp in einen anderen umwandeln. Logik-Operatoren sind Nodes, mit denen zum Beispiel zwei Eingänge kombiniert oder neu skaliert werden können. Die Nodes aus der Kategrorie Wrapper steuern die verschiedenen Funktionen in DMXControl 3 selbst wie beispielsweise eine Cuelist oder eine Device Group. Inputs bzw. Outputs können wie in der Tabellenansicht auch per Drag 'n' Drop in einen Graphen gezogen werden.

Converter

Node DMXC-Version Kurzbeschreibung
Bitmap
Bitmap from Color 3.2.1 Wandelt eine Farbe in eine Bitmap um.
Bitmap from Matrix 3.2.1 Wandelt die Ausgabe auf eine Matrix in eine Bitmap um.
Bitmap from Position 3.2.1 Generiert aus der Position eine Bitmap mit einem Koordinatensystem.
Bitmap from Radix 3.2.1 Wandelt die Ausgabe auf eine Radix in eine Bitmap um.
Bitmap from Ressource 3.2.0 Lädt eine Bild-Datei (*.bmp-Datei) aus dem Ordner Files im Project Explorer.
Draw Bitmap 3.2.0 Generiert eine Bitmap aus Text, Farben und weiteren Parametern.
Nicht weitergehend kategorisiert
Beat to Bool 3.2.0 Wandelt das Beat-Signal (zum Beispiel des Manual Beat) in ein binäres Signal.
Color to RGB 3.2.0 Wandelt einen Farbwert in einzelne RGB-Werte um.
Format 3.2.0 Formatiert einzelne Werte oder setzt einen Text aus mehreren Bausteinen zusammen.
HSV to Color 3.2.0 Wandelt die drei Eingänge für Hue, Saturation und Value in einen Farbwert um.
Position to Pan/Tilt 3.2.0 Wandelt den Position-Eingang in ein getrenntes Pan- und ein Tilt-Signal um.
Split 3.2.0 Teilt einen beliebigen Eingangswert die RGB oder Position in seine Einzelteile auf.

Logic

Node DMXC-Version Kurzbeschreibung
Flip-Flop
D-Flip-Flop 3.2.1 Taktzustandgesteuerte Flip-Flop.
RS-Flip-Flop 3.2.0 Flip-Flop mit separaten Eingängen für Setzen und Rücksetzen.
T-Flip-Flop 3.2.0 Toggle-Flip-Flop.
T-Flip-Flop with SR 3.2.1 Toggle-Flip-Flop mit Setzen und Rücksetzen.
Nicht weitergehend kategorisiert
Binary Switcher 3.2.0 Wandelt ein analoges Signal in zwei Zustände um (Schwellwertschalter).
Compare 3.2.0 Vergleicht zwei analoge Eingänge und gibt am Ausgang einen Bool-Wert aus.
Counter 3.2.0 Vor- und Rückwärtszähler.
Delay 3.2.0 Verzögert den Eingang um die eingestellte Zeit.
Expression 3.2.1 Mathemathischer Ausdruck zur Erstellung eigener Formeln.
Input Selector 3.2.0 Eingangswähler
List Selector 3.2.1 Kann aus einem Array einen Index ausgeben.
Logic 3.2.0 Boolsche Logik wie Und, Oder etc.
Math 3.2.0 Mathematische Funktionen wie Addition, Subtraktion etc.
Output Selector 3.2.0 Ausgangswähler
Random 3.2.1 Gibt einen zufälligen Wert aus.
Rule of Three 3.2.0 Skalliert einen Wert oder einen Wertebereich linear.
Schmittrigger 3.2.0 Flatterunterdrückung bzw. Hysterese.
Timer 3.2.0 Gibt am Ausgang einen Takt als Boolwert aus.

Wrapper

Die angezeigten Informationen erhalten sie aus dem zugeordneten Element selbst, welche somit vor allem in Hinblick auf den Output Hub ein echtes Feedback darstellen. Die Zuordnung zu einer Cuelist oder einem Executor (also alle Nodes aus dem Bereich Wrapper) können zusätzlich zur Laufzeit geändert werden.

Node DMXC-Version Kurzbeschreibung
Cuelists
All Cuelists 3.2.1 Gibt die IDs aller Cuelists aus.
Cue 3.2.0 Liest die Eigenschaften der parametrierten Cue aus.
Cuelist 3.2.0 Triggern der parametrierten Cuelist und das Auslesen der Zustände.
Cuelist Group 3.2.1 Triggern der parametrierten Cuelist Group und das Ausgabe der Zustände.
Devices
Device 3.2.0 Geräte selektieren und dessen Eigenschaften abgefragen.
Device Group 3.2.0 Gerätegruppen selektieren und dessen Eigenschaften abfragen.
Procedure 3.2.1 Prozesse von bestimmten Geräten oder Gerätegruppen ausführen.
Selected Device Group 3.2.0 Ausgabe des aktuell selektierten Geräts oder der selektierten Gruppe.
Executors
Dynamic Executor 3.2.0 Executor der aktuell ausgewählten Executor Page steuern und die anliegenden Zustande auslesen.
Executor 3.2.0 Steuern eines bestimmten Executors bzw. dessen aktuelle Zustände auslesen.
Executor Page 3.2.0 Ausgabe der aktuellen Zustände der parametrierten Executor Page.
Selected Executor Page 3.2.0 Auswählen oder umschalten einer Executor Page ausgewählt und es wird die aktuell selektierte Page ausgegeben.
Generals
Blackout 3.2.0 Aktivieren und deaktivieren des Blackouts und Ausgabe des aktuellen Zustands.
Freeze 3.2.0 Aktivieren und deaktivieren des Freeze und Ausgabe des aktuellen Zustands.
Highlight 3.2.0 Aktivieren und deaktivieren der Highlight-Funktion und Ausgabe des aktuellen Zustands.
Interfaces
DMX-Interface 3.2.1 Aktivieren und deaktivieren eines DMX-Interfaces und Ausgäbe des aktuellen Zustands.
DMX-Interface-Port 3.2.1 Aktivieren und deaktivieren des Ports eines DMX-Interface und Ausgäbe des aktuellen Zustands.
Masters
Grand Master 3.2.0 Steuern des Grand Masters und abfragen seines Zustands.
Group Master 3.2.0 Steuern des eingestellten Group Masters und abfragen seines Zustands.
Parameter Master 3.2.0 Steuern des eingestellten Parameter Masters und abfragen seines Zustands.
Speed Master 3.2.0 Steuern des eingestellten Speed Masters und abfragen seines Zustands.
Sounds
All Sound Files 3.2.1 Stoppen aller Audio-Dateien und Ausgabe aller laufenden und nicht laufenden Audio-Dateien.
Sound File 3.2.1 Abpsielen und stoppen einer Audio-Datei.
Nicht weitergehend kategorisiert
Bank 3.2.0 Aktivieren und deaktivieren einer Bank bzw. auslesen der aktuellen Informationen der Bank.
DMXC Mixer 3.2.1 Gibt die aktuellen Ausgabewerte eines Gerätes aus.
Programmer 3.2.0 Bedienen des Programmers und auslesen des Filter-Modus.

Inputs & Outputs

Gruppe Node Wertebereich Beschreibung
Inputs
Electricity Overload low / high Geht auf High, sobald ein Stromkreis im Electricity Management überlastet ist.
DMX In 1 / 2 0 - 255 Der Ordner 1 bzw. 2 gibt das Universum an und die 1.1 ist dann die DMX Adresse 1 im Universum 1.
Beat Manual Beat low / high gibt den Beat aus dem Manual Beat an.
Keyboard
Softdesk Buttons low / high Es wird der Zustand eines Buttons ausgegeben, wobei low für nicht gedrückt und high gedrückt steht.
Slider 0-100 Gibt die aktuelle Stellung des Faders als Wert aus.
ColorBar HSV Übergibt den Farbwert als RGB-Werte.
Position Position
Bank
Dynamic Executor
Programmer
Master

Tipps und Trick

Programmer im Input Assignment

Beispiele