Wenn Werte von Processing aus an weitere Applikationen (z.B. MAXMax 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.
Um diese nun per OSC an einen anderen Computer zu versenden müssen wir zunächst die OSC Library initialisieren:
Code Block |
---|
...
import |
...
oscP5.*; |
...
// Import the OSC Libary |
...
import |
...
netP5.*; |
...
// Import the net |
...
3.
4.
OscP5 oscP5;
// Make an instance of the OSC Library
...
Library OscP5 oscP5; // Make an instance of the OSC Library NetAddress myRemoteLocation; // Set a net Address |
Im nächsten Schritt übergeben wir die Werte für die OSC Kommunikation innerhalb des setup():
1.
Code Block |
---|
void |
...
setup() |
...
2.
{
3.
...
...
{ oscP5 = new OscP5(this,12000); |
...
// start oscP5, listening for incoming messages at |
...
port 12000 myRemoteLocation = newNetAddress("172.31.224.73",12000); |
...
// The Address defined here is the Address of the |
...
6.
...
...
Receiver } |
Um ausgehende 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:
Code Block |
---|
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:
...