aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/pddp/all_about_help_patches.pd7
-rw-r--r--doc/pddp/all_about_libraries.pd98
-rw-r--r--doc/pddp/all_about_writing_help_patches.pd26
-rw-r--r--doc/pddp/glossary.pd507
-rw-r--r--doc/pddp/glossary.txt116
-rw-r--r--doc/pddp/message-help.pd66
-rw-r--r--doc/pddp/my_canvas-help.pd67
-rw-r--r--doc/pddp/pack-help.pd64
-rw-r--r--doc/pddp/value-help.pd9
9 files changed, 719 insertions, 241 deletions
diff --git a/doc/pddp/all_about_help_patches.pd b/doc/pddp/all_about_help_patches.pd
index 24043c3c..4dfa5a1f 100644
--- a/doc/pddp/all_about_help_patches.pd
+++ b/doc/pddp/all_about_help_patches.pd
@@ -6,8 +6,6 @@
#N canvas 507 26 494 597 META 0;
#X text 12 185 RELEASE_VERSION 0.41.4;
#X text 158 186 Keywords:;
-#X text 12 25 KEYWORDS needs_work (mention how pd finds help files)
-;
#X text 12 5 GENRE help;
#X text 12 65 DESCRIPTION using help patches in Pure Data;
#X text 117 201 control- control rate objects \; signal- audiorate
@@ -30,6 +28,8 @@ stores a symbol \; list_ops- object that manipulates or stores a list
\; canvas_ops- object whose behavior only makes sense in terms of a
canvas \; patchfile_ops- object whose behavior only makes sense in
terms of a patchfile;
+#X text 12 25 KEYWORDS needs_work (mention how pd finds help files
+and replace 'common_terminology' subpatch with link to glossary);
#X restore 500 597 pd META;
#X obj 0 390 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
@@ -59,11 +59,11 @@ area;
#X text 13 70 subpatch -;
#X text 13 90 abstraction -;
#X text 13 110 index -;
-#X text 13 180 editmode -;
#X text 13 200 truncate -;
#X text 13 220 argument;
#X text 13 240 creation argument - see "argument";
#X text 13 130 wire - aka connection \, patch cord \, line;
+#X text 13 180 edit mode -;
#X restore 101 552 pd common_terminology;
#X obj 78 344 cnv 17 3 35 empty \$0-pddp.cnv.let.r r 5 9 0 16 -228856
-162280 0;
@@ -252,4 +252,5 @@ with the mouse to open it.;
#X text 337 459 the object's behavior or to;
#X text 120 300 "n" means there is a variable number of inlets \, the
exact number of which is determined by creation argument(s).;
+#X text 221 553 replace w/glossary;
#X connect 17 0 18 0;
diff --git a/doc/pddp/all_about_libraries.pd b/doc/pddp/all_about_libraries.pd
index baef9fac..ed8471b1 100644
--- a/doc/pddp/all_about_libraries.pd
+++ b/doc/pddp/all_about_libraries.pd
@@ -1,49 +1,49 @@
-#N canvas 0 0 448 238 10;
-#X declare;
-#X declare;
-#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header libraries 20 10
-1 18 -261106 -33289 0;
-#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
-;
-#X obj 1 216 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
-14 -233017 -33289 0;
-#N canvas 44 246 494 344 META 0;
-#X text 12 85 LIBRARY PDDP;
-#X text 12 5 GENRE all_about_pd;
-#X text 12 45 KEYWORDS needs_work;
-#X text 12 105 HELP_PATCH_AUTHORS Dave Sabine \, May 5 \, 2003 . Jonathan
-Wilkes revised the patch to conform to the PDDP template for Pd version
-0.42. Some info was pulled from puredata.info;
-#X text 12 65 DESCRIPTION how pure data libraries are loaded;
-#X text 12 25 NAME;
-#X restore 392 218 pd META;
-#N canvas 14 133 428 105 Related_objects 0;
-#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
-14 -261106 -33289 0;
-#X text 7 2 Libraries - Related Objects;
-#X obj 22 42 declare;
-#X obj 22 72 import;
-#X restore 103 218 pd Related_objects;
-#X obj 6 218 pddp/pddplink pddp/help.pd -text help;
-#X text 20 37 Explain what libraries are \, how to load them \, and
-any missing features that are currently being worked on.;
-#N canvas 14 48 428 166 How_to_load_libraries 0;
-#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 20 10
-1 18 -261106 -33289 0;
-#X text 7 1 How to load libraries;
-#X text 19 36 Ways to load libraries: command line \, declare \, import
-\, any others?;
-#X restore 43 81 pd How_to_load_libraries;
-#N canvas 9 155 428 240 What_happens_when_you_load_a_library 0;
-#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 20 10
-1 18 -261106 -33289 0;
-#X text 7 1 What happens when you load a library?;
-#X text 19 37 Describe what happens \, and maybe give one or two examples...
-;
-#X restore 43 111 pd What_happens_when_you_load_a_library;
-#N canvas 7 69 428 112 Loading_libs_in_an_abstraction 0;
-#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 20 10
-1 18 -261106 -33289 0;
-#X text 7 1 Loading libs in an abstraction;
-#X text 20 37 Info here...;
-#X restore 43 141 pd Loading_libs_in_an_abstraction;
+#N canvas 0 0 448 238 10;
+#X declare;
+#X declare;
+#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header libraries 20 10
+1 18 -261106 -33289 0;
+#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
+;
+#X obj 1 216 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
+14 -233017 -33289 0;
+#N canvas 44 246 494 344 META 0;
+#X text 12 85 LIBRARY PDDP;
+#X text 12 5 GENRE all_about_pd;
+#X text 12 45 KEYWORDS needs_work;
+#X text 12 105 HELP_PATCH_AUTHORS Dave Sabine \, May 5 \, 2003 . Jonathan
+Wilkes revised the patch to conform to the PDDP template for Pd version
+0.42. Some info was pulled from puredata.info;
+#X text 12 65 DESCRIPTION how pure data libraries are loaded;
+#X text 12 25 NAME;
+#X restore 392 218 pd META;
+#N canvas 14 133 428 105 Related_objects 0;
+#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
+14 -261106 -33289 0;
+#X text 7 2 Libraries - Related Objects;
+#X obj 22 42 declare;
+#X obj 22 72 import;
+#X restore 103 218 pd Related_objects;
+#X obj 6 218 pddp/pddplink pddp/help.pd -text help;
+#X text 20 37 Explain what libraries are \, how to load them \, and
+any missing features that are currently being worked on.;
+#N canvas 14 48 428 166 How_to_load_libraries 0;
+#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 20 10
+1 18 -261106 -33289 0;
+#X text 7 1 How to load libraries;
+#X text 19 36 Ways to load libraries: command line \, declare \, import
+\, any others?;
+#X restore 43 81 pd How_to_load_libraries;
+#N canvas 9 155 428 240 What_happens_when_you_load_a_library 0;
+#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 20 10
+1 18 -261106 -33289 0;
+#X text 7 1 What happens when you load a library?;
+#X text 19 37 Describe what happens \, and maybe give one or two examples...
+;
+#X restore 43 111 pd What_happens_when_you_load_a_library;
+#N canvas 7 69 428 112 Loading_libs_in_an_abstraction 0;
+#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 20 10
+1 18 -261106 -33289 0;
+#X text 7 1 Loading libs in an abstraction;
+#X text 20 37 Info here...;
+#X restore 43 141 pd Loading_libs_in_an_abstraction;
diff --git a/doc/pddp/all_about_writing_help_patches.pd b/doc/pddp/all_about_writing_help_patches.pd
index 64ec2c39..23d3ca17 100644
--- a/doc/pddp/all_about_writing_help_patches.pd
+++ b/doc/pddp/all_about_writing_help_patches.pd
@@ -15,12 +15,28 @@ Wilkes revised the patch to conform to the PDDP template for Pd version
#X text 12 45 DESCRIPTION guidelines for writing help patches;
#X restore 392 218 pd META;
#N canvas 10 196 428 105 Related_objects 0;
-#X text 31 37 Hm...what to put here?;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -261106 -33289 0;
-#X text 7 2 Atoms- Related Objects;
+#X text 7 2 Writing Help Patches- Related Objects;
+#X obj 20 37 pddp/helplink pddp/pddplink;
+#X obj 20 57 pddp/helplink pddp/helplink;
+#X text 109 37 - link to other patches \, web pages \, or text files
+;
+#X text 109 57 - link to other objects' help patches;
#X restore 103 218 pd Related_objects;
#X obj 6 218 pddp/pddplink pddp/help.pd -text help;
-#X text 55 36 * pddplink and helplink;
-#X text 60 66 * pd META;
-#X text 75 114 This help file is unfinished.;
+#X text 380 121 * pddplink and helplink;
+#X text 380 100 * pd META;
+#X text 383 145 This help file is unfinished.;
+#X text 19 36 Legitimate Authorities;
+#X text 19 36 ______________________;
+#X text 18 151 2) Include a short example patch. Justification: it's
+the whole reason to make help files be Pd patches!;
+#X text 18 56 1) For object help patches \, do not automatically turn
+on audio when the patch opens. Justification: there is no way to detect
+how the help patch audio will interact with whatever the user is already
+doing (such as opening several help patches simultaneously). Since
+unexpected audio signals can damage equipment (and ears) it is best
+to let the user turn on audio at his/her leisure.;
+#X text 18 181 You can use pddp/helplink and pddp/pddplink. See the
+"Related_objects" subpatch below for more info:;
diff --git a/doc/pddp/glossary.pd b/doc/pddp/glossary.pd
index 7ffb2a08..553e43fd 100644
--- a/doc/pddp/glossary.pd
+++ b/doc/pddp/glossary.pd
@@ -1,83 +1,424 @@
-#N canvas 169 86 628 485 10;
-#X obj 2 2 cnv 15 620 20 empty empty glossary 2 11 1 18 -195568 -66577
-0;
-#X obj 586 4 pddp/pddplink http://puredata.info/dev/pddp -text pddp;
-#X text 20 27 anything;
-#X text 20 57 atom;
-#X text 160 57 the most basic element of data in Pd;
-#X text 20 77 bang;
-#X text 160 77 a special selector that means "do it!";
-#X text 20 97 canvas;
-#X text 20 117 float;
-#X text 20 147 list;
-#X text 20 207 message;
-#X text 20 257 pointer;
-#X text 20 307 selector;
-#X text 20 337 selector series;
-#X text 160 337 a series of 2 or more atoms whose first atom is neither
-the selector "list" nor a numeric atom;
-#X text 20 367 series;
-#X text 160 367 a collection of zero or more atoms;
-#X text 20 387 numeric atom;
-#X text 20 427 symbolic atom;
-#X text 20 447 symbol;
-#X text 20 237 patch;
-#X text 160 237 a program written in Pd;
-#X text 160 447 a special selector to tell an object to receive a symbolic
-atom as data.;
-#X text 160 207 data in any form sent to an object which causes the
-object to do something specific;
-#X text 20 407 struct;
-#X text 20 287 scalar;
-#X text 160 287 a graphical instance of a struct;
-#X text 160 117 a special selector to tell an object to receive a numeric
-atom as data;
-#X text 160 407 an object to create templates for data structures;
-#X text 160 387 any atom which functions as a number \, i.e. 53 \,
-3.1 \, 1e-25;
-#X text 160 427 any atom that is not a numeric atom \, i.e. word \,
-3.1.1 \, 1two;
-#X obj 0 144 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 114 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 94 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 74 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 54 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 204 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 234 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 254 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 284 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 304 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 334 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 364 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 384 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 404 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 424 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 0 444 cnv 15 620 2 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 160 307 a symbolic atom that serves as an instruction to the
-receiving object as how to handle the message;
-#X text 160 147 a series of 3 or more atoms whose first atom is the
-selector "list" \, or \, a series of 2 or more atoms whose first atom
-is numeric \, which causes the "list" selector to be implied \, i.e.
-[list one two( \, [1 2( \, [1 two(;
-#X text 160 97 the blank area of the window where you write your patches
-;
-#X text 160 257 a reference to a position in a scalar used to manipulate
-and read data from it;
-#X text 160 27 a keyword in certain objects which matches an atom or
-series \, sometimes written as "a" or "any";
+#N canvas 0 0 448 379 10;
+#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header glossary 20 10 1
+18 -261106 -33289 0;
+#N canvas 296 26 376 539 generate 0;
+#X obj 71 238 list-drip;
+#X msg 71 282 0;
+#X msg 115 282 1;
+#X msg 159 282 2;
+#X msg 203 282 3;
+#X obj 248 381 list prepend;
+#X obj 203 309 t a;
+#X obj 248 403 route 0 1 2 3;
+#X obj 71 189 t a b;
+#X obj 98 216 s \$0-r;
+#X obj 203 337 b;
+#X obj 177 364 s \$0-trig;
+#N canvas 453 126 463 493 TERM 0;
+#X obj 112 92 t a;
+#X obj 33 167 list;
+#X obj 181 43 r \$0-r;
+#X obj 33 189 route bang;
+#X obj 33 117 spigot;
+#X obj 66 73 r \$0-r;
+#X obj 66 95 1;
+#X obj 112 20 inlet;
+#X obj 157 176 0;
+#X obj 33 40 r \$0-trig;
+#X obj 112 68 list prepend;
+#X obj 78 160 r \$0-r;
+#X text 162 240 x;
+#X obj 109 308 list append;
+#X obj 90 406 list prepend;
+#X obj 90 428 list trim;
+#X obj 217 237 value \$0-line;
+#X obj 188 238 + 1;
+#X text 252 262 y;
+#X obj 217 262 * 10;
+#X obj 90 211 t a b b b b;
+#X obj 90 382 list prepend cyclone/comment 0 14 .;
+#X msg 90 333 symbol \$1;
+#X obj 90 355 symbol2list _;
+#X obj 90 450 s \$0-glossary;
+#X msg 109 243 obj 30;
+#X connect 0 0 1 1;
+#X connect 0 0 10 1;
+#X connect 1 0 3 0;
+#X connect 2 0 10 1;
+#X connect 3 1 20 0;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 1;
+#X connect 7 0 10 0;
+#X connect 8 0 4 1;
+#X connect 9 0 4 0;
+#X connect 10 0 0 0;
+#X connect 11 0 1 1;
+#X connect 13 0 14 1;
+#X connect 14 0 15 0;
+#X connect 15 0 24 0;
+#X connect 16 0 17 0;
+#X connect 16 0 19 0;
+#X connect 17 0 16 0;
+#X connect 19 0 13 1;
+#X connect 20 0 22 0;
+#X connect 20 1 25 0;
+#X connect 20 2 8 0;
+#X connect 20 2 16 0;
+#X connect 20 3 16 0;
+#X connect 20 4 16 0;
+#X connect 21 0 14 0;
+#X connect 22 0 23 0;
+#X connect 23 0 21 0;
+#X connect 25 0 13 0;
+#X restore 248 506 pd TERM;
+#X obj 248 329 list prepend list;
+#X obj 317 358 r \$0-r;
+#N canvas 466 154 450 512 DEF 0;
+#X obj 152 92 t a;
+#X obj 73 167 list;
+#X obj 221 43 r \$0-r;
+#X obj 73 189 route bang;
+#X obj 73 117 spigot;
+#X obj 106 73 r \$0-r;
+#X obj 106 95 1;
+#X obj 152 20 inlet;
+#X obj 197 176 0;
+#X obj 73 40 r \$0-trig;
+#X obj 152 68 list prepend;
+#X obj 118 160 r \$0-r;
+#X text 219 350 x;
+#X obj 164 418 list append;
+#X obj 147 445 list prepend;
+#X obj 147 467 list trim;
+#X obj 264 364 value \$0-line;
+#X text 352 362 y;
+#X obj 283 141 s2l;
+#X obj 298 97 loadbang;
+#X msg 298 119 symbol;
+#X obj 283 163 list length;
+#X obj 283 190 +;
+#X obj 382 138 r \$0-r;
+#X obj 382 160 0;
+#X obj 317 190 t a;
+#X obj 202 202 list length;
+#X obj 268 227 +;
+#X obj 268 249 div 60;
+#X obj 268 331 until;
+#X obj 130 231 t a a b b;
+#X text 322 233 <-- unattach later;
+#X obj 275 43 r \$0-dr;
+#X obj 25 72 r \$0-dr;
+#X obj 351 117 r \$0-dr;
+#X obj 149 134 r \$0-dr;
+#X obj 192 251 t b b;
+#X obj 268 272 t a a;
+#X obj 268 300 +;
+#X obj 264 389 * 10;
+#X obj 307 272 div 6;
+#X obj 225 365 + 1.1;
+#X obj 147 489 s \$0-glossary;
+#X msg 164 353 text 50;
+#X connect 0 0 1 1;
+#X connect 0 0 10 1;
+#X connect 1 0 3 0;
+#X connect 2 0 10 1;
+#X connect 3 1 30 0;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 1;
+#X connect 7 0 10 0;
+#X connect 7 0 18 0;
+#X connect 8 0 4 1;
+#X connect 9 0 4 0;
+#X connect 10 0 0 0;
+#X connect 11 0 1 1;
+#X connect 13 0 14 1;
+#X connect 14 0 15 0;
+#X connect 15 0 42 0;
+#X connect 16 0 39 0;
+#X connect 16 0 41 0;
+#X connect 18 0 21 0;
+#X connect 19 0 20 0;
+#X connect 20 0 18 1;
+#X connect 21 0 22 0;
+#X connect 22 0 25 0;
+#X connect 22 0 27 1;
+#X connect 23 0 24 0;
+#X connect 24 0 22 1;
+#X connect 25 0 22 1;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 37 0;
+#X connect 29 0 16 0;
+#X connect 30 0 26 0;
+#X connect 30 1 14 0;
+#X connect 30 2 43 0;
+#X connect 30 3 8 0;
+#X connect 30 3 36 0;
+#X connect 32 0 10 1;
+#X connect 33 0 6 0;
+#X connect 34 0 24 0;
+#X connect 35 0 1 1;
+#X connect 36 0 16 0;
+#X connect 36 1 16 0;
+#X connect 37 0 38 0;
+#X connect 37 1 40 0;
+#X connect 38 0 29 0;
+#X connect 39 0 13 1;
+#X connect 40 0 38 1;
+#X connect 41 0 16 0;
+#X connect 43 0 13 0;
+#X restore 266 484 pd DEF;
+#N canvas 380 26 498 522 OBJECTS 0;
+#X obj 102 82 t a;
+#X obj 23 157 list;
+#X obj 171 33 r \$0-r;
+#X obj 23 179 route bang;
+#X obj 23 107 spigot;
+#X obj 56 63 r \$0-r;
+#X obj 56 85 1;
+#X obj 102 10 inlet;
+#X obj 147 166 0;
+#X obj 23 30 r \$0-trig;
+#X obj 102 58 list prepend;
+#X obj 68 150 r \$0-r;
+#X text 141 324 x;
+#X obj 97 370 list append;
+#X obj 80 417 list prepend;
+#X obj 80 439 list trim;
+#X obj 186 321 value \$0-line;
+#X obj 157 322 + 1;
+#X text 221 346 y;
+#X obj 80 261 list-drip;
+#X obj 99 392 list append pddp/helplink;
+#X obj 186 346 * 10;
+#X obj 271 392 list append;
+#X obj 80 283 t a b b b;
+#X obj 80 202 t a b;
+#X obj 197 250 t b b b;
+#X obj 226 424 list append Related Objects;
+#X obj 226 446 list trim;
+#X obj 306 451 list append _______________;
+#X obj 80 461 s \$0-glossary;
+#X msg 97 325 obj 50;
+#X msg 271 370 text 50;
+#X connect 0 0 1 1;
+#X connect 0 0 10 1;
+#X connect 1 0 3 0;
+#X connect 2 0 10 1;
+#X connect 3 1 24 0;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 1;
+#X connect 7 0 10 0;
+#X connect 8 0 4 1;
+#X connect 9 0 4 0;
+#X connect 10 0 0 0;
+#X connect 11 0 1 1;
+#X connect 13 0 20 0;
+#X connect 14 0 15 0;
+#X connect 15 0 29 0;
+#X connect 16 0 17 0;
+#X connect 16 0 21 0;
+#X connect 17 0 16 0;
+#X connect 19 0 23 0;
+#X connect 20 0 14 1;
+#X connect 21 0 13 1;
+#X connect 21 0 22 1;
+#X connect 22 0 26 0;
+#X connect 22 0 28 0;
+#X connect 23 0 14 0;
+#X connect 23 1 30 0;
+#X connect 23 2 8 0;
+#X connect 23 2 16 0;
+#X connect 23 3 16 0;
+#X connect 24 0 19 0;
+#X connect 24 1 25 0;
+#X connect 25 0 31 0;
+#X connect 25 1 16 0;
+#X connect 25 2 16 0;
+#X connect 26 0 27 0;
+#X connect 27 0 29 0;
+#X connect 28 0 27 0;
+#X connect 30 0 13 0;
+#X connect 31 0 22 0;
+#X restore 285 457 pd OBJECTS;
+#X obj 115 331 s \$0-dr;
+#X obj 248 283 route float;
+#X obj 248 304 makefilename %d;
+#X obj 115 304 t b a;
+#N canvas 322 26 589 535 LINKS 0;
+#X obj 152 92 t a;
+#X obj 73 167 list;
+#X obj 221 43 r \$0-r;
+#X obj 73 189 route bang;
+#X obj 73 117 spigot;
+#X obj 106 73 r \$0-r;
+#X obj 106 95 1;
+#X obj 152 20 inlet;
+#X obj 197 176 0;
+#X obj 73 40 r \$0-trig;
+#X obj 152 68 list prepend;
+#X obj 118 160 r \$0-r;
+#X text 202 300 x;
+#X obj 149 368 list append;
+#X obj 130 415 list prepend;
+#X obj 130 437 list trim;
+#X obj 257 297 value \$0-line;
+#X obj 228 298 + 1;
+#X text 292 322 y;
+#X obj 257 322 * 10;
+#X obj 130 271 t a b b b;
+#X obj 149 390 list append pddp/pddplink;
+#X obj 130 218 t a b;
+#X obj 321 387 list append;
+#X obj 247 245 t b b b;
+#X obj 276 441 list trim;
+#X obj 276 419 list append Links;
+#X obj 356 446 list append _____;
+#X obj 130 246 list-drip;
+#X obj 130 459 s \$0-glossary;
+#X msg 149 303 obj 50;
+#X msg 321 365 text 50;
+#X connect 0 0 1 1;
+#X connect 0 0 10 1;
+#X connect 1 0 3 0;
+#X connect 2 0 10 1;
+#X connect 3 1 22 0;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 1;
+#X connect 7 0 10 0;
+#X connect 8 0 4 1;
+#X connect 9 0 4 0;
+#X connect 10 0 0 0;
+#X connect 11 0 1 1;
+#X connect 13 0 21 0;
+#X connect 14 0 15 0;
+#X connect 15 0 29 0;
+#X connect 16 0 17 0;
+#X connect 16 0 19 0;
+#X connect 17 0 16 0;
+#X connect 19 0 13 1;
+#X connect 19 0 23 1;
+#X connect 20 0 14 0;
+#X connect 20 1 30 0;
+#X connect 20 2 8 0;
+#X connect 20 2 16 0;
+#X connect 20 3 16 0;
+#X connect 21 0 14 1;
+#X connect 22 0 28 0;
+#X connect 22 1 24 0;
+#X connect 23 0 26 0;
+#X connect 23 0 27 0;
+#X connect 24 0 31 0;
+#X connect 24 1 16 0;
+#X connect 24 2 16 0;
+#X connect 25 0 29 0;
+#X connect 26 0 25 0;
+#X connect 27 0 25 0;
+#X connect 28 0 20 0;
+#X connect 30 0 13 0;
+#X connect 31 0 23 0;
+#X restore 304 430 pd LINKS;
+#X obj 71 154 textfile;
+#X obj 20 14 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 197 65 v \$0-line;
+#X obj 71 117 until;
+#X obj 197 43 3;
+#X obj 54 393 s \$0-glossary;
+#X msg 54 366 vis 0 \, vis 1;
+#X obj 54 22 loadbang;
+#N canvas 0 0 446 477 sort-terms 0;
+#X obj 88 155 textfile;
+#X obj 88 101 t b b;
+#X obj 88 128 until;
+#X obj 88 181 t a b;
+#X obj 115 220 f;
+#X obj 127 190 1;
+#X obj 153 220 + 1;
+#X obj 88 252 list prepend;
+#X obj 88 332 coll;
+#C restore;
+#X msg 51 279 sort -1 2 \, dump;
+#X msg 236 230 clear;
+#X obj 51 52 t b b b;
+#X obj 236 365 list prepend add;
+#X obj 236 389 list trim;
+#X obj 51 25 inlet;
+#X obj 236 420 outlet;
+#X msg 133 128 read glossary.txt \, rewind;
+#X connect 0 0 3 0;
+#X connect 0 1 2 1;
+#X connect 1 0 2 0;
+#X connect 1 1 16 0;
+#X connect 1 1 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 7 0;
+#X connect 3 1 4 0;
+#X connect 4 0 6 0;
+#X connect 4 0 7 1;
+#X connect 5 0 4 1;
+#X connect 6 0 4 1;
+#X connect 7 0 8 0;
+#X connect 8 0 12 0;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 10 0 15 0;
+#X connect 11 0 9 0;
+#X connect 11 1 1 0;
+#X connect 11 2 10 0;
+#X connect 12 0 13 0;
+#X connect 13 0 15 0;
+#X connect 14 0 11 0;
+#X connect 16 0 0 0;
+#X restore 105 71 pd sort-terms;
+#X obj 54 49 t b b b b;
+#X msg 88 96 rewind;
+#X obj 71 260 sel @TERM @DEF @OBJECTS @LINKS;
+#X connect 0 0 33 0;
+#X connect 0 1 6 0;
+#X connect 1 0 6 0;
+#X connect 2 0 20 0;
+#X connect 3 0 6 0;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 1;
+#X connect 6 0 10 0;
+#X connect 7 0 12 0;
+#X connect 7 1 15 0;
+#X connect 7 2 16 0;
+#X connect 7 3 21 0;
+#X connect 8 0 0 0;
+#X connect 8 1 9 0;
+#X connect 10 0 11 0;
+#X connect 13 0 5 0;
+#X connect 14 0 5 1;
+#X connect 18 0 19 0;
+#X connect 18 1 13 0;
+#X connect 19 0 13 0;
+#X connect 20 0 17 0;
+#X connect 20 1 6 0;
+#X connect 22 0 8 0;
+#X connect 22 1 25 1;
+#X connect 23 0 31 0;
+#X connect 25 0 22 0;
+#X connect 26 0 24 0;
+#X connect 28 0 27 0;
+#X connect 29 0 31 0;
+#X connect 30 0 22 0;
+#X connect 31 0 28 0;
+#X connect 31 1 25 0;
+#X connect 31 2 32 0;
+#X connect 31 3 26 0;
+#X connect 31 3 30 0;
+#X connect 32 0 22 0;
+#X connect 33 0 1 0;
+#X connect 33 1 2 0;
+#X connect 33 2 3 0;
+#X connect 33 3 4 0;
+#X connect 33 4 18 0;
+#X restore 185 27 pd generate;
+#X obj 265 27 namecanvas \$0-glossary;
diff --git a/doc/pddp/glossary.txt b/doc/pddp/glossary.txt
new file mode 100644
index 00000000..06f39e6f
--- /dev/null
+++ b/doc/pddp/glossary.txt
@@ -0,0 +1,116 @@
+@TERM abstraction @DEF n. a patch created as an object within another patch
+(optionally with creation arguments). @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s7.1
+;
+@TERM anything @DEF 1) n. any message in Pd that has a valid selector \, or is an implicit float or list message. @DEF 2) a keyword in certain objects which matches any valid Pd message \, sometimes written as 'a' or 'any'. @DEF 3) any message other than Pd's built-in messages (float \, symbol \, list \, bang \, or pointer) @OBJECTS list iemlib/iem_anything
+cyclone/prepend @LINKS all_about_lists_vs_anythings.pd all_about_messages.pd
+;
+@TERM array @DEF 1) n. a collection of data that can be selected and stored by indices. @DEF 2) a graphical array created by choosing
+'Array' from the 'Put' menu. @DEF 3) a field of a data structure that
+may be used to plot/store values. @OBJECTS array @LINKS all_about_arrays.pd
+;
+@TERM atom @DEF n. the most basic element of data in Pd. @OBJECTS gatom float
+symbol @LINKS all_about_atoms.pd;
+@TERM canvas @DEF 1) n. the blank area of the window where you write your
+patches. @DEF 2) the object [my_canvas]. @OBJECTS my_canvas pd @LINKS all_about_canvas_properties.pd
+;
+@TERM cold_inlet @DEF n. an inlet on an object that does not trigger output
+when it receives a message. @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s3.3
+;
+@TERM control_object @DEF n. objects which carry out their function sporadically
+\, as a result of one or more type of event. @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s1.2
+;
+@TERM creation_arguments @DEF n. atoms that follow the selector in an object
+box that are used to initialize the object upon creation. @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s1.2
+;
+@TERM data_structure @DEF n. not sure yet... @OBJECTS struct pointer;
+@TERM edit_mode @DEF n. patch state in which you can creat \, edit \, move
+\, and delete objects. @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s2.1
+;
+@TERM float @DEF 1) n. a special selector to tell an object to receive a numeric
+atom as data. @DEF 2) the object [float]. @OBJECTS float gatom value list @LINKS all_about_atoms.pd
+all_about_messages.pd;
+@TERM gop @DEF see 'graph on parent'.;
+@TERM graph_on_parent @DEF a. an attribute of an abstraction or subpatch
+that allows part of a patch to be displayed on the parent patch. @LINKS
+all_about_canvas_properties.pd;
+@TERM gui @DEF acronym for 'graphical user interface'. @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s1.3
+;
+@TERM hot_inlet @DEF n. an inlet on an object that triggers output when
+it receives a message. (Usually this is the leftmost inlet.) @LINKS
+http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s3.3;
+@TERM main_Pd_window @DEF n. the window that pops up
+when you start Pd. It includes the peak level and clip indicators \,
+as well as the audio processing checkbutton and the printout area. Synonyms: console window.
+@OBJECTS print @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s1.1
+;
+@TERM message @DEF 1) n. data in any form sent to an object which causes
+the object to do something specific. @DEF 2) n. short name for 'message
+box'-- see 'message' object. @OBJECTS message @LINKS all_about_messages.pd
+;
+@TERM message_box @DEF n. a GUI object in which you can type text and trigger
+output with the mouse. @OBJECTS message flatspace/entry @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s3.4
+;
+@TERM nonlocal_connection @DEF n. a connection between two objects without
+using wires. @OBJECTS send receive send~ receive~ bng;
+@TERM number_box @DEF aka numbox \, gatom. GUI object that displays a
+single numeric value. @OBJECTS gatom nbx @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s1.3
+;
+@TERM numeric_atom @DEF n. any atom which functions as a number \, i.e.
+53 \, 3.1 \, 1e-25 @OBJECTS float int value list @LINKS all_about_atoms.pd
+;
+@TERM object_box @DEF n. rectangle in which Pd objects get created. @LINKS
+http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s1.2;
+@TERM patch @DEF 1) n. a program written in Pd. @DEF 2) v. the act of writing a Pd program;
+@TERM pointer @DEF n. a reference to a position in a scalar used to manipulate
+and read data from it. @OBJECTS pointer;
+@TERM properties_dialogue @DEF n. dialogue window (usually accessed by right-clicking
+a GUI object) used to set the object's attributes. @OBJECTS bng cnv hradio hslider nbx tgl vradio vslider vu
+@LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s2.7;
+@TERM run_mode @DEF n. patch mode in which
+number boxes \, message boxes \, and other GUI objects can be used
+as controls and objects/text cannot be moved \, changed \, or deleted. @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s2.1
+;
+@TERM runmode @DEF see 'run mode'.;
+@TERM non_editmode @DEF see 'run mode'.;
+@TERM scalar @DEF n. a graphical instance of a struct @OBJECTS scalar;
+@TERM selector @DEF n. a symbolic atom that serves as an instruction to
+the receiving object as how to handle the message @LINKS all_about_messages.pd
+;
+@TERM selector_series @DEF 1) n. a series of 2 or more atoms whose first
+atom is neither the selector 'list' \, 'symbol' \, nor a numeric atom.
+@DEF 2) n. see 'anything'. @OBJECTS list @LINKS all_about_lists_vs_anythings.pd
+;
+@TERM series @DEF n. a collection of zero or more atoms;
+@TERM signal_object @DEF n. an object that computes audio samples. Also
+referred to as 'tilde objects' because they usually have a tilde (
+'~' ) after the name of the object. @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s1.2
+;
+@TERM subpatch @DEF n. a patch contained within another patch. @OBJECTS pd table
+graph @LINKS http://www.crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s7
+;
+@TERM symbol @DEF n. a special selector to tell an object to receive a symbolic
+atom as data. @OBJECTS symbol makefilename @LINKS all_about_messages.pd
+;
+@TERM symbolic_atom @DEF n. any atom that is not a numeric atom \, i.e.
+\, word \, 3.1.1 \, 1two. Synonym: symbol atom. @OBJECTS gatom symbol makefilename @LINKS all_about_atoms.pd
+;
+@TERM tilde_object @DEF see 'signal object'.;
+@TERM inlet @DEF 1) n. a small rectangle drawn at the top of an object that allows the object to receive data through a connection from another object. Note: in Pd \, the leftmost inlet is often synonymous with the object itself-- only subsidiary inlets are referred to explicitly in the source code and \, consequently \, in error messages. For example \, if the left inlet of object [foo] doesn't accept the message 'bar' \, Pd will respond with 'error: foo: no method for 'bar''. However \, if the right inlet of [foo] doesn't accept 'bar' Pd will respond \, 'error: inlet: no method for 'bar''. @DEF 2) The object named [inlet]. See also: 'outlet' \, 'signal inlet'. @OBJECTS inlet outlet inlet~ outlet~ receive
+;
+@TERM xlet @DEF n. an abbreviation for 'inlet or outlet'.
+;
+@TERM outlet @DEF 1) n. a small rectangle drawn at the bottom of an object that allows the object to send data somewhere else. @DEF 2) the object [outlet]. @OBJECTS inlet outlet inlet~ outlet~ send
+;
+@TERM connection @DEF n. the thin line that connects the outlet of one object to the inlet of another. @OBJECTS inlet outlet
+;
+@TERM wire @DEF see 'connection'.
+;
+@TERM cord @DEF see 'connection'.
+;
+@TERM patch_cord @DEF see 'connection'.
+;
+@TERM implicit_float @DEF a message that consists of a single float atom and can be understood as having an implicit selector 'float'. @OBJECTS float @LINKS all_about_messages.pd
+;
+@TERM implicit_list @DEF a multi-element message that starts with a float and can be understood as having an implicit selector 'list'. @OBJECTS list @LINKS all_about_messages.pd
+;
+
diff --git a/doc/pddp/message-help.pd b/doc/pddp/message-help.pd
index fbe8e0ca..9bd01616 100644
--- a/doc/pddp/message-help.pd
+++ b/doc/pddp/message-help.pd
@@ -26,9 +26,9 @@ bang_op;
#X restore 500 597 pd META;
#X obj 0 336 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
-#X obj 0 386 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 387 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
-#X obj 0 549 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
+#X obj 0 555 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 100 481 428 109 Related_objects 0;
#X obj 116 43 list;
@@ -39,9 +39,9 @@ bang_op;
#X obj 22 43 symbol;
#X obj 72 43 float;
#X restore 102 597 pd Related_objects;
-#X obj 78 200 cnv 17 3 125 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 200 cnv 17 3 130 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
-#X obj 78 345 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X obj 78 345 cnv 17 3 35 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X msg 482 3;
#X obj 445 20 pddp/pddplink http://wiki.puredata.info/en/message -text
@@ -66,26 +66,26 @@ message should replace the variable in the outgoing message.;
#X msg 23 106 list 24 48 72;
#X text 83 131 replace "\$3" with the third element;
#X text 84 145 of the incoming message ("72");
-#X msg 23 235 24 48 72;
-#X text 83 235 implicit list with three numbers;
-#X msg 23 258 pitch \$3;
-#X obj 23 280 print;
-#X text 83 258 third element is still "72";
+#X msg 23 236 24 48 72;
+#X text 83 236 implicit list with three numbers;
+#X msg 23 259 pitch \$3;
+#X obj 23 281 print;
+#X text 83 259 third element is still "72";
#X text 20 303 It's important to note that you can't access the selector
of the message using the dollarsign variables. (In the patch above
\, "list" is the selector \, "24" is the first element \, and so on.)
Keep this in mind when using custom selectors \, as in the following:
;
-#X msg 23 368 melody 67 67 67 63;
-#X text 153 369 In this message \, "melody" is the selector \,;
-#X text 153 384 and there are four elements (not five).;
-#X msg 23 404 pitch \$4;
+#X msg 23 373 melody 67 67 67 63;
+#X text 153 374 In this message \, "melody" is the selector \,;
+#X text 153 389 and there are four elements (not five).;
+#X msg 23 407 pitch \$4;
#X obj 23 490 print;
-#X text 85 404 replace "\$4" with the fourth element ("63");
-#X msg 41 456 pitch \$5;
-#X msg 41 430 melody 65 65 65 62;
-#X text 163 435 this will output an error--;
-#X text 163 449 there is no 5th element!;
+#X text 85 407 replace "\$4" with the fourth element ("63");
+#X msg 41 459 pitch \$5;
+#X msg 41 433 melody 65 65 65 62;
+#X text 163 438 this will output an error--;
+#X text 163 452 there is no 5th element!;
#X text 20 180 Remember that the selectors "list" and "float" can be
omitted when the first atom in a message is a float. For example \,
the following still works exactly as the patch above:;
@@ -104,7 +104,7 @@ the following still works exactly as the patch above:;
#X connect 23 0 22 0;
#X connect 29 0 30 0;
#X connect 30 0 28 0;
-#X restore 171 457 pd dollarsign_variables;
+#X restore 171 463 pd dollarsign_variables;
#X text 11 23 clickable message box;
#X text 98 199 bang;
#X text 98 213 float;
@@ -150,15 +150,15 @@ of messages boxes:;
#X connect 11 0 23 0;
#X connect 12 0 23 0;
#X connect 13 0 23 0;
-#X restore 101 308 pd messages_for_changing_the_content_of_a_message_box
+#X restore 101 313 pd messages_for_changing_the_content_of_a_message_box
;
#X text 98 344 anything;
#X text 168 344 - a message box will output its message (replacing
any dollar-sign variables with the relevant elements of the incoming
message).;
-#X text 81 405 n) float;
-#X text 100 474 comma;
-#X text 100 508 semicolon;
+#X text 81 406 n) float;
+#X text 100 480 comma;
+#X text 100 515 semicolon;
#N canvas 88 49 428 453 Using_Commas_in_Message_Boxes 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
@@ -196,7 +196,7 @@ next begins.;
#X connect 12 0 13 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
-#X restore 172 490 pd Using_Commas_in_Message_Boxes;
+#X restore 172 497 pd Using_Commas_in_Message_Boxes;
#N canvas 82 29 428 495 Using_Semicolons_In_Message_Boxes 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
@@ -235,16 +235,16 @@ box:;
#X connect 10 0 2 0;
#X connect 12 0 9 0;
#X connect 14 0 15 0;
-#X restore 172 526 pd Using_Semicolons_In_Message_Boxes;
+#X restore 172 533 pd Using_Semicolons_In_Message_Boxes;
#X text 168 256 - other messages will cause the message box to send
its message as output \, except for the "special messages" that are
used to change the content of a message box. Click the subpatch below
to view these "special messages":;
-#X text 168 474 - a comma may be used to separate multiple messages:
+#X text 168 480 - a comma may be used to separate multiple messages:
;
-#X text 178 508 - a semicolon may be used to send messages nonlocally:
+#X text 178 515 - a semicolon may be used to send messages nonlocally:
;
-#X text 168 405 - message boxes can contain any number of float and/or
+#X text 168 406 - message boxes can contain any number of float and/or
symbol arguments. Message boxes may also contain special "dollar-sign
variables" \, used to grab data from an incoming message. Click the
subpatch below for more info:;
@@ -253,14 +253,14 @@ subpatch below for more info:;
#X text 98 97 Clicking on a message also sends it \, so you can use
messsage boxes as push buttons. For instance \, click here while watching
the printout window:;
-#X text 100 420 symbol atom;
+#X text 100 421 symbol atom;
#X obj 4 597 pddp/pddplink pddp/help.pd -text help;
-#X obj 100 553 pddp/pddplink all_about_messages.pd -text all_about_messages
+#X obj 100 559 pddp/pddplink all_about_messages.pd -text all_about_messages
;
-#X obj 100 568 pddp/pddplink all_about_symbol_construction.pd -text
+#X obj 100 574 pddp/pddplink all_about_symbol_construction.pd -text
all_about_symbol_construction;
-#X obj 286 553 pddp/pddplink ../2.control.examples/04.messages.pd -text
+#X obj 286 559 pddp/pddplink ../2.control.examples/04.messages.pd -text
doc/2.control.examples/04.messages.pd;
-#X obj 286 568 pddp/pddplink ../2.control.examples/10.more.messages.pd
+#X obj 286 574 pddp/pddplink ../2.control.examples/10.more.messages.pd
-text doc/2.control.examples/10.more.messages.pd;
#X connect 13 0 14 0;
diff --git a/doc/pddp/my_canvas-help.pd b/doc/pddp/my_canvas-help.pd
index 1ede96ed..29db2876 100644
--- a/doc/pddp/my_canvas-help.pd
+++ b/doc/pddp/my_canvas-help.pd
@@ -482,15 +482,15 @@ a [cnv] \, as are the horizontal dividers below.;
#X connect 52 0 2 0;
#X coords 0 -1 1 1 15 15 2 100 100;
#X restore 11 336 pd;
-#X obj 219 553 bng 14 250 50 0 \$0-bng empty c 4 7 0 12 -262144 -262144
--1;
+#X obj 219 553 bng 14 250 50 0 \$0-bng empty empty 4 7 0 12 -262144
+-262144 -1;
#X text 66 275 You can also use a white [cnv] to;
#X text 66 290 conceal parts of a patch (use;
#X text 66 305 with care);
#N canvas 92 49 450 511 let's-play-pong! 0;
-#X obj 138 143 cnv 15 100 25 empty \$0-score Score:3 5 12 0 14 -233017
+#X obj 138 143 cnv 15 100 25 empty \$0-score Score:0 5 12 0 14 -233017
-66577 0;
-#X obj 14 346 cnv 15 5 60 \$0-ps \$0-pr empty 20 12 0 14 -1 -66577
+#X obj 14 326 cnv 15 5 60 \$0-ps \$0-pr empty 20 12 0 14 -1 -66577
0;
#X obj 257 19 key;
#X obj 257 140 s \$0-pr;
@@ -503,13 +503,13 @@ a [cnv] \, as are the horizontal dividers below.;
#X obj 337 214 v px;
#X obj 68 121 t b b b;
#X obj 68 15 r die;
-#X msg 107 165 \; \$1-br get_pos \; \$1-pr get_pos \;;
+#X msg 107 172 \; \$1-br get_pos \; \$1-pr get_pos \;;
#X obj 425 6 cnv 5 5 500 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 87 237 expr if(bx<=20 \, if (py<=by && py+60>=by \, 0 \, 1)
\, -1) \; if (bx>=415 \, 2 \, -1) \; if (by<=0 \, 4 \, if (by>=500
\, 5 \, -1));
#X obj 257 214 v bx;
-#X obj 321 362 cnv 10 10 10 \$0-bs \$0-br empty 20 12 0 14 -1 -66577
+#X obj 322 357 cnv 10 10 10 \$0-bs \$0-br empty 20 12 0 14 -1 -66577
0;
#X obj 257 165 r \$0-bs;
#X obj 257 187 unpack;
@@ -567,10 +567,9 @@ a [cnv] \, as are the horizontal dividers below.;
#X obj 68 361 f 1;
#X msg 294 91 5;
#X obj 107 143 f \$0;
-#X msg 134 21 10 SLOW;
-#X msg 134 72 2 WTF;
-#X msg 134 55 4 FAST;
-#X msg 134 38 7 MEDIUM;
+#X msg 134 15 10 SLOW;
+#X msg 134 49 4 FAST;
+#X msg 134 32 7 MEDIUM;
#X obj 257 43 spigot;
#X obj 77 65 s \$0-k;
#X obj 310 10 r \$0-k;
@@ -598,7 +597,6 @@ a [cnv] \, as are the horizontal dividers below.;
#X connect 9 0 10 0;
#X connect 10 0 4 0;
#X restore 108 361 pd score;
-#X text 147 95 a = up \; z = down \;;
#X obj 68 89 metro 10;
#N canvas 0 0 450 300 once 0;
#X obj 26 21 inlet;
@@ -657,11 +655,15 @@ a [cnv] \, as are the horizontal dividers below.;
#X connect 15 3 16 0;
#X connect 16 0 13 0;
#X restore 211 306 pd sfx;
-#X connect 2 0 40 0;
+#X obj 147 85 cnv 15 100 50 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 147 85 a = up \; z = down \; <space> = replay;
+#X msg 134 66 1.5 WTF;
+#X connect 2 0 39 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
-#X connect 6 0 41 0;
-#X connect 6 0 45 0;
+#X connect 6 0 40 0;
+#X connect 6 0 43 0;
#X connect 7 0 8 0;
#X connect 8 0 10 0;
#X connect 8 1 9 0;
@@ -669,9 +671,9 @@ a [cnv] \, as are the horizontal dividers below.;
#X connect 11 1 15 0;
#X connect 11 2 35 0;
#X connect 12 0 6 0;
-#X connect 15 0 51 0;
-#X connect 15 1 51 0;
-#X connect 15 2 51 0;
+#X connect 15 0 49 0;
+#X connect 15 1 49 0;
+#X connect 15 2 49 0;
#X connect 18 0 19 0;
#X connect 19 0 16 0;
#X connect 19 1 20 0;
@@ -688,7 +690,7 @@ a [cnv] \, as are the horizontal dividers below.;
#X connect 28 0 27 0;
#X connect 29 0 31 1;
#X connect 29 0 33 1;
-#X connect 29 0 43 0;
+#X connect 29 0 42 0;
#X connect 30 0 31 1;
#X connect 30 0 33 1;
#X connect 31 0 21 1;
@@ -697,24 +699,25 @@ a [cnv] \, as are the horizontal dividers below.;
#X connect 33 0 32 0;
#X connect 34 0 4 0;
#X connect 35 0 13 0;
-#X connect 36 0 45 1;
-#X connect 37 0 45 1;
-#X connect 38 0 45 1;
-#X connect 39 0 45 1;
-#X connect 40 0 47 0;
-#X connect 42 0 46 0;
-#X connect 45 0 11 0;
-#X connect 46 0 40 1;
-#X connect 47 0 5 0;
-#X connect 47 1 34 0;
-#X connect 47 2 48 0;
-#X connect 48 0 49 0;
-#X connect 51 0 26 0;
-#X connect 51 0 52 0;
+#X connect 36 0 43 1;
+#X connect 37 0 43 1;
+#X connect 38 0 43 1;
+#X connect 39 0 45 0;
+#X connect 41 0 44 0;
+#X connect 43 0 11 0;
+#X connect 44 0 39 1;
+#X connect 45 0 5 0;
+#X connect 45 1 34 0;
+#X connect 45 2 46 0;
+#X connect 46 0 47 0;
+#X connect 49 0 26 0;
+#X connect 49 0 50 0;
+#X connect 53 0 43 1;
#X restore 136 312 pd let's-play-pong!;
#X obj 60 272 cnv 15 210 65 empty \$0-cnv empty 20 12 0 14 -262144
-262144 0;
#X text 235 551 musil@iem.kug.ac.at;
+#X text 221 550 c;
#X connect 21 0 39 0;
#X connect 22 0 21 0;
#X connect 23 0 30 0;
diff --git a/doc/pddp/pack-help.pd b/doc/pddp/pack-help.pd
index 064f3963..6ec7414a 100644
--- a/doc/pddp/pack-help.pd
+++ b/doc/pddp/pack-help.pd
@@ -26,9 +26,9 @@ for Pd version 0.42.;
#X text 12 245 RELEASE_DATE 1997;
#X text 12 265 RELEASE_VERSION;
#X restore 500 597 pd META;
-#X obj 0 396 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
+#X obj 0 394 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
-#X obj 0 461 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
+#X obj 0 459 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 565 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
@@ -56,22 +56,19 @@ is:;
#X restore 102 597 pd Related_objects;
#X obj 78 120 cnv 17 3 225 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
-#X text 98 303 list;
-#X obj 78 403 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+#X text 98 266 list;
+#X obj 78 401 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
-#X obj 78 354 cnv 17 3 37 empty \$0-pddp.cnv.let.n n 5 9 0 16 -228856
+#X obj 78 350 cnv 17 3 37 empty \$0-pddp.cnv.let.n n 5 9 0 16 -228856
-162280 0;
#X obj 493 3 pack;
#X obj 465 20 pddp/pddplink http://wiki.puredata.info/en/pack -text
pdpedia: pack;
-#X text 98 198 symbol;
+#X text 98 186 symbol;
#X text 98 119 bang;
-#X text 98 159 float;
-#X text 168 119 - a "bang" to the first inlet will force [pack] to
-output the current package (i.e. \, the list of values) without resetting
-any of them.;
-#X text 98 263 pointer;
-#X text 98 402 list;
+#X text 98 147 float;
+#X text 98 226 pointer;
+#X text 98 400 list;
#N canvas 82 45 428 551 pack_peculiarities 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
@@ -118,8 +115,8 @@ an error.;
#X connect 7 0 4 0;
#X connect 11 0 13 0;
#X connect 14 0 11 0;
-#X restore 171 546 pd pack_peculiarities;
-#X text 168 402 - [pack] will output its package (i.e. \, the list
+#X restore 171 545 pd pack_peculiarities;
+#X text 168 400 - [pack] will output its package (i.e. \, the list
of values) when it receives a message to its left inlet.;
#N canvas 72 44 466 546 Another_example_using_pack 0;
#X text 181 97 is the same as;
@@ -174,40 +171,43 @@ force [pack] to output the entire package of stored values.;
#X restore 101 573 pd Another_example_using_pack;
#X obj 394 69 pack;
#X obj 394 91 print;
-#X text 98 353 An inlet is created for each argument given to [pack].
-Each may store a float \, symbol \, or pointer \, depending on the
-argument given. Only the leftmost inlet will accept a list.;
#X msg 432 46 2;
#X floatatom 394 46 5 0 0 0 - - -;
-#X text 98 429 Note: [pack] may output a float \, symbol \, or pointer
+#X text 98 427 Note: [pack] may output a float \, symbol \, or pointer
if only one argument is specified.;
#X text 11 23 combine several atoms into one message;
#X text 23 46 The [pack] object takes a series of inputs and then outputs
a concatenated list. By default \, [pack] has two inlets \, each of
which will accept a float.;
-#X text 168 159 - if the first argument is "float" \, "f" \, or a numeric
+#X text 168 147 - if the first argument is "float" \, "f" \, or a numeric
value (e.g. \, "12" \, "3.4") the first element in the list will be
set to the incoming value \, and [pack] will output its list.;
-#X text 168 303 - a list is distributed to among the inlets of [pack].
+#X text 168 266 - a list is distributed to among the inlets of [pack].
Each element must match the atom-type specified by the creation arguments.
Lists with more items than the total number of inlets will be truncated.
;
-#X text 168 263 - if the first argument is "pointer" or "p" \, an incoming
+#X text 168 226 - if the first argument is "pointer" or "p" \, an incoming
pointer will be set to the first item in the list \, and [pack] will
output its list.;
-#X text 168 198 - if the first argument is "symbol" or "s" \, an incoming
-symbol will be set to the first item in the list \, and [pack] will
-output its list. Symbol-atoms (like "foo") that lack the selector "symbol"
-are also accepted (but will be rejected for all additional inlets).
-;
-#X text 98 493 float;
-#X text 168 478 - the number of arguments determines the number of
+#X text 98 491 float;
+#X text 168 476 - the number of arguments determines the number of
inlets (default is two). The symbols described under the "inlets" heading
specify the atom-type of each inlet. You can also use a float to specify
float-type while also initializing that inlet's value. Some peculiarities
described below:;
-#X text 80 478 n) symbol atom;
+#X text 80 476 n) symbol atom;
#X obj 4 597 pddp/pddplink pddp/help.pd -text help;
-#X connect 23 0 24 0;
-#X connect 26 0 23 1;
-#X connect 27 0 23 0;
+#X text 168 186 - if the first argument is "symbol" or "s" \, an incoming
+symbol will be set to the first item in the list \, and [pack] will
+output its list.;
+#X text 98 319 anything;
+#X text 168 119 - a "bang" to the first inlet will force [pack] to
+output the current package (i.e. \, the list of values).;
+#X text 168 319 - an anything will be converted to a list and distributed
+in the same manner as a list.;
+#X text 98 348 An inlet is created for each argument given. Each may
+store a float \, symbol \, or pointer \, depending on the argument
+given. These inlets will not accept lists/anythings.;
+#X connect 22 0 23 0;
+#X connect 24 0 22 1;
+#X connect 25 0 22 0;
diff --git a/doc/pddp/value-help.pd b/doc/pddp/value-help.pd
index 5ece3f75..f831d752 100644
--- a/doc/pddp/value-help.pd
+++ b/doc/pddp/value-help.pd
@@ -126,10 +126,6 @@ share the same name to the incoming value.;
cause it to output its current value.;
#X text 168 387 - the current value is output when a bang is received
at the inlet.;
-#X text 168 439 - [value] takes one argument (a symbol) that is the
-name of the object. All [value] objects that share this name will have
-their values updated when I float is sent to the inlet of any of them.
-;
#X text 98 229 All [value] objects with the same name receive the value
(see subpatch below):;
#X text 168 491 If no creation argument is given \, then the object
@@ -139,6 +135,11 @@ objects. See the help patches for [expr] \, [expr~] and [fexpr~] for
more information.;
#X text 80 439 1) symbol atom;
#X obj 4 597 pddp/pddplink pddp/help.pd -text help;
+#X text 168 439 - [value] takes one argument (a symbol) that is the
+name of the object. All [value] objects that share this name will have
+their values updated when a float is sent to the inlet of any of them.
+;
+#X obj 193 574 pddp/pddplink all_about_expr_and_value.pd;
#X connect 22 0 24 0;
#X connect 23 0 22 0;
#X connect 25 0 22 0;