En plus de recevoir du OSC et de travailler avec en utilisant l’État du Temps, nous pouvons également envoyer des messages OSC en synchronisation avec notre musique (tout comme nous pouvons envoyer des messages MIDI en synchronisation avec notre musique). Nous devons seulement savoir à quelle adresse IP et port nous envoyons. Essayons-le :
use_osc "localhost", 4560
osc "/hello/world"
If you run the code above, you’ll notice that Sonic Pi is sending itself an OSC message! This is because we set the IP address to the current machine and the port to the default OSC in port. This is essentially the same as posting a letter to yourself - the OSC packet is created, leaves Sonic Pi, gets to the network stack of the operating system which then routes the packed back to Sonic Pi and then it’s received as a standard OSC message and is visible in the cue logger as the incoming message /osc:127.0.0.1:4560/hello/world
. (Notice how Sonic Pi automatically prefixes all incoming OSC messages with /osc
and then the hostname and port of the sender.)
Évidemment, envoyer des messages OSC à nous-mêmes peut être amusant, mais pas très utile. Le vrai bénéfice commence quand nous envoyons des messages à d’autres programmes :
use_osc "localhost", 123456
osc "/hello/world"
Dans ce cas, nous assumons qu’il existe un autre programme sur la même machine qui écoute sur le port 123456. Si c’est le cas, il va recevoir un message OSC "/hello/world
avec lequel il peut faire ce qu’il veut.
Si votre programme s’exécute sur une autre machine, nous avons besoin de savoir son adresse IP que nous allons utiliser au lieu de "localhost"
:
use_osc "192.168.10.23", 123456
osc "/hello/world"
Maintenant, nous pouvons envoyer des messages OSC à n’importe quel périphérique accessible via nos réseaux locaux et même l’internet !