aboutsummaryrefslogtreecommitdiff
path: root/doc/additional/pd-msg
diff options
context:
space:
mode:
Diffstat (limited to 'doc/additional/pd-msg')
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd248
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/1.0.objects.pd136
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/1.1.add_objects.pd130
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/1.2.create_patch.pd68
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/1.3.show_hide.pd27
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/2.menu.pd12
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/3.0.events.pd76
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/3.1.motion.pd80
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/3.2.cut_paste.pd100
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd56
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd12
-rw-r--r--doc/additional/pd-msg/1.msg_and_patch/6.relocate_windows.pd16
-rw-r--r--doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd38
-rw-r--r--doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd85
-rw-r--r--doc/additional/pd-msg/2.msg_and_pd/abstraction.pd2
-rw-r--r--doc/additional/pd-msg/5.examples/1.polyphonie.pd206
-rw-r--r--doc/additional/pd-msg/5.examples/2.create_new_abstract.pd67
-rw-r--r--doc/additional/pd-msg/5.examples/asound.pd2
18 files changed, 759 insertions, 602 deletions
diff --git a/doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd b/doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd
index 241cdf0b..d1b73a56 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/0.all_msg.pd
@@ -1,54 +1,53 @@
-#N canvas 98 22 580 691 10;
-#X msg 40 642 restore;
-#X text 16 28 objects;
-#X text 395 6 GUI stuff;
-#X msg 395 30 menusave;
-#X msg 395 52 menusaveas;
-#X msg 395 74 menuclose;
-#X msg 395 97 saveto;
-#X msg 395 173 cut;
-#X msg 395 195 copy;
-#X msg 395 239 duplicate;
-#X msg 395 119 tidy;
-#X msg 395 141 texteditor;
-#X msg 395 423 editmode \$1;
-#X msg 395 476 print;
-#X msg 395 530 pop;
-#X msg 395 450 loadbang;
-#X msg 395 293 menufont;
-#X msg 395 315 font 10 100 100;
-#X msg 395 369 findagain;
-#X msg 395 391 findparent;
-#X text 476 73 Warnnig !!!;
-#X text 446 98 ?????;
-#X msg 395 217 paste;
-#X msg 395 261 selectall;
-#X text 22 408 reset the patch;
-#X msg 40 432 clear;
-#N canvas 1 22 424 410 subpatch 0;
+#N canvas 0 18 580 666 10;
+#X msg 40 615 restore;
+#X text 23 17 objects;
+#X text 371 2 GUI stuff;
+#X msg 375 25 menusave;
+#X msg 375 47 menusaveas;
+#X msg 375 69 menuclose;
+#X msg 375 92 saveto;
+#X msg 375 171 cut;
+#X msg 375 193 copy;
+#X msg 375 237 duplicate;
+#X msg 375 114 tidy;
+#X msg 375 136 texteditor;
+#X msg 375 421 editmode \$1;
+#X msg 375 474 print;
+#X msg 375 528 pop;
+#X msg 375 448 loadbang;
+#X msg 375 291 menufont;
+#X msg 375 313 font 10 100 100;
+#X msg 375 367 findagain;
+#X msg 375 389 findparent;
+#X text 426 93 ?????;
+#X msg 375 215 paste;
+#X msg 375 259 selectall;
+#X text 22 386 reset the patch;
+#X msg 40 406 clear;
+#N canvas 1 87 424 410 subpatch 1;
#X coords 0 0 1 1 50 50 0;
-#X restore 210 665 pd subpatch;
-#X obj 40 665 s pd-subpatch;
-#X obj 395 665 s pd-subpatch;
-#X msg 40 211 connect 0 0 1 0;
-#X msg 40 475 read textfile.txt;
-#X msg 40 497 write textfile.txt;
-#X msg 395 503 vis \$1;
-#X msg 443 618 vis 1 \, clear;
-#X obj 443 599 loadbang;
-#X msg 40 620 donecanvasdialog 1 -1 1 0 -1 1 1 50 50 100 100;
-#X text 23 600 this controls graph-on-parent;
-#X msg 40 233 disconnect 0 0 1 0;
-#X text 167 222 obj# outlet# obj# inlet#;
-#X text 91 643 ?????;
-#X msg 40 161 graph mygraph;
-#X obj 143 183 s pd-mygraph;
-#X msg 143 161 pop \, array array1 100 float 2;
-#X msg 40 51 obj 350 10 r test;
-#X msg 40 73 msg 350 40 bang;
-#X msg 40 95 floatatom 350 70;
-#X msg 40 117 symbolatom 350 100 symbol;
-#X msg 40 139 text 350 130 comment;
+#X restore 230 638 pd subpatch;
+#X obj 40 638 s pd-subpatch;
+#X obj 375 639 s pd-subpatch;
+#X msg 40 192 connect 0 0 1 0;
+#X msg 40 448 read textfile.txt;
+#X msg 40 470 write textfile.txt;
+#X msg 375 501 vis \$1;
+#X msg 423 594 vis 1 \, clear;
+#X obj 423 575 loadbang;
+#X msg 40 593 donecanvasdialog 1 -1 1 0 -1 1 1 50 50 100 100;
+#X text 22 573 this controls graph-on-parent;
+#X msg 40 214 disconnect 0 0 1 0;
+#X text 167 203 obj# outlet# obj# inlet#;
+#X text 91 616 ?????;
+#X msg 40 147 graph mygraph;
+#X obj 143 169 s pd-mygraph;
+#X msg 143 147 pop \, array array1 100 float 2;
+#X msg 40 37 obj 350 10 r test;
+#X msg 40 59 msg 350 40 bang;
+#X msg 40 81 floatatom 350 70;
+#X msg 40 103 symbolatom 350 100 symbol;
+#X msg 40 125 text 350 130 comment;
#N canvas 166 389 351 173 ds 0;
#X obj 38 39 filledcurve 990 0 1 0 0 50 0 50 50 0 50;
#X obj 38 66 drawcurve 0 1 15 15 20 15 20 20 15 20 15 15;
@@ -56,25 +55,25 @@
#X obj 38 120 filledcurve 999 0 1 10 25 25 45 40 25 25 35 10 25;
#X obj 20 12 struct ds float x float y symbol sym;
#X obj 38 147 drawsymbol sym 55 25 0;
-#X restore 225 519 pd ds;
-#X msg 40 385 motion 200 200 0;
-#X msg 40 276 editmode 1;
-#X msg 40 341 key 1 8 0;
-#X msg 40 297 mouse 340 135 1 0;
-#X msg 40 319 mouseup 355 145 0;
-#X msg 40 363 click 355 145 0 1 0;
-#X text 22 254 events (only work when editmode = 1 \, vis = 1);
-#X text 23 538 relocate windows;
-#X msg 40 581 vis 1;
-#X text 114 340 (8 = backspace);
-#X text 166 363 ?????;
-#X text 159 385 ?????;
-#X msg 40 559 vis 0 \, relocate 300x250+1+1 1x1+100+200;
-#X text 440 503 ( 0 or 1 );
-#X text 471 423 ( 0 or 1 );
-#X text 14 2 Here is a list of all messages:;
-#X text 23 188 connections;
-#X text 78 581 make it visible again;
+#X restore 225 492 pd ds;
+#X msg 40 366 motion 200 200 0;
+#X msg 40 257 editmode 1;
+#X msg 40 322 key 1 8 0;
+#X msg 40 278 mouse 340 135 1 0;
+#X msg 40 300 mouseup 355 145 0;
+#X msg 40 344 click 355 145 0 1 0;
+#X text 23 235 events (only work when editmode = 1 \, vis = 1);
+#X text 22 511 relocate windows;
+#X msg 40 554 vis 1;
+#X text 114 321 (8 = backspace);
+#X text 166 344 ?????;
+#X text 159 366 ?????;
+#X msg 40 532 vis 0 \, relocate 300x250+1+1 1x1+100+200;
+#X text 420 501 ( 0 or 1 );
+#X text 451 421 ( 0 or 1 );
+#X text 11 2 Here is a list of all messages:;
+#X text 23 169 connections;
+#X text 78 554 make it visible again;
#N canvas 523 391 152 85 ds2 0;
#N canvas 50 470 557 157 template-toplevel 0;
#X obj 21 94 plot bazoo 700 3 10 20 20;
@@ -86,54 +85,65 @@ q array bazoo template-element;
#X obj 58 83 drawpolygon 10 2 5 0 0 -5 -5 0 0 5 5 0;
#X obj 59 48 struct template-element float x float y float w;
#X restore 11 34 pd template-element;
-#X restore 225 475 pd ds2;
-#X msg 40 519 scalar ds 225 225 -hi_there!;
-#X text 22 453 reading/writing/creating data structures;
-#X text 479 347 ( 0 or 1 );
-#X msg 395 347 find +test \$1;
-#X connect 0 0 27 0;
-#X connect 3 0 28 0;
-#X connect 4 0 28 0;
-#X connect 5 0 28 0;
-#X connect 6 0 28 0;
-#X connect 7 0 28 0;
-#X connect 8 0 28 0;
-#X connect 9 0 28 0;
-#X connect 10 0 28 0;
-#X connect 11 0 28 0;
-#X connect 12 0 28 0;
-#X connect 13 0 28 0;
-#X connect 14 0 28 0;
-#X connect 15 0 28 0;
-#X connect 16 0 28 0;
-#X connect 17 0 28 0;
-#X connect 18 0 28 0;
-#X connect 19 0 28 0;
-#X connect 22 0 28 0;
-#X connect 23 0 28 0;
-#X connect 25 0 27 0;
-#X connect 29 0 27 0;
-#X connect 30 0 27 0;
+#X restore 225 448 pd ds2;
+#X msg 40 492 scalar ds 225 225 -hi_there!;
+#X text 22 426 reading/writing/creating data structures;
+#X text 459 345 ( 0 or 1 );
+#X msg 375 345 find +test \$1;
+#X text 456 68 Warning !!!;
+#N canvas 458 158 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 65 DESCRIPTION a (hopefully) comprehensive list of all internal
+messages that can be sent to a canvas;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 45 LICENSE public domain;
+#X restore 525 638 pd META;
+#X connect 0 0 26 0;
+#X connect 3 0 27 0;
+#X connect 4 0 27 0;
+#X connect 5 0 27 0;
+#X connect 6 0 27 0;
+#X connect 7 0 27 0;
+#X connect 8 0 27 0;
+#X connect 9 0 27 0;
+#X connect 10 0 27 0;
+#X connect 11 0 27 0;
+#X connect 12 0 27 0;
+#X connect 13 0 27 0;
+#X connect 14 0 27 0;
+#X connect 15 0 27 0;
+#X connect 16 0 27 0;
+#X connect 17 0 27 0;
+#X connect 18 0 27 0;
+#X connect 19 0 27 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 0;
+#X connect 24 0 26 0;
+#X connect 28 0 26 0;
+#X connect 29 0 26 0;
+#X connect 30 0 26 0;
#X connect 31 0 27 0;
-#X connect 32 0 28 0;
-#X connect 33 0 28 0;
-#X connect 34 0 33 0;
-#X connect 35 0 27 0;
-#X connect 37 0 27 0;
-#X connect 40 0 27 0;
-#X connect 42 0 41 0;
-#X connect 43 0 27 0;
-#X connect 44 0 27 0;
-#X connect 45 0 27 0;
-#X connect 46 0 27 0;
-#X connect 47 0 27 0;
-#X connect 49 0 27 0;
-#X connect 50 0 27 0;
-#X connect 51 0 27 0;
-#X connect 52 0 27 0;
-#X connect 53 0 27 0;
-#X connect 54 0 27 0;
-#X connect 57 0 27 0;
-#X connect 61 0 27 0;
-#X connect 68 0 27 0;
-#X connect 71 0 28 0;
+#X connect 32 0 27 0;
+#X connect 33 0 32 0;
+#X connect 34 0 26 0;
+#X connect 36 0 26 0;
+#X connect 39 0 26 0;
+#X connect 41 0 40 0;
+#X connect 42 0 26 0;
+#X connect 43 0 26 0;
+#X connect 44 0 26 0;
+#X connect 45 0 26 0;
+#X connect 46 0 26 0;
+#X connect 48 0 26 0;
+#X connect 49 0 26 0;
+#X connect 50 0 26 0;
+#X connect 51 0 26 0;
+#X connect 52 0 26 0;
+#X connect 53 0 26 0;
+#X connect 56 0 26 0;
+#X connect 60 0 26 0;
+#X connect 67 0 26 0;
+#X connect 70 0 27 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/1.0.objects.pd b/doc/additional/pd-msg/1.msg_and_patch/1.0.objects.pd
index 8cd7b0a0..7e7ed130 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/1.0.objects.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/1.0.objects.pd
@@ -1,63 +1,73 @@
-#N canvas 421 111 543 545 10;
-#X msg 39 481 restore;
-#X text 15 48 objects;
-#X msg 39 71 obj 300 10 r test;
-#X msg 39 93 msg 300 40 bang;
-#X msg 39 115 floatatom 300 70 symbol;
-#X msg 39 137 symbolatom 300 100 symbol;
-#X msg 39 159 text 300 130 comment;
-#X obj 39 510 s pd-1.0.objects.pd;
-#X text 110 481 ??????;
-#N canvas 478 329 385 188 ds-example 0;
-#X text 27 119 An example struct to show how the "scalar" msg works
-;
-#X obj 18 23 struct ds-example float x float y symbol desc;
-#X obj 52 56 filledpolygon 900 0 1 0 0 10 0 10 10 0 10;
-#X obj 53 83 drawsymbol desc 20 0 0;
-#X text 28 146 usage: scalar <struct name> <arg1 arg2 arg3 etc.>;
-#X restore 69 213 pd ds-example;
-#X msg 39 191 scalar ds-example 300 160 this-is-a-ds-instance;
-#X obj 69 349 s pd-my_graph;
-#X msg 69 283 pop;
-#X text 24 259 1;
-#X text 54 284 2;
-#X text 54 320 3;
-#N canvas 34 396 417 187 connections 1;
-#X obj 14 8 inlet;
-#X obj 14 107 outlet;
-#X text 61 29 Object and inlet numbers start at 0;
-#X text 73 83 "connect"-ing multiple times will create duplicate;
-#X text 74 63 Warnings: cutting and pasting changes object order!;
-#X text 59 9 usage: connect obj# outlet# obj# inlet#;
-#X text 73 103 connections! (try it \, then scroll the number box and
-;
-#X text 73 124 watch the console);
-#X restore 204 413 pd connections;
-#X obj 69 439 s pd-connections;
-#X msg 69 388 connect 0 0 1 0;
-#X msg 69 413 disconnect 0 0 1 0;
-#X floatatom 204 388 5 0 0 0 - - -;
-#X obj 254 439 print;
-#X floatatom 204 439 5 0 0 0 - - -;
-#X text 33 239 graph name xfrom yfrom xto yto xtopl ytopl xbtmr ybtmr
-;
-#X msg 39 259 graph my_graph 0 1 99 -1 300 280 500 420;
-#X text 72 301 array name size float style;
-#X msg 69 321 array my_array 100 float 2;
-#X text 17 24 that deal with objects:;
-#X text 16 7 Here's a list of all messages;
-#X connect 0 0 7 0;
-#X connect 2 0 7 0;
-#X connect 3 0 7 0;
-#X connect 4 0 7 0;
-#X connect 5 0 7 0;
-#X connect 6 0 7 0;
-#X connect 10 0 7 0;
-#X connect 12 0 11 0;
-#X connect 16 0 21 0;
-#X connect 16 0 22 0;
-#X connect 18 0 17 0;
-#X connect 19 0 17 0;
-#X connect 20 0 16 0;
-#X connect 24 0 7 0;
-#X connect 26 0 11 0;
+#N canvas 0 18 543 545 10;
+#X msg 39 481 restore;
+#X text 23 48 objects;
+#X msg 39 71 obj 300 10 r test;
+#X msg 39 93 msg 300 40 bang;
+#X msg 39 115 floatatom 300 70 symbol;
+#X msg 39 137 symbolatom 300 100 symbol;
+#X msg 39 159 text 300 130 comment;
+#X obj 39 510 s pd-1.0.objects.pd;
+#X text 110 481 ??????;
+#N canvas 478 329 385 188 ds-example 0;
+#X text 27 119 An example struct to show how the "scalar" msg works
+;
+#X obj 18 23 struct ds-example float x float y symbol desc;
+#X obj 52 56 filledpolygon 900 0 1 0 0 10 0 10 10 0 10;
+#X obj 53 83 drawsymbol desc 20 0 0;
+#X text 28 146 usage: scalar <struct name> <arg1 arg2 arg3 etc.>;
+#X restore 69 213 pd ds-example;
+#X msg 39 191 scalar ds-example 300 160 this-is-a-ds-instance;
+#X obj 69 349 s pd-my_graph;
+#X msg 69 283 pop;
+#X text 24 259 1;
+#X text 54 284 2;
+#X text 54 320 3;
+#N canvas 34 396 417 187 connections 0;
+#X obj 14 8 inlet;
+#X obj 14 107 outlet;
+#X text 61 29 Object and inlet numbers start at 0;
+#X text 73 83 "connect"-ing multiple times will create duplicate;
+#X text 74 63 Warnings: cutting and pasting changes object order!;
+#X text 59 9 usage: connect obj# outlet# obj# inlet#;
+#X text 73 103 connections! (try it \, then scroll the number box and
+;
+#X text 73 124 watch the console);
+#X restore 204 413 pd connections;
+#X obj 69 439 s pd-connections;
+#X msg 69 388 connect 0 0 1 0;
+#X msg 69 413 disconnect 0 0 1 0;
+#X floatatom 204 388 5 0 0 0 - - -;
+#X obj 254 439 print;
+#X floatatom 204 439 5 0 0 0 - - -;
+#X text 43 238 graph name xfrom yfrom xto yto xtopl ytopl xbtmr ybtmr
+;
+#X msg 39 259 graph my_graph 0 1 99 -1 300 280 500 420;
+#X text 72 301 array name size float style;
+#X msg 69 321 array my_array 100 float 2;
+#X text 17 24 that deal with objects:;
+#X text 16 7 Here's a list of all messages;
+#N canvas 218 113 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 DESCRIPTION list of canvas messages that can be used
+to dynamically instantiate objects and connections.;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 45 LICENSE public domain;
+#X restore 481 514 pd META;
+#X connect 0 0 7 0;
+#X connect 2 0 7 0;
+#X connect 3 0 7 0;
+#X connect 4 0 7 0;
+#X connect 5 0 7 0;
+#X connect 6 0 7 0;
+#X connect 10 0 7 0;
+#X connect 12 0 11 0;
+#X connect 16 0 21 0;
+#X connect 16 0 22 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 0;
+#X connect 20 0 16 0;
+#X connect 24 0 7 0;
+#X connect 26 0 11 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/1.1.add_objects.pd b/doc/additional/pd-msg/1.msg_and_patch/1.1.add_objects.pd
index 64eb37fd..d0afc985 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/1.1.add_objects.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/1.1.add_objects.pd
@@ -1,60 +1,70 @@
-#N canvas 154 21 711 648 10;
-#X msg 42 49 msg 500 10 bang;
-#X text 224 53 <= Click here first;
-#X text 207 232 <= and here;
-#X text 42 456 And now the end of this exemple :;
-#X text 42 143 The next 2 numbers are X & Y position in the canvas.
-Then it's a symbol for the name of the obj \, the content of the msg
-\, etc... and some additionals parameters.;
-#X msg 42 205 floatatom 600 10 7 50 5000;
-#X msg 42 230 obj 500 40 metro 500;
-#X msg 42 482 obj 500 70 random 127;
-#X msg 42 532 floatatom 500 100 5;
-#X msg 42 582 text 500 130 That's it !;
-#X text 16 53 1;
-#X text 20 204 2;
-#X text 20 226 3;
-#X text 18 348 4;
-#X text 18 370 5;
-#X text 20 483 6;
-#X text 20 509 7;
-#X text 20 532 8;
-#X text 19 556 9;
-#X text 14 582 10;
-#X text 42 13 To add an object into a patch just send a message to
-the patch itself :;
-#X obj 42 74 s pd-1.1.add_objects.pd;
-#X obj 42 255 s pd-1.1.add_objects.pd;
-#X obj 43 399 s pd-1.1.add_objects.pd;
-#X obj 42 612 s pd-1.1.add_objects.pd;
-#X text 42 98 The selector should be "msg" \, "floatatom" \, "obj"
-\, "text" \, "array" \, "symbolatom" \, "scalar" or "graph";
-#X text 236 204 <= Then click here (and have a look at the properties
-of the object created);
-#X text 42 279 For connecting objects use the selector "connect". It
-takes 4 arguments : the number of the first object \, the number of
-the outlet \, the number of the second object \, and the number of
-the inlet :;
-#X text 193 375 <= and here;
-#X text 193 348 <= click here;
-#X msg 43 349 connect 35 0 37 0;
-#X msg 43 374 connect 36 0 37 1;
-#X msg 42 507 connect 37 0 38 0;
-#X msg 42 557 connect 38 0 39 0;
-#X text 276 530 !!! W A R N N I N G !!! It's very important to respect
-the order in which objects are created. If you don't the "connect"
-selector won't work correctly. If you get stuck \, reload this patch
-and try again.;
-#X connect 0 0 21 0;
-#X connect 5 0 22 0;
-#X connect 6 0 22 0;
-#X connect 7 0 24 0;
-#X connect 8 0 24 0;
-#X connect 9 0 24 0;
-#X connect 30 0 23 0;
-#X connect 31 0 23 0;
-#X connect 31 0 23 0;
-#X connect 31 0 23 0;
-#X connect 31 0 23 0;
-#X connect 32 0 24 0;
-#X connect 33 0 24 0;
+#N canvas 0 18 711 648 10;
+#X msg 42 49 msg 500 10 bang;
+#X text 224 53 <= Click here first;
+#X text 207 232 <= and here;
+#X text 42 456 And now the end of this exemple :;
+#X text 42 143 The next 2 numbers are X & Y position in the canvas.
+Then it's a symbol for the name of the obj \, the content of the msg
+\, etc... and some additionals parameters.;
+#X msg 42 205 floatatom 600 10 7 50 5000;
+#X msg 42 230 obj 500 40 metro 500;
+#X msg 42 482 obj 500 70 random 127;
+#X msg 42 532 floatatom 500 100 5;
+#X msg 42 582 text 500 130 That's it !;
+#X text 16 53 1;
+#X text 20 204 2;
+#X text 20 226 3;
+#X text 18 348 4;
+#X text 18 370 5;
+#X text 20 483 6;
+#X text 20 509 7;
+#X text 20 532 8;
+#X text 19 556 9;
+#X text 14 582 10;
+#X text 42 13 To add an object into a patch just send a message to
+the patch itself :;
+#X obj 42 74 s pd-1.1.add_objects.pd;
+#X obj 42 255 s pd-1.1.add_objects.pd;
+#X obj 43 399 s pd-1.1.add_objects.pd;
+#X obj 42 612 s pd-1.1.add_objects.pd;
+#X text 42 98 The selector should be "msg" \, "floatatom" \, "obj"
+\, "text" \, "array" \, "symbolatom" \, "scalar" or "graph";
+#X text 236 204 <= Then click here (and have a look at the properties
+of the object created);
+#X text 42 279 For connecting objects use the selector "connect". It
+takes 4 arguments : the number of the first object \, the number of
+the outlet \, the number of the second object \, and the number of
+the inlet :;
+#X text 193 375 <= and here;
+#X text 193 348 <= click here;
+#X msg 43 349 connect 35 0 37 0;
+#X msg 43 374 connect 36 0 37 1;
+#X msg 42 507 connect 37 0 38 0;
+#X msg 42 557 connect 38 0 39 0;
+#X text 276 530 !!! W A R N N I N G !!! It's very important to respect
+the order in which objects are created. If you don't the "connect"
+selector won't work correctly. If you get stuck \, reload this patch
+and try again.;
+#N canvas 218 113 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 DESCRIPTION how to dynamically instantiate objects and
+connections.;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 44 LICENSE public domain;
+#X restore 654 623 pd META;
+#X connect 0 0 21 0;
+#X connect 5 0 22 0;
+#X connect 6 0 22 0;
+#X connect 7 0 24 0;
+#X connect 8 0 24 0;
+#X connect 9 0 24 0;
+#X connect 30 0 23 0;
+#X connect 31 0 23 0;
+#X connect 31 0 23 0;
+#X connect 31 0 23 0;
+#X connect 31 0 23 0;
+#X connect 32 0 24 0;
+#X connect 33 0 24 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/1.2.create_patch.pd b/doc/additional/pd-msg/1.msg_and_patch/1.2.create_patch.pd
index 03d30b81..b10d6895 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/1.2.create_patch.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/1.2.create_patch.pd
@@ -1,29 +1,39 @@
-#N canvas 251 207 743 475 10;
-#X msg 38 150 msg 10 10 bang;
-#X msg 38 198 obj 10 40 metro 500;
-#X msg 38 174 floatatom 100 10 7 50 5000;
-#X msg 38 270 obj 10 70 random 127;
-#X msg 38 318 floatatom 10 100 5;
-#X msg 38 366 text 10 130 That's it !;
-#X msg 38 222 connect 0 0 2 0;
-#X msg 38 246 connect 1 0 2 1;
-#X msg 38 294 connect 2 0 3 0;
-#X msg 38 342 connect 3 0 4 0;
-#X text 195 37 click here first;
-#X obj 38 404 s pd-new_patch;
-#X msg 33 37 obj 500 200 pd new_patch;
-#X text 40 127 and then click here to fill it :;
-#X obj 33 62 s pd-1.2.create_patch.pd;
-#X text 33 13 This will create a sub patch in this window and open
-it :;
-#X connect 0 0 11 0;
-#X connect 1 0 11 0;
-#X connect 2 0 11 0;
-#X connect 3 0 11 0;
-#X connect 4 0 11 0;
-#X connect 5 0 11 0;
-#X connect 6 0 11 0;
-#X connect 7 0 11 0;
-#X connect 8 0 11 0;
-#X connect 9 0 11 0;
-#X connect 12 0 14 0;
+#N canvas 0 18 743 475 10;
+#X msg 38 150 msg 10 10 bang;
+#X msg 38 198 obj 10 40 metro 500;
+#X msg 38 174 floatatom 100 10 7 50 5000;
+#X msg 38 270 obj 10 70 random 127;
+#X msg 38 318 floatatom 10 100 5;
+#X msg 38 366 text 10 130 That's it !;
+#X msg 38 222 connect 0 0 2 0;
+#X msg 38 246 connect 1 0 2 1;
+#X msg 38 294 connect 2 0 3 0;
+#X msg 38 342 connect 3 0 4 0;
+#X text 195 37 click here first;
+#X obj 38 404 s pd-new_patch;
+#X msg 33 37 obj 500 200 pd new_patch;
+#X text 40 127 and then click here to fill it :;
+#X obj 33 62 s pd-1.2.create_patch.pd;
+#X text 33 13 This will create a sub patch in this window and open
+it :;
+#N canvas 218 113 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 85 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 DESCRIPTION how to dynamically instantiate a subpatch
+;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 44 LICENSE public domain;
+#X restore 685 449 pd META;
+#X connect 0 0 11 0;
+#X connect 1 0 11 0;
+#X connect 2 0 11 0;
+#X connect 3 0 11 0;
+#X connect 4 0 11 0;
+#X connect 5 0 11 0;
+#X connect 6 0 11 0;
+#X connect 7 0 11 0;
+#X connect 8 0 11 0;
+#X connect 9 0 11 0;
+#X connect 12 0 14 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/1.3.show_hide.pd b/doc/additional/pd-msg/1.msg_and_patch/1.3.show_hide.pd
index fb804623..513b101c 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/1.3.show_hide.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/1.3.show_hide.pd
@@ -1,9 +1,18 @@
-#N canvas 209 341 383 241 10;
-#N canvas 209 154 262 142 my-subpatch 0;
-#X text 37 40 This is the sub patch;
-#X restore 215 98 pd my-subpatch;
-#X msg 33 62 \; pd-my-subpatch vis 1;
-#X msg 37 127 \; pd-my-subpatch vis 0;
-#X text 43 42 pop-up;
-#X text 40 109 close;
-#X text 13 17 pop-up and close a subpatch :;
+#N canvas 0 18 383 241 10;
+#N canvas 209 154 262 142 my-subpatch 0;
+#X text 37 40 This is the sub patch;
+#X restore 215 98 pd my-subpatch;
+#X msg 33 62 \; pd-my-subpatch vis 1;
+#X msg 37 127 \; pd-my-subpatch vis 0;
+#X text 43 42 pop-up;
+#X text 40 109 close;
+#X text 13 17 pop-up and close a subpatch :;
+#N canvas 218 113 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 85 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 DESCRIPTION how to show/hide a patch using messages;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 44 LICENSE public domain;
+#X restore 329 216 pd META;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/2.menu.pd b/doc/additional/pd-msg/1.msg_and_patch/2.menu.pd
index b1be2e70..22a16add 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/2.menu.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/2.menu.pd
@@ -1,4 +1,4 @@
-#N canvas 472 35 222 544 10;
+#N canvas 0 18 222 544 10;
#X text 17 121 GUI stuff;
#X msg 17 145 menusave;
#X msg 17 171 menusaveas;
@@ -20,6 +20,16 @@
#X text 15 14 These messages will do exactly;
#X text 19 52 menu items do.;
#X msg 17 327 find +test 1;
+#N canvas 218 113 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 DESCRIPTION how to access a patch's menu options by sending
+messages to a canvas;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 44 LICENSE public domain;
+#X restore 169 520 pd META;
#X connect 1 0 15 0;
#X connect 2 0 15 0;
#X connect 3 0 15 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/3.0.events.pd b/doc/additional/pd-msg/1.msg_and_patch/3.0.events.pd
index cbe88b60..6fcf7ad5 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/3.0.events.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/3.0.events.pd
@@ -1,33 +1,43 @@
-#N canvas 274 162 381 325 10;
-#X msg 36 86 click \$1 \$2 \$3 \$4;
-#X obj 111 182 key;
-#X floatatom 111 208 0 0 0 0 - - -;
-#X floatatom 50 184 0 0 0 0 - - -;
-#X msg 50 158 0;
-#X msg 6 6 bang;
-#X text 56 41 left;
-#X text 124 41 rigth;
-#X text 70 4 Msg-dealing with events :;
-#X text 89 28 click;
-#X text 218 37 \$1 x;
-#X text 218 52 \$2 y;
-#X obj 36 290 s pd-3.0.events.pd;
-#X msg 36 129 mouseup \$1 \$2 \$4;
-#X msg 113 60 15 15 0 8;
-#X msg 36 60 15 15 0 1;
-#X msg 36 257 motion \$1 \$2 \$4;
-#X msg 36 209 key 1 \$1 0;
-#X text 274 84 0:nomod \; 1 shift \; 2 crtl \; 3 alt \; 4 right click)
-;
-#X text 218 82 \$4 mod :;
-#X text 218 67 \$3 (unused ???);
-#X text 73 230 \$1 : number of the key;
-#X connect 0 0 12 0;
-#X connect 1 0 2 0;
-#X connect 3 0 17 0;
-#X connect 4 0 3 0;
-#X connect 13 0 12 0;
-#X connect 14 0 0 0;
-#X connect 15 0 0 0;
-#X connect 16 0 12 0;
-#X connect 17 0 12 0;
+#N canvas 0 18 381 325 10;
+#X msg 36 86 click \$1 \$2 \$3 \$4;
+#X obj 111 182 key;
+#X floatatom 111 208 0 0 0 0 - - -;
+#X floatatom 50 184 0 0 0 0 - - -;
+#X msg 50 158 0;
+#X msg 6 6 bang;
+#X text 56 41 left;
+#X text 124 41 rigth;
+#X text 70 4 Msg-dealing with events :;
+#X text 89 28 click;
+#X text 218 37 \$1 x;
+#X text 218 52 \$2 y;
+#X obj 36 290 s pd-3.0.events.pd;
+#X msg 36 129 mouseup \$1 \$2 \$4;
+#X msg 113 60 15 15 0 8;
+#X msg 36 60 15 15 0 1;
+#X msg 36 257 motion \$1 \$2 \$4;
+#X msg 36 209 key 1 \$1 0;
+#X text 274 84 0:nomod \; 1 shift \; 2 crtl \; 3 alt \; 4 right click)
+;
+#X text 218 82 \$4 mod :;
+#X text 218 67 \$3 (unused ???);
+#X text 73 230 \$1 : number of the key;
+#N canvas 218 113 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 DESCRIPTION simulating mouse and key events with messages
+to a canvas;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 44 LICENSE public domain;
+#X restore 325 297 pd META;
+#X connect 0 0 12 0;
+#X connect 1 0 2 0;
+#X connect 3 0 17 0;
+#X connect 4 0 3 0;
+#X connect 13 0 12 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 12 0;
+#X connect 17 0 12 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/3.1.motion.pd b/doc/additional/pd-msg/1.msg_and_patch/3.1.motion.pd
index e19562d4..22fe1f88 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/3.1.motion.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/3.1.motion.pd
@@ -1,35 +1,45 @@
-#N canvas 178 114 415 490 10;
-#N canvas 654 338 332 294 testing 1;
-#X obj 95 11 loadbang;
-#X msg 95 36 0;
-#X obj 12 37 random 127;
-#X floatatom 66 94 0 0 0 0 - - -;
-#X msg 12 11 bang;
-#X connect 0 0 1 0;
-#X connect 1 0 3 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 0;
-#X restore 119 439 pd testing;
-#X obj 20 438 s pd-testing;
-#X obj 89 247 pack f f;
-#X text 8 54 Start here;
-#X floatatom 120 185 0 0 0 0 - - -;
-#X floatatom 89 186 0 0 0 0 - - -;
-#X obj 100 219 t b f;
-#X text 7 363 Stop here;
-#X text 85 154 try this !!!;
-#X text 9 9 This example will show you how to use the motion msg.;
-#X msg 89 271 motion \$1 \$2 0;
-#X msg 20 390 motion 15 15 0 \, editmode 0 \, vis 0;
-#X msg 20 75 vis 1 \, editmode 1 \, mouse 5 5 0 0 0 \, mouseup 200
-200 0;
-#X msg 20 101 mouse 15 15 0 0 0;
-#X connect 2 0 10 0;
-#X connect 4 0 6 0;
-#X connect 5 0 2 0;
-#X connect 6 0 2 0;
-#X connect 6 1 2 1;
-#X connect 10 0 1 0;
-#X connect 11 0 1 0;
-#X connect 12 0 1 0;
-#X connect 13 0 1 0;
+#N canvas 0 18 415 490 10;
+#N canvas 425 18 332 294 testing 1;
+#X obj 95 11 loadbang;
+#X msg 95 36 0;
+#X obj 12 37 random 127;
+#X floatatom 66 94 0 0 0 0 - - -;
+#X msg 12 11 bang;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X restore 119 439 pd testing;
+#X obj 20 438 s pd-testing;
+#X obj 89 247 pack f f;
+#X text 8 54 Start here;
+#X floatatom 120 185 0 0 0 0 - - -;
+#X floatatom 89 186 0 0 0 0 - - -;
+#X obj 100 219 t b f;
+#X text 7 363 Stop here;
+#X text 85 154 try this !!!;
+#X text 9 9 This example will show you how to use the motion msg.;
+#X msg 89 271 motion \$1 \$2 0;
+#X msg 20 390 motion 15 15 0 \, editmode 0 \, vis 0;
+#X msg 20 75 vis 1 \, editmode 1 \, mouse 5 5 0 0 0 \, mouseup 200
+200 0;
+#X msg 20 101 mouse 15 15 0 0 0;
+#N canvas 458 158 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 65 DESCRIPTION simulating mouse motion with messages to
+a canvas;
+#X text 12 42 LICENSE public domain;
+#X restore 364 466 pd META;
+#X connect 2 0 10 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 6 1 2 1;
+#X connect 10 0 1 0;
+#X connect 11 0 1 0;
+#X connect 12 0 1 0;
+#X connect 13 0 1 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/3.2.cut_paste.pd b/doc/additional/pd-msg/1.msg_and_patch/3.2.cut_paste.pd
index 96747453..058e834a 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/3.2.cut_paste.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/3.2.cut_paste.pd
@@ -1,45 +1,55 @@
-#N canvas 138 75 425 489 10;
-#N canvas 591 210 368 330 testing 1;
-#X obj 95 10 loadbang;
-#X msg 95 35 0;
-#X obj 12 37 random 127;
-#X floatatom 68 91 0 0 0 0 - - -;
-#X msg 12 11 bang;
-#X connect 0 0 1 0;
-#X connect 1 0 3 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 0;
-#X restore 315 439 pd testing;
-#X obj 20 438 s pd-testing;
-#X obj 248 211 pack f f;
-#X text 7 40 Start here;
-#X floatatom 279 149 0 0 0 0 - - -;
-#X floatatom 248 148 0 0 0 0 - - -;
-#X obj 259 183 t b f;
-#X text 38 355 Stop here;
-#X text 17 11 This example will show you how to use the motion msg.
-;
-#X msg 194 307 cut;
-#X msg 194 333 duplicate;
-#X text 50 81 show and select what's in the patch;
-#X text 171 409 close all;
-#X text 231 306 you can try thoses too.;
-#X msg 248 235 motion \$1 \$2 0;
-#X msg 20 60 vis 1 \, editmode 1 \, mouse 5 5 0 0 \, mouseup 200 200
-0;
-#X msg 194 359 selectall;
-#X msg 40 389 motion 15 15 0 \, editmode 0 \, vis 0;
-#X msg 37 146 copy \, paste \, mouse 25 25 0 0;
-#X text 50 125 and then here to copy \, paste ... and move;
-#X connect 2 0 14 0;
-#X connect 4 0 6 0;
-#X connect 5 0 2 0;
-#X connect 6 0 2 0;
-#X connect 6 1 2 1;
-#X connect 9 0 1 0;
-#X connect 10 0 1 0;
-#X connect 14 0 1 0;
-#X connect 15 0 1 0;
-#X connect 16 0 1 0;
-#X connect 17 0 1 0;
-#X connect 18 0 1 0;
+#N canvas 0 18 425 489 10;
+#N canvas 438 18 368 330 testing 1;
+#X obj 95 10 loadbang;
+#X msg 95 35 0;
+#X obj 12 37 random 127;
+#X floatatom 68 91 0 0 0 0 - - -;
+#X msg 12 11 bang;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X restore 315 409 pd testing;
+#X obj 20 438 s pd-testing;
+#X obj 248 211 pack f f;
+#X text 7 40 Start here;
+#X floatatom 279 149 0 0 0 0 - - -;
+#X floatatom 248 148 0 0 0 0 - - -;
+#X obj 259 183 t b f;
+#X text 38 355 Stop here;
+#X text 17 11 This example will show you how to use the motion msg.
+;
+#X msg 194 307 cut;
+#X msg 194 333 duplicate;
+#X text 50 81 show and select what's in the patch;
+#X text 171 409 close all;
+#X text 231 306 you can try thoses too.;
+#X msg 248 235 motion \$1 \$2 0;
+#X msg 20 60 vis 1 \, editmode 1 \, mouse 5 5 0 0 \, mouseup 200 200
+0;
+#X msg 194 359 selectall;
+#X msg 40 389 motion 15 15 0 \, editmode 0 \, vis 0;
+#X msg 37 146 copy \, paste \, mouse 25 25 0 0;
+#X text 50 125 and then here to copy \, paste ... and move;
+#N canvas 458 158 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 64 DESCRIPTION simulating mouse selections and cut \, copy
+\, and paste by sending messages to a canvas;
+#X text 12 42 LICENSE public domain;
+#X restore 373 458 pd META;
+#X connect 2 0 14 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 6 1 2 1;
+#X connect 9 0 1 0;
+#X connect 10 0 1 0;
+#X connect 14 0 1 0;
+#X connect 15 0 1 0;
+#X connect 16 0 1 0;
+#X connect 17 0 1 0;
+#X connect 18 0 1 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd b/doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd
index e8e46ca3..dd17fbe9 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/4.fonts.pd
@@ -1,23 +1,33 @@
-#N canvas 293 251 405 234 10;
-#X msg 14 26 menufont;
-#X msg 32 64 font 10 100 100;
-#X msg 32 88 font 14 100 100;
-#X msg 30 114 font 24 100 100;
-#X msg 158 86 50;
-#X msg 198 86 200;
-#X msg 158 112 font 10 100 \$1;
-#X msg 274 84 50;
-#X msg 314 84 200;
-#X msg 274 112 font 10 \$1 100;
-#X obj 14 196 s pd-4.fonts.pd;
-#X text 14 3 Here a list of all the messages dealing with fonts :;
-#X connect 0 0 10 0;
-#X connect 1 0 10 0;
-#X connect 2 0 10 0;
-#X connect 3 0 10 0;
-#X connect 4 0 6 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 0;
-#X connect 7 0 9 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
+#N canvas 0 18 405 234 10;
+#X msg 14 26 menufont;
+#X msg 32 64 font 10 100 100;
+#X msg 32 88 font 14 100 100;
+#X msg 30 114 font 24 100 100;
+#X msg 158 86 50;
+#X msg 198 86 200;
+#X msg 158 112 font 10 100 \$1;
+#X msg 274 84 50;
+#X msg 314 84 200;
+#X msg 274 112 font 10 \$1 100;
+#X obj 14 196 s pd-4.fonts.pd;
+#X text 14 3 Here a list of all the messages dealing with fonts :;
+#N canvas 458 158 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 64 DESCRIPTION changing font size with messages to a canvas
+;
+#X text 12 43 LICENSE public domain;
+#X restore 347 206 pd META;
+#X connect 0 0 10 0;
+#X connect 1 0 10 0;
+#X connect 2 0 10 0;
+#X connect 3 0 10 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 0;
+#X connect 7 0 9 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd b/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd
index 5ce77550..50cd158f 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd
@@ -1,4 +1,4 @@
-#N canvas 304 209 845 545 10;
+#N canvas 0 18 845 545 10;
#X msg 39 266 loadbang;
#X obj 62 152 loadbang;
#X msg 62 178 1;
@@ -36,6 +36,16 @@ useless.;
to know when you're finished "instantiating" \, and then call "loadbang"
by yourself by sending a "loadbang" message at the appropriate time.
;
+#N canvas 458 158 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 64 DESCRIPTION how to fire a loadbang inside a dynamically
+instantiating abstraction;
+#X text 12 42 LICENSE public domain;
+#X restore 782 518 pd META;
#X connect 0 0 9 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
diff --git a/doc/additional/pd-msg/1.msg_and_patch/6.relocate_windows.pd b/doc/additional/pd-msg/1.msg_and_patch/6.relocate_windows.pd
index ac18bb6b..4b195468 100644
--- a/doc/additional/pd-msg/1.msg_and_patch/6.relocate_windows.pd
+++ b/doc/additional/pd-msg/1.msg_and_patch/6.relocate_windows.pd
@@ -1,4 +1,4 @@
-#N canvas 466 22 554 615 10;
+#N canvas 0 18 554 615 10;
#X text 21 35 1 create a new subpatch;
#X msg 36 89 \; pd-6.relocate_windows.pd obj 400 20 pd my_subpatch
;
@@ -68,6 +68,20 @@ it after the "relocate" message has been sent.;
#X msg 101 411 relocate \$1 \$2;
#X msg 26 411 vis 1;
#X obj 227 387 purepd/once;
+#N canvas 0 0 450 300 my_subpatch 0;
+#X restore 400 20 pd my_subpatch;
+#N canvas 458 158 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 64 DESCRIPTION move a patch window with messages to a canvas
+;
+#X text 12 43 LICENSE public domain;
+#X restore 496 584 pd META;
+#N canvas 0 0 450 300 my_subpatch 1;
+#X restore 400 20 pd my_subpatch;
#X connect 4 0 5 0;
#X connect 5 0 18 0;
#X connect 6 0 5 1;
diff --git a/doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd b/doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd
index 9d92d4e7..57214583 100644
--- a/doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd
+++ b/doc/additional/pd-msg/2.msg_and_pd/1.pd_basic.pd
@@ -1,15 +1,23 @@
-#N canvas 562 159 378 475 10;
-#X text 20 51 turn DSP calculation off & on;
-#X msg 98 94 \; pd dsp 0 \;;
-#X msg 172 94 \; pd dsp 1 \;;
-#X msg 24 301 \; pd quit \;;
-#X floatatom 26 73 1 0 1 0 - - -;
-#X obj 26 123 s pd;
-#X msg 26 97 dsp \$1;
-#X msg 25 218 \; pd audiostatus \;;
-#X text 22 194 same as "DIO errors";
-#X text 21 356 There are many more that i don't know :-(;
-#X text 25 12 Here are some messages we can send to pd.;
-#X text 21 275 Quit pd (WARNING);
-#X connect 4 0 6 0;
-#X connect 6 0 5 0;
+#N canvas 0 18 378 475 10;
+#X text 20 51 turn DSP calculation off & on;
+#X msg 98 94 \; pd dsp 0 \;;
+#X msg 172 94 \; pd dsp 1 \;;
+#X msg 24 301 \; pd quit \;;
+#X floatatom 26 73 1 0 1 0 - - -;
+#X obj 26 123 s pd;
+#X msg 26 97 dsp \$1;
+#X msg 25 218 \; pd audiostatus \;;
+#X text 22 194 same as "DIO errors";
+#X text 21 356 There are many more that i don't know :-(;
+#X text 25 12 Here are some messages we can send to pd.;
+#X text 21 275 Quit pd (WARNING);
+#N canvas 437 191 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 65 DESCRIPTION sending messages to a pd instance;
+#X text 12 25 KEYWORDS control pd_op nonlocal;
+#X text 12 45 LICENSE public domain;
+#X restore 317 443 pd META;
+#X connect 4 0 6 0;
+#X connect 6 0 5 0;
diff --git a/doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd b/doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd
index 8ba3626e..9744eca4 100644
--- a/doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd
+++ b/doc/additional/pd-msg/2.msg_and_pd/2.open_close.pd
@@ -1,38 +1,47 @@
-#N canvas 368 98 525 543 10;
-#X text 10 4 open and close an abstraction;
-#X msg 25 205 \; pd-abstraction.pd menuclose \;;
-#X text 25 141 Sometimes you can get relative paths (./ \, ../ \, etc.)
-to work \, but usually not. I don't know why...;
-#X msg 176 434 \; pd open \$1 \$2;
-#X obj 221 369 getdir;
-#X msg 25 63 \; pd open abstraction.pd /usr/local/lib/pd/doc/7.stuff/additional/pd-msg/2.msg_and_pd
-;
-#X text 25 41 OPEN;
-#X text 24 184 CLOSE;
-#X obj 51 418 makefilename pd-%s;
-#X msg 51 441 \; \$1 menuclose \;;
-#X obj 51 396 symbol;
-#X msg 51 310 abstraction.pd;
-#X obj 51 335 trigger bang anything bang;
-#X obj 127 369 symbol;
-#X obj 51 369 del 2000;
-#X obj 176 411 pack s s;
-#X obj 176 369 symbol;
-#X text 27 288 OPEN \, THEN CLOSE AFTER 2 SECONDS;
-#X text 25 109 You have to put the name of the patch to open and its
-complete path;
-#X text 22 241 (you have to put the correct name & a valid path);
-#X text 47 481 you have to put the name of the patch to open (\$1)
-and the complete path to it (\$2);
-#X connect 4 0 15 1;
-#X connect 8 0 9 0;
-#X connect 10 0 8 0;
-#X connect 11 0 12 0;
-#X connect 12 0 14 0;
-#X connect 12 1 13 0;
-#X connect 12 1 16 0;
-#X connect 12 2 4 0;
-#X connect 13 0 10 1;
-#X connect 14 0 10 0;
-#X connect 15 0 3 0;
-#X connect 16 0 15 0;
+#N canvas 0 18 525 543 10;
+#X text 10 4 open and close an abstraction;
+#X msg 25 205 \; pd-abstraction.pd menuclose \;;
+#X text 25 141 Sometimes you can get relative paths (./ \, ../ \, etc.)
+to work \, but usually not. I don't know why...;
+#X msg 176 434 \; pd open \$1 \$2;
+#X obj 221 369 getdir;
+#X msg 25 63 \; pd open abstraction.pd /usr/local/lib/pd/doc/7.stuff/additional/pd-msg/2.msg_and_pd
+;
+#X text 25 41 OPEN;
+#X text 24 184 CLOSE;
+#X obj 51 418 makefilename pd-%s;
+#X msg 51 441 \; \$1 menuclose \;;
+#X obj 51 396 symbol;
+#X msg 51 310 abstraction.pd;
+#X obj 51 335 trigger bang anything bang;
+#X obj 127 369 symbol;
+#X obj 51 369 del 2000;
+#X obj 176 411 pack s s;
+#X obj 176 369 symbol;
+#X text 27 288 OPEN \, THEN CLOSE AFTER 2 SECONDS;
+#X text 25 109 You have to put the name of the patch to open and its
+complete path;
+#X text 22 241 (you have to put the correct name & a valid path);
+#X text 47 481 you have to put the name of the patch to open (\$1)
+and the complete path to it (\$2);
+#N canvas 437 191 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 95 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 25 KEYWORDS control pd_op nonlocal;
+#X text 12 65 DESCRIPTION opening and closing a patch by sending messages
+to Pd;
+#X text 12 45 LICENSE public domain;
+#X restore 445 516 pd META;
+#X connect 4 0 15 1;
+#X connect 8 0 9 0;
+#X connect 10 0 8 0;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 12 1 13 0;
+#X connect 12 1 16 0;
+#X connect 12 2 4 0;
+#X connect 13 0 10 1;
+#X connect 14 0 10 0;
+#X connect 15 0 3 0;
+#X connect 16 0 15 0;
diff --git a/doc/additional/pd-msg/2.msg_and_pd/abstraction.pd b/doc/additional/pd-msg/2.msg_and_pd/abstraction.pd
index 607872fd..e09e8fef 100644
--- a/doc/additional/pd-msg/2.msg_and_pd/abstraction.pd
+++ b/doc/additional/pd-msg/2.msg_and_pd/abstraction.pd
@@ -1,2 +1,2 @@
-#N canvas 603 381 454 304 10;
+#N canvas 445 86 454 304 10;
#X text 68 98 This is your abstraction which you just opened.;
diff --git a/doc/additional/pd-msg/5.examples/1.polyphonie.pd b/doc/additional/pd-msg/5.examples/1.polyphonie.pd
index 5086e99d..01ef4a7a 100644
--- a/doc/additional/pd-msg/5.examples/1.polyphonie.pd
+++ b/doc/additional/pd-msg/5.examples/1.polyphonie.pd
@@ -1,99 +1,107 @@
-#N canvas 96 191 894 406 10;
-#X obj 486 176 s as_b;
-#X floatatom 542 147 0 0 0 0 - - -;
-#X obj 542 171 s as_f;
-#X floatatom 617 150 0 0 0 0 - - -;
-#X obj 617 174 s as_bw;
-#X msg 486 107 127;
-#X msg 486 130 1;
-#X msg 486 154 10;
-#X obj 93 110 float;
-#X obj 147 110 + 1;
-#X obj 93 155 select 1;
-#X obj 34 128 delay 0;
-#X msg 93 45 bang;
-#X floatatom 486 201 0 0 0 0 - - -;
-#X obj 486 225 s as_sl;
-#X obj 93 68 t b 0;
-#X text 541 128 mean freq.;
-#X text 616 130 freq. bandwith;
-#X text 530 203 time for change (log);
-#X text 488 87 % of osc that will change;
-#X msg 745 80 127 50 13 74;
-#X obj 745 177 unpack f f f f;
-#X msg 745 101 127 0 75 127;
-#X msg 745 60 127 127 6 127;
-#X text 745 38 examples...;
-#X obj 93 134 < 100;
-#X msg 745 124 127 64 64 127;
-#X obj 807 204 s as_f;
-#X obj 838 225 s as_bw;
-#X text 532 106 <= ACTIVE INLET !!!;
-#X text 95 21 FIRST;
-#X text 303 20 SECOND;
-#X msg 745 147 127 0 0 10;
-#X obj 745 203 s as_b;
-#X obj 776 225 s as_sl;
-#X obj 245 220 float;
-#X obj 299 220 + 1;
-#X obj 245 265 select 1;
-#X obj 186 238 delay 0;
-#X msg 245 155 bang;
-#X obj 245 178 t b 0;
-#X obj 245 244 < 100;
-#X text 135 60 100 asound patch;
-#X text 137 46 this will load;
-#X text 289 171 100 asound patch;
-#X text 289 156 this will remove the;
-#X msg 93 300 \; pd-1.polyphonie.pd obj 10 10 asound \;;
-#X msg 375 464 editmode \$1;
-#X msg 361 284 \; pd-1.polyphonie.pd editmode 1 \; pd-1.polyphonie.pd
-click 12 12 1 1 \; pd-1.polyphonie.pd cut \; pd-1.polyphonie.pd editmode
-0 \;;
-#X msg 306 54 1;
-#X msg 341 55 0;
-#X text 300 186 if created \, if not...;
-#X obj 306 79 switch~;
-#X text 85 -4 kill Asound in the upper left corner to remove all the
-osc.;
-#X text 303 34 turn all asound's on and off;
-#X text 483 65 the controller :;
-#X text 744 24 THIRD;
-#X text 93 340 this msg does it all !!!;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 9 0;
-#X connect 8 0 25 0;
-#X connect 9 0 8 1;
-#X connect 10 0 46 0;
-#X connect 10 0 11 0;
-#X connect 11 0 8 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 15 0 8 0;
-#X connect 15 1 8 0;
-#X connect 20 0 21 0;
-#X connect 21 0 33 0;
-#X connect 21 1 34 0;
-#X connect 21 2 27 0;
-#X connect 21 3 28 0;
-#X connect 22 0 21 0;
-#X connect 23 0 21 0;
-#X connect 25 0 10 0;
-#X connect 26 0 21 0;
-#X connect 32 0 21 0;
-#X connect 35 0 36 0;
-#X connect 35 0 41 0;
-#X connect 36 0 35 1;
-#X connect 37 0 38 0;
-#X connect 37 0 48 0;
-#X connect 38 0 35 0;
-#X connect 39 0 40 0;
-#X connect 40 0 35 0;
-#X connect 40 1 35 0;
-#X connect 41 0 37 0;
-#X connect 49 0 52 0;
-#X connect 50 0 52 0;
+#N canvas -9 18 894 406 10;
+#X obj 486 176 s as_b;
+#X floatatom 542 147 0 0 0 0 - - -;
+#X obj 542 171 s as_f;
+#X floatatom 617 150 0 0 0 0 - - -;
+#X obj 617 174 s as_bw;
+#X msg 486 107 127;
+#X msg 486 130 1;
+#X msg 486 154 10;
+#X obj 93 110 float;
+#X obj 147 110 + 1;
+#X obj 93 155 select 1;
+#X obj 34 128 delay 0;
+#X msg 93 45 bang;
+#X floatatom 486 201 0 0 0 0 - - -;
+#X obj 486 225 s as_sl;
+#X obj 93 68 t b 0;
+#X text 541 128 mean freq.;
+#X text 616 130 freq. bandwith;
+#X text 530 203 time for change (log);
+#X text 488 87 % of osc that will change;
+#X msg 745 80 127 50 13 74;
+#X obj 745 177 unpack f f f f;
+#X msg 745 101 127 0 75 127;
+#X msg 745 60 127 127 6 127;
+#X text 745 38 examples...;
+#X obj 93 134 < 100;
+#X msg 745 124 127 64 64 127;
+#X obj 807 204 s as_f;
+#X obj 838 225 s as_bw;
+#X text 532 106 <= ACTIVE INLET !!!;
+#X text 95 21 FIRST;
+#X text 303 20 SECOND;
+#X msg 745 147 127 0 0 10;
+#X obj 745 203 s as_b;
+#X obj 776 225 s as_sl;
+#X obj 245 220 float;
+#X obj 299 220 + 1;
+#X obj 245 265 select 1;
+#X obj 186 238 delay 0;
+#X msg 245 155 bang;
+#X obj 245 178 t b 0;
+#X obj 245 244 < 100;
+#X text 135 60 100 asound patch;
+#X text 137 46 this will load;
+#X text 289 171 100 asound patch;
+#X text 289 156 this will remove the;
+#X msg 93 300 \; pd-1.polyphonie.pd obj 10 10 asound \;;
+#X msg 375 464 editmode \$1;
+#X msg 361 284 \; pd-1.polyphonie.pd editmode 1 \; pd-1.polyphonie.pd
+click 12 12 1 1 \; pd-1.polyphonie.pd cut \; pd-1.polyphonie.pd editmode
+0 \;;
+#X msg 306 54 1;
+#X msg 341 55 0;
+#X text 300 186 if created \, if not...;
+#X obj 306 79 switch~;
+#X text 85 -4 kill Asound in the upper left corner to remove all the
+osc.;
+#X text 303 34 turn all asound's on and off;
+#X text 483 65 the controller :;
+#X text 744 24 THIRD;
+#X text 93 340 this msg does it all !!!;
+#N canvas 458 158 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 75 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 25 KEYWORDS signal canvas_op nonlocal dynamic_patching;
+#X text 12 45 DESCRIPTION generating a polyphonic pd patch dynamically
+;
+#X restore 836 376 pd META;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 9 0;
+#X connect 8 0 25 0;
+#X connect 9 0 8 1;
+#X connect 10 0 46 0;
+#X connect 10 0 11 0;
+#X connect 11 0 8 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 15 0 8 0;
+#X connect 15 1 8 0;
+#X connect 20 0 21 0;
+#X connect 21 0 33 0;
+#X connect 21 1 34 0;
+#X connect 21 2 27 0;
+#X connect 21 3 28 0;
+#X connect 22 0 21 0;
+#X connect 23 0 21 0;
+#X connect 25 0 10 0;
+#X connect 26 0 21 0;
+#X connect 32 0 21 0;
+#X connect 35 0 36 0;
+#X connect 35 0 41 0;
+#X connect 36 0 35 1;
+#X connect 37 0 38 0;
+#X connect 37 0 48 0;
+#X connect 38 0 35 0;
+#X connect 39 0 40 0;
+#X connect 40 0 35 0;
+#X connect 40 1 35 0;
+#X connect 41 0 37 0;
+#X connect 49 0 52 0;
+#X connect 50 0 52 0;
diff --git a/doc/additional/pd-msg/5.examples/2.create_new_abstract.pd b/doc/additional/pd-msg/5.examples/2.create_new_abstract.pd
index 2c1f844a..fe1639ac 100644
--- a/doc/additional/pd-msg/5.examples/2.create_new_abstract.pd
+++ b/doc/additional/pd-msg/5.examples/2.create_new_abstract.pd
@@ -1,29 +1,38 @@
-#N canvas 228 85 505 524 10;
-#X msg 77 224 msg 10 10 bang;
-#X msg 77 272 obj 10 40 metro 500;
-#X msg 77 248 floatatom 100 10 7 50 5000;
-#X msg 77 344 obj 10 70 random 127;
-#X msg 77 392 floatatom 10 100 5;
-#X msg 78 440 text 10 130 That's it !;
-#X obj 30 475 s pd-new;
-#X msg 77 296 connect 0 0 2 0;
-#X msg 77 319 connect 1 0 2 1;
-#X msg 77 368 connect 2 0 3 0;
-#X msg 77 416 connect 3 0 4 0;
-#X msg 40 79 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X text 53 59 click here first;
-#X text 28 176 And then we fill it with the way describe in 1.add_objects.pd;
-#X text 26 15 This describe how to create a new abstraction :;
-#X msg 290 457 menuclose;
-#X text 294 483 this will kill it !;
-#X connect 0 0 6 0;
-#X connect 1 0 6 0;
-#X connect 2 0 6 0;
-#X connect 3 0 6 0;
-#X connect 4 0 6 0;
-#X connect 5 0 6 0;
-#X connect 7 0 6 0;
-#X connect 8 0 6 0;
-#X connect 9 0 6 0;
-#X connect 10 0 6 0;
-#X connect 15 0 6 0;
+#N canvas -9 18 505 524 10;
+#X msg 77 224 msg 10 10 bang;
+#X msg 77 272 obj 10 40 metro 500;
+#X msg 77 248 floatatom 100 10 7 50 5000;
+#X msg 77 344 obj 10 70 random 127;
+#X msg 77 392 floatatom 10 100 5;
+#X msg 78 440 text 10 130 That's it !;
+#X obj 30 475 s pd-new;
+#X msg 77 296 connect 0 0 2 0;
+#X msg 77 319 connect 1 0 2 1;
+#X msg 77 368 connect 2 0 3 0;
+#X msg 77 416 connect 3 0 4 0;
+#X msg 40 79 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X text 53 59 click here first;
+#X text 28 176 And then we fill it with the way describe in 1.add_objects.pd
+;
+#X text 26 15 This describe how to create a new abstraction :;
+#X msg 290 457 menuclose;
+#X text 294 483 this will kill it !;
+#N canvas 458 158 494 396 META 0;
+#X text 12 5 GENRE tutorial;
+#X text 12 75 HELP_PATCH_AUTHORS Damien Henry. "pd meta" information
+added by Jonathan Wilkes for Pd version 0.42.;
+#X text 12 25 KEYWORDS control canvas_op nonlocal dynamic_patching
+;
+#X text 12 45 DESCRIPTION creating a pd patch dynamically;
+#X restore 448 496 pd META;
+#X connect 0 0 6 0;
+#X connect 1 0 6 0;
+#X connect 2 0 6 0;
+#X connect 3 0 6 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 9 0 6 0;
+#X connect 10 0 6 0;
+#X connect 15 0 6 0;
diff --git a/doc/additional/pd-msg/5.examples/asound.pd b/doc/additional/pd-msg/5.examples/asound.pd
index 601726d3..e44f8751 100644
--- a/doc/additional/pd-msg/5.examples/asound.pd
+++ b/doc/additional/pd-msg/5.examples/asound.pd
@@ -1,4 +1,4 @@
-#N canvas 220 255 452 479 10;
+#N canvas -9 18 452 479 10;
#X obj 105 408 osc~;
#X obj 105 332 mtof;
#X obj 105 459 dac~;