OSCraw

OSCraw — Ecoute tous les messages OSC sur un port donné.

Description

A chaque cycle-k cherche si un message OSC a été reçu sur un port donné.

Syntaxe

Smess[],klen OSCraw iport

Initialisation

iport -- port sur lequel les messages seront reçus.

Exécution

Smess[] -- un tableau de chaînes de caractères contenant les composantes du messages : adresse, types et éléments de données. Si le tableau n'existe pas (c'est-à-dire n'a pas été initialisé), il est créé avec 32 éléments. Les tableaux ne peuvent grossir avec la taille du message, si bien que si un message de plus de 32 éléments (c'est-à-dire 30 éléments de données séparés) est attendu, un tableau plus grand doit être initialisé avant utilisation. Si un message a plus d'éléments que le tableau ne peut en contenir, il est tronqué.

klen -- nombre d'éléments placés dans le tableau de sortie. Vaut 0 si aucun message n'a été reçu et au moins 2 si un message a été reçu (adresse et types sont les éléments minimaux).

Exemple 645. Exemple.

Le fichier CSD suivant montre comment un message est reçu par OSCraw :

<CsoundSynthesizer>
<CsOptions>
-o dac
</CsOptions>
<CsInstruments>

instr	1
 kwhen  init 0
 kmetro metro 1
 kwhen += kmetro
 OSCsend kwhen, "127.0.0.1",7771, "/foo/bar", "f", kwhen
endin

instr 2
top:
Smess[],ka OSCraw 7771
kn = 0
while kn < ka do
  printf ": %s ", kn+1, Smess[kn]
  kn += 1
od
printf "%d items\n", ka, kn
if ka > 0 kgoto top
endin

</CsInstruments>
<CsScore>
i1 0 10
i2 0 10
</CsScore>
</CsoundSynthesizer>

Voir aussi

OSCsend, OSCinit

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

Crédits

Auteurs: Oeyvind Brandtsegg, Victor Lazzarini
2017

Les types aAG sont nouveaux dans Csound 6.07