PatchsTableau résumé- Matériel / Logiciel / OutilsLogiciels et langages- Pure Data- Max MSP- Isadora- EyesWeb- VVVV- Processing- UsineTraitement de données- Outils- Filtres pour capteurs- Communication OSC, ponts entre logicielsDidacticiels- Réception en Midi- Pure Data / Gem- Proxi Mini + SonMatérielAutonomes- ZIP Z Interprêteur de PatchCaptationInterfaces sans fil- Mini-HF vers Midi- WiwiInterfaces filaires- 12 Ana / 16 Num- 16 capteurs OSC- 8 Ana / 8 Num Midi 2003- 2 Analogiques- 1 AnalogiqueCapteurs autonomes- Télémètre simple- Télémètre synchro- Tapis sensitif- RFIDCapteurs simples- Capteur piezo- Capteur pyro- Capteur Vitesse Doppler- Proxi Mini + SonCommunication- Midi vers DMX- Booster / Split / MergerActionActionneurs autonomes- 2 Servo / 4 Lampes- 8 Ana Out 0-10V- 8 Servo 128 pas- 8 Servo 3500 pas- 64 LEDCommande - Cartes filles- 8 Transistors- 8 Relais 2RT / 1RT / Reed- Inversion de moteurs |
Communication logicielle - OSCOSC - Transmission de données
|
Traduction | Paramètres |
données | flot de données connecté |
adresse spécifique | /usine/ et /barbaros/ |
port Usine | 8000 |
même machine | localhost |
Patch Max max_usine.pat
Dans l'exemple donné ici, nous utilisons deux metro, un line et un random pour créer différents flux de données. Les valeurs fluctuent entre 0 et 100 d'un côté et entre 0 et 127 de l'autre.
* Cas d'un seul flux de données
Les valeurs envoyées sur l'adresse /barbaros/ emploient des messages OSC qui contiennent l'adresse et seulement cette valeur. Le message connecté sur udpsend est créé en faisant suivre "/barbaros/" par $1, qui est remplacé par chaque nouvelle valeur venue du random.
* Cas de plusieurs flux simultanés
Les messages envoyés sur l'adresse /usine/ contiennent une liste de 4 valeurs. Pour fabriquer ces messages, les valeurs passent dans un pack (ou un pak selon la priorité d'activation choisie), qui crée une liste de 4 valeurs. L'objet prepend ajoute l'en-tête "/usine/" devant la liste de données.
2 - Vers Usine
Patch OSC_from_Max.pat
Du côté d'Usine, le module OSC receive permet de recevoir tout message OSC. En posant le module, choisir le nombre de sorties Data Out nécessaires en fonction du nombre de flux de données différents à recevoir, entre 1 et 64.
Dans l'exemple, le premier module est équipé de 4 data out, correspondant aux 4 valeurs envoyées vers /usine/. Le tri des différents flux se fait directement dans le module OSC receive vers les 4 sorties data, ici liées à des faders.
Le deuxième module n'a qu'une sortie, correspondant au message plus simple envoyé sur /barbaros/.
Si les metro du patch Max sont activés, lorsque les deux fichiers sont ouverts en même temps, et que l'OSC est activé dans Usine, vous devriez observer l'arrivée régulière de données dans ce dernier.
1 - Depuis Usine
Patch OSC_to_Max.pat
Le module d'envoi est OSC send. Il peut être configuré pour envoyer de 1 à 64 flux différents. Il faut d'abord activer l'OSC dans OSC Setup avant de pouvoir envoyer des informations.
* Cas d'un seul flux de données
Les valeurs envoyées sur l'adresse /vulcan emploient des messages OSC qui contiennent l'adresse et seulement cette valeur. Un module PointsCurve envoie automatiquement une séquence de valeurs.
* Cas de plusieurs flux simultanés
Les messages envoyés sur l'adresse /machin contiennent une liste de 2 valeurs, produites ici par des modules LFO et Step. L'option choisie en posant le module est 2.
Traduction | Entrée de l'objet OSC Transmit | Paramètres |
même machine | addr | 127.0.0.1 |
Max | port | 3244 |
adresse spécifique | addr | /machin et /vulcan |
données | data 1, 2 | flots de données connecté |
envoi | send | activé ou ponctuel |
Il faut aussi choisir le rythme d'envoi : l'entrée send du module OSC send doit être activée pour qu'un message parte. Deux possibilités :
- activer le bouton send, vert par défaut, le flux est permanent ;
- activer l'envoi ponctuellement en désactivant l'entrée send et en la cliquant seulement quand nécessaire.
Dans l'exemple, des modules créent des valeurs en permanence et l'entrée send est activée en continu. L'entrée broadcast est désactivée.
2 - Réception dans Max
Du côté de Max, deux objets sont nécessaires pour la réception des données. L'objet udpreceive permet de recevoir tout message OSC. Le message provenant d'Usine étant adressé au port UDP 3244, udpreceive prend en paramètre ce numero de port.
Les messages entrant sont marqués par les adresses /machin ou /vulcan.
L'objet suivant, route, permet de trier les messages arrivant à l'aide de ces adresses. Sur la sortie de droite passent d'éventuels autres messages marqués différemment.
* Cas d'un seul flux de données
Les messages adressés à /vulcan ne contiennent qu'une valeur, qui apparaît directement à la sortie du route.
* Cas de plusieurs flux simultanés
Les messages envoyés sur l'adresse /machin contiennent une liste de 2 valeurs, qu'il faut séparer grâce à l'objet unpack.
Dans l'exemple précédent, nous avons expliqué comment envoyer plusieurs flux différents de données entre Max et Usine. En résumé, pour envoyer plusieurs valeurs simultanément on peut utiliser :
- un message unique contenant une liste de plusieurs valeurs, adressé à /quelquechose sur un port précis ;
- des messages différents envoyés à plusieurs adresses /autreschoses sur un port précis ;
- dans le sens Usine vers Max, des messages adressés à des ports différents.