Most recent edit on 2007-07-07 14:07:13 by SuperCollider
Additions:
+ d'infos (en anglais) Server∞
Deletions:
+ infos Server∞
Edited on 2007-07-07 14:06:53 by SuperCollider
Additions:
+ infos Server∞
Edited on 2007-07-04 18:36:59 by SuperCollider
Additions:
Exemples < Index > Architecture du serveur
Exemples < Index > Architecture du serveur
Edited on 2007-06-19 15:29:29 by SuperCollider
Additions:
~- Division des opérations entre une application-langage et un application-serveur générant la synthèse sonore.
- les deux applications communiquent entre elles au travers du protocole UDP ou TCP, en utilisant une version simplifiée de OSC (CNMAT)
- permet la représentation, la modélisation des constituants du serveur (objets Nodes, Group, Synth, Bus, etc)
- permet de construire et de contrôler des structures complexes grâce au potentiel de la syntaxe et aux Classes [...]
- peut être couplé à un serveur interne, partageant les cycles CPU (communication plus rapide)
- cette latence n'a rien à voir avec la latence audio (accès à la carte physique), c'est le temps nécessaire à l'envoi des messages
Deletions:
~- Division des opérations entre une application langage et un application-serveur générant la synthèse sonore.
les deux applications communiquent entre elles au travers du protocole UDP ou TCP, en utilisant une version simplifiée de OSC (CNMAT)
permet la représentation, la modèlisation des constituants du serveur (objets Nodes, Group, Synth, Bus, etc)
permet de constuire et de contôler des structures complexes grâce au potentiel de la syntaxe et aux Classes [...]
peut être couplé à un serveur interne, partageant les cycle CPU (communication plus rapide)
cette latence n'a rien à voir avec la latence audio (accès à la carte physique), c'est le temps nécessaire à l'envoi de messages
Edited on 2007-06-19 15:27:14 by SuperCollider
Additions:
~- cette latence n'a rien à voir avec la latence audio (accès à la carte physique), c'est le temps nécessaire à l'envoi de messages
Deletions:
~- cette latence n'a rien à voir avec la latence audio (accès à la carte physique), c'est le temps imcompressible du passage de messages
Edited on 2007-06-19 15:25:45 by SuperCollider
Additions:
~- le serveur peut être contrôlé par tout client pouvant lui envoyer des messages OSC (pas nécessairement sclang)
Deletions:
~- le serveur peut être contrôlé par tout client pouvant envoyer des lignes de commandes (pas nécessairement sclang)
Edited on 2007-06-19 15:24:48 by SuperCollider
Additions:
Le nom de Supercollider recouvre deux programmes, sc-client, et sc-server . Il utilise un modèle client/serveur pour agir au travers d'un réseau.
Deletions:
Le nom de Supercollider recouvre deux programmes, sc-client, et sc-server . [vrai, faux ?] Il utilise un modèle client/serveur pour agir au travers d'un réseau.
Edited on 2007-05-29 23:01:45 by SuperCollider
Additions:
%%
Oldest known version of this page was edited on 2007-05-29 22:59:46 by SuperCollider []
Page view:
Le modèle client/serveur
Le nom de Supercollider recouvre deux programmes,
sc-client, et
sc-server . [vrai, faux ?] Il utilise un modèle client/serveur pour agir au travers d'un réseau.
Division des opérations entre une application langage et un application-serveur générant la synthèse sonore.
les deux applications communiquent entre elles au travers du protocole UDP ou TCP, en utilisant une version simplifiée de OSC (CNMAT)
scserver
- application UNIX, en lignes de commandes
- démarre avec la méthode .boot, ou la fenêtre server
- n'a aucune connaissance du langage, ni du fonctionnement du client, ne comprends que les messages osc valides -
sclang
- langage OOP
- permet la représentation, la modèlisation des constituants du serveur (objets Nodes, Group, Synth, Bus, etc)
- permet de constuire et de contôler des structures complexes grâce au potentiel de la syntaxe et aux Classes [...]
- permet d'agir à un plus haut niveau d'abstraction [...]
- peut être couplé à un serveur interne, partageant les cycle CPU (communication plus rapide)
avantages
- le serveur peut être contrôlé par tout client pouvant envoyer des lignes de commandes (pas nécessairement sclang)
- protection : les deux applications ne sont pas soumises à un crash de l'autre [ ... ]
- les deux applications peuvent tourner sur des machines différentes
- un client peut s'adresser à plusieurs serveurs de synthèse, locaux ou distants (internet)
inconvénients
- le principe de la séparation et donc du passage de messages introduit nécessairement un temps de latence
- cette latence n'a rien à voir avec la latence audio (accès à la carte physique), c'est le temps imcompressible du passage de messages
utilisation du langage au niveau simple des envois de message
%%(sclang)
s = Server.default;
s.boot;
n = s.nextNodeID;
incrémentation automatique de l'indexation
s.sendMsg("/s_new", "default", n); utilise le
SynthDef "default"
s.sendMsg("/n_free", n);
est équivalent à
x = Synth("default"); crée un synth sur le serveur par défaut (s) et lui affecte un ID
x.free;
libère le synth, son ID et ses ressources
L'utilisation des objets ajoute de la fonctionnalité
- id affecté automatiquement, sans risque d'erreur
- offre un contrôle du synth dans le langage
- ajoute du processus ('overhead'); il faut y penser lors de la création de nombreux objets;
conclusion
l'important est de faire la différence entre les constituants du serveur, et les Objets les représentant dans le langage