OSC senden

So wie wir OSC empfangen und mittels Time-State verarbeiten, können wir auch OSC senden (ganz so wie wir MIDI-Signale im Takt unserer Musik senden können). Wir müssen nur wissen an welche IP-Adresse und welchen Port wir senden. Lass uns das ausprobieren:

use_osc "localhost", 4560
osc "/hello/world"

Wenn du den Code von oben ausführst, wird dir auffallen, dass Sonic Pi ein OSC-Signal an sich selbst sendet! Das kommt daher, dass wir als IP-Adresse und Port auf den Standard-OSC-Port von Sonic Pi gesetzt haben. Das ist im Grunde so, als würdest du einen Brief an dich selbst schreiben - das OSC-Paket wird erzeugt, verlässt Sonic Pi, landet auf dem Netzwerkstapel deines Betriebssystems, das es dann zurück an Sonic Pi schickt, mit dem im Protokoll sichtbaren Standard-OSC-Signal /osc:127.0.0.1:4560/hello/world. (Beachte wie Sonic Pi automatisch das Prefix /osc für alle eingehenden Nachrichten setzt.)

OSC an andere Programme senden

Natürlich kann es lustig sein OSC-Signale an uns selbst zu senden, hilfreich ist es aber nicht. Den echten Nutzen erkennen wir dann, wenn wir Nachrichten an andere Programme senden:

use_osc "localhost", 123456
osc "/hello/world"

In diesem Beispiel gehen wir davon aus, dass ein Programm auf dem selben Computer an Port 123456 lauscht. Falls dies der Fall ist, wird es ein OSC-Signal mit dem Inhalt "/hello/world" erhalten, welches es dann verarbeiten kann.

Wenn dein Programm auf einer anderen Maschine läuft, müssen wir deren IP-Adresse kennen, welche wir anstelle von "localhost"verwenden:

use_osc "192.168.10.23", 123456
osc "/hello/world"

Nun können wir OSC-Signale zu jedem erreichbaren Gerät senden, über das lokale Netzwerk und sogar auch über das Internet!