OSCsend — Envoie des données à d'autres processus au moyen du protocole OSC.
ihost -- une chaîne de caractères donnant le nom de domaine de l'ordinateur hôte destinataire. Une chaîne vide est interprétée comme l'ordinateur courant.
iport -- le numéro du port utilisé pour la communication.
idestination -- une chaîne de caractères indiquant l'adresse de destination. Elle prend la forme d'un nom de fichier avec des répertoires. Csound ne fait que transmettre cette chaîne au code brut envoyé sans faire d'interprétation.
itype -- une chaîne de caractères indiquant le type des arguments facultatifs qui sont lus au taux-k. La chaîne peut contenir les caractères "abcdfilmstAG" pour audio, booléen, caractère, double, flottant, entier sur 32 bit, entier sur 64 bit, MIDI, chaîne de caractères, repère temporel, tableau de taux-k et ftable. Le message OSC peut n'avoir aucun type, auquel cas il se réduira à l'adresse de destination seule.
kwhen -- un message est envoyé chaque fois que cette valeur change. Un message sera toujours envoyé au premier appel.
Les données proviennent des valeurs de taux-k ou de taux-a qui suivent la chaîne de formatage. De même que pour le format dans printf, la série de caractères détermine l'interprétation des arguments. Noter qu'un repère temporel prend deux arguments.
L'exemple montre un simple instrument qui, lorsqu'il est appelé, envoie un groupe de trois messages à un ordinateur nommé "xenakis", sur le port 7770, à lire par un processus dont l'adresse est /foo/bar.
instr 1 OSCsend 1, "xenakis.cs.bath.ac.uk",7770, "/foo/bar", "sis", "FOO", 42, "bar" endin
Voici un exemple complet de l'opcode OSCsend. Il utilise le fichier OSCsend.csd.
Exemple 694. Exemple de l'opcode OSCsend.
Voir les sections Audio en temps réel et Options de la ligne de commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; ; By Stefano Cucchi - 2021 </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 giOSC1 OSCinit 8020 instr 3 ; OSC send krandom randomh -50, 50, 4 iport = 8020 OSCsend krandom, "localhost", iport, "/boulevard", "f", krandom endin instr 4 ; OSC receive kvaluefrom3 init 0 kdata1 OSClisten giOSC1, "/boulevard", "f", kvaluefrom3 printk2 kvaluefrom3 endin </CsInstruments> <CsScore> i 3 0 5 i 4 0 5 e </CsScore> </CsoundSynthesizer>
Plus d'information sur cet opcode : http://www.youtube.com/watch?v=JX1C3TqP_9Y, par Andrés Cabrera.