OSCsend

OSCsend — Envoie des données à d'autres processus au moyen du protocole OSC.

Description

Utilise le protocole OSC pour envoyer un message à d'autres processus d'écoute OSC.

Syntaxe

OSCsend kwhen, ihost, iport, idestination[, itype , xdata1, xdata2, ...]

Initialisation

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.

Exécution

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.

Exemples

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>


Voir aussi

OSClisten, OSCinit

Plus d'information sur cet opcode : http://www.youtube.com/watch?v=JX1C3TqP_9Y, par Andrés Cabrera.

Crédits

Auteur : John ffitch
2005

Les types de données a, A et G ont été ajoutés dans la version 6.07 ; ils envoient les données via des blobs et ne sont réellement utiles qu'aux autres instances de Csound ou à des écouteurs particuliers.