12.2 Mandare OSC

# Mandare OSC

In aggiunta al ricevere OSC e lavorarci usando Time State, possiamo anche inviare messaggi OSC a tempo con la nostra musica (esattamente come possiamo inviare messaggi MIDI a tempo con la nostra musica). Dobbiamo solo conoscere a quale indirizzo IP e porta stiamo inviando. Proviamolo:

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

Se esegui il codice sopra, noterai che Sonic Pi sta mandando a sé stesso un messaggio OSC! Questo perché abbiamo impostato l'indirizzo IP alla macchina locale e la porta OSC predefinita. Questo è esattamente come mandare una lettera a sé stessi - il pacchetto OSC viene creato, lascia Sonic Pi, va alla struttura network del tuo sistema operativo la quale ruota indietro il pacchetto verso Sonic pi che poi lo riceve come messaggio OSC standard ed è visibile nel registro cue come messaggio in ingresso `/osc:127.0.0.1:4560/hello/world`. (Nota come Sonic Pi aggiunga automaticamente prefisso `/osc` a tutti i messaggi OSC in ingresso seguito da nome host e porta dell'inviante.)

## Mandare OSC ad altri programmi

Naturalmente, mandare messaggi OSC a noi stessi potrebbe essere divertente ma non è molto utile. I veri benefici cominciano quando mandiamo messaggi ad altri programmi:


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

In questo caso stiamo assumendo che ci sia un altro programma sulla stessa macchina in ascolto sulla porta 123456. Se c'è, allora riceverà un messaggio OSC `"/hello/world` col quale può fare ciò che vuole.

Se il nostro programma sta girando su un'altra macchina, dovremo conoscere il suo indirizzo IP che useremo al posto di `"localhost"`:

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

Ora possiamo inviare messaggi OSC a qualunque dispositivo che possiamo raggiungere nella nostra rete locale e anche su internet!
