Schon gewusst? Special #7 - Input Assignment - Unendliche Möglichkeiten

Nach den ganzen Neuerungen der letzten Tage schauen wir uns in diesem Schon Gewusst? nun mal ein paar Szenarien an, die sich nun mit dem neuen Input Assignment, dem neuen Softdesk, einem MIDI-Controller sowie DMX-In oder dem Streamdeck realisieren lassen:

  • Beispiel 1: Mehrere Funktionen zusammengefasst in einem Connectionset am Beispiel des Speedmasters
  • Beispiel 2: Fader als Helligkeitsregler mit Start-Stop-Funktion inkl. einfachem Feedback
  • Beispiel 3: Blinkender Button und Text-Feedback zum Status einer Cuelist
  • Beispiel 4: Auswahl von Geräten für die direkte Ansteuerung im Programmer

An dieser Stelle sei direkt gesagt: Alle im Folgenden gezeigten Connectionsets können in dieser Form nur direkt in der Graphenansicht zusammengebaut werden. Es empfiehlt sich generell, Connectionsets möglichst funktionsmäßig sinnvoll zusammen zu fassen. So lassen sie sich zum einen einfacher bearbeiten und kopieren. Zum anderen erhöht sich so die Nachvollziehbarkeit.

Beispiel 1

Ausgangssituation

Du nutzt einen oder mehrere Speedmaster, um den Takt einer Cuelist zu steuern. Neben dem Tappen des Beats durch eine Taste auf der Tastatur möchtest du aber auch weitere Funktionen des Speedmasters auf Tasten legen, wie zum Beispiel den BPM-Wert zu verdoppeln oder zu halbieren. Auch soll die Möglichkeit bestehen, das Beat-Signal zu synchronisieren.

Umsetzung

Was benötigen wir?

Speedmaster, Tastatur-Input


Wie wird das Connectionset zusammenbaut?

Ziehe als erstes die Taste Q im Normalmodus (also keine Umschalt- oder Steuerungstaste gedrückt) auf den Learn-Input des Speedmaster 1. Ein neues Connectionset wird angelegt, welches du in der Graphenansicht öffnest. Hier fügst du nun die weiteren Tastatur-Inputs per Drag 'n' Drop hinzu, die da wären: Leertaste sowie vom Nummernblock jeweils + (Add) und - (Subtract). Das Ergebnis kannst du dir am besten im Screenshot anschauen.


Beispiel 2

Ausgangssituation

Du möchtest eine Cuelist zum Beispiel für das Frontlicht mit einem Fader deines MIDI-Controllers oder via DMX-In starten und stoppen sowie gleichzeitig die Intensität live während der Show mit deinem angeschlossenen DMX-Pult (oder MIDI-Controller) anpassen. Gleichzeitig soll dir das Softdesk anzeigen, welchen Wert du über den Slider deines DMX-Pults eingestellt hast und ob die Cuelist auch tatsächlich gestartet wurde.

Umsetzung

Was benötigen wir?

DMX-In, Cuelist, Slider und Signallampe im Softdesk


Wie wird das Connectionset zusammengebaut?

Du beginnst an dieser Stelle am bestem, indem du einen beliebigen DMX-In-Kanal auf den Input Intensity der Cuelist zieht. Anschließend wechselt du in die Graphenansicht. Hier siehst du, dass DMXControl 3 bereits eine weiteres Node automatisch mit eingebaut hat. Wieso? DMX-In hat einen Wertebereich von 0 bis 255, während der Intensity-Input der Cuelist nur Werte zwischen 0 und 10, also 0% bis 1000% akzeptiert. Diese automatisch eingestellte Umrechnung gefällt uns aber noch nicht, da wir die Helligkeit nur im Bereich von 0% bis 100% regeln wollen. Hierzu öffnest du die Properties des Rule of Three und änderst den Wert für Output Max von 10 auf 1. Mit diesen Einstellungen kannst du aber bis jetzt nur die Helligkeit regeln. Die Cuelist selbst wird noch nicht gestartet oder gestoppt.

Hierzu benötigst du zwei zusätzliche Binary Switches. Den ersten Binary Switch setzt du zwischen den DMX-Input und das Go des Cuelist-Nodes. Der Binary Switch musst aber noch vollständig konfiguriert werden. Der Wertebereich für den Input liegt zwischen 0 und 255, der für den Output wie voreingestellt bei 0 bis 1. Damit der Ausgangswert frühzeitig auf 1 gesetzt wird, muss der Wert für die Switchboarder (also die Schaltgrenze) sehr weit nach unten verschieben. In diesem Fall legst du den DMX-Wert 5 fest. Zum Stoppen der Cuelist benötigst du den zweiten Binary Switch, den du zwischen dem Ausgang des ersten Binary Switch und dem Stop-Input des Cuelist-Nodes positionierst und verbindest. Dieser zweite Binary Switch dient dazu, den Input für Stop auf den Wert 1 zu setzen, damit die Cuelist beendet wird. Hierzu drehst du den Wertebereich für den Output um.

