L'ensemble structuré et organisé des instructions relatives à ce que l'on veut programmer se fait dans le patch.
Nous présenterons dans ce chapitre les composantes de base ainsi que les menus complémentaires de l'espace de travail de Pure Data.C'est à partir du menu "Put"que nous allons pouvoir placer sur notre patch les éléments de base du traitement des données. Ce menu offre des choix intéressants seulement si le patch est ouvert. Afin de rendre ces premières indications plus concrètes, nous allons à présent les mettre en œuvre et créer un premier patch.
Qu'est-ce qu'un patch ?
Ce que nous appelons communément un patch, c'est une feuille de travail (ou un espace de travail), au commencement vide, sur laquelle nous allons pouvoir « composer », « tisser» ou « écrire » notre programme.
Allez dans Menu > File > New ou faites Ctrl+n. Cela crée un patch :
Un nouveau patch, vraiment vide !
Le message, dans son concept abstrait, est toute donnée qui transite à l'intérieur de Pure Data à travers les ficelles grises fines, à l'exception du son. Comprendre le traitement des messages dans Pure Data est une partie essentielle de sa prise en main complète. Cette partie spécifique sera traitée ultérieurement.
La boîte message, quant à elle, prend la forme concrète d'une sorte de drapeau, que nous pourrions comparer également à une « enveloppe ». Disons que c'est une sorte de « poche » de réception et d'envoi, très pratique pour traiter presque toutes les formes de données de natures différentes (nombres, symboles...) rencontrées dans Pure Data, sauf le son.
Sur cette feuille vide, dans le Menu > Put > Message (ou Ctrl+Maj+2), nous créons notre première boîte de message.
Ci-dessus, une boîte de message.
Veuillez noter que dans ce manuel "[...<" sert à décrire un message, comme dans [Bonjour Pure Data<.
Nous allons ensuite créer un premier objet. Allez dans Menu > Put > Object (ou Ctrl+Maj+1).
Ce que nous nommons objet est ce genre de boîte rectangulaire, comme ci-dessous :
À l'intérieur du rectangle en pointillé, nous allons écrire le nom de l'objet que nous souhaitons utiliser, ici [print]. "print" sert à afficher dans la console les messages qui lui sont envoyés, sans les transformer, sans effectuer aucun calcul dessus.
Une fois créée, cette boîte se dessine soit sous forme de pointillés bleu ou rouge, soit de traits continus et gris foncé. Si les traits sont en pointillés, il y a une erreur et nous avons échoué à créer l'objet (erreur de frappe par exemple). Si les traits sont pleins, tout va bien et notre objet existe.
En programmation, chaque caractère, espace ou signe de ponctuation a son importance !
On pourrait comparer cet objet à ce que l'on nomme en informatique une fonction, c'est-à-dire un élément qui effectue une action précise quand on le lui demande. Dans le cas présent, nous voulons qu'il écrive un message dans la console. Pour que cet ordre devienne effectif, nous l'avons spécifié explicitement, ici en inscrivant le mot "print" dans la boîte. On appelle ce terme la classe de l'objet, ou plus simplement, le nom de l'objet.
À la suite de certains noms d'objets, on peut ajouter un ou plusieurs arguments sous la forme de mots et/ou de chiffres séparés par des espaces. Certains objets acceptent différents types d'arguments. Si nous commettons une erreur, dans ce cas également l'objet peut ne pas être créé.
Dans le cas présenté ici, l'argument accepté par la fonction d'impression [print] est un en-tête ajouté devant le message envoyé. Cet en-tête sera utile pour distinguer plusieurs messages les uns des autres dans le cas où plusieurs objets [print] se trouvent dans le patch.
Ensuite, en mode édition (Ctrl+e) à l'aide du pointeur de la souris, nous allons nous positionner au-dessus du minuscule rectangle situé en bas à gauche de notre boîte message. Le pointeur se transforme en cercle noir gras. En cliquant sur le bouton gauche de la souris, nous allons tirer un câble du bas de la boîte, vers le petit rectangle situé en haut et à gauche de la boîte objet [print]. Lorsque notre curseur est au-dessus du petit rectangle en haut à gauche de l'objet en question, un cercle noir devrait apparaître à nouveau, nous signalant que, si nous lâchons le bouton de notre souris, nous allons effectuer une connexion, c'est-à-dire brancher nos deux boîtes ensemble !
Ces rectangles situés en haut et en bas des boîtes messages, des boîtes objets, des boîtes nombres etc. sont les entrées et les sorties du flot des données. Nous les nommerons entrées (inlet) et sorties (outlet).
Lorsqu'on clique sur une boîte, le message qu'elle contient est envoyé à travers les fils connectés à sa sortie. Bien faire attention à passer en mode action (Ctrl+e) !
La boîte nombre permet de recueillir, de lire ou de contrôler un flot de données de type "float" ou nombre décimal. Il est à noter que Pure Data ne travaille pas avec des nombres entiers, mais seulement avec des nombres à virgule. De plus amples détails à ce sujet seront développés dans la suite de ce manuel.
Pour créer une boîte nombre, faites Ctrl+Maj+3.
En mode action, nous pouvons soit cliquer et glisser le curseur de la souris de bas en haut ou de haut en bas pour faire évoluer les valeurs à l'intérieur de la boîte, soit cliquer directement à l'intérieur de la boîte nombre puis entrer une valeur au clavier.
La boîte symbole aura un peu le même comportement que la boîte nombre, sauf qu'elle va nous permettre de visualiser ou entrer au clavier des chaînes de caractères. Notez que cette boîte ressemble à la boîte nombre. Elle est seulement plus allongée. Pour saisir une chaîne de caractères à l'intérieur, il faut cliquer sur la boîte en mode action, puis taper le mot souhaité.
Remarque : pour faire sortir le mot dans la console de Pure Data, en d'autres termes activer une action sur la boîte symbol, faire un retour à la ligne (touche enter).
Allez dans Menu > Put > Symbol (ou faites Ctrl+Maj+).
Toutes ces boîtes nombre, objet ou symbole peuvent être connectées entre elles.
Il est à noter une particularité très intéressante de Pd offrant l'accès à des rubriques d'aide internes, écrites directement avec Pure Data. Ceci nous permet, par exemple, de tester les patchs pour les découvrir concrètement ou bien effectuer des copier/coller de portions de ces rubriques, d'expérimenter, de jouer avec, etc.
Pour accéder à ces rubriques pendant l'écriture du patch sans sortir de ce dernier, il suffit par exemple de placer le curseur de votre souris sur la boîte objet avec le nom de sa fonction et de faire un clic droit. Une fenêtre de dialogue doit apparaître comme ceci :
Un commentaire permet de laisser des informations lisibles pour soi-même ou pour d'autres, d'indiquer nos actions effectuées sur le patch, les modifications apportées ou le comportement de certaines portions du patch. C'est une bonne habitude à prendre lorsque l'on commence à programmer. Cela favorise la lisibilité, le travail en équipe et la réutilisation des patchs créés.
Faire Menu -> Put -> Comment ou Ctrl+Maj+5
Le menu "Find" permet de localiser les parties problématiques. Elles seront marquées en bleu. Si une erreur est détectée par Pure Data, elle sera signalée dans la console.
Le menu "Media" permet d'activer ou de désactiver l'audio, de configurer l'audio et le MIDI, de tester si tout ça fonctionne, et bien plus encore. Ce sujet est abordé en détail dans le chapitre sur la configuration audio et MIDI.
Le menu "Window" permet de vérifier et d'accéder aux différentes fenêtres ouvertes durant la session de travail.
Enfin le menu "Help" nous donne accès à de précieuses informations et exemples d'aides :
Dans les deux captures ci-dessus, nous avons à gauche la plage déroulée du menu "Help". Browser est sélectionné. À droite, le sous-menu "Help Browser", tel qu'il se présente dans la version 0.42.5 de Pd-extended (Mac OS X). Ce navigateur d'aide contient des tonnes d'exemples et de patchs d'aide pour de nombreux d'objets. Essayer de comprendre et d'utiliser un patch d'aide par jour est un excellent moyen de maîtriser rapidement Pure Data.
La rubrique Manuals permet d'accéder à divers manuels en anglais. Pure Data mène vers les tutoriels de base du cœur de Pure Data. Viennent ensuite la liste des librairies externes avec leurs exemples d'aide et autres informations intégrés par chacun de leurs développeurs.
Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.
Vous devriez rafraîchir la page.