Wenn Werte von Processing aus an weitere Applikationen (z.B. Max MSP) übergeben werden sollen, oder wenn in Processing Werte aus diesen Programmen empfangen werden sollen, verwenden wir die Processing Library oscP5 (http://www.sojamo.de/libraries/oscP5/). Diese muss ebenfalls heruntergeladen werden und dann im library Ordner von Processing platziert werden.
Processing Beispiel
Um Werte nun per OSC an einen anderen Computer zu versenden müssen wir zunächst die Library initialisieren:
import oscP5.*; // oscP5 Library importieren import netP5.*; // netP5 Library importieren OscP5 oscP5; // Kontrollobjekt anlegen NetAddress remoteLocation; // Zieladresse anlegen
Im nächsten Schritt übergeben wir die Werte für die OSC Kommunikation innerhalb des setup():
void setup() { oscP5 = new OscP5(this, 12000); // Library starten und auf Port 12000 auf eingehende Nachrichten warten remoteLocation = new NetAddress("172.31.224.73", 12000); // Die IP Adresse sowie der Port des Empfänger }
Um a usgehende Daten zu handeln kreiert man nun lediglich eine neue OSC Message, hängt die zu schickenden Daten (in unserem Fall die Werte des Potentiometers) an und versendet dann das gesamte Packet:
1.OscMessage myMessage = new OscMessage("Arduino"); // New Message 2.myMessage.add(theData); // Add Data 3.oscP5.send(myMessage, myRemoteLocation); // Send Message
Ausgangspunkt für den Versand bzw. das Empfangen von Daten bilden folgende zwei Beispiele: