Versturen van OSC

Naast het ontvangen van OSC berichten in combinatie met “Time State”, kunnen we ook OSC berichten op de maat van de muziek versturen (net als dat we MIDI berichten in de maat van de muziek kunne sturen). We hoeven alleen te weten naar welk IP-adres en port we moeten sturen. Probeer maar eens:

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

Als je bovenstaande code afspeelt zul je merken dat Sonic Pi zichzelf een OSC bericht stuurt! Omdat we het IP-adres van de huidige computer en de standaard OSC poort hebben aangegeven. Dit komt eigenlijk neer op jezelf een brief sturen - het OSC berichtje word aangemaakt, verlaat Sonic Pi, en komt via het netwerk en je besturings-systeem weer terug bij Sonic Pi. Die het ontvangt en afhandelt als elk ander OSC berichtje. Vervolgens word het berichtje zichtbaar in het cue log als een ingekomen bericht: /osc:127.0.0.1:4560/hello/world. (Zie je dat Sonic Pi automatisch alle inkomende OSC berichten aanvult met /osc de hostnaam en de poort aan het begin.)

Stuur OSC berichten naar andere programma’s

Naar jezelf een OSC berichtje sturen is natuurlijk reuze leuk, maar handig is anders. Het echte voordeel hiervan krijg je wanneer je berichten naar andere programma’s stuurt:

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

In dit geval nemen we aan dat er een ander programma op dezelfde computer luistert naar poort 123456. Als die er is zal het een "/hello/world" OSC bericht ontvangen, waarmee het kan doen wat het wil.

Als dat programma op een andere machine draait, hebben we het IP-adres nodig van die machine en dat gebruiken in plaats van "localhost":

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

Nu kunnen we OSC berichten sturen naar elk apparaat dat via ons lokale netwerk en zelf het internet bereikbaar is!