Jetzt geht es mit dem Zusammenbau des Connectionsets auf der rechten Seite des Cuelist-Nodes weiter. Hier fügst du per Drag 'n' Drop den richtigen Slider und die Signallampe aus deinem zuvor erstellten Softdesk ein. Diesen verbindest du aber noch nicht mit dem Cuelist-Node. An dieser Stelle benötigst du ebenfalls einen Rule of Three Node, den du über das Kontextmenü in der Kategorie Logic findest. Damit dein Slider nun auch noch den richtigen Wert aus dem Bereich zwischen 0% und 100% anzeigt, änderst du in dieser zweiten Rule of Three den Wert für Output Max auf 100. Die anderen Werte, insbesondere den für Input Max belässt du so, weil die Nodes bei regelbaren Ein- und Ausgängen in den meisten Fällen Werte zwischen 0 und 1 ausgeben. Als letztes verbindest du die Signallampe direkt mit dem Output für den Status der Cuelist. Weil die ausgegeben Daten bereits das richtige Format haben, musst du keine zusätzlichen Logik-Nodes hinzufügen. Nun sollte dein zweites Connectionset genau so aussehen wie auf dem folgenden Screenshot.


Beispiel 3

Ausgangssituation

Du hast dir mittels einer Cuelist einen Blackout-Effekt gebaut. Sobald du diesen auf verschiedenen Wegen aktivierst, möchtest du dies durch das Blinken des zugehörigen Buttons im Softdesks direkt sehen können. Parallel soll dies durch einen Text ebenfalls an das Softdesk zurückgemeldet werden.

Umsetzung

Was benötigen wir?

Button und Label im Softdesk, Cuelist


Wie wird das Connectionset zusammengebaut?

An dieser Stelle musst du bereits schon im Softdesk bei dem entsprechenden Button zwei Einstellungen setzen, damit das Connectionset, insbesondere das Feedback wie beschrieben arbeitet. Der betreffende Button muss nämlich ein Toggle-Button sein und der Passthrough ist zu aktivieren, damit der Button seinen Status auch ändert, wenn du die verknüpfte Cuelist auf einem anderen Wege startest oder stoppst.

Nun geht es im Input Assignment weiter, wo du dieses dritte Connectionset anlegst, indem du den Button aus dem Input-Baum auf das Go der Cuelist im Output-Baum ziehst. War diese Aktion erfolgreich, wechselst du in die Graphenansicht. Hier benötigst du neben dem Label und dem Slider, welche du beide nun aus dem Output-Baum hinzufügst, einige weitere Nodes zum Konvertieren der auszutauschenden Daten.

  • Logic: Binary Switch, Timer, Logic, Delay
  • Converter: HSV to Color

Der zweite Binary Switch ist der einzige Node aus der Kategorie Logic, welches seine Arbeit auf der Input-Seite des Cuelist-Nodes verrichtet. Alle anderen Nodes verknüpfst du wie im Screenshot dargestellt auf der Output-Seite des Cuelist-Nodes. Der einzige genutzte Output ist der für den Wert State - und zwar direkt mit vier Links. Da wie an anderer Stelle bereits erwähnt auch einige Outputs ihr Daten in verschiedenen Formaten zur Verfügung stellen, ist die Einbindung des Labels überschaubar. Dieses wird fortan den Status der Cuelist in Klartext wiedergeben.

Die mittlere Route, bestehend aus den Logik-Nodes Timer, Logic und Rule of Three sowie dem Converter-Node HSV to Color, ist für das Blinken des Buttons verantwortlich. Mit dem Starten der Cuelist wird auch der Timer aktiviert, sodass dieser in diesem Fall mit einer Frequenz von 1.000 ms blinkt. Damit der Button beim Stoppen der Cuelist grundsätzlich dunkelblau eingefärbt ist, folgt im Anschluss der Logic-Node, welcher als And (logisches Und) konfiguriert ist. Der Rule of Three Node übergibt durch die entsprechende Konfiguration der Output-Seite Werte zwischen 0,5 und 1 an den HSV to Color Node. Durch diese Werte generiert der HSV to Color Node abwechselnd die Farben 0;0;128 (ein dunkles Blau) und 0;0;255 (blau).

Als dritte Route gibt es den Signalweg über den Delay-Node direkt zum Button. Dieser Weg dient dazu, dass der Button auch jetzt schon immer seinen richtigen Status annimmt, egal ob dieser direkt im Softdesk gedrückt oder die Cuelist auf einem anderen Weg gestartet oder gestoppt wird. Aktuell ist eine Verzögerung des Signals von 50ms eingestellt. Dieser Wert kann bei Bedarf aber auch größer gewählt werden. Das Delay ist damit zu begründen, dass der Input eines Buttons zur Zeit keine gleichzeitigen Wertänderungen für in diesem Fall Farbe und Status (gedrückt oder nicht gedrückt) verarbeiten kann. Mit einer gezielten Signalverzögerung lässt sich diese Tatsache entsprechend umgehen.


Beispiel 4

Ausgangssituation

