Objets Max utiles

IV - Belgariade : exemple de dispositif interactif - Part 6

6 - Objets Max utiles, nécessaires, indispensables

Démarrage automatique : loadbang

loadbang : envoie en sortie un signal d'activation, un bang, dès l'ouverture du patch.

Objet loadbang en Max

Pourquoi ?

Plusieurs types d'événements sont intéressants à délencher au démarrage :

  • Les processus nécessaires à l'ensemble du patch, qu'il fallait sinon activer à la souris, et qui ne s'arrêtent plus une fois lancés, tels que
    • l'audio (le bouton en bas à droite) pour entendre du son
    • le qmetro pour rafraîchir l'affichage s'il y a des videos
    • le choix de l'interface Midi en sortie dans le cas de pilotages de moteurs ou de lumières
  • Les envois de paramètres de départ à des objets qui évolueront ensuite dans le temps, tels que
    • volume sonore
    • le fait d'être en boucle ou pas pour un media
    • mise à zéro d'un compteur
    • niveau de luminosité d'une image
    • choix du premier media à diffuser
  • Les événements définissant l'état de départ du dispositif, tels que
    • la lecture d'un son, d'une vidéo
    • l'ensemble des éléments définissant un état de départ : quel capteur est pris en compte, quel est le volume, choisir un son, etc...

Délai

Tous ces événements doivent être déclenchés proprement au démarrage, pas tous en même temps et en leur laissant le temps de se faire correctement. Par exemple il faut déclencher la lecture d'un son après avoir activé l'audio.

Il faut donc souvent utiliser des objets trigger pour gérer l'ordre des envois, mais aussi des objets delay pour répartir les envois dans le temps. Quelques millisecondes de délai suffisent.

Organisation visuelle du patch : send, receive, sous-patchers

send et receive : remplacent une ficelle

send = s
receive = r

Il faut donner un nom à un couple s - r pour créer la communication.

Ne pas utiliser d'espace, l'espace a un sens en programmation !!!!

Ne pas utiliser de chiffre seul, ni de nom d'objet Max, ni le nom du patch lui-même.

Objets s, r et sous-patcher

Il peut y avoir autant de s - r que nécessaires.
Un s peut s'associer à plusieurs r, et vice-versa.

Gestion des flux de données : les portes

Dans un dispositif qui utilise un même capteur pour plusieurs étapes différentes dans le temps, l'objet gate est indispensable. L'objet onebang est une variante de gate. Tous deux permettent de contrôler le passage de données, que ce soient des signaux d'activation ou des nombres variables comme les données d'un capteur.

Gate

L'objet gate est un interrupteur ou une porte qui s'intercale sur le flux de données : si la porte est ouverte, les données passent ; si elle est fermée, elles ne passent pas.

Il a 2 entrées :

  • à droite pour brancher les données à faire passer ou à couper
  • à gauche pour ouvrir ou fermer la porte

Gate en Max

N'importe quel type de donnée peut passer à travers une gate.

Exemple d'utilisation : autoriser ou empêcher la lecture en boucle d'un son.

Onebang

L'objet onebang est une gate automatique qui se ferme dès qu'une donnée est passée. L'entrée de droite sert à le réouvrir.

Nous avons vu le onebang pour lire un son en entier. Il sert dans cet exemple à bloquer le passage de tout autre signal pouvant déclencher un son. Il peut aussi être utilisé pour passer d'une étape à l'autre dans un dispositif et empêcher un retour en arrière.

Seuls des bangs passent à travers l'objet onebang, si on lui envoie un nombre il est transformé en bang et perdu.