Patchs

Tableau résumé

- Matériel / Logiciel / Outils

Logiciels et langages

- Pure Data
- Max MSP
- Isadora
- EyesWeb
- VVVV
- Processing
- Usine

Traitement de données

- Outils
- Filtres pour capteurs
- Communication OSC, ponts entre logiciels

Didacticiels

- Réception en Midi
- Pure Data / Gem
- Proxi Mini + Son

Matériel

Autonomes

- ZIP Z Interprêteur de Patch

Captation

- Mini-HF vers Midi
- Wiwi
- 12 Ana / 16 Num
- 16 capteurs OSC
- 8 Ana / 8 Num Midi 2003
- 2 Analogiques
- 1 Analogique

- Télémètre simple
- Télémètre synchro
- Tapis sensitif
- RFID

- Capteur piezo
- Capteur pyro
- Capteur Vitesse Doppler
- Proxi Mini + Son

Communication

- Midi vers DMX
- Booster / Split / Merger

Action

- 2 Servo / 4 Lampes
- 8 Ana Out 0-10V
- 8 Servo 128 pas
- 8 Servo 3500 pas
- 64 LED

- 8 Transistors
- 8 Relais 2RT / 1RT / Reed
- Inversion de moteurs


Pure-Data - Savoir-faire

Pour télécharger un patch, clic droit sur l'image et choisir "Enregistrer la cible sous...".

Loadbang

L'objet "loadbang" permet d'envoyer automatiquement un message "bang" à l'ouverture d'un patch. Il n'a ni entrée ni argument.

Automatisation

Loadbang - Principe de base.

Dans cet exemple très simple, au démarrage du fichier, un métronome est lancé (objet "metro") qui bat toutes les 2 secondes (2000 millisecondes). Pour les débutants en PD : le rond est un bang graphique et l'objet "print" envoie un message "truc" dans la fenêtre de texte.

Loadbang est indispensable dès lors qu'un patch doit tourner automatiquement.

Multiples loadbang : inconvénients possibles

Cependant, il arrive couramment que des dysfonctionnement apparaissent dans un patch lorsque plusieurs loadbang simultanés sont mis en place.

En effet :

- Certains événements doivent être initialisés avant que d'autres ne soient lancés.
Par exemple, il faut activer l'audio (Media/Audio On ou message dsp 1) avant de lancer la lecture d'un fichier son. Il faut envoyer les paramètres de la fenêtre Gem au gemwin avant le message "create".

- Certains événement ne peuvent matériellement s'exécuter simultanément.
Par exemple, si un loadbang active simultanément plusieurs messages open pour de gros fichiers sons ou video, certains ne pourront être ouverts.

En cas de problème grave au démarrage (plantage systématique, sur-utilisation des ressources, etc), il peut être nécessaire d'empêcher le loadbang de fonctionner. Pour cela, il faut ouvrir PD avec le paramètre -noloadbang. Ce paramètre s'ajoute dans le fichier de configuration de démarrage de PD (pd.bat en PC).

Suggestion de solutions

a) Un seul loadbang, un sous-patch de démarrage

-> Utiliser un seul objet loadbang pour tous les paramètres à initialiser et créer un sous-patch spécifique pour cette étape.

Cela permet de ne pas oublier un loadbang perdu quelque part dans un autre sous-patch et pouvant poser problème. Le loadbang est alors envoyé à ses diverses destinations par l'intermédiaire des objets send/receive. Il vaut mieux utiliser des noms évidents pour ces send/receive.

Loadbang regroupés dans un sous-patch.

On peut bien sûr préférer :

le principe étant que la procédure de démarrage soit la plus intuitive et évidente possible pour le patcheur et/ou le débuggueur.

b) Le trigger bang bang

-> Ordonner les événements de façon à ce que chaque étape soit lancée dans le bon ordre.

L'objet "trigger" possède une entrée et autant de sorties que nécessaires, précisées dans la séquence de lettre qui suit le "t". Les arguments peuvent être un bang (b), un nombre (f), un symbole (s), une liste (l) ou n'importe quoi arrivé en entrée (a).

Dans le cas d'un loadbang en entrée, les arguments du trigger sont des bang, autant qu'il y a d'étapes à ordonner ("t b b b" pour trois étapes, "t b b b b b" pour 5, ...)

Les sorties du trigger sont ordonnées de la droite vers la gauche. Dans cet exemple, les paramètres de la fenêtre Gem (gemwin) sont d'abord réinitialisés (reset). Ensuite un message précise que la fenêtre ne doit pas avoir de bord et être de dimensions 700 x 700 pixels. La fenêtre est ensuite créée (message create) puis l'affichage est lancé (message 1).

c) Délais

Enfin, il est indispensable parfois d'utiliser l'objet "delay" pour laisser un temps minimum nécessaire à certaines étapes pour s'effectuer.

L'objet delay provoque une attente de la durée donnée dans l'argument ou dans l'entrée de droite.

Loadbang avec delay

Dans cet exemple, un ordre de démarrage est tout d'abord lancé à initstatus (le receive est dans un sous-patch qui corrige le souci du running status en Midi). Ensuite un message 1 est envoyé sur initspi au bout de 0,2 secondes, puis initreposx est activé (deux paramètres qu'il faut initialiser). Enfin une fenêtre GEM est créée au bout de 500 ms par l'intermédiaire d'un trigger.