In deinem Lichtsetup sind mehrere Moving Heads verbaut, mit denen du unter Umständen spontan während der Show eine zuvor nicht vorprogrammierte Position in Szene setzen muss. Gleichzeitig möchtest sowohl die Farbe und die Helligkeit live bestimmen können. Da sich die Geräte aber bei der Show in der nächsten Veranstaltungslocation ändern können, möchtest du hier eine flexible Lösung schaffen, wo du im Idealfall im Hintergrund keinerlei Anpassungen beim Umzug vornehmen musst.

Umsetzung

Was benötigen wir?

Softdesk mit Buttons, Slider, Position-Control und Label, Programmer


Wie wird das Connectionset zusammengebaut?

Dieses vierte und auch umfangreichste Connectionset lässt sich am besten komplett manuell zusammenbauen. Hier nutzt du den Eintrag Add empty connectionset, der in dem Menü zum Button Connectionset zu finden ist. Neben den im Softdesk für dieses Connectionset angelegten Buttons, Slidern, Positions Controls oder Color Bars benötigst du hier folgende Nodes:

  • Logic: Counter, Delay, Output Selector, RS-Flip-Flop, Rule of Three
  • Converter: Split, Format, HSV to Color
  • Wrapper: Device, Programmer

Beginnen wir bei der Route zum Auswählen des Geräts über die Buttons Gerät vor / Gerät zurück. Die Grundlage für diese Art der Auswahl sind die Device Number (Geräte-Nummer), welche du selbst nach belieben vergeben kannst. In diesem Fall besitzen die Geräte im Projekt die Device Numbers 2101 bis 2108. Diese Werte sind die Minimal- und Maximalwerte, welche im Counter einzugeben sind. Da das anschließende Device Node nur ganze Zahlen aktiviert, sind die Increment und Decrement Steps auf 1 gesetzt. Overflow ist aktiviert, damit du von der Nummer 2108 direkt zur 2101 springen kannst bzw. umgekehrt.

Der Button Gerät auswählen aktiviert die Ansteuerung des ausgewählten Geräts. Dies kommt der Aktion gleich, welche du sonst manuell mit der Maus in der Stage View vollziehst. Durch das Drücken des Buttons lässt der Output Selector parallel die am Input anliegende Device Number passieren und der Programmer spricht das richtige Gerät an. Das vorgeschaltete Delay mit einer Verzögerungszeit von 250ms ist sozusagen ein Datenpuffer, der die letzte gewählte Device Number stehen lässt, bis die Verarbeitung des Status über das Feedback abgeschlossen ist. Andernfalls würden sich auch andere Geräte kurzzeitig ansprechen lassen.

Die Route zum Label Gerät Info 2 beinhaltet einen Format-Node. Dieser setzt die beiden Textbausteine des Outputs Vendor und Model am Device-Node zu einem Text zusammen. Dazu ist das Node mit {0} {1} unter dem Eintrag Format in den Properties des Nodes konfiguriert.

Am Programmer-Node ähneln sich die Inputs für Intensity, Pan, Tilt und Zoom. Allen vier Inputs ist ein Rule of Three Node vorgeschaltet, da diese Inputs jeweils nur einen Wertebereich zwischen 0 und 1 akzeptieren. Auf der Input-Seite der Rule of Three sind die Wertebereiche an die jeweiligen Gegebenheiten angepasst. Die Silder für Dimmer und Zoom senden Werte zwischen 0 und 100, das Position-Control übergibt dagegen Werte von -72 bis 72. Hier musst du auch den Split-Node verwenden, damit die Position in den Pan- und Tilt-Anteil zerlegt wird.

Für den Shutter-Input am Programmer kannst du in diesem Fall keinen Toggle-Button nutzen, weil der Programmer-Node kein Feedback hierfür übergibt. Daher beinhaltet das zugehörige Softdesk zwei getrennte Buttons zum öffnen und schließen des Shutters, die du mit einem RS-Flip-Flop verbindest.

Hast du alle diese Nodes positioniert und verbunden, sollte dein Connectionset in etwa dem folgenden Screenshot entsprechen.


Beispiel 5

Da alle zuvor genannten Beispiele in der Theorie möglicherweise nicht vollständig nachzuvollziehen sind, gibt es hier nun das fünfte Beispiel: das fertig eingerichtete Projekt mit dem Softdesk und vor allem den funktionieren Connectionsets der zuvor erläuterten Beispiele. Wenn du die Abfrage beim Öffnen des Projekts, ob das zuletzt verwendete Fensterlayout geladen werden soll, mit ja beantwortest, sind alle relevanten Fenster bereits geöffnet. An dieser Stelle: viel Spaß beim Ausprobieren!


Demoprojekt:

Schon Gewusst #25.7 - Input Assignment.zip


Euer :dmxclogo DMXControl-Team :dmxclogo

Kommentare

  • Sehr schönes Beispiel, allerdings arbeitet bei mir der Shutter nicht richtig. Ich muss erst einmal "Shutter zu" und dann "Shutter auf" drücken, um den Shutter zu öffnen.