websocket

websocket — Lit et écrit des signaux et des tableaux en utilisant une connexion WebSocket.

Description

websocket lit et écrit N signaux et tableaux en utilisant une connexion WebSocket.

Syntaxe

xout1[, xout2, xout3, ..., xoutN] websocket iport, xin1[, xin2, xin3, ..., xinN]

Initialisation

iport -- Le port web local où lire/écrire les données.

Exécution

xout1,... xoutN -- Les variables en sortie contenant les données reçues du WebSocket. Côté Web, le WebSocket doit envoyer les données en utilisant un nom de protocole qui correspond au nom de la variable de sortie, par exemple "ksignal" pour une variable de taux-k. Si un tableau est attendu il doit d'abord être initialisé avant d'être utilisé comme sortie de l'opcode. Sinon l'opcode ne connaît pas la taille des données attendues du WebSocket. Lorque l'on envoie des données à un WebSocket depuis la page Web, elles doivent être envoyées sous la forme d'un tableau de nombres 32 ou 64 bit en fonction de la version de Csound utilisée.

xin1,... xinN -- Les variables d'entrée qui contiennent les données envoyées au WebSocket. Côté Web, le WebSocket reçoit les données en utilisant un nom de protocole qui correspond au nom de la variable d'entrée, par exemple "ksignal" pour une variable de taux-k. Lorsque l'on reçoit des données d'un WebSocket sur la page Web, il faut les lire comme tableau de nombres 32 ou 64 bit en fonction de la version de Csound utilisée.

[Note] Note
Le nombre total d'arguments d'entrée et de sortie est limité à 20.

Les variables de taux-a doivent être envoyées et reçues sous la forme de tableaux contenant ksmps échantillons. Les tableaux de taux-a sont de même envoyés et reçus comme ksmps éléments dans le tableau. Les variables de taux-k sont envoyées et reçues comme un tableau à un seul élément. Les tableaux de taux-k sont envoyés et reçus comme des tableaux ayant le même nombre d'éléments.

Exemples

Voici un exemple simple de l'opcode websocket. Il utilise les fichiers websocket.csd et websocket.html.

Exemple 1072. Exemple de l'opcode websocket.

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>
-odac
</CsOptions>
<CsInstruments>
nchnls = 2
0dbfs = 1
ksmps = 256
sr = 44100

schedule 1, 0, -1

instr 1
    klfo lfo 1, 1
    iport init 8888
    kinput websocket iport, klfo
    printk2 kinput
endin

</CsInstruments>
<CsScore>

</CsScore>
</CsoundSynthesizer>


Voir aussi

OSClisten OSCsend

Crédits

Auteur : Edward Costello;
NUIM, 2015

Nouveau dans la version 6.06