Überblick
Über dieses Plugin lässt sich DMXControl über jede beliebige OSC-Message steuern. Man kann die Werte von Fadern, die über OSC ihre Werte versenden, direkt auf Submaster/Kanäle/Geräte innerhalb von DMXC umsetzen.
Beschreibung und Konfiguration
Installation und Aktivierung
Das OSC-Plugin kann hier[1] heruntergeladen werden. Es muss in den Plugin-Ordner des Programmordners von DMXContol 2 gespeichert werden. Anschließend muss das OSC-Plugin noch in DMXControl 2 unter Konfiguration -> Plugins aktiviert werden, bevor man es konfiguriert.
Das Plugin muss immer erst aktiviert werden, bevor man es konfiguriert und benutzt. Ist das Plugin nicht aktiviert, kann es trotzdem konfiguriert werden, es erscheint aber eine Fehlermeldung, wenn ein OSC-Packet eintrifft |
Einstellungen setzen
Das Plugin anlernen
Zuerst muss das Plugin "angelernt" werden, denn es weiß ja schließlich nicht, welche OSC-Messages verarbeitet werden sollen. Dazu muss man zuerst die IP und den Port einstellen. Die IP und der Port müssen mit denen übereinstimmen, die im Programm das die OSC-Messages erzeugt, verwendet werden.
Sobald man die beiden Sachen richtig eingestellt hat, klickt man auf den Button "Lernen". Wenn die Eingaben gültig sind, erscheint keine Fehlermeldung und der Button bleibt gedrückt. Nun muss man das Programm von dem die OSC-Messages kommen dazu bringen, welche zu senden z.B. in dem man einen Fader bewegt oder einen Song abspielt. Wenn die Einstellungen richtig waren, blinkt das rote Feld grün. Außerdem wird angezeigt, wieviele unterschiedliche OSC-Messages bereits empfangen wurden.
Es empfiehlt sich, immer bei Fadern usw. diese einmal bis zum Anschlag und zurück zu bewegen. Damit erspart man sich nacher das Einstellen des Eingangsbereiches. Nachdem man die OSC-Messages, die man nutzen will generiert hat, muss man wieder auf den "Lernen"-Button klicken, um den Modus zu deaktivieren.
OSC-Methode
Nun klickt man einfach in das erste Feld in der ersten freien Zeile. Wenn der Lernmodus nicht aktiv ist und OSC-Messages empfangen wurden, öffnet sich nun ein Dropdown-Feld. Dort kann man jetzt die gewünschte OSC-Message auswählen.
Parameter
Eine OSC-Message kann keine, einen oder mehrere Parameter haben. Diese kann man in diesem Dropdown-Feld auswählen. Nachdem man einen Parameter ausgewählt hat, werden die Felder inMin und inMax automatisch gefüllt. Nur bei dem Parameter-Typ String stehen die Min/Max Felder nicht zur Verfügung.
Vergleichsoperator
Über den Vergleichsoperator kann man eine Bedingung für den Befehl auswählen. Es wird vor dem Ausführen des Befehls immer geprüft, ob die Bedingung wahr ist. Bei dem Parameter-Typ String stehen die Operatoren </> nicht zur Verfügung. Mit den Bedingungen kann man z.B. erreichen, dass ein Befehl nur ausgeführt wird, wenn der Fader in einem bestimmten Bereich ist oder ein Button gedrückt oder losgelassen wird. Über den Operator "any" kann man festlegen, dass der Befehl immer ausgeführt wird, egal welcher Wert ankommt. Dies braucht man z.B. wenn mann einen Fader direkt auf einen Kanal/Submaster legen will.
Min/Max
Die Min/Max Werte müssen nur ausgefüllt werden, wenn der eingehende Wert in DMXControl verwendet werden soll z.B. für einen Kanal/Submaster. Die Felder inMin und inMax geben den maximalen Eingangsbereich an z.B. wenn ein Fader den Parameter-Typ Float hat, hat er wenn er ganz unten ist den Wert 0 und wenn er ganz aufgezogen wurde den Wert 1. Normalerweise sollten die Werte, die automatisch eingetragen wurden stimmen, wenn man beim Lernen den Fader bis zu den jeweiligen Anschlägen bewegt hatte.
Die Felder outMin, outMax und Min, Max müssen nicht ausgefüllt werden.
Wenn sie nicht ausgefüllt sind wird die Standardeinstellung genutzt, diese sieht man oben im Bild. Die Felder bleiben dabei leer, denn die Werte werden dann intern gesetzt. Mit diesen Feldern kann man einige Besonderheiten von Geräten abbilden.
Als Beispiel nehme ich mal einen LED-Par, der auf Kanal 1 von 0 - 127 einen globalen Dimmer hat. Von 128 bis 255 kann man die Strobegeschwindigkeit einstellen.
Nun wäre es ja schön, wenn man für die beiden Funktionen unterschiedliche Fader hat.
Um dies zu erreichen stellt man bei der ersten OSC-Adresse den outMin auf 0, outMax auf 127, Min auf 0 und Max auf 255.
Dies bedeutet, dass die eingehenden Werte auf 0 bis 127 umgerechnet werden. DMXControl wird aber gesagt, dass auf diesem Kanal Wert von 0 bis 255 ankommen können.
Somit kann man den Kanal mit dieser OSC-Adresse nur von 0 bis 127 bewegen.
Bei der zweiten OSC-Adresse stellt man nun folgendes ein: outMin auf 128, outMax auf 255, Min auf 0 und Max auf 255.
Damit belegen wir quasi den zweiten Teil des Kanals mit dieser OSC-Adresse. Wenn man jetzt Fader 1 bewegt, ändert sich Kanal 1 maximal von 0 bis 127.
Wenn man Fader 2 bewegt, ändert sich der Kanal 1 maximal von 128 bis 255. Man kann den Ausgabewert auch invertieren, indem man einfach z.B. bei outMin 255 und bei outMax 0 einträgt.
Befehl auswählen
Zu guter letzt, muss man noch den gewünschten Befehl einstellen. Dies geht auf die von DMXControl gewohnte Weise.
Weitere Aktionen hinzufügen
Um weitere Aktionen zu definieren, muss man einfach auf das erste Feld in der nächsten leeren Zeile klicken.
Wie lösche ich eine Aktion
Um eine Aktion zu löschen muss man nur als OSC-Message den leeren Eintrag im Dropdown-Menü wählen.
Wie speichere ich die Einstellungen
Um die Einstellungen zu speichern muss man auf den Button "Speichern" klicken. Wenn man das Fenster schließt und man vorher nicht gespeichert hat, gehen die Veränderungen verloren.
Besonderheiten
OSC-Messages Aktivieren/Deaktivieren
Seit der neuesten Version gibt es die Möglichkeit, die Reaktion auf einzelne OSC-Messages zu deaktivieren und wieder zu aktivieren. Das ganze wird durch Befehle möglich gemacht, die das Plugin zur Verfügungstellt. Man kann die Befehle von jedem DMXControl-Modul, das Befehle unterstützt aufrufen. Wenn man eine neue OSC-Message hinzugefügt hat, muss man zuerst einmal auf den Button "Speichern" klicken, damit der Befehl erzeugt wird. Danach kann man ihn in jedem Modul von DMXControl auswählen.
Die Checkboxen auf der Konfigseite stellen den aktuellen Zustand der OSC-Message dar. Ein Haken in der Checkbox bedeutet aktiviert. Beim Speichern werden die Einstellungen der Checkboxen als Standareinstellung gespeichert und beim nächsten start wiederhergestellt. Weil die Checkboxen immer den aktuellen Zustand darstellen ist dadrauf zu achten, das man wenn mit den Einstellungen fertig ist die Checkboxen wieder in den gewünschten Anfangszustand bringt.
Man kann natürlich auch den Zustand der Messages manuell ändern. Dazu einfach Haken rein/raus machen und auf "Speichern" klicken.
Anbindung an OSC-fähige Tools
Numark CUE
erst den Start Button des PlugIns anklicken, und dann erst VirtualDJ starten. |
Am besten geht man bei der Konfiguration von VirtualDJ folgendermaßen vor:
- VirtualDJ starten und unter Optionen die Netzwerk-Synchronisation aktivieren
- VirtualDJ wieder schließen und die PlugIn Optinen unter Konfiguration -> Plugins -> OSC-Receiver -> Gewähltes PlugIn konfigurieren aufrufen
- Lernen aktivieren und VirtualDJ öffnen
- Jetzt einfach mal ein File in VirtualDJ abspielen, das PlugIn sollte jetzt OSC Messages empfangen
- Nachdem alle Befehle von VirtualDJ registriert wurden (der Zähler bei 5 ist, zumindest bei mir...), lassen sich z.B. wie folgt Aufgaben zuweisen. Der vordere Teil sollte fix sein, die Felder ab Modul kann man beliebig anpassen
- Um den Beat von Numark CUE abzugreifen muss man als OSC-Message "/VirtualDJ/Phase", dann als Parameter "1. Integer" und als Operator "=" eingestellt werden. Nun kommt die Besonderheit. Als Vergleichswert wird "NumarkBeat" eingetragen.
- Lernen ausschalten und VirtualDJ nochmal schließen
- Unter Fenster -> OSC-Receiver den Button Start anklicken
- Sobald VirtualDJ gestartet wird sollte der Beat bei DMXControl ankommen. Der Port, welcher in den Screenshots immer 12345 war, kann beliebig geändert werden. Wichtig ist nur, dass dieser überall der gleiche ist. Auch IP kann man ändern z.B. die eines anderen PCs angeben. Wenn alles auf einem PC läuft dann sollte man es beim localhost, also 127.0.0.1 lassen.
Traktor
Man benötigt Version 3.4 oder höher. Damit Traktor weiß, an welche IP-Addresse es die Messages schicken soll muss man nun folgendes machen: Man erstellt zuerst eine neue Datei mit der Endung .reg. In diese kommt dann folgender Inhalt: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Native Instruments\TraktorDJStudio3] "OscTarget2"="DMXControl|127.0.0.1|10000"
Man kann die IP und den Port noch nach belieben abändern. Nun muss man die Datei mit einem Doppelklick öffnen. Nachdem die Änderungen in der Registry erfolgreich durchgeführt wurden startet man Traktor. In Traktor muss man nun das Einstellungsmenü öffnen. Hier muss man nach "External Sync -> Open Sound Control" navigieren. Jetzt muss man folgende Einstellungen anpassen: 1. Haken bei "Activate local IP" setzen 2. Haken bei "Tempo Sync Master" setzen 3. In dem Dropdown-Menü "Send Controls to" den Punkt DMXControl auswählen
Nun sollte man in DMXControl die OSC-Messages von Traktor empfangen können.
Traktor 3.x (Mac OS X)
Auch hier muss wie bei Windows die Ip und der Port über die Hintertür in die Einstellungen eingetragen werden. Hierzu öffnet man die Datei com.native-instruments.TraktorDJStudio3.plist. Diese befindet sich hier: /Users/*Benutzername*/Preferences/.
Diese Datei kann zum Beispiel mit dem kostenlosen Programm TextWrangler geöffnet werden, öffnet man sie mit dem Standart Textprogramm von Mac OSX, Textedit, so erhält man nur Kauderwelsch da Textedit diesen Datentyp nicht verarbeiten kann.
Nun fügt man unter <key>OscNetSyncState</key> <integer>0</integer>
Dies ein: <key>OscTarget2</key> <string>DMXControl|192.168.178.5|10001</string> Ip und Port von natürlich anpassen. Somit ist es nun Möglich Traktor auf dem Mac mit DMXControl unter Windows zu synchronisieren. Speichern und Traktor starten.
Im Traktor genau wie bei Windows natürlich das OSC-Ziel in den Einstellungen einstellen, fertig. Getestet mit Traktor 3.3 / Mac OSx 10.5.7 / DMX-Control 2.10 / Win XP
Analyzer
Mit dem Analyzer kann man sich, während man im Lernmodus ist, die ankommenden OSC-Messages anzeigen lassen. Um den Analyzer zu starten, klickt man einfach auf den Button "Analyzer" in der Konfigurationsansicht. Nun kann man sich entweder alle OSC-Messages anzeigen lassen (Standard) oder man sich kann mit regulären Ausdrücken nur bestimmte OSC-Messages anzeigen lassen. Die Syntax für die regulären Ausdrücke ist anders als bei z.B. PHP oder Javascript. Daher erklär ich kurz mal das den wohl gebräuchlichsten Ausdruck. "\S" bedeutet jedes Zeichen außer einem Leerzeichen. Da Leerzeichen in OSC-Messages nicht erlaubt sind, ist dies dem * gleichzusetzen. /Traktor.Deck0.Beat /Traktor.Deck1.Beat Wenn wir jetzt z.B. jede Beat-Message von Traktor anzeigen wollen, egal ob von Deck 0 oder von Deck 1 geben wir folgendes ein:
\SDeck\S.Beat oder \SBeat
Danach muss man auf den Button "Filter" klicken, da erst dann der Filter übernommen wird.
Falls man eine falsche Syntax benutzt, bekommt man eine Warnung. Weitere Informationen über die Syntax gibt es auf dieser Seite |RegEx Syntax Mit dem Button "Clear" kann man das Textfeld leeren.
Los gehts ...
Nachdem man im Plugin die Aktionen definiert hat, ruft man das Hauptfenster des Plugins auf. Dies ist unter dem Menüpunkt "Fenster" in DMXControl zu finden. Der Status des Plugins ist "Experimentell". Daher muss man die Option aktiviert haben, dass auch diese Plugins angzeigt werden sollen. Im Hauptfenster stellt man wieder die IP und den Port ein und klickt danach auf "Starten".
Tipps & Tricks
- Wenn man die eingegebenen IP-Adressen speichern will, so dass sie nach der nächsten Aktivierung des clients wieder verfügbar sind, muss das gesamte DMXControl-Projekt gespeichert werden. (Speichern der OSC-Nachrichten-Konfiguration reicht nicht)
- Gibt man die Serveradresse "0.0.0.0" ein, wird auf allen Adressen im Netzwerk gelauscht, bei "localhost" nue auf die explizite Adresse "127.0.0.1"
Mouse to OSC
Das Tool Mouse to OSC von Miall Moody ist ein nützliches Tool, um recht einfach OSC-Interfaces zu bearbeiten. Dieses ist auf Moodys Homepage[2] zu finden.
In die Felder "OSC Message" muss man selber noch die OSC-Messages eingeben. Die Messages müssen immer mit "/" anfangen.
Beispiele:
/fader1 /mtosc/fader1 /mtosc/pad1/x
Die Einstellungen kann man auch speichern, sodass man nicht immer alles neu einstellen muss. Außerdem liegt dem Programm der Sourcecode bei. Wer also C++ kann, kann sich die GUI nach belieben umbauen.
OSC für PHP
Links und Referenzen
- ↑ Download OSC-Receiver Plugin: http://www.dmxcontrol.de/files/plugins/OSC-Receiver/OSCReceiver.dll
- ↑ Download Mouse to OSC-Tool http://www.niallmoody.com/apps/mouse-to-osc
- Einrichtung von OSC-Messages: YouTube
- Steuerung von DMXControl via OSC: YouTube
- Steuerung eines Scanners und eines Faders über ein iPhone: YouTube
- Steuerung von zwei Scannern über ein iPhone: YouTube
- Steuerung von zwei Scannern über ein X/Y-Pad durch umschalten mit einem iPhone: YouTube
- Synchronisation von Numark CUE mit DMXControl: YouTube