insglobal

insglobal — Un opcode que l'on peut utiliser pour implémenter un orchestre distant. Cet opcode envoie des évènements de note d'une machine source vers plusieurs destinations.

Description

Avec les opcodes insremot et insglobal, il est possible d'exécuter des instruments sur des machines distantes et de les contrôler depuis une machine maître. Les opcodes distants sont implémentés suivant le modèle maître/client. Toutes les machines concernées contiennent le même orchestre mais seule la machine maître possède l'information de la partition. Durant l'exécution, la machine maître envoie les évènements de note aux clients. L'opcode insglobal envoie les évènements à toutes les machines impliquées dans le concert à distance. Ces machines sont déterminées par les définitions insremot placées avant la commande insglobal. Pour envoyer des évènements à une seule machine on utilise insremot.

Syntaxe

insglobal isource, instrnum [,instrnum...] 

Initialisation

isource -- une chaîne représentant l'ordinateur serveur (par exemple 192.168.0.100). C'est l'hôte source qui génère les évènements pour le ou les instruments donnés et les envoie à toute les machines impliquées dans le concert à distance.

instrnum -- liste des numéros des intruments qui seront joués sur les machines destinataires.

Exécution

[Note] Note
Il est essentiel que les ordinateurs qui utilisent cet opcode aient les mêmes ordre des octets, taille des données (double ou float) et taille de pointeur. On ne peut pas l'utiliser par exemple en mélangeant des ordinateurs 32 bit et 64 bit.
[Note] Note
Cet opcode utilise en interne les fonctions gethostname et gethostbyname pour déterminer les adresses IP du client et du serveur afin de tester quels messages sont destinés à chaque machine. Si un ordinateur a plus d'une adresse IP il n'y a aucun moyen de contrôler quelle adresse IP est choisie.
[Note] Note
L'opération à distance ne permet pas du tout l'envoi de chaînes de caractères.

Exemples

Voir l'entrée insremot pour un exemple d'utilisation.

Voir aussi

insremot, midglobal, midremot, remoteport

Crédits

Auteur : Simon Schampijer
2006

Nouveau dans la version 5.03