Cours du soir premiere partie...
Les objectifs de ce premier cours :
Présentation des cours du soir, mise en route.
-Présentation du programme
-Vérification ou réinstallations des bonnes versions de PD
-Installation librairies
-Structure des chemins d'accès et réglages des préférences
-Objet import (library)
-Révision prérequis
-Exercices corrigés
http://www.craslab.org/coursdusoirPD/?page=01_Presentation
Dans un premier temps, je distribue les CDs d'installation de puredata, j'essaie de régler les problèmes rencontrés : en particulier la version de pd ne démarre pas du tout sur l'Ibook d'une participante... Est-ce dû à une incompatibilité de matériel??? Je constate qu'on rencontre ce type de problème lorsque la/les personnes arrivent avec un portable qu'ils n'utilisent pas ou peu, ou bien qu'ils ont emprunté pour venir. Ils ne connaissent pas bien cet ordi et sans doute n'est-il pas vraiment configuré pour ce type de travail (multimédia).
Je présente en quelques mots la manière dont se dérouleront les cours, le fait que nous soyons plusieurs formateurs avec chacun son expérience ce qui a mon avis est un gros atout pour ces formations (différents points de vue, différentes manières d'aborder les concepts etc.)
Je passe ensuite en revue tous les concepts de bases, ordres des connections, l'addition, les objets, je tente de donner un exemple concis à chaque fois, sans faire de démonstration plus poussée (contrairement à la formation de samedi plus approfondie de ce point de vue). En quelque sorte, j'essaie de faire un rapide survol de tous les pré-requis listés (voir la formation de samedi). J'insiste plus particulièrement sur les objets qui avaient posé problème ou qui me paraissent primordiaux :[moses] (j'essaie de trouver une autre manière d'en parler, et de le mettre en oeuvre plus simplement) ou [select] parce qu'on n'avait pas eu le temps d'en parler, même chose pour [pack] et [unpack] (j'explique bien en détail le fonctionnement de ces objets).
[moses] :
atom
|
[moses 0]
|
négatif positif
[moses] prend un nombre en entrée et le sort à gauche s'il est inférieur à la valeur de contrôle (défini soit par un argument, soit par l'inlet de droite) et à droite s'il est supérieur ou égal à cette valeur. La création d'un argument initialise la valeur de contrôle et l'inlet droit change cette valeur. [moses] agit donc comme une sorte de filtre -voir également [min] et [max]-
[select] ou [sel] :
atom
|
[sel 1 2 34 56 9]
|
[print a] etc.
Pour chaque outlet on ajoute un [print]; pour chaque valeur selectionnée [select] envoit un bang (et non la valeur) sur l'outlet correspondant sinon, pour toutes autres valeurs inférieures ou supérieures aux valeurs selectionnées, l'objet [select] envoie la valeur sur le dernier outlet (droite). Permet d'une part de récupérer des bang pour telle ou telle valeur, d'autre part de récupérer des valeurs.
L'objet [import] permet d'importer les bibliothèques lorsqu'elles ne sont pas chargée au démarrage de puredata. Si une bibliothèque est indispensable pour le chargement correct d'un patch et que l'on souhaite partager ce patch avec d'autres utilisateurs, il peut être favorable d'y ajouter l'importation automatique par [import ..] (si la bibliothèque est installée).
[pack] et [unpack]; [pack] combine plusieurs messages, atoms en un seul message. La définition des arguments définie également leur type :
[pack 100 0 s 42] dans cet exemple l'objet [pack] reconnaît un float dans le premier, second et quatrième inlet, un symbol pour le troisième ou :
[pack float float symbol float] ou encore [pack f f s f] par contre, il n'acceptera pas un argument tel que "mot"
[unpack] fonctionne de la même manière en sens inverse exemple : [unpack 0 0 s f f]...
Ensuite, je réserve une grande partie (30mn environ) à toutes les questions : définition des chemins d'accès aux répertoires en particulier...
Pour la préparation de ce cours, j'ai réinstallé la version pd-0.39.3-extended sur un laptop très ancien (Dell Latitude CPt) tournant sous linux Debian 4.0 Etch.
Processus d'installation que j'ai suivi :
Je télécharge tout d'abord le packet Debian : pd-0.39.3-extended-debian-stable-i386.deb par exemple ici http://autobuild.puredata.info/auto-build/2007-09-12/
Je vais dans le répertoire du chargement :
$ cd Repertoire
$ su root
# dpkg -i pd-0.39.3-extended-debian-stable-i386.deb
Je reçois une série de messages de dépendences :
libjack0.100.0-0 ttf-bitstream-vera tcl8.4 tk8.4 imagemagick libpng3 libmpeg1 libmpeg3-1 libquicktime0 libimlib2 libgsl0 libmagick++9c2a x-ttcidfont-conf libavifile-0.7c2
# apt-get -f install
Je suis les instructions à l'écran et l'installation se passe toute seule sans problème...
Je teste ensuite puredata :
$ pd //pour démarrer pd
je constate qu'il me manque libmp3lame.so.0 pour pidip même en installant twolame libtwolame0 je ne règle pas le problème...
Je teste ensuite mes patches de cours sur la debian, tout semble fonctionner parfaitement...
Pour les chemins des librairies le fichier .pdsettings dans le répertoire de puredata charge automatique les librairies... Si problème voir .pdsettings dans le répertoire utilisateur et éventuellement l'effacer pour revenir à la configuration par defaut. Sinon, on peut également créer un fichier .pdrc (obsolete???) dans lequel on peut y indiquer les chemins d'accès (répertoires etc.) Il doit également y avoir un moyen d'y configurer le chemin d'accès à un répertoire de travail pour sauvegarder automatiquement ses fichiers dans le bon répertoire (il faut que je cherche comment faire).
Voici un exemple de fichier .pdrc (MacOSX)
-lib Gem -lib py -lib oscx -lib la-kitchen -lib toxy -lib rradical -lib pddp -lib pdp -lib iemlib -lib hid -lib ext13
-path /Users/pascalegustin/_PUREDATA/_PDNET/netpd/abs
-path /sw/lib/
-path /Applications/Pd-extended.app/Contents/lib
-helppath /Users/pascalegustin/_PUREDATA/_PDNET/netpd/doc
-path /Users/pascalegustin/pdmtl
-helppath /Users/pascalegustin/pdmtl
N.B. fichiers de configuration soit dans le répertoire utilisateur pour linux ou répertoire de puredata .pdsettings
-> /usr/local/lib/pd/ -> default.pdsettings
Pour Mac
~/Library/Preference -> org.puredata.pd.plist et org.puredata.pd.wish.plist