corrections liens
This commit is contained in:
parent
a563c02996
commit
e93a11fff8
|
@ -467,8 +467,8 @@ Pour expliquer les sub-patches et les abstractions, on va partir d'un cas concre
|
||||||
![Exemple réutilisé dans presque tous les patches](./screenshots/11-abstraction-base.png)
|
![Exemple réutilisé dans presque tous les patches](./screenshots/11-abstraction-base.png)
|
||||||
|
|
||||||
Or, on va vouloir deux choses en pratique :
|
Or, on va vouloir deux choses en pratique :
|
||||||
- que ces boîtes prennent moins de place à l'écran (qu'on puisse toutes les ranger dans une super-boîte, ce qu'on appelle un **subpatch**)
|
* que ces boîtes prennent moins de place à l'écran (qu'on puisse toutes les ranger dans une super-boîte, ce qu'on appelle un **subpatch**)
|
||||||
- que l'on puisse réutiliser proprement - et de manière robuste - cette fonction "Key To Frequency" dans n'importe quel patch (on utilisera alors plutôt les **abstractions**)
|
* que l'on puisse réutiliser proprement - et de manière robuste - cette fonction "Key To Frequency" dans n'importe quel patch (on utilisera alors plutôt les **abstractions**)
|
||||||
|
|
||||||
### Sub-patch
|
### Sub-patch
|
||||||
|
|
||||||
|
@ -482,7 +482,9 @@ Ensuite, on va déplacer toutes les boîtes qui doivent être rangées dans ce s
|
||||||
|
|
||||||
### Abstraction
|
### Abstraction
|
||||||
|
|
||||||
Les sub-patches permettent de donner de l'ordre et de la structure à de gros patches (comme dans le chapitre qui suit : Pure Data Orchestra). Le problème principal est qu'il faut copier-coller ce sub-patch dans chaque nouveau patch qui doit utiliser le clavier d'ordinateur comme clavier MIDI. C'est un problème car si on fait une mise à jour du sub-patch à un endroit, par exemple si l'on a détecté puis corrigé un bug, **les copies du sub-patch ne seront pas modifiées car elles sont indépendantes**.
|
Les sub-patches permettent de donner de l'ordre et de la structure à de gros patches (comme dans le chapitre qui suit : Pure Data Orchestra). Ils sont très efficaces et très utiles dans un premier temps.
|
||||||
|
|
||||||
|
Le problème principal survient lorsqu'on les utilise dans plusieurs patches différents. Pour notre exemple, il faut copier-coller ce sub-patch dans chaque nouveau patch qui doit utiliser le clavier d'ordinateur comme clavier MIDI. C'est un problème car si on fait une mise à jour du sub-patch à un endroit, par exemple si l'on a détecté puis corrigé un bug, **les copies du sub-patch ne seront pas modifiées car elles sont indépendantes**.
|
||||||
|
|
||||||
Pour résoudre ce problème, on va créer un patch Pure Data indépendant pour notre ensemble de boîtes "Keyboard To Frequency". Pour être accessible pour tous les autres patches, le plus simple est de le mettre dans le dossier des "externals", qui contient en fait toutes les bibliothèques externes. Ce dossier dépend du système d'exploitation, mais est en général situé dans "Mes Documents" -> "Pd" -> "externals".
|
Pour résoudre ce problème, on va créer un patch Pure Data indépendant pour notre ensemble de boîtes "Keyboard To Frequency". Pour être accessible pour tous les autres patches, le plus simple est de le mettre dans le dossier des "externals", qui contient en fait toutes les bibliothèques externes. Ce dossier dépend du système d'exploitation, mais est en général situé dans "Mes Documents" -> "Pd" -> "externals".
|
||||||
|
|
||||||
|
@ -500,6 +502,11 @@ Dès qu'un patch est stocké dans ce dossier, il devient automatiquement une abs
|
||||||
Lorsque l'on insère une abstraction dans un patch, on crée ce que l'on appelle une **instance** de cette abstraction. En programmation orientée-objet classique, on parle d'**instance de classe**, avec les classes (les objets) qui sont définies par du code informatique (C#, C++, Python, etc.) plutôt que par des liaisons entre des boîtes comme dans Pure Data.
|
Lorsque l'on insère une abstraction dans un patch, on crée ce que l'on appelle une **instance** de cette abstraction. En programmation orientée-objet classique, on parle d'**instance de classe**, avec les classes (les objets) qui sont définies par du code informatique (C#, C++, Python, etc.) plutôt que par des liaisons entre des boîtes comme dans Pure Data.
|
||||||
|
|
||||||
### Ressources
|
### Ressources
|
||||||
|
* Patches
|
||||||
|
* [Patch avec sub-patch inclus](./resources/11-subpatch-keyboard.pd)
|
||||||
|
* [Patch qui utilise une abstraction](./resources/11-abstraction-base.pd)
|
||||||
|
* [Patch-abstraction, à placer dans le dossier "externals"](./resources/KeyboardToFrequency.pd)
|
||||||
|
* En ligne
|
||||||
* [Sub-patches (EN)](http://write.flossmanuals.net/pure-data/subpatches/)
|
* [Sub-patches (EN)](http://write.flossmanuals.net/pure-data/subpatches/)
|
||||||
* [Abstractions (EN)](http://write.flossmanuals.net/pure-data/abstractions/)
|
* [Abstractions (EN)](http://write.flossmanuals.net/pure-data/abstractions/)
|
||||||
|
|
||||||
|
@ -551,7 +558,9 @@ Par rapport aux simples connexions de signaux de données, sur lesquelles le son
|
||||||
* Rajouter un filtre sur les réflections de l'écho, pour faire un *space echo*
|
* Rajouter un filtre sur les réflections de l'écho, pour faire un *space echo*
|
||||||
|
|
||||||
### Ressources
|
### Ressources
|
||||||
|
* En ligne
|
||||||
* [Delay sur wikipedia (avec extraits audio)](https://fr.wikipedia.org/wiki/Delay_(effet))
|
* [Delay sur wikipedia (avec extraits audio)](https://fr.wikipedia.org/wiki/Delay_(effet))
|
||||||
|
* Patches
|
||||||
* [Patch du délai simple](./resources/11_delay.pd)
|
* [Patch du délai simple](./resources/11_delay.pd)
|
||||||
* [Patch du délai écho](./resources/11_delay-feedback.pd)
|
* [Patch du délai écho](./resources/11_delay-feedback.pd)
|
||||||
|
|
||||||
|
@ -573,7 +582,9 @@ Un autre effet est le flanger. Le principe est assez proche du délai : on va aj
|
||||||
* Introduire une légère modulation (variation au cours du temps) sur le délai du flanger
|
* Introduire une légère modulation (variation au cours du temps) sur le délai du flanger
|
||||||
|
|
||||||
### Ressources
|
### Ressources
|
||||||
|
* En ligne
|
||||||
* [Flanger sur wikipedia (avec extraits audio)](https://fr.wikipedia.org/wiki/Flanger)
|
* [Flanger sur wikipedia (avec extraits audio)](https://fr.wikipedia.org/wiki/Flanger)
|
||||||
|
* Patch
|
||||||
* [Patch du flanger](./resources/12_flanger.pd)
|
* [Patch du flanger](./resources/12_flanger.pd)
|
||||||
|
|
||||||
|
|
||||||
|
@ -630,7 +641,10 @@ Or, pour une machine donnée, 1 seul programme peut se mettre en écoute d'un po
|
||||||
![Visualisation des données OSC reçues depuis le serveur local](./screenshots/16-osc-console.png)
|
![Visualisation des données OSC reçues depuis le serveur local](./screenshots/16-osc-console.png)
|
||||||
|
|
||||||
### Ressources
|
### Ressources
|
||||||
|
* En ligne
|
||||||
* [OSC et bibliothèque MrPeach](https://fr.flossmanuals.net/puredata/osc/)
|
* [OSC et bibliothèque MrPeach](https://fr.flossmanuals.net/puredata/osc/)
|
||||||
|
* Patch
|
||||||
|
* [Patch de connexion, requêtes et réception OSC](./resources/16_exemple-meteo.pd)
|
||||||
|
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
|
@ -0,0 +1,155 @@
|
||||||
|
#N canvas 230 161 953 651 10;
|
||||||
|
#X obj 856 261 inlet;
|
||||||
|
#X obj 858 519 outlet;
|
||||||
|
#X floatatom 418 285 5 0 0 0 - - -;
|
||||||
|
#X obj 440 47 key;
|
||||||
|
#X floatatom 440 76 5 0 0 0 - - -;
|
||||||
|
#X obj 61 161 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
|
||||||
|
-1;
|
||||||
|
#X text 72 181 Do;
|
||||||
|
#X text 110 180 Do#;
|
||||||
|
#X obj 103 161 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 146 161 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 190 161 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X text 162 180 Ré;
|
||||||
|
#X text 202 179 Ré#;
|
||||||
|
#X obj 232 161 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 274 161 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 317 161 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 361 161 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X text 246 179 Mi;
|
||||||
|
#X text 289 179 Fa;
|
||||||
|
#X text 327 179 Fa#;
|
||||||
|
#X text 369 180 Sol;
|
||||||
|
#X text 408 180 Sol#;
|
||||||
|
#X text 462 181 La;
|
||||||
|
#X text 502 180 La#;
|
||||||
|
#X text 546 181 Si;
|
||||||
|
#X text 590 181 Do;
|
||||||
|
#X text 628 180 Do#;
|
||||||
|
#X text 680 180 Ré;
|
||||||
|
#X text 720 179 Ré#;
|
||||||
|
#X text 758 179 Mi;
|
||||||
|
#X obj 404 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 446 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 489 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 533 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 575 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 617 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 660 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 704 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 747 160 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X msg 61 213 48;
|
||||||
|
#X msg 102 213 49;
|
||||||
|
#X msg 147 213 50;
|
||||||
|
#X msg 191 214 51;
|
||||||
|
#X msg 232 214 52;
|
||||||
|
#X msg 274 214 53;
|
||||||
|
#X msg 318 214 54;
|
||||||
|
#X msg 361 214 55;
|
||||||
|
#X msg 405 214 56;
|
||||||
|
#X msg 446 214 57;
|
||||||
|
#X msg 488 214 58;
|
||||||
|
#X msg 533 213 59;
|
||||||
|
#X msg 575 211 60;
|
||||||
|
#X msg 617 211 61;
|
||||||
|
#X msg 662 211 62;
|
||||||
|
#X msg 704 211 63;
|
||||||
|
#X msg 748 212 64;
|
||||||
|
#X obj 261 108 route 113 122 115 101 100 102 116 103 121 104 117 106
|
||||||
|
107 111 108 112 109;
|
||||||
|
#X obj 544 444 mtof;
|
||||||
|
#X obj 695 304 hradio 15 1 1 5 empty empty empty 0 -8 0 10 -203904
|
||||||
|
-1 -1 2;
|
||||||
|
#X text 246 291 Note MIDI issue du clavier;
|
||||||
|
#X text 586 418 Note MIDI après choix de l'octave;
|
||||||
|
#X floatatom 695 345 5 0 0 0 - - -;
|
||||||
|
#X obj 695 366 * 12;
|
||||||
|
#X obj 544 394 + 0;
|
||||||
|
#X obj 695 323 - 2;
|
||||||
|
#X text 574 345 décalage d'octave =;
|
||||||
|
#X floatatom 544 416 5 0 0 0 - - -;
|
||||||
|
#X obj 695 257 loadbang;
|
||||||
|
#X msg 695 278 2;
|
||||||
|
#X floatatom 544 475 5 0 0 0 - - -;
|
||||||
|
#X connect 0 0 58 0;
|
||||||
|
#X connect 2 0 63 0;
|
||||||
|
#X connect 3 0 4 0;
|
||||||
|
#X connect 4 0 56 0;
|
||||||
|
#X connect 5 0 39 0;
|
||||||
|
#X connect 8 0 40 0;
|
||||||
|
#X connect 9 0 41 0;
|
||||||
|
#X connect 10 0 42 0;
|
||||||
|
#X connect 13 0 43 0;
|
||||||
|
#X connect 14 0 44 0;
|
||||||
|
#X connect 15 0 45 0;
|
||||||
|
#X connect 16 0 46 0;
|
||||||
|
#X connect 30 0 47 0;
|
||||||
|
#X connect 31 0 48 0;
|
||||||
|
#X connect 32 0 49 0;
|
||||||
|
#X connect 33 0 50 0;
|
||||||
|
#X connect 34 0 51 0;
|
||||||
|
#X connect 35 0 52 0;
|
||||||
|
#X connect 36 0 53 0;
|
||||||
|
#X connect 37 0 54 0;
|
||||||
|
#X connect 38 0 55 0;
|
||||||
|
#X connect 39 0 2 0;
|
||||||
|
#X connect 40 0 2 0;
|
||||||
|
#X connect 41 0 2 0;
|
||||||
|
#X connect 42 0 2 0;
|
||||||
|
#X connect 43 0 2 0;
|
||||||
|
#X connect 44 0 2 0;
|
||||||
|
#X connect 45 0 2 0;
|
||||||
|
#X connect 46 0 2 0;
|
||||||
|
#X connect 47 0 2 0;
|
||||||
|
#X connect 48 0 2 0;
|
||||||
|
#X connect 49 0 2 0;
|
||||||
|
#X connect 50 0 2 0;
|
||||||
|
#X connect 51 0 2 0;
|
||||||
|
#X connect 52 0 2 0;
|
||||||
|
#X connect 53 0 2 0;
|
||||||
|
#X connect 54 0 2 0;
|
||||||
|
#X connect 55 0 2 0;
|
||||||
|
#X connect 56 0 5 0;
|
||||||
|
#X connect 56 1 8 0;
|
||||||
|
#X connect 56 2 9 0;
|
||||||
|
#X connect 56 3 10 0;
|
||||||
|
#X connect 56 4 13 0;
|
||||||
|
#X connect 56 5 14 0;
|
||||||
|
#X connect 56 6 15 0;
|
||||||
|
#X connect 56 7 16 0;
|
||||||
|
#X connect 56 8 30 0;
|
||||||
|
#X connect 56 9 31 0;
|
||||||
|
#X connect 56 10 32 0;
|
||||||
|
#X connect 56 11 33 0;
|
||||||
|
#X connect 56 12 34 0;
|
||||||
|
#X connect 56 13 35 0;
|
||||||
|
#X connect 56 14 36 0;
|
||||||
|
#X connect 56 15 37 0;
|
||||||
|
#X connect 56 16 38 0;
|
||||||
|
#X connect 57 0 69 0;
|
||||||
|
#X connect 58 0 64 0;
|
||||||
|
#X connect 61 0 62 0;
|
||||||
|
#X connect 62 0 63 1;
|
||||||
|
#X connect 63 0 66 0;
|
||||||
|
#X connect 64 0 61 0;
|
||||||
|
#X connect 66 0 57 0;
|
||||||
|
#X connect 67 0 68 0;
|
||||||
|
#X connect 68 0 58 0;
|
||||||
|
#X connect 69 0 1 0;
|
Loading…
Reference in New Issue