OSCraw — Ecoute tous les messages OSC sur un port donné.
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 646. 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>
Plus d'information sur cet opcode: http://www.youtube.com/watch?v=JX1C3TqP_9Y, par Andrés Cabrera