aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2005-03-22 20:58:25 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2005-03-22 20:58:25 +0000
commit2b60d55c919e7588f5aff15936e83c300b3660bb (patch)
tree14d860de7f28083d3756ad91b627de70f26788f6 /examples
parentc500bc542cb7cc78d6dac3f7da3bff626056b1aa (diff)
zexy-2.0:
- use of abstractions for objects that allow it - some objects are build both as externals and abstractions (as slower fallbacks) - code-layout is now 1:1 c-file<->object (this should allow for building of zexy as a collection of externals instead as a big library) - matrix-objects have moved to iemmatrix !! svn path=/trunk/externals/zexy/; revision=2641
Diffstat (limited to 'examples')
-rw-r--r--examples/any2list.pd9
-rw-r--r--examples/atoi.pd28
-rw-r--r--examples/avg~.pd46
-rw-r--r--examples/blockmirror~.pd89
-rw-r--r--examples/blockswap~.pd85
-rw-r--r--examples/coordinates.pd3
-rw-r--r--examples/date.pd5
-rw-r--r--examples/deg2rad.pd29
-rw-r--r--examples/demultiplex.pd77
-rw-r--r--examples/demultiplex~.pd67
-rw-r--r--examples/dfreq~.pd35
-rw-r--r--examples/digidistort.pd239
-rw-r--r--examples/dirac~.pd90
-rw-r--r--examples/drip.pd147
-rw-r--r--examples/envrms~.pd53
-rw-r--r--examples/glue.pd3
-rw-r--r--examples/index.pd179
-rw-r--r--examples/length.pd7
-rw-r--r--examples/limiter~.pd276
-rw-r--r--examples/list2int.pd35
-rw-r--r--examples/list2symbol.pd30
-rw-r--r--examples/lister.pd3
-rw-r--r--examples/lpt.pd52
-rw-r--r--examples/makesymbol.pd27
-rw-r--r--examples/matrix.pd133
-rw-r--r--examples/matrix~.pd58
-rw-r--r--examples/mavg.pd33
-rw-r--r--examples/mean.pd9
-rw-r--r--examples/minmax.pd7
-rw-r--r--examples/msgfile.pd226
-rw-r--r--examples/mtx_binops.pd142
-rw-r--r--examples/mtx_element.pd64
-rw-r--r--examples/mtx_inverse.pd18
-rw-r--r--examples/mtx_mean.pd13
-rw-r--r--examples/mtx_rand.pd20
-rw-r--r--examples/mtx_size.pd44
-rw-r--r--examples/mtx_special.pd60
-rw-r--r--examples/mtx_trace.pd24
-rw-r--r--examples/mtx_transpose.pd66
-rw-r--r--examples/multiline~.pd22
-rw-r--r--examples/multiplex.pd38
-rw-r--r--examples/multiplex~.pd47
-rw-r--r--examples/niagara.pd47
-rw-r--r--examples/noish~.pd102
-rw-r--r--examples/noisi~.pd102
-rw-r--r--examples/nop.pd17
-rw-r--r--examples/nop~.pd17
-rw-r--r--examples/operating_system.pd3
-rw-r--r--examples/packel.pd41
-rw-r--r--examples/pack~.pd67
-rw-r--r--examples/pdf~.pd52
-rw-r--r--examples/prime.pd3
-rw-r--r--examples/quantize~.pd124
-rw-r--r--examples/rad2deg.pd29
-rw-r--r--examples/repack.pd48
-rw-r--r--examples/repeat.pd3
-rw-r--r--examples/scalarmult.pd11
-rw-r--r--examples/segregate.pd33
-rw-r--r--examples/sf-play_record.pd179
-rw-r--r--examples/sigbinops+.pd214
-rw-r--r--examples/sigzero~.pd160
-rw-r--r--examples/sort.pd156
-rw-r--r--examples/step~.pd202
-rw-r--r--examples/strcmp.pd56
-rw-r--r--examples/swap~.pd129
-rw-r--r--examples/symbol2list.pd1
-rw-r--r--examples/tabdump.pd16
-rw-r--r--examples/tabset.pd18
-rw-r--r--examples/tavg~.pd58
-rw-r--r--examples/time.pd63
-rw-r--r--examples/unpack~.pd176
-rw-r--r--examples/urn.pd3
-rw-r--r--examples/wrap.pd3
-rw-r--r--examples/z~.pd61
74 files changed, 2480 insertions, 2352 deletions
diff --git a/examples/any2list.pd b/examples/any2list.pd
index 9c460c0..bfd7c15 100644
--- a/examples/any2list.pd
+++ b/examples/any2list.pd
@@ -1,8 +1,8 @@
#N canvas 319 129 450 458 10;
#X text 113 30 convert "anything" to lists;
#X text 116 56 pass through the rest;
-#X floatatom 46 229 0 0 0;
-#X symbolatom 46 203 0 0 0;
+#X floatatom 46 229 0 0 0 0 - - -;
+#X symbolatom 46 203 0 0 0 0 - - -;
#X msg 46 162 this is anything;
#X msg 46 182 list this is a list;
#X obj 35 276 print a2l;
@@ -10,10 +10,11 @@
#X obj 319 339 route list;
#X msg 319 318 list this is a list;
#X obj 319 359 print l2a;
-#X obj 56 30 any2list;
+#X obj 48 30 any2list;
#X text 245 223 alias;
-#X obj 280 223 a2l;
+#X obj 286 223 a2l;
#X obj 35 256 any2list;
+#X text 356 6 part of zexy;
#X connect 2 0 14 0;
#X connect 3 0 14 0;
#X connect 4 0 14 0;
diff --git a/examples/atoi.pd b/examples/atoi.pd
index c6a507a..a84b57e 100644
--- a/examples/atoi.pd
+++ b/examples/atoi.pd
@@ -1,28 +1,34 @@
-#N canvas 271 320 749 300 10;
+#N canvas 274 494 749 300 10;
#X obj 125 21 atoi;
#X text 174 19 convert ascii to integer;
#X obj 72 178 atoi;
-#X floatatom 72 201 4 0 0;
+#X floatatom 72 201 4 0 0 0 - - -;
#X obj 72 132 makefilename %4d;
-#X symbolatom 72 155 10 0 0;
-#X floatatom 72 110 4 0 0;
-#X floatatom 177 110 4 0 0;
+#X symbolatom 72 155 10 0 0 0 - - -;
+#X floatatom 72 110 4 0 0 0 - - -;
+#X floatatom 177 110 4 0 0 0 - - -;
#X obj 177 132 makefilename 0%d;
-#X floatatom 280 110 4 0 0;
+#X floatatom 280 110 4 0 0 0 - - -;
#X obj 280 132 makefilename 0x%d;
#X text 74 92 decimal;
#X text 178 94 octal;
#X text 280 93 sedecimal;
-#X floatatom 417 109 4 0 0;
+#X floatatom 417 109 4 0 0 0 - - -;
#X obj 417 127 makefilename %d;
-#X floatatom 502 106 4 0 0;
+#X floatatom 502 106 4 0 0 0 - - -;
#X text 506 93 base;
#X obj 417 146 pack s 2;
#X msg 417 86 101;
#X msg 443 86 10011;
-#X text 241 214 symbols starting with "0x" are converted as hex-numbers;
-#X text 242 228 symbols starting with "0" are converted as octal numbers;
-#X text 241 243 symbols starting with numbers but "0" are converted as decimal numbers;
+#X text 241 214 symbols starting with "0x" are converted as hex-numbers
+;
+#X text 242 228 symbols starting with "0" are converted as octal numbers
+;
+#X text 241 243 symbols starting with numbers but "0" are converted
+as decimal numbers;
+#X text 360 325 updated for zexy-2.0;
+#X text 360 325 updated for zexy-2.0;
+#X text 539 17 part of zexy;
#X connect 2 0 3 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
diff --git a/examples/avg~.pd b/examples/avg~.pd
index 9ae5626..451814e 100644
--- a/examples/avg~.pd
+++ b/examples/avg~.pd
@@ -1,22 +1,24 @@
-#N canvas 288 18 580 361 10;
-#X floatatom 59 148;
-#X floatatom 59 254;
-#X floatatom 129 255;
-#X obj 59 276 dbtorms;
-#X floatatom 59 299;
-#X text 272 269 see also:;
-#X obj 277 296 env~;
-#X obj 373 296 tavg~;
-#X obj 71 51 avg~;
-#X obj 129 234 avg~;
-#X obj 59 233 env~;
-#X text 155 49 calculates the arithmetic mean of one signal vector;
-#X obj 315 296 envrms~;
-#X obj 59 173 osc~ 5512.5;
-#X connect 0 0 13 0;
-#X connect 1 0 3 0;
-#X connect 3 0 4 0;
-#X connect 9 0 2 0;
-#X connect 10 0 1 0;
-#X connect 13 0 9 0;
-#X connect 13 0 10 0;
+#N canvas 288 18 580 361 10;
+#X floatatom 59 148 0 0 0 0 - - -;
+#X floatatom 59 254 0 0 0 0 - - -;
+#X floatatom 129 255 0 0 0 0 - - -;
+#X obj 59 276 dbtorms;
+#X floatatom 59 299 0 0 0 0 - - -;
+#X text 272 269 see also:;
+#X obj 277 296 env~;
+#X obj 373 296 tavg~;
+#X obj 71 51 avg~;
+#X obj 129 234 avg~;
+#X obj 59 233 env~;
+#X text 155 49 calculates the arithmetic mean of one signal vector
+;
+#X obj 315 296 envrms~;
+#X obj 59 173 osc~ 5512.5;
+#X text 456 11 part of zexy;
+#X connect 0 0 13 0;
+#X connect 1 0 3 0;
+#X connect 3 0 4 0;
+#X connect 9 0 2 0;
+#X connect 10 0 1 0;
+#X connect 13 0 9 0;
+#X connect 13 0 10 0;
diff --git a/examples/blockmirror~.pd b/examples/blockmirror~.pd
index 101410c..8dc48ec 100644
--- a/examples/blockmirror~.pd
+++ b/examples/blockmirror~.pd
@@ -1,13 +1,7 @@
-#N canvas 0 0 705 533 10;
-#X obj 71 367 dac~ 1;
-#X obj 71 342 *~;
-#X obj 32 293 dbtorms;
-#X floatatom 32 269 0 0 0 0 - - -;
+#N canvas 425 385 705 533 10;
#X floatatom 26 203 0 0 0 0 - - -;
#X msg 118 228 help;
-#X msg 404 59 \; pd dsp 1;
-#X obj 71 317 sig~ 0.2;
-#X msg 482 61 \; pd dsp 0;
+#X msg 488 83 \; pd dsp 1;
#N canvas 0 0 450 300 graph5 0;
#X array scope 100 float 0;
#X coords 0 1 100 -1 400 300 1;
@@ -17,19 +11,74 @@
#X text 287 166 note: there will be a break at 64 samples (signal-vector!)
;
#X obj 26 227 osc~ 440;
-#X obj 122 198 tgl 15 0 empty empty on/off 0 -6 0 8 -262144 -1 -1 1
+#X obj 122 198 tgl 15 0 empty empty on/off 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 101 12 blockmirror~;
#X obj 87 255 blockmirror~;
#X text 200 13 play back a signal-vector in a time-reversed way!;
-#X connect 1 0 0 0;
-#X connect 2 0 7 0;
-#X connect 3 0 2 0;
-#X connect 4 0 13 0;
-#X connect 5 0 16 0;
-#X connect 7 0 1 0;
-#X connect 11 0 10 0;
-#X connect 13 0 16 0;
-#X connect 14 0 16 0;
-#X connect 16 0 1 1;
-#X connect 16 0 10 0;
+#X floatatom 116 442 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 25 0;
+#X connect 5 0 25 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 26 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 24 0 1 1;
+#X connect 24 0 9 0;
+#X restore 87 470 pd output;
+#X msg 145 442 MUTE;
+#X text 111 423 output amplitude;
+#X text 595 41 part of zexy;
+#X connect 0 0 7 0;
+#X connect 1 0 10 0;
+#X connect 5 0 4 0;
+#X connect 7 0 10 0;
+#X connect 8 0 10 0;
+#X connect 10 0 4 0;
+#X connect 10 0 13 0;
+#X connect 12 0 13 1;
+#X connect 13 0 12 0;
+#X connect 14 0 13 2;
diff --git a/examples/blockswap~.pd b/examples/blockswap~.pd
index 2ff6fd1..011372f 100644
--- a/examples/blockswap~.pd
+++ b/examples/blockswap~.pd
@@ -1,13 +1,7 @@
-#N canvas 0 0 705 533 10;
-#X obj 71 367 dac~ 1;
-#X obj 71 342 *~;
-#X obj 32 293 dbtorms;
-#X floatatom 32 269 0 0 0 0 - - -;
+#N canvas 380 305 705 533 10;
#X floatatom 26 203 0 0 0 0 - - -;
#X msg 118 228 help;
#X msg 404 59 \; pd dsp 1;
-#X obj 71 317 sig~ 0.2;
-#X msg 482 61 \; pd dsp 0;
#N canvas 0 0 450 300 graph5 0;
#X array scope 100 float 0;
#X coords 0 1 100 -1 400 300 1;
@@ -20,17 +14,72 @@
#X obj 26 227 osc~ 440;
#X obj 123 12 blockswap~;
#X text 200 13 swap upper and lower half of the signal-vector;
-#X obj 122 198 tgl 15 0 empty empty on/off 0 -6 0 8 -262144 -1 -1 1
+#X obj 122 198 tgl 15 0 empty empty on/off 0 -6 0 8 -262144 -1 -1 0
1;
#X text 287 151 note: there will be a break at 32 samples (swap!);
-#X connect 1 0 0 0;
-#X connect 2 0 7 0;
-#X connect 3 0 2 0;
-#X connect 4 0 14 0;
-#X connect 5 0 13 0;
-#X connect 7 0 1 0;
-#X connect 11 0 10 0;
-#X connect 13 0 1 1;
-#X connect 13 0 10 0;
+#X floatatom 116 442 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X restore 87 470 pd output;
+#X msg 145 442 MUTE;
+#X text 111 423 output amplitude;
+#X text 477 63 part of zexy;
+#X connect 0 0 8 0;
+#X connect 1 0 7 0;
+#X connect 5 0 4 0;
+#X connect 7 0 4 0;
+#X connect 7 0 14 0;
+#X connect 8 0 7 0;
+#X connect 11 0 7 0;
+#X connect 13 0 14 1;
#X connect 14 0 13 0;
-#X connect 17 0 13 0;
+#X connect 15 0 14 2;
diff --git a/examples/coordinates.pd b/examples/coordinates.pd
index 0004931..e751b39 100644
--- a/examples/coordinates.pd
+++ b/examples/coordinates.pd
@@ -1,4 +1,4 @@
-#N canvas 114 89 754 537 10;
+#N canvas 413 385 754 537 10;
#X text 122 40 convert between SPHeric \, POLar and CARTesian coordinates
;
#X obj 99 305 cart2sph;
@@ -45,6 +45,7 @@
#X obj 309 305 pol2cart;
#X text 112 450 angles are given in RADian \, if you want DEGree you
might want to use [deg2rad] and [rad2deg];
+#X text 599 17 part of zexy;
#X connect 1 0 7 0;
#X connect 1 1 6 0;
#X connect 1 2 5 0;
diff --git a/examples/date.pd b/examples/date.pd
index 96ef8ca..b3cdeb2 100644
--- a/examples/date.pd
+++ b/examples/date.pd
@@ -1,4 +1,4 @@
-#N canvas 253 26 421 483 10;
+#N canvas 683 311 421 483 10;
#X obj 71 203 date;
#X msg 71 174 bang;
#X floatatom 94 350 0 0 0 0 - - -;
@@ -14,7 +14,7 @@
#X text 175 373 month;
#X text 179 399 year;
#X text 70 151 local;
-#X text 284 151 GMT;
+#X text 294 153 GMT;
#X floatatom 124 240 0 0 0 0 - - -;
#X floatatom 112 264 0 0 0 0 - - -;
#X floatatom 101 291 0 0 0 0 - - -;
@@ -25,6 +25,7 @@
#X text 179 267 day of year;
#X text 180 293 day of week;
#X text 180 349 day of month;
+#X text 316 6 part of zexy;
#X connect 0 0 4 0;
#X connect 0 1 3 0;
#X connect 0 2 2 0;
diff --git a/examples/deg2rad.pd b/examples/deg2rad.pd
deleted file mode 100644
index 076bdf1..0000000
--- a/examples/deg2rad.pd
+++ /dev/null
@@ -1,29 +0,0 @@
-#N canvas 421 168 450 300 10;
-#X obj 60 39 deg2rad;
-#X text 122 40 convert DEGree to RADian;
-#X obj 76 138 deg2rad;
-#X floatatom 76 167 5 0 0 0 - - -;
-#X floatatom 76 86 5 0 0 0 - - -;
-#X obj 132 129 / 180;
-#X obj 132 153 * 3.14159;
-#X obj 116 225 -;
-#X floatatom 132 176 5 0 0 0 - - -;
-#X obj 76 110 t f f;
-#X floatatom 116 257 16 0 0 0 - - -;
-#X floatatom 317 155 5 0 0 0 - - -;
-#X obj 317 172 deg2rad;
-#X obj 317 195 cos;
-#X floatatom 317 217 5 0 0 0 - - -;
-#X text 317 129 example:;
-#X connect 2 0 3 0;
-#X connect 3 0 7 0;
-#X connect 4 0 9 0;
-#X connect 5 0 6 0;
-#X connect 6 0 8 0;
-#X connect 7 0 10 0;
-#X connect 8 0 7 1;
-#X connect 9 0 2 0;
-#X connect 9 1 5 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
diff --git a/examples/demultiplex.pd b/examples/demultiplex.pd
index 1d69b08..dfcc1b5 100644
--- a/examples/demultiplex.pd
+++ b/examples/demultiplex.pd
@@ -1,35 +1,42 @@
-#N canvas 350 196 655 292 10;
-#X obj 51 171 demux 1 2 3 4;
-#X obj 51 91 metro 320;
-#X obj 51 111 t b b;
-#X obj 51 130 random 100;
-#X msg 51 69 1;
-#X msg 76 69 0;
-#X floatatom 135 147;
-#X obj 51 239 print output0;
-#X obj 135 129 random 4;
-#X obj 75 222 print outpu1;
-#X obj 99 205 print outp2;
-#X obj 124 188 print out3;
-#X msg 51 150 bet \$1;
-#X text 231 10 demultiplex the inlet to the specified output;
-#X obj 111 12 demultiplex;
-#X obj 315 236 demux;
-#X text 271 237 alias;
-#X text 268 166 creation: "demultiplex [<in1?> [<in2?> [<in3?> ... ]]]";
-#X text 303 185 the number of arguments defines the number of outlets;
-#X text 277 81 the right inlet specifies \, to which outlet the left inlet is routed;
-#X text 280 119 outlets number from 0..(n-1);
-#X connect 0 0 7 0;
-#X connect 0 1 9 0;
-#X connect 0 2 10 0;
-#X connect 0 3 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 8 0;
-#X connect 3 0 12 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 1;
-#X connect 8 0 6 0;
-#X connect 12 0 0 0;
+#N canvas 425 439 709 294 10;
+#X obj 51 171 demux 1 2 3 4;
+#X obj 51 91 metro 320;
+#X obj 51 111 t b b;
+#X obj 51 130 random 100;
+#X msg 51 69 1;
+#X msg 76 69 0;
+#X floatatom 135 147 0 0 0 0 - - -;
+#X obj 51 239 print output0;
+#X obj 135 129 random 4;
+#X obj 75 222 print outpu1;
+#X obj 99 205 print outp2;
+#X obj 124 188 print out3;
+#X msg 51 150 bet \$1;
+#X text 231 10 demultiplex the inlet to the specified output;
+#X obj 111 12 demultiplex;
+#X obj 315 236 demux;
+#X text 271 237 alias;
+#X text 303 159 the number of arguments defines the number of outlets
+;
+#X text 277 81 the right inlet specifies \, to which outlet the left
+inlet is routed;
+#X text 280 119 outlets number from 0..(n-1);
+#X text 549 33 part of zexy;
+#X text 263 174 even though this seems to be a bit weird \, this makes
+patches more readable (as the object becomes wider if it has more outlets)
+;
+#X text 268 140 creation: "demultiplex [<out1?> [<out2?> [<out3?> ...
+]]]";
+#X connect 0 0 7 0;
+#X connect 0 1 9 0;
+#X connect 0 2 10 0;
+#X connect 0 3 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 8 0;
+#X connect 3 0 12 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 1;
+#X connect 8 0 6 0;
+#X connect 12 0 0 0;
diff --git a/examples/demultiplex~.pd b/examples/demultiplex~.pd
index 290fd72..6f43fd6 100644
--- a/examples/demultiplex~.pd
+++ b/examples/demultiplex~.pd
@@ -1,33 +1,34 @@
-#N canvas 79 72 635 302 12;
-#X obj 72 139 sig~ 1;
-#X floatatom 110 93 4 0 0;
-#X obj 71 229 env~;
-#X floatatom 71 255 4 0 0;
-#X text 428 109 alias;
-#X obj 71 193 demultiplex~ . . . . .;
-#X obj 113 229 env~;
-#X floatatom 113 255 4 0 0;
-#X obj 156 230 env~;
-#X floatatom 156 256 4 0 0;
-#X obj 199 229 env~;
-#X floatatom 199 255 4 0 0;
-#X obj 242 227 env~;
-#X floatatom 242 253 4 0 0;
-#X text 156 94 select an outlet;
-#X obj 75 23 demultiplex~;
-#X text 210 22 demultiplex 1 signal to 1-of-n outlets;
-#X obj 480 110 demux~;
-#X text 154 174 the number of arguments specifies the number of outlets
-;
-#X connect 0 0 5 0;
-#X connect 1 0 5 0;
-#X connect 2 0 3 0;
-#X connect 5 0 2 0;
-#X connect 5 1 6 0;
-#X connect 5 2 8 0;
-#X connect 5 3 10 0;
-#X connect 5 4 12 0;
-#X connect 6 0 7 0;
-#X connect 8 0 9 0;
-#X connect 10 0 11 0;
-#X connect 12 0 13 0;
+#N canvas 301 479 635 302 12;
+#X obj 72 139 sig~ 1;
+#X floatatom 110 93 4 0 0 0 - - -;
+#X obj 71 229 env~;
+#X floatatom 71 255 4 0 0 0 - - -;
+#X text 428 109 alias;
+#X obj 71 193 demultiplex~ . . . . .;
+#X obj 113 229 env~;
+#X floatatom 113 255 4 0 0 0 - - -;
+#X obj 156 230 env~;
+#X floatatom 156 256 4 0 0 0 - - -;
+#X obj 199 229 env~;
+#X floatatom 199 255 4 0 0 0 - - -;
+#X obj 242 227 env~;
+#X floatatom 242 253 4 0 0 0 - - -;
+#X text 156 94 select an outlet;
+#X obj 75 23 demultiplex~;
+#X text 210 22 demultiplex 1 signal to 1-of-n outlets;
+#X obj 480 110 demux~;
+#X text 154 174 the number of arguments specifies the number of outlets
+;
+#X text 513 3 part of zexy;
+#X connect 0 0 5 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 5 0 2 0;
+#X connect 5 1 6 0;
+#X connect 5 2 8 0;
+#X connect 5 3 10 0;
+#X connect 5 4 12 0;
+#X connect 6 0 7 0;
+#X connect 8 0 9 0;
+#X connect 10 0 11 0;
+#X connect 12 0 13 0;
diff --git a/examples/dfreq~.pd b/examples/dfreq~.pd
index a211c63..1f033f3 100644
--- a/examples/dfreq~.pd
+++ b/examples/dfreq~.pd
@@ -1,15 +1,20 @@
-#N canvas 307 9 598 301 10;
-#X obj 61 163 dfreq~;
-#X obj 61 133 osc~ 440;
-#X obj 61 231 print~;
-#X msg 96 208 bang;
-#X obj 85 28 dfreq~;
-#X text 146 27 a frequency detector that counts zero-crossings;
-#X floatatom 61 109;
-#X text 182 104 every zero-crossing the frequency-estimation is updated \, therefore this estimation is given as a signal...;
-#X text 179 170 this detector won't work properly on complex signals (e.g. zero-crossings should not be caused by higher partials);
-#X text 177 205 on the other hand \, this is much cheaper than fft's or fiddle...;
-#X connect 0 0 2 0;
-#X connect 1 0 0 0;
-#X connect 3 0 2 0;
-#X connect 6 0 1 0;
+#N canvas 441 541 598 301 10;
+#X obj 61 163 dfreq~;
+#X obj 61 133 osc~ 440;
+#X obj 61 231 print~;
+#X msg 96 208 bang;
+#X obj 85 28 dfreq~;
+#X text 146 27 a frequency detector that counts zero-crossings;
+#X floatatom 61 109 0 0 0 0 - - -;
+#X text 182 104 every zero-crossing the frequency-estimation is updated
+\, therefore this estimation is given as a signal...;
+#X text 179 170 this detector won't work properly on complex signals
+(e.g. zero-crossings should not be caused by higher partials);
+#X text 177 205 on the other hand \, this is much cheaper than fft's
+or fiddle...;
+#X text 503 7 part of zexy;
+#X text 183 265 thanks to w.ritsch for this one;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 6 0 1 0;
diff --git a/examples/digidistort.pd b/examples/digidistort.pd
index 6764a3b..2a876da 100644
--- a/examples/digidistort.pd
+++ b/examples/digidistort.pd
@@ -1,69 +1,170 @@
-#N canvas 0 -1 708 652 10;
-#X obj 99 529 swap~;
-#X text 172 515 byte-swap the signal;
-#X text 214 164 quantize a signal with a variable step-number;
-#X text 171 533 this object first converts the signal to 16bit \, then swaps upper and lower byte.;
-#X text 117 11 objects~ that are distorting in a very "digital" way;
-#X msg 128 113 8bit;
-#X msg 128 89 16bit;
-#X msg 128 66 float;
-#X floatatom 129 42;
-#X obj 77 273 dac~ 1;
-#X obj 77 248 *~;
-#X obj 39 199 dbtorms;
-#X floatatom 39 175;
-#X msg 122 441 0;
-#X msg 122 417 1;
-#X msg 121 466 bang;
-#X obj 35 136 osc~ 440;
-#X floatatom 35 112;
-#X obj 96 164 quantize~ 16;
-#X obj 35 496 osc~ 440;
-#X floatatom 35 472;
-#X msg 121 491 help;
-#X obj 83 609 *~;
-#X obj 45 560 dbtorms;
-#X floatatom 45 536;
-#X msg 127 137 help;
-#X obj 83 634 dac~ 2;
-#X msg 404 59 \; pd dsp 1;
-#X obj 78 223 sig~ 0.2;
-#X obj 83 584 sig~ 0.2;
-#X msg 482 61 \; pd dsp 0;
-#X graph graph5 0 -1 100 1 298 494 698 194;
-#X array scope 100 float;
-#X pop;
-#X obj 148 223 tabwrite~ scope;
-#X msg 148 198 bang;
-#X obj 178 634 tabwrite~ scope;
-#X msg 178 609 bang;
-#X text 161 466 toggle;
-#X text 154 416 on;
-#X text 156 440 off;
-#X connect 0 0 22 1;
-#X connect 0 0 34 0;
-#X connect 5 0 18 0;
-#X connect 6 0 18 0;
-#X connect 7 0 18 0;
-#X connect 8 0 18 0;
-#X connect 10 0 9 0;
-#X connect 11 0 28 0;
-#X connect 12 0 11 0;
-#X connect 13 0 0 0;
-#X connect 14 0 0 0;
-#X connect 15 0 0 0;
-#X connect 16 0 18 0;
-#X connect 17 0 16 0;
-#X connect 18 0 10 1;
-#X connect 18 0 32 0;
-#X connect 19 0 0 0;
-#X connect 20 0 19 0;
-#X connect 21 0 0 0;
-#X connect 22 0 26 0;
-#X connect 23 0 29 0;
-#X connect 24 0 23 0;
-#X connect 25 0 18 0;
-#X connect 28 0 10 0;
-#X connect 29 0 22 0;
-#X connect 33 0 32 0;
-#X connect 35 0 34 0;
+#N canvas 390 139 803 782 10;
+#X obj 99 529 swap~;
+#X text 172 515 byte-swap the signal;
+#X text 214 164 quantize a signal with a variable step-number;
+#X text 171 533 this object first converts the signal to 16bit \, then
+swaps upper and lower byte.;
+#X text 117 11 objects~ that are distorting in a very "digital" way
+;
+#X msg 128 113 8bit;
+#X msg 128 89 16bit;
+#X msg 128 66 float;
+#X floatatom 129 42 0 0 0 0 - - -;
+#X msg 122 441 0;
+#X msg 122 417 1;
+#X msg 121 466 bang;
+#X obj 35 136 osc~ 440;
+#X floatatom 35 112 0 0 0 0 - - -;
+#X obj 96 164 quantize~ 16;
+#X obj 35 496 osc~ 440;
+#X floatatom 35 472 0 0 0 0 - - -;
+#X msg 121 491 help;
+#X msg 127 137 help;
+#X msg 404 59 \; pd dsp 1;
+#N canvas 0 0 450 300 graph5 0;
+#X array scope 100 float 0;
+#X coords 0 1 100 -1 400 300 1;
+#X restore 298 194 graph;
+#X obj 148 223 tabwrite~ scope;
+#X msg 148 198 bang;
+#X obj 178 634 tabwrite~ scope;
+#X msg 178 609 bang;
+#X text 161 466 toggle;
+#X text 154 416 on;
+#X text 156 440 off;
+#X floatatom 129 695 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl2;
+#X obj 199 100 s \$0master-lvl2;
+#X obj 338 210 s \$0master-lvl2;
+#X obj 397 92 r \$0master-lvl2;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 25 0;
+#X connect 5 0 25 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 26 0 1 1;
+#X connect 26 0 9 0;
+#X restore 100 723 pd output;
+#X msg 158 695 MUTE;
+#X text 124 676 output amplitude;
+#X floatatom 125 301 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 24 0;
+#X connect 5 0 24 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 26 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X restore 96 329 pd output;
+#X msg 154 301 MUTE;
+#X text 120 282 output amplitude;
+#X text 657 13 part of zexy;
+#X connect 0 0 23 0;
+#X connect 0 0 29 0;
+#X connect 5 0 14 0;
+#X connect 6 0 14 0;
+#X connect 7 0 14 0;
+#X connect 8 0 14 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 21 0;
+#X connect 14 0 33 0;
+#X connect 15 0 0 0;
+#X connect 16 0 15 0;
+#X connect 17 0 0 0;
+#X connect 18 0 14 0;
+#X connect 22 0 21 0;
+#X connect 24 0 23 0;
+#X connect 28 0 29 1;
+#X connect 29 0 28 0;
+#X connect 30 0 29 2;
+#X connect 32 0 33 1;
+#X connect 33 0 32 0;
+#X connect 34 0 33 2;
diff --git a/examples/dirac~.pd b/examples/dirac~.pd
index d1317dd..6d0e755 100644
--- a/examples/dirac~.pd
+++ b/examples/dirac~.pd
@@ -1,43 +1,47 @@
-#N canvas 202 49 564 290 8;
-#X obj 123 230 dirac~;
-#X floatatom 95 186;
-#X obj 95 208 t b f;
-#X obj 123 253 print~;
-#X text 40 30 dirac~ ::;
-#X text 40 60 IN :;
-#X text 115 30 produces a unit:sample:sequence;
-#X text 114 61 define the nth sample after the float::bang:message for the unit:sample to take place;
-#X text 98 165 position;
-#N canvas 0 0 765 385 application 0;
-#X obj 75 82 t b b b;
-#X msg 119 104 \; pd dsp 1;
-#X obj 97 139 dirac~;
-#X floatatom 181 141;
-#X obj 97 181 tabwrite~ unit::response;
-#X graph graph1 0 -1 64 1 358 325 758 25;
-#X array unit::response 64 float;
-#X pop;
-#X msg 70 283 \; unit::response resize 64;
-#X text 32 353 we thought it useful to have a tool that would be able to easily plot the unit::response of a system;
-#X text 111 61 press me;
-#X msg 75 61 bang;
-#X obj 97 160 hip~ 5000;
-#X connect 0 0 4 0;
-#X connect 0 1 2 0;
-#X connect 0 2 1 0;
-#X connect 2 0 10 0;
-#X connect 3 0 10 1;
-#X connect 9 0 0 0;
-#X connect 10 0 4 0;
-#X restore 270 148 page application;
-#X obj 53 208 t f b;
-#X msg 53 187 2;
-#X msg 185 225 2;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 0 0;
-#X connect 10 0 3 0;
-#X connect 10 1 0 0;
-#X connect 11 0 10 0;
-#X connect 12 0 3 0;
+#N canvas 484 494 564 290 10;
+#X obj 123 230 dirac~;
+#X floatatom 95 186 0 0 0 0 - - -;
+#X obj 95 208 t b f;
+#X obj 123 253 print~;
+#X text 40 30 dirac~ ::;
+#X text 40 60 IN :;
+#X text 115 30 produces a unit:sample:sequence;
+#X text 114 61 define the nth sample after the float::bang:message
+for the unit:sample to take place;
+#X text 98 165 position;
+#N canvas 0 0 765 385 application 0;
+#X obj 75 82 t b b b;
+#X msg 119 104 \; pd dsp 1;
+#X obj 97 139 dirac~;
+#X floatatom 181 141 0 0 0 0 - - -;
+#X obj 97 181 tabwrite~ unit::response;
+#N canvas 0 0 450 300 graph1 0;
+#X array unit::response 64 float 0;
+#X coords 0 1 63 -1 400 300 1;
+#X restore 358 25 graph;
+#X msg 70 283 \; unit::response resize 64;
+#X text 32 353 we thought it useful to have a tool that would be able
+to easily plot the unit::response of a system;
+#X text 111 61 press me;
+#X msg 75 61 bang;
+#X obj 97 160 hip~ 5000;
+#X connect 0 0 4 0;
+#X connect 0 1 2 0;
+#X connect 0 2 1 0;
+#X connect 2 0 10 0;
+#X connect 3 0 10 1;
+#X connect 9 0 0 0;
+#X connect 10 0 4 0;
+#X restore 270 148 page application;
+#X obj 53 208 t f b;
+#X msg 53 187 2;
+#X msg 185 225 2;
+#X text 462 7 part of zexy;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 0 0;
+#X connect 10 0 3 0;
+#X connect 10 1 0 0;
+#X connect 11 0 10 0;
+#X connect 12 0 3 0;
diff --git a/examples/drip.pd b/examples/drip.pd
index 1aa7557..4bf4cfc 100644
--- a/examples/drip.pd
+++ b/examples/drip.pd
@@ -1,70 +1,77 @@
-#N canvas 378 65 854 849 10;
-#X msg 30 108 come on \, my house;
-#X obj 30 210 print UNFOLDED;
-#X msg 48 135 1 two tre quatre 5 se;
-#X text 72 10 drip;
-#X obj 30 183 drip;
-#X text 311 104 drip is like a medical drip - you can adjust the drop-speed;
-#X obj 316 198 drip 1000;
-#X obj 316 218 print DROP;
-#X msg 316 152 this is that slow;
-#X floatatom 365 179;
-#X text 439 545 drip without arguments will do no scheduling (this is: output all the atoms at once);
-#X text 424 182 drop-delay in [ms];
-#X obj 36 599 drip;
-#X obj 95 601 drip 0;
-#X msg 36 548 5 4 3 2 1 ready go;
-#X obj 36 569 t l l;
-#X obj 95 639 print SCHEDULED;
-#X obj 36 661 print DESCHEDUL;
-#X obj 248 592 drip -10;
-#X obj 248 621 print DESCHED;
-#X msg 248 556 bang;
-#X obj 639 805 unfold;
-#X text 423 790 for historical reasons (finding no proper object-name...) we still provide the obsolete alias;
-#X text 44 27 unfolds a package to a sequence;
-#X text 43 50 since you can switch to scheduled mode \, this might be used to reduce CPU-load;
-#X text 55 817 see also :;
-#X obj 127 819 repack;
-#X obj 35 299 t l l b;
-#X obj 151 350 t l l;
-#X obj 35 375 unfold 200 flush;
-#X obj 141 375 unfold 200;
-#X obj 151 309 del 250;
-#X msg 35 280 list some atoms could be saved while others;
-#X msg 151 329 list might get lost;
-#X obj 35 412 print TIGHT;
-#X obj 141 413 print LOOSE;
-#X obj 35 393 pipe s 1500;
-#X text 411 309 creation:;
-#X text 475 309 "drip [<n> [flush]]";
-#X text 457 397 <n> is the initial drop-delay in [ms];
-#X text 452 333 "flush" indicates whether non-empty buffers should be flushed when a new package arrives or not.;
-#X text 453 362 default is no_flush;
-#X text 457 430 n==0 will DO scheduling (and is therefore somewhat "slower" than without arguments;
-#X text 455 415 default is NO scheduling;
-#X text 456 465 negative values for <n> turn off scheduling;
-#X connect 0 0 4 0;
-#X connect 2 0 4 0;
-#X connect 4 0 1 0;
-#X connect 6 0 7 0;
-#X connect 8 0 6 0;
-#X connect 9 0 6 1;
-#X connect 12 0 17 0;
-#X connect 13 0 16 0;
-#X connect 14 0 15 0;
-#X connect 15 0 12 0;
-#X connect 15 1 13 0;
-#X connect 18 0 19 0;
-#X connect 20 0 18 0;
-#X connect 27 0 29 0;
-#X connect 27 1 30 0;
-#X connect 27 2 31 0;
-#X connect 28 0 29 0;
-#X connect 28 1 30 0;
-#X connect 29 0 36 0;
-#X connect 30 0 35 0;
-#X connect 31 0 33 0;
-#X connect 32 0 27 0;
-#X connect 33 0 28 0;
-#X connect 36 0 34 0;
+#N canvas 340 54 854 849 10;
+#X msg 30 108 come on \, my house;
+#X obj 30 210 print UNFOLDED;
+#X msg 48 135 1 two tre quatre 5 se;
+#X text 72 10 drip;
+#X obj 30 183 drip;
+#X text 311 104 drip is like a medical drip - you can adjust the drop-speed
+;
+#X obj 316 198 drip 1000;
+#X obj 316 218 print DROP;
+#X msg 316 152 this is that slow;
+#X floatatom 365 179 0 0 0 0 - - -;
+#X text 439 545 drip without arguments will do no scheduling (this
+is: output all the atoms at once);
+#X text 424 182 drop-delay in [ms];
+#X obj 36 599 drip;
+#X obj 95 601 drip 0;
+#X msg 36 548 5 4 3 2 1 ready go;
+#X obj 36 569 t l l;
+#X obj 95 639 print SCHEDULED;
+#X obj 36 661 print DESCHEDUL;
+#X obj 248 592 drip -10;
+#X obj 248 621 print DESCHED;
+#X msg 248 556 bang;
+#X obj 639 805 unfold;
+#X text 423 770 for historical reasons (finding no proper object-name...)
+we still provide the obsolete alias;
+#X text 44 27 unfolds a package to a sequence;
+#X text 43 50 since you can switch to scheduled mode \, this might
+be used to reduce CPU-load;
+#X text 55 817 see also :;
+#X obj 127 819 repack;
+#X obj 35 299 t l l b;
+#X obj 151 350 t l l;
+#X obj 35 375 unfold 200 flush;
+#X obj 141 375 unfold 200;
+#X obj 151 309 del 250;
+#X msg 35 280 list some atoms could be saved while others;
+#X msg 151 329 list might get lost;
+#X obj 35 412 print TIGHT;
+#X obj 141 413 print LOOSE;
+#X obj 35 393 pipe s 1500;
+#X text 411 309 creation:;
+#X text 475 309 "drip [<n> [flush]]";
+#X text 457 397 <n> is the initial drop-delay in [ms];
+#X text 452 333 "flush" indicates whether non-empty buffers should
+be flushed when a new package arrives or not.;
+#X text 453 362 default is no_flush;
+#X text 457 430 n==0 will DO scheduling (and is therefore somewhat
+"slower" than without arguments;
+#X text 455 415 default is NO scheduling;
+#X text 456 465 negative values for <n> turn off scheduling;
+#X text 717 13 part of zexy;
+#X connect 0 0 4 0;
+#X connect 2 0 4 0;
+#X connect 4 0 1 0;
+#X connect 6 0 7 0;
+#X connect 8 0 6 0;
+#X connect 9 0 6 1;
+#X connect 12 0 17 0;
+#X connect 13 0 16 0;
+#X connect 14 0 15 0;
+#X connect 15 0 12 0;
+#X connect 15 1 13 0;
+#X connect 18 0 19 0;
+#X connect 20 0 18 0;
+#X connect 27 0 29 0;
+#X connect 27 1 30 0;
+#X connect 27 2 31 0;
+#X connect 28 0 29 0;
+#X connect 28 1 30 0;
+#X connect 29 0 36 0;
+#X connect 30 0 35 0;
+#X connect 31 0 33 0;
+#X connect 32 0 27 0;
+#X connect 33 0 28 0;
+#X connect 36 0 34 0;
diff --git a/examples/envrms~.pd b/examples/envrms~.pd
index c0a4cc0..469886e 100644
--- a/examples/envrms~.pd
+++ b/examples/envrms~.pd
@@ -1,24 +1,29 @@
-#N canvas 288 18 580 361 10;
-#X obj 71 51 envrms~;
-#X text 174 51 an envelope follower that outputs rms instead of dB;
-#X obj 59 172 sig~ 3;
-#X floatatom 59 148;
-#X obj 59 233 env~;
-#X floatatom 59 254;
-#X floatatom 129 255;
-#X obj 129 234 envrms~;
-#X text 177 93 (i found it very often quite annoying \, to get dB all the times \, and i wouldn't use snapshot~ instead);
-#X obj 59 276 dbtorms;
-#X floatatom 59 299;
-#X text 179 172 of course \, this is cheaper than using env~ + dbtorms;
-#X text 272 269 see also:;
-#X obj 277 296 env~;
-#X obj 315 296 avg~;
-#X obj 354 296 tavg~;
-#X connect 2 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 0 2 0;
-#X connect 4 0 5 0;
-#X connect 5 0 9 0;
-#X connect 7 0 6 0;
-#X connect 9 0 10 0;
+#N canvas 366 497 580 361 10;
+#X obj 71 51 envrms~;
+#X text 174 51 an envelope follower that outputs rms instead of dB
+;
+#X obj 59 172 sig~ 3;
+#X floatatom 59 148 0 0 0 0 - - -;
+#X obj 59 233 env~;
+#X floatatom 59 254 0 0 0 0 - - -;
+#X floatatom 129 255 0 0 0 0 - - -;
+#X obj 129 234 envrms~;
+#X text 177 93 (i found it very often quite annoying \, to get dB all
+the times \, and i wouldn't use snapshot~ instead);
+#X obj 59 276 dbtorms;
+#X floatatom 59 299 0 0 0 0 - - -;
+#X text 179 172 of course \, this is cheaper than using env~ + dbtorms
+;
+#X text 272 269 see also:;
+#X obj 277 296 env~;
+#X obj 315 296 avg~;
+#X obj 354 296 tavg~;
+#X msg 484 217 \; pd dsp 1;
+#X text 479 17 part of zexy;
+#X connect 2 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 9 0;
+#X connect 7 0 6 0;
+#X connect 9 0 10 0;
diff --git a/examples/glue.pd b/examples/glue.pd
index ecc8603..a888c69 100644
--- a/examples/glue.pd
+++ b/examples/glue.pd
@@ -1,4 +1,4 @@
-#N canvas 652 218 777 455 10;
+#N canvas 243 428 595 456 10;
#X obj 111 58 glue;
#X text 171 58 glue together 2 packages (append \, prepend \, ...)
;
@@ -12,6 +12,7 @@
#X msg 51 179 bang;
#X obj 95 210 glue;
#X obj 277 206 glue and stick;
+#X text 490 14 part of zexy;
#X connect 2 0 10 0;
#X connect 3 0 10 1;
#X connect 6 0 11 0;
diff --git a/examples/index.pd b/examples/index.pd
index e7e1232..836f86f 100644
--- a/examples/index.pd
+++ b/examples/index.pd
@@ -1,87 +1,92 @@
-#N canvas 240 25 854 550 10;
-#X msg 117 288 reset;
-#X msg 216 288 auto 0;
-#X msg 354 287 help;
-#X floatatom 441 288;
-#X floatatom 192 439;
-#X obj 117 419 index 128 3;
-#X text 224 441 index;
-#X msg 216 313 auto 1;
-#X msg 128 85 add alias;
-#X msg 128 103 add bind;
-#X msg 128 121 add break;
-#X msg 128 140 add built-in;
-#X msg 128 159 add case;
-#X msg 384 103 delete bind;
-#X msg 384 121 delete break;
-#X msg 384 140 delete built-in;
-#X msg 384 159 delete case;
-#X obj 231 179 symbol;
-#X msg 250 159 case;
-#X msg 250 140 built-in;
-#X msg 250 121 break;
-#X msg 250 103 bind;
-#X msg 250 85 alias;
-#X obj 231 197 send 2index;
-#X obj 117 372 receive 2index;
-#X obj 372 197 send 2index;
-#X obj 114 197 send 2index;
-#X text 239 48 get item index;
-#X text 233 62 (evt. add new item);
-#X text 106 269 clear map;
-#X text 68 48 add new item to map;
-#X text 382 46 delete item from map;
-#X text 190 269 set/reset AUTO-adding;
-#X text 353 271 help;
-#X text 440 272 debug: which item has index #;
-#X text 61 9 index: create a symbol->int map;
-#X text 349 402 creation : "index [<n> [<auto>]]";
-#X text 290 517 in NON-AUTO mode \, only ADDED symbols (eg. "add <symbol>") are added to the map;
-#X text 289 495 in AUTO mode \, unknown symbols are automatically added to the map \;;
-#X msg 384 85 delete alias;
-#N canvas 601 96 333 308 print2screen 0;
-#X obj 114 58 inlet;
-#X obj 157 59 inlet;
-#X obj 114 231 pack 0 s;
-#X msg 114 252 \$2 -> \$1;
-#X obj 114 271 print mapped;
-#X obj 157 192 route add symbol delete;
-#X obj 157 212 symbol;
-#X obj 246 173 loadbang;
-#X connect 0 0 2 0;
-#X connect 1 0 5 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 5 0 6 0;
-#X connect 5 1 6 0;
-#X connect 5 2 6 0;
-#X connect 6 0 2 1;
-#X connect 7 0 6 0;
-#X restore 117 488 pd print2screen;
-#X text 387 420 n :: max. number of elements in list (defaults to 128);
-#X text 369 429 auto :: 1_sets auto ON \, 0_sets auto OFF (default off);
-#X connect 0 0 5 0;
-#X connect 1 0 5 0;
-#X connect 2 0 5 0;
-#X connect 3 0 5 0;
-#X connect 5 0 4 0;
-#X connect 5 0 40 0;
-#X connect 7 0 5 0;
-#X connect 8 0 26 0;
-#X connect 9 0 26 0;
-#X connect 10 0 26 0;
-#X connect 11 0 26 0;
-#X connect 12 0 26 0;
-#X connect 13 0 25 0;
-#X connect 14 0 25 0;
-#X connect 15 0 25 0;
-#X connect 16 0 25 0;
-#X connect 17 0 23 0;
-#X connect 18 0 17 0;
-#X connect 19 0 17 0;
-#X connect 20 0 17 0;
-#X connect 21 0 17 0;
-#X connect 22 0 17 0;
-#X connect 24 0 40 1;
-#X connect 24 0 5 0;
-#X connect 39 0 25 0;
+#N canvas 347 343 854 550 10;
+#X msg 117 288 reset;
+#X msg 216 288 auto 0;
+#X msg 354 287 help;
+#X floatatom 441 288 0 0 0 0 - - -;
+#X floatatom 192 439 0 0 0 0 - - -;
+#X obj 117 419 index 128 3;
+#X text 224 441 index;
+#X msg 216 313 auto 1;
+#X msg 128 85 add alias;
+#X msg 128 103 add bind;
+#X msg 128 121 add break;
+#X msg 128 140 add built-in;
+#X msg 128 159 add case;
+#X msg 384 103 delete bind;
+#X msg 384 121 delete break;
+#X msg 384 140 delete built-in;
+#X msg 384 159 delete case;
+#X obj 231 179 symbol;
+#X msg 250 159 case;
+#X msg 250 140 built-in;
+#X msg 250 121 break;
+#X msg 250 103 bind;
+#X msg 250 85 alias;
+#X obj 231 197 send 2index;
+#X obj 117 372 receive 2index;
+#X obj 372 197 send 2index;
+#X obj 114 197 send 2index;
+#X text 239 48 get item index;
+#X text 233 62 (evt. add new item);
+#X text 106 269 clear map;
+#X text 68 48 add new item to map;
+#X text 382 46 delete item from map;
+#X text 190 269 set/reset AUTO-adding;
+#X text 353 271 help;
+#X text 440 272 debug: which item has index #;
+#X text 61 9 index: create a symbol->int map;
+#X text 349 402 creation : "index [<n> [<auto>]]";
+#X text 290 517 in NON-AUTO mode \, only ADDED symbols (eg. "add <symbol>")
+are added to the map;
+#X text 289 495 in AUTO mode \, unknown symbols are automatically added
+to the map \;;
+#X msg 384 85 delete alias;
+#N canvas 601 96 333 308 print2screen 0;
+#X obj 114 58 inlet;
+#X obj 157 59 inlet;
+#X obj 114 231 pack 0 s;
+#X msg 114 252 \$2 -> \$1;
+#X obj 114 271 print mapped;
+#X obj 157 192 route add symbol delete;
+#X obj 157 212 symbol;
+#X obj 246 173 loadbang;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 5 1 6 0;
+#X connect 5 2 6 0;
+#X connect 6 0 2 1;
+#X connect 7 0 6 0;
+#X restore 117 488 pd print2screen;
+#X text 387 420 n :: max. number of elements in list (defaults to 128)
+;
+#X text 369 429 auto :: 1_sets auto ON \, 0_sets auto OFF (default
+off);
+#X text 705 14 part of zexy;
+#X connect 0 0 5 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 0;
+#X connect 5 0 4 0;
+#X connect 5 0 40 0;
+#X connect 7 0 5 0;
+#X connect 8 0 26 0;
+#X connect 9 0 26 0;
+#X connect 10 0 26 0;
+#X connect 11 0 26 0;
+#X connect 12 0 26 0;
+#X connect 13 0 25 0;
+#X connect 14 0 25 0;
+#X connect 15 0 25 0;
+#X connect 16 0 25 0;
+#X connect 17 0 23 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 0;
+#X connect 20 0 17 0;
+#X connect 21 0 17 0;
+#X connect 22 0 17 0;
+#X connect 24 0 40 1;
+#X connect 24 0 5 0;
+#X connect 39 0 25 0;
diff --git a/examples/length.pd b/examples/length.pd
index c75f45a..e5ce4f0 100644
--- a/examples/length.pd
+++ b/examples/length.pd
@@ -1,13 +1,14 @@
-#N canvas 186 166 450 300 10;
+#N canvas 231 541 421 294 10;
#X obj 77 40 length;
#X text 141 43 get the length of a list;
#X obj 72 186 length;
-#X floatatom 72 206 4 0 0;
+#X floatatom 72 206 4 0 0 0 - - -;
#X msg 72 109 list these are 4 elements;
#X msg 83 128 1 2 3;
#X msg 95 155 auralization by wave field synthesis;
#X msg 25 113 bang;
-#X floatatom 14 146 4 0 0;
+#X floatatom 14 146 4 0 0 0 - - -;
+#X text 324 19 part of zexy;
#X connect 2 0 3 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
diff --git a/examples/limiter~.pd b/examples/limiter~.pd
index 3749f18..99f8df2 100644
--- a/examples/limiter~.pd
+++ b/examples/limiter~.pd
@@ -1,4 +1,4 @@
-#N canvas 283 98 625 388 8;
+#N canvas 354 454 851 449 10;
#X text 189 15 limiter;
#X text 187 25 ========;
#N canvas 0 0 591 391 creation 0;
@@ -23,78 +23,78 @@
#X obj 22 219 limiter~ 0 1 2 3;
#X obj 22 253 limiter~ 1 2;
#X obj 18 310 limiter~ We need 4 inlets;
-#X restore 39 202 page creation;
+#X restore 39 322 page creation;
#N canvas 62 0 762 828 modes 0;
-#X text -259 189 MODE 0 : 1-treshold-limiter;
-#X text -261 384 MODE 1 : 2-tresholds-limiter;
-#X msg 62 255 print;
-#X obj 16 316 limiter~;
-#X obj 39 141 limiter~;
-#X msg 103 123 help;
-#X msg 102 104 print;
-#X msg 39 32 mode 0;
-#X msg 102 31 LIMIT;
-#X msg 39 50 mode 1;
-#X msg 102 49 CRACK;
-#X msg 39 67 mode 2;
-#X msg 102 66 COMPRESS;
-#X text 172 48 crack limiter (2 tresholds);
-#X text 172 66 compressor (1 treshold);
-#X text 181 102 context status;
-#X text 82 30 ==;
-#X text 81 49 ==;
-#X text 80 68 ==;
-#X msg 77 302 LIMIT;
-#X obj 77 286 loadbang;
-#X text 171 30 normal limiter (1 treshold) [default];
-#X msg 61 459 print;
-#X obj 13 522 limiter~;
-#X obj 74 492 loadbang;
-#X msg 74 508 CRACK;
-#X msg 47 716 print;
-#X obj 60 760 loadbang;
-#X text -255 590 MODE 2 : compressor;
-#X msg 60 776 COMPRESS;
-#X msg 52 629 ratio 0.5;
-#X text 159 628 set compress-ratio (0.5 == 1:2);
-#X text 159 605 set the treshold \, where the compressor should start
+#X text -189 189 MODE 0 : 1-treshold-limiter;
+#X text -191 384 MODE 1 : 2-tresholds-limiter;
+#X msg 232 255 print;
+#X obj 186 316 limiter~;
+#X obj 209 141 limiter~;
+#X msg 273 123 help;
+#X msg 272 104 print;
+#X msg 209 32 mode 0;
+#X msg 272 31 LIMIT;
+#X msg 209 50 mode 1;
+#X msg 272 49 CRACK;
+#X msg 209 67 mode 2;
+#X msg 272 66 COMPRESS;
+#X text 342 48 crack limiter (2 tresholds);
+#X text 342 66 compressor (1 treshold);
+#X text 351 102 context status;
+#X text 252 30 ==;
+#X text 251 49 ==;
+#X text 250 68 ==;
+#X msg 247 302 LIMIT;
+#X obj 247 286 loadbang;
+#X text 341 30 normal limiter (1 treshold) [default];
+#X msg 231 459 print;
+#X obj 183 522 limiter~;
+#X obj 244 492 loadbang;
+#X msg 244 508 CRACK;
+#X msg 217 716 print;
+#X obj 230 760 loadbang;
+#X text -185 590 MODE 2 : compressor;
+#X msg 230 776 COMPRESS;
+#X msg 222 629 ratio 0.5;
+#X text 329 628 set compress-ratio (0.5 == 1:2);
+#X text 329 605 set the treshold \, where the compressor should start
to compress;
-#X text 162 677 set the compressor (limit/treshold/ratio);
-#X text 161 655 set limit/holdtime/releasetime at once;
-#X text 163 717 view actual settings;
-#X text 147 459 view actual settings;
-#X msg 64 188 limit 90;
-#X msg 64 211 set 105 40 150;
-#X msg 62 404 set 105 40 150;
-#X msg 65 426 set2 120 1 10;
-#X msg 51 654 set 110 40 150;
-#X msg 51 611 treshold 10;
-#X msg 50 677 compress 96 88 0.5;
-#X text 158 591 set the output-limit;
-#X msg 51 593 limit 98;
-#X text 148 254 view actual settings;
-#X text 149 212 set limit/holdtime/releasetime at once;
-#X text 149 185 set output limit;
-#X obj -1 790 limiter~;
-#X text 145 404 set limiter1 (output-limit/hold-time/release-time)
+#X text 352 677 set the compressor (limit/treshold/ratio);
+#X text 331 655 set limit/holdtime/releasetime at once;
+#X text 333 717 view actual settings;
+#X text 337 459 view actual settings;
+#X msg 234 188 limit 90;
+#X msg 234 211 set 105 40 150;
+#X msg 232 404 set 105 40 150;
+#X msg 235 426 set2 120 1 10;
+#X msg 221 654 set 110 40 150;
+#X msg 221 611 treshold 10;
+#X msg 220 677 compress 96 88 0.5;
+#X text 328 591 set the output-limit;
+#X msg 221 593 limit 98;
+#X text 338 254 view actual settings;
+#X text 339 212 set limit/holdtime/releasetime at once;
+#X text 339 185 set output limit;
+#X obj 169 790 limiter~;
+#X text 335 404 set limiter1 (output-limit/hold-time/release-time)
;
#X text -260 621 the output signal will never become louder than the
specified output-limit.;
-#X text -260 643 if the input-signal becomes loader than the input-treshold
+#X text -260 653 if the input-signal becomes loader than the input-treshold
\, a compressor will start working \, compressing the dynamic range
by the specified ratio. Signals lesser than the treshold will pass
through uncompressed.;
#X text -231 59 set the limiter~ to one of the 3 modes;
-#X text 144 380 set both limits;
-#X text -261 220 this is simple : the output will not become bigger
+#X text 334 380 set both limits;
+#X text -259 210 this is simple : the output will not become bigger
than the specified limit. When the input becomes small enough again
so that this condition is matched even without (positive) amplification
(this is \, when the input signal level falls below the limit) \, the
amplification will increase gradually (depending on hold- & release-time)
towards 1;
-#X text 144 427 set limiter2 (input-treshold/hold-time/release-time)
+#X text 334 427 set limiter2 (input-treshold/hold-time/release-time)
;
-#X msg 62 381 limits 100 108;
+#X msg 232 381 limits 100 108;
#X text -260 414 this limiter can be used to handle disgusting things
like cracks \, which are much louder than the "normal" musical signal.
Typically hold- and release-times for the second limiter are far smaller
@@ -103,10 +103,10 @@ quite fast (since the crack would disturb the sensation anyhow \, we
do not care much about the distortion caused by a fast limiter). The
treshold for the 2nd limiter must be greater than the ouput-limit (if
not \, the limiter will be reset to MODE 0);
-#X text -257 288 all levels (limts/tresholds) should be given in dB
+#X text -257 298 all levels (limts/tresholds) should be given in dB
to produce satisfying results (following pd's agreement on the deziBel-scale
\, 100dB are equal to 1 \, 0dB equals 0 \, ...);
-#X text 184 123 context(!) help;
+#X text 354 123 context(!) help;
#X connect 2 0 3 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
@@ -134,22 +134,19 @@ to produce satisfying results (following pd's agreement on the deziBel-scale
#X connect 43 0 49 0;
#X connect 45 0 49 0;
#X connect 57 0 23 0;
-#X restore 184 201 page modes;
-#X msg 338 192 print;
-#X obj 385 316 dac~;
-#X obj 385 259 *~;
-#X obj 416 259 *~;
-#X floatatom 401 112 0 0 0;
-#X floatatom 482 110 0 0 0;
-#X floatatom 440 111 0 0 0;
-#X text 437 98 both;
-#X text 396 98 left;
-#X text 478 98 right;
-#X obj 416 206 limiter~ 50 1;
+#X restore 184 321 page modes;
+#X msg 398 249 print;
+#X obj 445 319 *~;
+#X obj 476 319 *~;
+#X floatatom 476 199 0 0 0 2 left - -;
+#X floatatom 562 200 0 0 0 2 right - -;
+#X floatatom 520 181 0 0 0 2 both - -;
+#X obj 476 266 limiter~ 50 1;
#N canvas 0 153 455 493 tabwrite 0;
-#X graph graph1 0 -1 32767 1 130 336 330 196;
+#N canvas 0 0 450 300 graph1 0;
#X array array1 32768 float 0;
-#X pop;
+#X coords 0 1 32767 -1 200 140 1;
+#X restore 130 196 graph;
#X obj 111 63 inlet~;
#X msg 214 78 \; array1 resize 32768;
#X obj 111 85 tabwrite~ array1;
@@ -159,11 +156,11 @@ to produce satisfying results (following pd's agreement on the deziBel-scale
#X connect 1 0 3 0;
#X connect 4 0 3 0;
#X connect 5 0 2 0;
-#X restore 443 318 pd tabwrite;
-#X obj 416 317 env~;
-#X floatatom 416 335 4 0 0;
-#X text 30 184 to learn more about this object \, try these;
-#X text 48 301 http://iem.kug.ac.at/~zmoelnig;
+#X restore 372 408 pd tabwrite;
+#X obj 382 341 env~;
+#X floatatom 382 359 4 0 0 0 - - -;
+#X text 30 304 to learn more about this object \, try these;
+#X text 48 371 http://iem.kug.ac.at/~zmoelnig;
#N canvas 59 76 600 400 generator~ 0;
#X obj 86 49 inlet;
#X obj 252 54 inlet;
@@ -195,32 +192,105 @@ to produce satisfying results (following pd's agreement on the deziBel-scale
#X connect 12 0 9 0;
#X connect 14 0 11 0;
#X connect 15 0 12 0;
-#X restore 416 161 pd generator~;
-#X obj 426 240 nop~;
-#X obj 385 240 nop~;
-#X text 37 91 it is quite important to delay the original signals before
+#X restore 476 221 pd generator~;
+#X text 37 99 it is quite important to delay the original signals before
the limiter-amplification is applied to prevent clicks !!!;
-#X text 52 283 1906:forum::für::umläute:2001;
+#X text 52 353 1906:forum::für::umläute:2001;
#X text 36 41 limiter will output the amplification-factor that has
to be applied on all INlet~s to get a beautiful limited multichannel-signal
that preserves the balance between the channels;
-#X text 401 72 level of the inlets;
-#X text 389 83 (give some 190dB and notice no clipping);
-#X connect 4 0 14 0;
-#X connect 6 0 5 0;
-#X connect 7 0 5 1;
+#X text 585 170 level of the inlets;
+#X text 511 148 (give some 190dB and notice no clipping);
+#X obj 493 298 z~ 64;
+#X obj 445 299 z~ 64;
+#X text 539 17 part of zexy;
+#X floatatom 496 354 0 0 100 0 - - -;
+#N canvas 159 26 532 285 output 0;
+#X obj 348 160 t b;
+#X obj 348 110 f;
+#X obj 348 60 inlet;
+#X text 354 29 mute;
+#X obj 348 185 f;
+#X msg 436 180 0;
+#X msg 348 85 bang;
+#X obj 348 135 moses 1;
+#X obj 407 110 moses 1;
+#X obj 133 148 dbtorms;
+#X obj 20 155 inlet~;
+#X obj 239 41 inlet;
+#X text 239 18 level;
+#X msg 146 65 set \$1;
+#X obj 146 90 outlet;
+#X msg 254 65 \; pd dsp 1;
+#X obj 133 198 line~;
+#X obj 20 207 *~;
+#X obj 20 232 dac~;
+#X obj 133 173 pack 0 50;
+#X text 20 132 audio;
+#X text 146 114 show level;
+#X obj 436 155 t b;
+#X obj 20 181 hip~ 1;
+#X obj 133 42 r \$0master-lvl;
+#X obj 80 155 inlet~;
+#X obj 80 207 *~;
+#X obj 80 181 hip~ 1;
+#X obj 239 105 s \$0master-lvl;
+#X obj 407 85 r \$0master-lvl;
+#X obj 348 210 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 30 0;
+#X connect 5 0 30 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 22 0;
+#X connect 8 1 4 1;
+#X connect 9 0 19 0;
+#X connect 10 0 23 0;
+#X connect 11 0 15 0;
+#X connect 11 0 28 0;
+#X connect 13 0 14 0;
+#X connect 16 0 17 1;
+#X connect 16 0 26 1;
+#X connect 17 0 18 0;
+#X connect 19 0 16 0;
+#X connect 22 0 5 0;
+#X connect 23 0 17 0;
+#X connect 24 0 9 0;
+#X connect 24 0 13 0;
+#X connect 25 0 27 0;
+#X connect 26 0 18 1;
+#X connect 27 0 26 0;
+#X connect 29 0 1 1;
+#X connect 29 0 8 0;
+#X restore 458 382 pd output;
+#X msg 534 355 MUTE;
+#X text 37 132 this is \, because the limiter algorithm needs some
+time (e.g. the outcoming signal is delayed by some samples) \; directly
+multiplying would therefore be a bit too late \, in case a spike appears.
+Adding a small delay takes care of this psychoacoustically (you won't
+here the click);
+#X text 532 300 just a small delay of 64 samples;
+#X text 531 44 updated for zexy-2.0;
+#X connect 4 0 10 0;
+#X connect 5 0 26 0;
+#X connect 5 0 12 0;
+#X connect 6 0 11 0;
+#X connect 6 0 26 1;
#X connect 7 0 16 0;
-#X connect 7 0 15 0;
-#X connect 8 0 20 0;
-#X connect 9 0 20 1;
-#X connect 10 0 20 0;
-#X connect 10 0 20 1;
-#X connect 14 0 7 0;
-#X connect 14 0 6 1;
-#X connect 16 0 17 0;
-#X connect 20 0 14 0;
-#X connect 20 0 22 0;
-#X connect 20 1 14 1;
-#X connect 20 1 21 0;
-#X connect 21 0 7 1;
-#X connect 22 0 6 0;
+#X connect 8 0 16 1;
+#X connect 9 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 10 0 5 1;
+#X connect 12 0 13 0;
+#X connect 16 0 10 0;
+#X connect 16 0 23 0;
+#X connect 16 1 10 1;
+#X connect 16 1 22 0;
+#X connect 22 0 6 1;
+#X connect 23 0 5 0;
+#X connect 25 0 26 2;
+#X connect 26 0 25 0;
+#X connect 27 0 26 3;
diff --git a/examples/list2int.pd b/examples/list2int.pd
index d850396..607183e 100644
--- a/examples/list2int.pd
+++ b/examples/list2int.pd
@@ -1,17 +1,18 @@
-#N canvas 104 89 612 302 12;
-#X obj 106 246 print;
-#X msg 141 139 3.14159 2 hello 1;
-#X msg 150 170 gosh 2.3 1;
-#X obj 106 212 list2int;
-#X text 145 23 list to integer;
-#X text 98 49 cast all floats of a list to integers;
-#X msg 106 110 1 2 -1.567 3 2;
-#X text 225 110 list of floats;
-#X text 316 138 list with symbols;
-#X text 240 169 anything;
-#X obj 412 248 l2i;
-#X text 365 248 alias;
-#X connect 1 0 3 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X connect 6 0 3 0;
+#N canvas 265 308 612 302 12;
+#X obj 106 246 print;
+#X msg 141 139 3.14159 2 hello 1;
+#X msg 150 170 gosh 2.3 1;
+#X obj 106 212 list2int;
+#X text 145 23 list to integer;
+#X text 98 49 cast all floats of a list to integers;
+#X msg 106 110 1 2 -1.567 3 2;
+#X text 238 110 list of floats;
+#X text 304 139 list with symbols;
+#X obj 412 248 l2i;
+#X text 365 248 alias;
+#X text 451 15 part of zexy;
+#X text 248 169 not really a list;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X connect 6 0 3 0;
diff --git a/examples/list2symbol.pd b/examples/list2symbol.pd
index 12c0592..846a85a 100644
--- a/examples/list2symbol.pd
+++ b/examples/list2symbol.pd
@@ -1,22 +1,26 @@
-#N canvas 198 171 809 343 10;
+#N canvas 228 508 809 343 10;
#X obj 135 48 list2symbol;
#X text 219 48 convert a list into a symbol;
#X obj 457 50 l2s;
-#X symbolatom 75 286 50 0 0;
-#X obj 75 258 list2symbol;
+#X symbolatom 75 286 0 0 0 0 - - -;
#X msg 75 97 list this was a list and is now a symbol;
#X msg 159 118 anythings work fine too;
#X obj 507 268 l2s my bonnie is over the ocean;
#X obj 507 288 print;
#X msg 507 247 bang;
-#X symbolatom 147 223 10 0 0;
-#X msg 147 188 symbol --;
-#X text 230 187 by default \, list-elements are separated by spaces.
+#X symbolatom 147 223 10 0 0 0 - - -;
+#X msg 147 158 symbol --;
+#X text 230 157 by default \, list-elements are separated by spaces.
You can set the separator to any symbol;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 6 0 4 0;
-#X connect 7 0 8 0;
-#X connect 9 0 7 0;
-#X connect 10 0 4 1;
-#X connect 11 0 10 0;
+#X text 536 31 part of zexy;
+#X msg 156 201 symbol;
+#X obj 75 258 list2symbol;
+#X text 222 203 even to a zero-length symbol!;
+#X connect 4 0 14 0;
+#X connect 5 0 14 0;
+#X connect 6 0 7 0;
+#X connect 8 0 6 0;
+#X connect 9 0 14 1;
+#X connect 10 0 9 0;
+#X connect 13 0 9 0;
+#X connect 14 0 3 0;
diff --git a/examples/lister.pd b/examples/lister.pd
index 66dd74e..c9b4ec8 100644
--- a/examples/lister.pd
+++ b/examples/lister.pd
@@ -1,4 +1,4 @@
-#N canvas 194 86 685 518 10;
+#N canvas 385 348 685 518 10;
#X obj 110 16 lister;
#X text 160 17 - store a list;
#X msg 41 132 bang;
@@ -34,6 +34,7 @@ a symbol \, you need to cast it as a list:;
#X obj 154 52 float;
#X obj 202 52 int;
#X obj 237 52 symbol;
+#X text 497 29 part of zexy;
#X connect 2 0 10 0;
#X connect 9 0 10 1;
#X connect 10 0 6 0;
diff --git a/examples/lpt.pd b/examples/lpt.pd
index 2a317b7..d9f461d 100644
--- a/examples/lpt.pd
+++ b/examples/lpt.pd
@@ -1,20 +1,44 @@
#N canvas 173 205 772 508 10;
-#X obj 90 33 lp;
#X text 129 36 write data to the (parallel) port;
-#X text 82 70 this is LINUX ONLY !!!;
-#X text 17 125 note:;
-#X text 59 126 you might have to be root to get write-permissions on your specified port.;
-#X text 59 160 you can access all ports on your system when using "lp <hex-port-address>";
-#X text 59 194 if your port-address exceeds 0x3ff \, "lp" will try to get all permissions with the iopl()-command. this might be dangerous !;
-#X obj 81 411 lp 0;
-#X obj 110 411 lp 1;
-#X obj 139 411 lp 2;
#X text 75 390 parallel ports 0 \, 1 \, 2;
-#X obj 294 415 lp 0x378;
#X text 289 394 another port;
-#X obj 81 337 lp 1;
#X obj 81 305 % 256;
-#X floatatom 81 283 4 0 0;
+#X floatatom 81 283 4 0 0 0 - - -;
#X text 122 284 write an 8bit-word;
-#X connect 14 0 13 0;
-#X connect 15 0 14 0;
+#X obj 90 33 lpt;
+#X obj 81 337 lpt 1;
+#X obj 81 411 lpt 0;
+#X obj 120 411 lpt 1;
+#X obj 159 411 lpt 2;
+#X obj 294 415 lpt 0x378;
+#X text 521 30 part of zexy;
+#X text 82 70 this does not work on osX (as there is no parallel port)
+;
+#X text 79 194 if your port-address exceeds 0x3ff \, "lpt" will try
+to get all permissions with the iopl()-command. this might be dangerous
+!;
+#X text 79 160 you can access all ports on your system when using "lpt
+<hex-port-address>";
+#N canvas 0 0 631 406 windows 0;
+#X text 32 16 To get it running under WinNT/2000/XP a special kernel
+driver is needed. These systems do not allow direct access to I/O ports.
+;
+#X text 53 207 If you ever whish to remove the kernel driver start
+the programm again and click 'Stop'.;
+#X text 54 242 Under Win95/98/Me all this is not needed!!!;
+#X text 52 272 Good Luck!;
+#X text 54 141 The subfolder 'UserPort' contains a kernel driver that
+handles the I/O stuff. Just copy the file UserPort.sys into %WINDIR%/system32/drivers
+(e.g. C:/WinNT/system32/drivers) and run the program UserPort.exe.
+Click on 'Start' and then 'Exit'.;
+#X text 175 112 ftp://iem.at/DOSen/UserPort/;
+#X text 172 82 http://www.embeddedtronics.com/public/Electronics/minidaq/..
+../userport;
+#X text 49 79 downloads:;
+#X text 267 326 thanks to Olaf Matthes for this;
+#X restore 292 94 pd windows;
+#X text 78 94 windoze users shoud read this:;
+#X text 79 122 linux users might have to be root to get write-permissions
+on your specified port.;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
diff --git a/examples/makesymbol.pd b/examples/makesymbol.pd
index 2fced08..1e6fd10 100644
--- a/examples/makesymbol.pd
+++ b/examples/makesymbol.pd
@@ -1,4 +1,4 @@
-#N canvas 469 38 727 656 10;
+#N canvas 382 48 796 839 10;
#X obj 57 15 makesymbol;
#X text 152 13 makesymbol is something between the "symbol" and the
"makefilename" object.;
@@ -30,7 +30,7 @@ argument on the second input or as a creation-argument.;
#X text 321 255 if the right inlet (mask) does not have any format-tags
\, the left one won't get through !!;
#X floatatom 61 458 0 0 0 0 - - -;
-#X text 149 471 it doesn't matter whether you are using numbers \,
+#X text 177 473 it doesn't matter whether you are using numbers \,
symbols...;
#X text 235 567 note:: every member of the list will be converted to
a STRING \, so there's no use \, using %d \, %f...;
@@ -40,7 +40,6 @@ a STRING \, so there's no use \, using %d \, %f...;
#X symbolatom 92 427 25 0 0 0 - - -;
#X symbolatom 72 306 25 0 0 0 - - -;
#X symbolatom 80 619 25 0 0 0 - - -;
-#X obj 61 478 ftos;
#X symbolatom 58 166 0 0 0 0 - - -;
#X text 58 98 The result will always be a symbol.;
#X msg 58 118 list you can have up to ten members in your list.;
@@ -48,10 +47,18 @@ a STRING \, so there's no use \, using %d \, %f...;
#X obj 19 426 print B;
#X obj 10 618 print C;
#X obj 13 305 print A;
+#X obj 61 478 makefilename %d;
+#X text 551 18 part of zexy;
+#X text 25 719 a personal ntoe: this object is somewhat obsoleted \;
+use the following instead:;
+#X obj 167 742 makefilename;
+#X obj 167 772 l2s;
+#X text 260 741 (plain pd!);
+#X text 260 775 (zexy);
#X connect 3 0 32 0;
-#X connect 3 0 41 0;
+#X connect 3 0 40 0;
#X connect 4 0 33 0;
-#X connect 4 0 40 0;
+#X connect 4 0 39 0;
#X connect 5 0 3 0;
#X connect 6 0 11 0;
#X connect 7 0 4 0;
@@ -59,7 +66,7 @@ a STRING \, so there's no use \, using %d \, %f...;
#X connect 9 0 3 0;
#X connect 10 0 3 0;
#X connect 11 0 31 0;
-#X connect 11 0 39 0;
+#X connect 11 0 38 0;
#X connect 12 0 11 0;
#X connect 13 0 3 1;
#X connect 14 0 3 1;
@@ -71,8 +78,8 @@ a STRING \, so there's no use \, using %d \, %f...;
#X connect 20 0 19 0;
#X connect 21 0 11 1;
#X connect 22 0 11 1;
-#X connect 26 0 34 0;
+#X connect 26 0 41 0;
#X connect 29 0 11 0;
-#X connect 34 0 19 0;
-#X connect 37 0 38 0;
-#X connect 38 0 35 0;
+#X connect 36 0 37 0;
+#X connect 37 0 34 0;
+#X connect 41 0 19 0;
diff --git a/examples/matrix.pd b/examples/matrix.pd
deleted file mode 100644
index a1c6332..0000000
--- a/examples/matrix.pd
+++ /dev/null
@@ -1,133 +0,0 @@
-#N canvas 94 0 1118 745 10;
-#X obj 258 -23 matrix;
-#X obj 61 187 mtx_check;
-#X obj 61 216 mtx_print;
-#X obj 544 -21 mtx;
-#X obj 30 535 mtx_print;
-#X obj 30 513 matrix;
-#X msg 42 372 zeros 5;
-#X msg 30 353 eye 3;
-#X msg 49 390 ones 4;
-#X msg 55 411 diag 1 2 3 4;
-#X obj 369 531 matrix;
-#X obj 471 496 loadbang;
-#X obj 471 516 mtx_diag 4 3 1 2;
-#X obj 369 553 print;
-#X msg 369 364 row;
-#X msg 539 497 bang;
-#X msg 379 404 row \$1;
-#X floatatom 379 385 4 0 0;
-#X floatatom 391 424 4 0 0;
-#X msg 391 443 row \$1 1 2 3 4;
-#X floatatom 498 382 4 0 0;
-#X floatatom 510 421 4 0 0;
-#X msg 488 362 col;
-#X msg 498 401 col \$1;
-#X msg 510 440 col \$1 1 2 3 4;
-#X msg 592 364 element;
-#X msg 623 406 element \$1;
-#X floatatom 643 428 4 0 0;
-#X msg 643 447 element 3 \$1;
-#X floatatom 623 386 4 0 0;
-#X msg 61 162 matrix 3 3 1 2 3 4 5 6 7;
-#X msg 39 136 matrix 3 3 1 2 3 4 5 6 7;
-#X text 43 79 this is \, how a matrix really looks...;
-#X text 216 134 an "illegal" matrix;
-#X text 122 187 make the "illegal" matrix consistent;
-#X text 216 103 a "legal" matrix;
-#X msg 40 103 matrix 3 3 1 2 3 1 2 4 7 6 5;
-#X obj 590 218 mtx_print;
-#X obj 590 196 matrix;
-#X obj 655 174 mtx_ones 10;
-#X msg 655 154 bang;
-#X text 121 218 print to stderr (like "print");
-#X msg 590 64 bang;
-#X floatatom 615 103 4 0 0;
-#X msg 604 85 matrix 2 3 10 10 30 20 -5 8;
-#X msg 627 126 1 2 3 1 2 3 10 20 30;
-#X text 758 118 a list of elements;
-#X text 759 132 has to fit the size of the "current" matrix;
-#X text 651 104 set all elements of the current matrix to a value;
-#X text 366 345 get/set rows;
-#X text 479 344 get/set columns;
-#X text 5 564 create various matrices;
-#X text 356 -21 matrix operations;
-#X text 636 197 ==;
-#X obj 660 197 mtx;
-#X msg 335 398 bang;
-#X text 586 344 get/set elements;
-#X msg 654 486 element \$1 2 10;
-#X floatatom 654 468 4 0 0;
-#X msg 702 406 element \$1 \$1;
-#X text 687 406 ==;
-#X obj 161 479 matrix 3 2;
-#X obj 161 525 mtx_print;
-#X msg 161 357 bang;
-#X text 143 542 an "empty" [3 \, 2] matrix;
-#X msg 73 433 egg 4;
-#X msg 75 455 diegg 3 2 1;
-#X obj 126 671 mtx_element;
-#X obj 225 646 mtx_size;
-#X obj 225 669 mtx_transpose;
-#X obj 427 650 mtx_mean;
-#X obj 427 669 mtx_rand;
-#X obj 338 670 mtx_inverse;
-#X obj 126 646 mtx_eye;
-#X obj 338 645 mtx_+;
-#X text 127 620 see also help for:;
-#X msg 912 383 write /tmp/my_matrix.mtx;
-#X msg 912 406 read /tmp/my_matrix.mtx;
-#X obj 810 412 mtx_rand;
-#X msg 810 390 4 5;
-#X msg 858 389 bang;
-#X obj 858 464 mtx_print;
-#X text 848 351 load and save matrices;
-#X obj 858 440 matrix test.mtx;
-#X connect 1 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 5 0;
-#X connect 7 0 5 0;
-#X connect 8 0 5 0;
-#X connect 9 0 5 0;
-#X connect 10 0 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 10 1;
-#X connect 14 0 10 0;
-#X connect 15 0 12 0;
-#X connect 16 0 10 0;
-#X connect 17 0 16 0;
-#X connect 18 0 19 0;
-#X connect 19 0 10 0;
-#X connect 20 0 23 0;
-#X connect 21 0 24 0;
-#X connect 22 0 10 0;
-#X connect 23 0 10 0;
-#X connect 24 0 10 0;
-#X connect 25 0 10 0;
-#X connect 26 0 10 0;
-#X connect 27 0 28 0;
-#X connect 28 0 10 0;
-#X connect 29 0 26 0;
-#X connect 30 0 1 0;
-#X connect 31 0 2 0;
-#X connect 36 0 2 0;
-#X connect 38 0 37 0;
-#X connect 39 0 38 1;
-#X connect 40 0 39 0;
-#X connect 42 0 38 0;
-#X connect 43 0 38 0;
-#X connect 44 0 38 0;
-#X connect 45 0 38 0;
-#X connect 55 0 10 0;
-#X connect 57 0 10 0;
-#X connect 58 0 57 0;
-#X connect 61 0 62 0;
-#X connect 63 0 61 0;
-#X connect 65 0 5 0;
-#X connect 66 0 5 0;
-#X connect 76 0 83 0;
-#X connect 77 0 83 0;
-#X connect 78 0 83 0;
-#X connect 79 0 78 0;
-#X connect 80 0 83 0;
-#X connect 83 0 81 0;
diff --git a/examples/matrix~.pd b/examples/matrix~.pd
deleted file mode 100644
index 5b0fa07..0000000
--- a/examples/matrix~.pd
+++ /dev/null
@@ -1,58 +0,0 @@
-#N canvas 59 -12 889 589 12;
-#X obj 68 271 osc~ 100;
-#X obj 68 297 *~ 0.2;
-#X obj 112 320 osc~ 1000;
-#X obj 112 346 *~ 1.5;
-#X obj 157 295 osc~ 432;
-#X obj 68 411 env~;
-#X floatatom 68 435 4 0 0;
-#X obj 127 410 env~;
-#X floatatom 127 434 4 0 0;
-#X obj 187 410 env~;
-#X floatatom 187 434 4 0 0;
-#X obj 247 409 env~;
-#X floatatom 247 433 4 0 0;
-#X floatatom 284 350 4 0 0;
-#X text 332 353 fade time in [ms];
-#X msg 265 100 bang;
-#X obj 265 127 mtx_eye 3 4;
-#X msg 362 100 bang;
-#X obj 362 127 mtx_egg 3 4;
-#X msg 261 179 bang;
-#X msg 362 178 bang;
-#X obj 261 206 mtx_ones 3 4;
-#X obj 362 205 mtx_zeros 3 4;
-#X obj 68 371 matrix~ 3 4 100 .......;
-#X obj 98 32 matrix~;
-#X text 174 24 matrix-multiply m IN~signals to n OUT~signals;
-#X text 174 37 matrices are interpolated a la line~;
-#X text 473 91 the one-before-last inlet eats;
-#X text 476 104 matrix-messages to control the gains;
-#X text 475 117 of the matrix~;
-#X text 484 333 the last inlet gets the fade-time between two matrix-messages.
-;
-#X obj 78 505 matrix~;
-#X text 154 503 creation: "matrix~ [<num_in> [<num_out> [<fade_time>]]]
-;
-#X connect 0 0 1 0;
-#X connect 1 0 23 0;
-#X connect 2 0 3 0;
-#X connect 3 0 23 1;
-#X connect 4 0 23 2;
-#X connect 5 0 6 0;
-#X connect 7 0 8 0;
-#X connect 9 0 10 0;
-#X connect 11 0 12 0;
-#X connect 13 0 23 4;
-#X connect 15 0 16 0;
-#X connect 16 0 23 3;
-#X connect 17 0 18 0;
-#X connect 18 0 23 3;
-#X connect 19 0 21 0;
-#X connect 20 0 22 0;
-#X connect 21 0 23 3;
-#X connect 22 0 23 3;
-#X connect 23 0 5 0;
-#X connect 23 1 7 0;
-#X connect 23 2 9 0;
-#X connect 23 3 11 0;
diff --git a/examples/mavg.pd b/examples/mavg.pd
index 55a5e0e..3d08d03 100644
--- a/examples/mavg.pd
+++ b/examples/mavg.pd
@@ -1,16 +1,17 @@
-#N canvas 0 0 452 302 12;
-#X obj 119 132 metro 100;
-#X obj 119 155 random 10;
-#X floatatom 119 235 4 0 0;
-#X msg 120 107 1;
-#X msg 153 108 0;
-#X obj 119 202 mavg 4;
-#X floatatom 220 181 4 0 0;
-#X text 59 20 moving average filter;
-#X text 261 181 samples to average;
-#X connect 0 0 1 0;
-#X connect 1 0 5 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 2 0;
-#X connect 6 0 5 1;
+#N canvas 404 326 452 302 12;
+#X obj 119 132 metro 100;
+#X obj 119 155 random 10;
+#X floatatom 119 235 4 0 0 0 - - -;
+#X msg 120 107 1;
+#X msg 153 108 0;
+#X obj 119 202 mavg 4;
+#X floatatom 220 181 4 0 0 0 - - -;
+#X text 59 20 moving average filter;
+#X text 261 181 samples to average;
+#X text 277 47 part of zexy;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 2 0;
+#X connect 6 0 5 1;
diff --git a/examples/mean.pd b/examples/mean.pd
deleted file mode 100644
index ca2851b..0000000
--- a/examples/mean.pd
+++ /dev/null
@@ -1,9 +0,0 @@
-#N canvas 186 94 383 302 12;
-#X obj 83 154 mean;
-#X floatatom 83 202 4 0 0;
-#X msg 96 96 2 4;
-#X text 46 17 get the mean value of a list of floats;
-#X msg 83 69 1 2 3 -4 5 6;
-#X connect 0 0 1 0;
-#X connect 2 0 0 0;
-#X connect 4 0 0 0;
diff --git a/examples/minmax.pd b/examples/minmax.pd
index 8675c12..676a5ba 100644
--- a/examples/minmax.pd
+++ b/examples/minmax.pd
@@ -1,11 +1,12 @@
-#N canvas 230 189 450 300 10;
+#N canvas 369 451 561 303 10;
#X obj 73 61 minmax;
#X text 127 60 get minimum and maximum of a (list of floats);
#X obj 45 152 minmax;
-#X floatatom 45 184 4 0 0;
-#X floatatom 76 184 4 0 0;
+#X floatatom 45 184 4 0 0 0 - - -;
+#X floatatom 76 184 4 0 0 0 - - -;
#X msg 45 112 10 2;
#X msg 80 129 1 2 3 4 9 6 -1 7;
+#X text 352 14 part of zexy;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 5 0 2 0;
diff --git a/examples/msgfile.pd b/examples/msgfile.pd
index 2e8ff56..0721612 100644
--- a/examples/msgfile.pd
+++ b/examples/msgfile.pd
@@ -1,109 +1,117 @@
-#N canvas 127 -1 1027 898 10;
-#X msg 463 10 rewind;
-#X obj 392 853 print done;
-#X text 575 665 read a file;
-#X text 609 686 write one;
-#X text 23 356 see also:;
-#X text 512 9 go to beginning;
-#X msg 466 223 bang;
-#X text 474 724 write a file \, terminating lines only with carriage return (omitting semicolons.) You can read files this way too \, in which case carriage returns are mapped to semicolons.;
-#X obj 355 871 print list;
-#X msg 466 281 clear;
-#X text 123 872 this outlet gets the lines in sequence.;
-#X msg 470 571 set 2 4 6 8;
-#X text 576 570 clear and then add one message;
-#X msg 466 388 add cis boom bah;
-#X msg 465 407 add2 bang;
-#X msg 465 782 print;
-#X text 507 784 debugging printout;
-#X obj 73 9 msgfile;
-#X text 127 9 read and write messages into text files;
-#X obj 355 815 msgfile;
-#X obj 84 357 textfile;
-#X text 18 57 The msgfile object is derived from the textfile object and expands its features.;
-#X text 15 97 new features are :;
-#X text 127 110 insert \, append \, delete \, replace;
-#X msg 464 33 end;
-#X text 511 33 go the the end;
-#X msg 462 84 skip -1;
-#X msg 463 181 next;
-#X msg 462 139 prev;
-#X msg 462 108 where;
-#X text 515 107 where are we now ?;
-#X msg 463 160 this;
-#X text 516 84 go to the <n>th line from here;
-#X text 512 58 go to line number <n>;
-#X text 515 220 output one line as a list and move to the next;
-#X text 520 282 empty the object;
-#X msg 467 321 delete 2;
-#X text 9 183 changed behaviour :;
-#X text 130 183 add2 : read "add too" \; append to an existing line;
-#X text 602 433 insert a message before the current line;
-#X text 605 455 add to the previous line (CHANGED BEHAVIOUR !!!);
-#X text 567 405 add to the last line (CHANGED BEHAVIOUR !!!);
-#X text 568 385 add a message at the end of the object;
-#X msg 467 489 append after the break of dawn;
-#X text 661 486 add a message at the current position;
-#X text 660 506 add to the current line (CHANGED BEHAVIOUR !!!);
-#X msg 468 537 replace the new day;
-#X text 660 537 replace the current line;
-#X msg 466 437 insert before sunrise;
-#X msg 466 455 insert2 inserted;
-#X msg 467 508 append2 appendix;
-#X msg 467 250 flush;
-#X text 516 249 output all lines;
-#X text 457 836 This outlet gets a bang when you hit the end of the sequence \; it will also get the current position when using "when";
-#X msg 467 666 read msgfile.txt;
-#X msg 467 708 write /tmp/msgfile2.txt cr;
-#X msg 466 761 read msgfile2.txt cr;
-#X text 511 139 output the previous line;
-#X text 513 179 output the next line;
-#X text 511 159 output the current line;
-#X msg 462 59 goto 8;
-#X msg 467 301 delete;
-#X text 521 302 delete the current line;
-#X text 524 321 delete the specified line;
-#X msg 467 340 delete 4 7;
-#X text 535 341 delete the specified region;
-#X msg 467 360 delete 7 4;
-#X msg 467 687 write /tmp/msgfile.txt;
-#X text 538 360 delete all but the specified region;
-#X msg 472 600 find test 6;
-#X msg 472 619 find test * 7 *;
-#X text 576 606 find a matching list ("*" is the only wildcard supported);
-#X text 127 97 end \, goto \, skip;
-#X text 131 127 flush \, where \, this \, prev \, next;
-#X text 128 145 find;
-#X text 73 163 read/write can handle csv files too;
-#X connect 0 0 19 0;
-#X connect 6 0 19 0;
-#X connect 9 0 19 0;
-#X connect 11 0 19 0;
-#X connect 13 0 19 0;
-#X connect 14 0 19 0;
-#X connect 15 0 19 0;
-#X connect 19 0 8 0;
-#X connect 19 1 1 0;
-#X connect 24 0 19 0;
-#X connect 26 0 19 0;
-#X connect 27 0 19 0;
-#X connect 28 0 19 0;
-#X connect 29 0 19 0;
-#X connect 31 0 19 0;
-#X connect 36 0 19 0;
-#X connect 43 0 19 0;
-#X connect 46 0 19 0;
-#X connect 48 0 19 0;
-#X connect 49 0 19 0;
-#X connect 50 0 19 0;
-#X connect 51 0 19 0;
-#X connect 54 0 19 0;
-#X connect 55 0 19 0;
-#X connect 56 0 19 0;
-#X connect 60 0 19 0;
-#X connect 61 0 19 0;
-#X connect 64 0 19 0;
-#X connect 66 0 19 0;
-#X connect 67 0 19 0;
-#X connect 69 0 19 0;
-#X connect 70 0 19 0;
+#N canvas 127 0 1027 898 10;
+#X msg 463 10 rewind;
+#X obj 392 853 print done;
+#X text 575 665 read a file;
+#X text 609 686 write one;
+#X text 23 356 see also:;
+#X text 512 9 go to beginning;
+#X msg 466 223 bang;
+#X text 474 724 write a file \, terminating lines only with carriage
+return (omitting semicolons.) You can read files this way too \, in
+which case carriage returns are mapped to semicolons.;
+#X obj 355 871 print list;
+#X msg 466 281 clear;
+#X text 73 872 this outlet gets the lines in sequence.;
+#X msg 470 571 set 2 4 6 8;
+#X text 576 570 clear and then add one message;
+#X msg 466 388 add cis boom bah;
+#X msg 465 407 add2 bang;
+#X msg 465 782 print;
+#X text 507 784 debugging printout;
+#X obj 73 9 msgfile;
+#X text 127 9 read and write messages into text files;
+#X obj 355 815 msgfile;
+#X obj 84 357 textfile;
+#X text 18 57 The msgfile object is derived from the textfile object
+and expands its features.;
+#X text 15 97 new features are :;
+#X text 127 110 insert \, append \, delete \, replace;
+#X msg 464 33 end;
+#X text 511 33 go the the end;
+#X msg 462 84 skip -1;
+#X msg 463 181 next;
+#X msg 462 139 prev;
+#X msg 462 108 where;
+#X text 515 107 where are we now ?;
+#X msg 463 160 this;
+#X text 516 84 go to the <n>th line from here;
+#X text 512 58 go to line number <n>;
+#X text 515 220 output one line as a list and move to the next;
+#X text 520 282 empty the object;
+#X msg 467 321 delete 2;
+#X text 9 183 changed behaviour :;
+#X text 130 183 add2 : read "add too" \; append to an existing line
+;
+#X text 602 433 insert a message before the current line;
+#X text 605 455 add to the previous line (CHANGED BEHAVIOUR !!!);
+#X text 567 405 add to the last line (CHANGED BEHAVIOUR !!!);
+#X text 568 385 add a message at the end of the object;
+#X msg 467 489 append after the break of dawn;
+#X text 661 486 add a message at the current position;
+#X text 660 506 add to the current line (CHANGED BEHAVIOUR !!!);
+#X msg 468 537 replace the new day;
+#X text 660 537 replace the current line;
+#X msg 466 437 insert before sunrise;
+#X msg 466 455 insert2 inserted;
+#X msg 467 508 append2 appendix;
+#X msg 467 250 flush;
+#X text 516 249 output all lines;
+#X text 467 836 This outlet gets a bang when you hit the end of the
+sequence \; it will also get the current position when using "when"
+;
+#X msg 467 666 read msgfile.txt;
+#X msg 467 708 write /tmp/msgfile2.txt cr;
+#X msg 466 761 read msgfile2.txt cr;
+#X text 511 139 output the previous line;
+#X text 513 179 output the next line;
+#X text 511 159 output the current line;
+#X msg 462 59 goto 8;
+#X msg 467 301 delete;
+#X text 521 302 delete the current line;
+#X text 524 321 delete the specified line;
+#X msg 467 340 delete 4 7;
+#X text 535 341 delete the specified region;
+#X msg 467 360 delete 7 4;
+#X msg 467 687 write /tmp/msgfile.txt;
+#X text 538 360 delete all but the specified region;
+#X msg 472 600 find test 6;
+#X msg 472 619 find test * 7 *;
+#X text 576 606 find a matching list ("*" is the only wildcard supported)
+;
+#X text 127 97 end \, goto \, skip;
+#X text 131 127 flush \, where \, this \, prev \, next;
+#X text 128 145 find;
+#X text 73 163 read/write can handle csv files too;
+#X text 890 17 part of zexy;
+#X connect 0 0 19 0;
+#X connect 6 0 19 0;
+#X connect 9 0 19 0;
+#X connect 11 0 19 0;
+#X connect 13 0 19 0;
+#X connect 14 0 19 0;
+#X connect 15 0 19 0;
+#X connect 19 0 8 0;
+#X connect 19 1 1 0;
+#X connect 24 0 19 0;
+#X connect 26 0 19 0;
+#X connect 27 0 19 0;
+#X connect 28 0 19 0;
+#X connect 29 0 19 0;
+#X connect 31 0 19 0;
+#X connect 36 0 19 0;
+#X connect 43 0 19 0;
+#X connect 46 0 19 0;
+#X connect 48 0 19 0;
+#X connect 49 0 19 0;
+#X connect 50 0 19 0;
+#X connect 51 0 19 0;
+#X connect 54 0 19 0;
+#X connect 55 0 19 0;
+#X connect 56 0 19 0;
+#X connect 60 0 19 0;
+#X connect 61 0 19 0;
+#X connect 64 0 19 0;
+#X connect 66 0 19 0;
+#X connect 67 0 19 0;
+#X connect 69 0 19 0;
+#X connect 70 0 19 0;
diff --git a/examples/mtx_binops.pd b/examples/mtx_binops.pd
deleted file mode 100644
index a0ae6d0..0000000
--- a/examples/mtx_binops.pd
+++ /dev/null
@@ -1,142 +0,0 @@
-#N canvas 79 32 859 673 10;
-#X obj 87 360 mtx_mul;
-#X obj 157 360 mtx_*;
-#X obj 88 163 mtx_add;
-#X obj 167 166 mtx_+;
-#X obj 155 134 mtx_diag 1 2 3 4 5;
-#X obj 88 134 mtx_ones 5;
-#X obj 88 111 t b b;
-#X obj 88 185 mtx_print;
-#X msg 88 92 bang;
-#X text 142 165 ==;
-#X obj 305 134 mtx_eye 4;
-#X obj 305 159 mtx_add 10;
-#X msg 305 107 bang;
-#X obj 305 186 mtx_print;
-#X floatatom 374 101 4 0 0 0 - - -;
-#X obj 374 119 t b f;
-#X obj 392 160 mtx_+ 10;
-#X text 371 161 ==;
-#X obj 87 394 mtx_print;
-#X msg 87 270 bang;
-#X obj 133 332 mtx_diag 1 2;
-#X obj 87 297 t b b;
-#X obj 87 332 mtx_+ 3;
-#X text 137 361 ==;
-#X obj 87 314 mtx_eye 3 2;
-#X obj 249 399 mtx_print;
-#X obj 249 292 t b f;
-#X floatatom 249 274 4 0 0 0 - - -;
-#X msg 249 315 4 2 1 3;
-#X obj 249 335 mtx_diag;
-#X obj 249 363 mtx_mul 2;
-#X obj 328 363 mtx_* 2;
-#X obj 393 363 mtx_.* 2;
-#X text 310 363 ==;
-#X text 376 364 ==;
-#X obj 522 366 mtx_.*;
-#X obj 522 401 mtx_print;
-#X obj 522 304 mtx_diag 1 2 3;
-#X obj 553 322 mtx_ones 3;
-#X obj 522 283 t b b;
-#X msg 522 264 bang;
-#X obj 553 341 mtx_* 2;
-#X text 80 214 add 2 matrices;
-#X text 274 218 add an offset to a matrix;
-#X text 70 423 multiply 2 matrices;
-#X text 245 422 multiply a matrix with a scalar;
-#X text 506 425 multiply 2 matrices element by element;
-#X text 334 19 matrix arithmetic;
-#X obj 88 599 mtx_print;
-#X obj 88 492 t b f;
-#X floatatom 88 474 4 0 0 0 - - -;
-#X msg 88 515 4 2 1 3;
-#X obj 88 535 mtx_diag;
-#X obj 323 600 mtx_print;
-#X obj 323 503 mtx_diag 1 2 3;
-#X obj 354 521 mtx_ones 3;
-#X obj 354 540 mtx_* 2;
-#X text 84 622 divide a matrix by a scalar;
-#X obj 88 563 mtx_./ 2;
-#X obj 323 565 mtx_./;
-#X text 307 624 divide 2 matrices element by element;
-#X obj 323 482 t b b f;
-#X floatatom 323 463 4 0 0 0 - - -;
-#X obj 709 538 matrix;
-#X text 592 538 see also help for;
-#X obj 550 141 mtx_diag 1 2 3 4 5;
-#X obj 483 141 mtx_ones 5;
-#X obj 483 118 t b b;
-#X obj 483 192 mtx_print;
-#X msg 483 99 bang;
-#X text 537 172 ==;
-#X obj 700 141 mtx_eye 4;
-#X msg 700 114 bang;
-#X obj 700 193 mtx_print;
-#X floatatom 769 108 4 0 0 0 - - -;
-#X obj 769 126 t b f;
-#X text 762 168 ==;
-#X obj 483 170 mtx_sub;
-#X obj 562 173 mtx_-;
-#X obj 779 169 mtx_sub 10;
-#X obj 700 166 mtx_- 10;
-#X text 481 221 subtract 2 matrices;
-#X text 669 225 subtract an offset from a matrix;
-#X connect 0 0 18 0;
-#X connect 2 0 7 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 0;
-#X connect 6 0 5 0;
-#X connect 6 1 4 0;
-#X connect 8 0 6 0;
-#X connect 10 0 11 0;
-#X connect 11 0 13 0;
-#X connect 12 0 10 0;
-#X connect 14 0 15 0;
-#X connect 15 0 10 0;
-#X connect 15 1 11 1;
-#X connect 19 0 21 0;
-#X connect 20 0 0 1;
-#X connect 21 0 24 0;
-#X connect 21 1 20 0;
-#X connect 22 0 0 0;
-#X connect 24 0 22 0;
-#X connect 26 0 28 0;
-#X connect 26 1 30 1;
-#X connect 27 0 26 0;
-#X connect 28 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 25 0;
-#X connect 35 0 36 0;
-#X connect 37 0 35 0;
-#X connect 38 0 41 0;
-#X connect 39 0 37 0;
-#X connect 39 1 38 0;
-#X connect 40 0 39 0;
-#X connect 41 0 35 1;
-#X connect 49 0 51 0;
-#X connect 49 1 58 1;
-#X connect 50 0 49 0;
-#X connect 51 0 52 0;
-#X connect 52 0 58 0;
-#X connect 54 0 59 0;
-#X connect 55 0 56 0;
-#X connect 56 0 59 1;
-#X connect 58 0 48 0;
-#X connect 59 0 53 0;
-#X connect 61 0 54 0;
-#X connect 61 1 55 0;
-#X connect 61 2 56 1;
-#X connect 62 0 61 0;
-#X connect 65 0 77 1;
-#X connect 66 0 77 0;
-#X connect 67 0 66 0;
-#X connect 67 1 65 0;
-#X connect 69 0 67 0;
-#X connect 71 0 80 0;
-#X connect 72 0 71 0;
-#X connect 74 0 75 0;
-#X connect 75 0 71 0;
-#X connect 75 1 80 1;
-#X connect 77 0 68 0;
-#X connect 80 0 73 0;
diff --git a/examples/mtx_element.pd b/examples/mtx_element.pd
deleted file mode 100644
index a69e642..0000000
--- a/examples/mtx_element.pd
+++ /dev/null
@@ -1,64 +0,0 @@
-#N canvas 220 134 544 776 10;
-#X obj 53 302 mtx_print;
-#X obj 53 283 mtx_element 4 3;
-#X obj 64 260 mtx_ones 5 3;
-#X msg 64 241 bang;
-#X floatatom 53 191 4 0 0;
-#X msg 138 184 3 2;
-#X msg 144 202 2 0;
-#X msg 144 219 0 1;
-#X msg 145 237 0 0;
-#X text 179 184 set element [3 \, 2];
-#X text 179 202 set all elements in row [2];
-#X text 177 217 set all elements in column [1];
-#X text 178 236 set all elements of matrix;
-#X text 153 285 creation: mtx_element [<row> <col> [<posR> <posC>]];
-#X obj 53 469 mtx_print;
-#X obj 64 427 mtx_ones 5 3;
-#X msg 64 408 bang;
-#X obj 53 450 mtx_row 4 3;
-#X msg 122 405 0;
-#X text 153 405 set all rows;
-#X msg 114 383 2;
-#X text 154 380 set row [2];
-#X msg 53 356 -1 2 3 4 5;
-#X obj 50 658 mtx_print;
-#X obj 61 616 mtx_ones 5 3;
-#X msg 61 597 bang;
-#X msg 131 592 0;
-#X msg 123 570 2;
-#X msg 50 545 -1 2 3 4 5;
-#X obj 50 639 mtx_col 4 3 3;
-#X text 163 567 set column [2];
-#X text 162 593 set all columns;
-#X text 137 640 creation: mtx_col [<row> <col> [<posC>]];
-#X text 133 452 creation: mtx_row [<row> <col> [<posR>]];
-#X text 52 163 set matrix elements;
-#X text 55 339 set matrix rows;
-#X text 49 529 set matrix columns;
-#X text 187 50 get/set elements/rows/columns of a matrix;
-#X obj 90 33 mtx_element;
-#X obj 89 53 mtx_row;
-#X obj 90 75 mtx_col;
-#X obj 210 738 matrix;
-#X text 98 737 see also help for;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 1;
-#X connect 6 0 1 1;
-#X connect 7 0 1 1;
-#X connect 8 0 1 1;
-#X connect 15 0 17 0;
-#X connect 16 0 15 0;
-#X connect 17 0 14 0;
-#X connect 18 0 17 1;
-#X connect 20 0 17 1;
-#X connect 22 0 17 0;
-#X connect 24 0 29 0;
-#X connect 25 0 24 0;
-#X connect 26 0 29 1;
-#X connect 27 0 29 1;
-#X connect 28 0 29 0;
-#X connect 29 0 23 0;
diff --git a/examples/mtx_inverse.pd b/examples/mtx_inverse.pd
deleted file mode 100644
index 9cca9fe..0000000
--- a/examples/mtx_inverse.pd
+++ /dev/null
@@ -1,18 +0,0 @@
-#N canvas 50 156 465 427 10;
-#X obj 92 208 mtx_inverse;
-#X obj 92 292 mtx_print;
-#X msg 103 140 matrix 3 3 1 2 3 2 3 4 3 4 5;
-#X text 280 142 singular;
-#X msg 92 108 matrix 3 3 1 2 4 2 3 4 3 4 5;
-#X text 265 107 regular;
-#X text 85 310 get the inverse of a matrix;
-#X text 286 158 regular;
-#X text 287 168 but badly conditioned;
-#X msg 111 164 matrix 3 3 1 2 3 2 4 4 3 4 5;
-#X text 82 26 get the inverse of a matrix;
-#X obj 233 381 matrix;
-#X text 116 381 see also help for;
-#X connect 0 0 1 0;
-#X connect 2 0 0 0;
-#X connect 4 0 0 0;
-#X connect 9 0 0 0;
diff --git a/examples/mtx_mean.pd b/examples/mtx_mean.pd
deleted file mode 100644
index 02b02fb..0000000
--- a/examples/mtx_mean.pd
+++ /dev/null
@@ -1,13 +0,0 @@
-#N canvas 128 104 450 300 10;
-#X obj 57 146 mtx_mean;
-#X obj 63 91 mtx_print;
-#X obj 57 201 print mean_row;
-#X obj 57 76 mtx_rand;
-#X msg 57 52 4 5;
-#X text 55 229 get the mean value of each column;
-#X obj 175 275 matrix;
-#X text 58 275 see also help for;
-#X connect 0 0 2 0;
-#X connect 3 0 1 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
diff --git a/examples/mtx_rand.pd b/examples/mtx_rand.pd
deleted file mode 100644
index 491d6de..0000000
--- a/examples/mtx_rand.pd
+++ /dev/null
@@ -1,20 +0,0 @@
-#N canvas 120 116 450 300 10;
-#X obj 59 148 mtx_rand;
-#X obj 59 194 mtx_print;
-#X obj 83 100 mtx_ones 6 3;
-#X msg 83 82 bang;
-#X msg 74 58 5 7;
-#X msg 59 35 3;
-#X msg 115 133 seed 12;
-#X text 51 219 get a matrix containing;
-#X text 51 232 random elements (0..1];
-#X text 165 131 set seed;
-#X obj 357 274 matrix;
-#X text 240 274 see also help for;
-#X text 129 11 fill a matrix with random values;
-#X connect 0 0 1 0;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
diff --git a/examples/mtx_size.pd b/examples/mtx_size.pd
deleted file mode 100644
index 85d7747..0000000
--- a/examples/mtx_size.pd
+++ /dev/null
@@ -1,44 +0,0 @@
-#N canvas 161 60 833 285 10;
-#X obj 386 214 mtx_print;
-#X obj 386 106 mtx_ones;
-#X msg 386 83 3 5;
-#X obj 386 192 mtx_resize;
-#X text 383 67 resize a matrix;
-#X msg 441 91 3 2;
-#X msg 447 109 2 0;
-#X msg 448 144 0 0;
-#X text 482 91 resize to [3 \, 2];
-#X text 482 109 resize to 2 rows \, leave row-length unchanged;
-#X text 481 143 don't resize;
-#X msg 452 169 2;
-#X text 484 171 resize to [2 \, 2];
-#X text 458 192 creation: mtx_resize [<rows> [<cols>]];
-#X msg 447 126 0 4;
-#X text 482 124 resize to 4 columns \, leave column-length unchanged;
-#X floatatom 81 178 4 0 0;
-#X text 78 68 get the size of a matrix;
-#X obj 81 140 mtx_size;
-#X msg 115 91 3 2;
-#X msg 81 91 7;
-#X obj 81 115 mtx_ones;
-#X floatatom 124 178 4 0 0;
-#X text 122 194 columns;
-#X text 82 195 rows;
-#X obj 150 22 mtx_size;
-#X obj 421 23 mtx_resize;
-#X text 223 24 get/set the size of a matrix;
-#X obj 306 252 matrix;
-#X text 189 252 see also help for;
-#X connect 1 0 3 0;
-#X connect 2 0 1 0;
-#X connect 3 0 0 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 1;
-#X connect 7 0 3 1;
-#X connect 11 0 3 1;
-#X connect 14 0 3 1;
-#X connect 18 0 16 0;
-#X connect 18 1 22 0;
-#X connect 19 0 21 0;
-#X connect 20 0 21 0;
-#X connect 21 0 18 0;
diff --git a/examples/mtx_special.pd b/examples/mtx_special.pd
deleted file mode 100644
index b230a0f..0000000
--- a/examples/mtx_special.pd
+++ /dev/null
@@ -1,60 +0,0 @@
-#N canvas 113 77 498 667 10;
-#X obj 117 136 mtx_eye 5;
-#X obj 117 162 mtx_print;
-#X msg 117 65 bang;
-#X msg 147 109 3 5;
-#X msg 133 85 10;
-#X obj 120 332 mtx_print;
-#X msg 120 234 bang;
-#X msg 150 279 3 5;
-#X msg 136 255 10;
-#X obj 311 337 mtx_print;
-#X msg 311 239 bang;
-#X msg 341 284 3 5;
-#X msg 327 260 10;
-#X obj 120 306 mtx_ones 5;
-#X obj 311 311 mtx_zeros 5;
-#X obj 124 496 mtx_print;
-#X msg 136 417 1 2 3 4 5;
-#X msg 124 395 bang;
-#X obj 124 468 mtx_diag 7 6 5 4;
-#X text 93 181 identity matrix;
-#X text 104 358 all matrix elements=1;
-#X text 290 359 all matrix elements=0;
-#X text 113 522 diagonal-matrix;
-#X obj 333 162 mtx_print;
-#X msg 333 65 bang;
-#X msg 363 109 3 5;
-#X msg 349 85 10;
-#X obj 333 136 mtx_egg 5;
-#X obj 316 491 mtx_print;
-#X msg 328 412 1 2 3 4 5;
-#X msg 316 390 bang;
-#X obj 316 463 mtx_diegg 7 6 5 4;
-#X text 305 517 turned diagonal-matrix;
-#X text 309 181 turned identity matrix;
-#X text 173 19 create special matrices;
-#X obj 245 612 matrix;
-#X text 128 612 see also help for;
-#X connect 0 0 1 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 6 0 13 0;
-#X connect 7 0 13 0;
-#X connect 8 0 13 0;
-#X connect 10 0 14 0;
-#X connect 11 0 14 0;
-#X connect 12 0 14 0;
-#X connect 13 0 5 0;
-#X connect 14 0 9 0;
-#X connect 16 0 18 0;
-#X connect 17 0 18 0;
-#X connect 18 0 15 0;
-#X connect 24 0 27 0;
-#X connect 25 0 27 0;
-#X connect 26 0 27 0;
-#X connect 27 0 23 0;
-#X connect 29 0 31 0;
-#X connect 30 0 31 0;
-#X connect 31 0 28 0;
diff --git a/examples/mtx_trace.pd b/examples/mtx_trace.pd
deleted file mode 100644
index ad48fd8..0000000
--- a/examples/mtx_trace.pd
+++ /dev/null
@@ -1,24 +0,0 @@
-#N canvas 137 140 916 465 10;
-#X obj 79 361 mtx_diag;
-#X obj 79 389 print;
-#X obj 79 308 mtx_ones 7;
-#X msg 79 288 bang;
-#X obj 84 106 mtx_ones 7;
-#X msg 84 83 bang;
-#X obj 84 147 mtx_trace;
-#X floatatom 84 189 4 0 0 0 - - -;
-#X text 86 68 get trace of a matrix;
-#X text 79 271 get diagonal of a matrix;
-#X text 81 204 trace = sum(diagonal elements);
-#X text 243 28 get information of the diagonale of a matrix;
-#X text 440 176 see also help for;
-#X obj 571 175 matrix;
-#X obj 699 269 mtx_eye;
-#X text 332 270 to create diagonale matrices with [mtx_diag] \, see
-;
-#X connect 0 0 1 0;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 4 0 6 0;
-#X connect 5 0 4 0;
-#X connect 6 0 7 0;
diff --git a/examples/mtx_transpose.pd b/examples/mtx_transpose.pd
deleted file mode 100644
index afe5c7b..0000000
--- a/examples/mtx_transpose.pd
+++ /dev/null
@@ -1,66 +0,0 @@
-#N canvas 199 -133 718 600 10;
-#X obj 48 162 mtx_print;
-#X obj 48 134 mtx_transpose;
-#X obj 48 81 mtx_ones;
-#X msg 48 59 3 5;
-#X text 45 42 transpose a matrix;
-#X text 188 7 tranpose/shift matrices;
-#X obj 37 349 mtx_print;
-#X msg 37 246 1 2 3 4 5;
-#X text 33 229 shift rows of a matrix;
-#X floatatom 104 301 4 0 0 0 - - -;
-#X obj 37 321 mtx_scroll 1;
-#X obj 37 268 mtx_diag;
-#X obj 414 333 mtx_print;
-#X msg 414 230 1 2 3 4 5;
-#X floatatom 481 285 4 0 0 0 - - -;
-#X obj 414 252 mtx_diag;
-#X text 410 213 shift columns of a matrix;
-#X obj 414 306 mtx_roll 1;
-#X text 517 286 shift amount (0=no-shift \; 1=1-column-right \; -2=2-columns-left
-\; ...);
-#X text 143 299 shift amount (0=no-shift \; 1=1-row-down \; -2=2-rows-up
-\; ...);
-#X text 29 419 pivot-transform a matrix;
-#X obj 33 494 mtx_pivot;
-#N canvas 352 114 190 367 rand-matrix 0;
-#X obj 74 163 inlet;
-#X obj 74 270 outlet;
-#X obj 74 195 mtx_rand;
-#X obj 74 215 mtx_* 10;
-#X obj 74 237 l2i;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 1 0;
-#X restore 33 458 pd rand-matrix;
-#X msg 33 436 4 3;
-#X obj 82 515 mtx_print post;
-#X obj 57 535 mtx_print pre;
-#X obj 33 575 mtx_print pivot;
-#X obj 485 95 matrix;
-#X text 435 77 see also help for;
-#X text 280 494 the first outlet is the pivot-transformed matrix.;
-#X text 279 520 the other outlets are the 1/0-matrices that have to
-be pre-multiplied (row-tranform) and post-multiplied (column-tranform)
-to the original matrix to get the pivot-tranformation. this is useful
-for de-pivoting.;
-#X text 281 445 this will tranform the columns and rows \, so that
-the result will have all maximum values in the diagonale. the maximum
-of the matrix will be located at the upper-left corner.;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X connect 7 0 11 0;
-#X connect 9 0 10 1;
-#X connect 10 0 6 0;
-#X connect 11 0 10 0;
-#X connect 13 0 15 0;
-#X connect 14 0 17 1;
-#X connect 15 0 17 0;
-#X connect 17 0 12 0;
-#X connect 21 0 26 0;
-#X connect 21 1 25 0;
-#X connect 21 2 24 0;
-#X connect 22 0 21 0;
-#X connect 23 0 22 0;
diff --git a/examples/multiline~.pd b/examples/multiline~.pd
index ae9d791..6f6ccb6 100644
--- a/examples/multiline~.pd
+++ b/examples/multiline~.pd
@@ -2,30 +2,30 @@
#X obj 67 53 multiline~;
#X text 209 55 line~d multiplication of multiple signals;
#X obj 47 201 sig~ 1;
-#X obj 89 201 sig~ 10;
-#X floatatom 57 281 4 0 0;
-#X floatatom 154 282 4 0 0;
+#X obj 96 201 sig~ 10;
+#X floatatom 57 281 4 0 0 0 - - -;
+#X floatatom 154 282 4 0 0 0 - - -;
#X msg 153 181 0 -1;
#X obj 57 261 avg~;
#X obj 154 262 avg~;
-#X floatatom 215 208 4 0 0;
+#X floatatom 215 208 4 0 0 0 - - -;
#X text 252 209 line-time;
-#X floatatom 121 129 4 0 0;
+#X floatatom 121 129 4 0 0 0 - - -;
#X text 157 132 multiply all signals with the same value;
#X obj 57 223 multiline~ 1 2 50;
#X msg 154 154 2 1;
#X obj 452 235 multiline~ 1 1 1 1 1000;
#X obj 452 253 avg~;
-#X floatatom 452 272 4 0 0;
+#X floatatom 452 272 4 0 0 0 - - -;
#X obj 452 193 sig~ 1;
#X obj 496 253 avg~;
-#X floatatom 496 272 4 0 0;
+#X floatatom 496 272 4 0 0 0 - - -;
#X obj 496 193 sig~ 1;
#X obj 540 253 avg~;
-#X floatatom 540 272 4 0 0;
+#X floatatom 540 272 4 0 0 0 - - -;
#X obj 540 193 sig~ 1;
#X obj 585 254 avg~;
-#X floatatom 585 273 4 0 0;
+#X floatatom 585 273 4 0 0 0 - - -;
#X obj 585 194 sig~ 1;
#X msg 653 171 0 0 0 0;
#X msg 653 207 1 0 2 0;
@@ -34,7 +34,9 @@
#X text 49 397 creation:;
#X obj 121 400 multiline~ g1 g2 g3 ... g<n> fade-time;
#X text 194 166 gain1 gain2 ...;
-#X text 367 394 will make <n> outlets and (n+2) inlets (1 extra for the gain-list \, 1 extra for the fade-time);
+#X text 397 394 will make <n> outlets and (n+2) inlets (1 extra for
+the gain-list \, 1 extra for the fade-time);
+#X text 551 18 part of zexy;
#X connect 2 0 13 0;
#X connect 3 0 13 1;
#X connect 6 0 13 2;
diff --git a/examples/multiplex.pd b/examples/multiplex.pd
new file mode 100644
index 0000000..f4611f8
--- /dev/null
+++ b/examples/multiplex.pd
@@ -0,0 +1,38 @@
+#N canvas 170 131 827 407 10;
+#X obj 51 91 metro 320;
+#X msg 51 69 1;
+#X msg 76 69 0;
+#X text 271 237 alias;
+#X text 549 33 part of zexy;
+#X obj 111 12 multiplex;
+#X text 231 10 multiplex the selected inlet to the outlet;
+#X text 277 81 the rightmost inlet specifies \, which inlet is routed
+to the outlet;
+#X text 280 119 inlets number from 0..(n-1);
+#X text 268 166 creation: "multiplex [<in1?> [<in2?> [<in3?> ... ]]]"
+;
+#X obj 51 311 mux 1 2 3 4;
+#X text 303 185 the number of arguments defines the number of inlets
+;
+#X obj 315 236 mux;
+#X obj 51 369 print output;
+#X obj 123 240 vradio 15 1 0 4 empty empty select 20 7 0 8 -262144
+-1 -1 3;
+#X obj 51 111 t b b b b;
+#X msg 69 161 bang;
+#X floatatom 51 143 5 0 0 0 - - -;
+#X msg 87 183 list 4 2;
+#X msg 105 211 symbol coppenrath;
+#X connect 0 0 15 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 10 0 13 0;
+#X connect 14 0 10 4;
+#X connect 15 0 17 0;
+#X connect 15 1 16 0;
+#X connect 15 2 18 0;
+#X connect 15 3 19 0;
+#X connect 16 0 10 1;
+#X connect 17 0 10 0;
+#X connect 18 0 10 2;
+#X connect 19 0 10 3;
diff --git a/examples/multiplex~.pd b/examples/multiplex~.pd
index 90e64aa..aef58e9 100644
--- a/examples/multiplex~.pd
+++ b/examples/multiplex~.pd
@@ -1,23 +1,24 @@
-#N canvas 79 72 637 304 12;
-#X obj 75 23 multiplex~;
-#X obj 72 193 multiplex~ . . . . .;
-#X text 210 23 multiplex 1-of-n signals to 1 outlet;
-#X obj 72 139 sig~ 1;
-#X obj 110 161 sig~ 0.5;
-#X obj 149 137 sig~ 50;
-#X obj 227 158 sig~ 0.1;
-#X floatatom 110 93 4 0 0;
-#X obj 72 229 env~;
-#X floatatom 72 255 4 0 0;
-#X text 156 93 select a signal;
-#X obj 306 262 mux~;
-#X text 254 261 alias;
-#X text 135 214 the number of arguments specifies the number of inlets
-;
-#X connect 1 0 8 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 1;
-#X connect 5 0 1 2;
-#X connect 6 0 1 4;
-#X connect 7 0 1 0;
-#X connect 8 0 9 0;
+#N canvas 386 552 637 304 12;
+#X obj 75 23 multiplex~;
+#X obj 72 193 multiplex~ . . . . .;
+#X text 210 23 multiplex 1-of-n signals to 1 outlet;
+#X obj 72 139 sig~ 1;
+#X obj 110 161 sig~ 0.5;
+#X obj 149 137 sig~ 50;
+#X obj 227 158 sig~ 0.1;
+#X floatatom 110 93 4 0 0 0 - - -;
+#X obj 72 229 env~;
+#X floatatom 72 255 4 0 0 0 - - -;
+#X text 156 93 select a signal;
+#X obj 306 262 mux~;
+#X text 254 261 alias;
+#X text 135 214 the number of arguments specifies the number of inlets
+;
+#X text 510 3 part of zexy;
+#X connect 1 0 8 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 1;
+#X connect 5 0 1 2;
+#X connect 6 0 1 4;
+#X connect 7 0 1 0;
+#X connect 8 0 9 0;
diff --git a/examples/niagara.pd b/examples/niagara.pd
index f5528ca..d77e0a7 100644
--- a/examples/niagara.pd
+++ b/examples/niagara.pd
@@ -1,21 +1,26 @@
-#N canvas 87 562 895 337 10;
-#X floatatom 124 175;
-#X obj 69 206 niagara 12;
-#X obj 69 288 print LEFT;
-#X obj 124 269 print RIGHT;
-#X msg 85 139 1 2 3 4 5 6 7 all good children go to heaven;
-#X obj 159 25 niagara;
-#X text 374 28 divide a package into 2 sub-packages;
-#X text 241 53 creation : "niagara <n>" creates a niagara-fall with a rock at point <n>;
-#X text 159 176 where to divide;
-#X text 451 143 list;
-#X text 451 111 anything;
-#X text 420 219 note :;
-#X text 467 233 if <anything> is passed \, then 2 <anything>s appear at the outputs;
-#X text 467 219 if a <list> is passed \, then 2 <list>s appear at the outputs;
-#X msg 69 102 some water will go down on the left side of the rock and the rest will come down on the other side;
-#X connect 0 0 1 1;
-#X connect 1 0 2 0;
-#X connect 1 1 3 0;
-#X connect 4 0 1 0;
-#X connect 14 0 1 0;
+#N canvas 87 562 895 337 10;
+#X floatatom 134 178 0 0 0 0 - - -;
+#X obj 69 206 niagara 12;
+#X obj 69 288 print LEFT;
+#X obj 124 269 print RIGHT;
+#X msg 69 103 1 2 3 4 5 6 7 all good children go to heaven;
+#X obj 159 25 niagara;
+#X text 374 28 divide a package into 2 sub-packages;
+#X text 241 53 creation : "niagara <n>" creates a niagara-fall with
+a rock at point <n>;
+#X text 169 179 where to divide;
+#X text 420 219 note :;
+#X text 467 233 if <anything> is passed \, then 2 <anything>s appear
+at the outputs;
+#X text 467 219 if a <list> is passed \, then 2 <list>s appear at the
+outputs;
+#X msg 90 122 some water will go down on the left side of the rock
+and the rest will come down on the other side;
+#X text 398 105 a list;
+#X text 492 131 not a list \, but works too;
+#X text 679 12 part of zexy;
+#X connect 0 0 1 1;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 4 0 1 0;
+#X connect 12 0 1 0;
diff --git a/examples/noish~.pd b/examples/noish~.pd
index 72e7913..549ab0b 100644
--- a/examples/noish~.pd
+++ b/examples/noish~.pd
@@ -1,21 +1,81 @@
-#N canvas 183 18 591 404 8;
-#X text 119 43 draws a random number every n samples and interpolates between;
-#X text 121 87 DODGE:JERSE::computer:music::c3:9;
-#X floatatom 91 222;
-#X text 85 199 drawing rate in Hz;
-#X obj 91 321 dac~;
-#X obj 132 322 print~;
-#X msg 132 298 bang;
-#X obj 55 321 env~;
-#X floatatom 55 347;
-#X text 223 219 maybe the input should be fixed to signal;
-#X text 45 44 noish~ ::;
-#X text 120 117 the effect is that you get a bandlimited noise of which the bandwidth of which can be conrtolled via the drawing:rate without having to use expensive filters;
-#X obj 91 245 noish~ 2756.25;
-#X connect 2 0 12 0;
-#X connect 6 0 5 0;
-#X connect 7 0 8 0;
-#X connect 12 0 5 0;
-#X connect 12 0 4 1;
-#X connect 12 0 4 0;
-#X connect 12 0 7 0;
+#N canvas 258 181 595 441 10;
+#X text 119 43 draws a random number every n samples and interpolates
+between;
+#X text 121 87 DODGE:JERSE::computer:music::c3:9;
+#X floatatom 91 222 0 0 0 0 - - -;
+#X text 85 199 drawing rate in Hz;
+#X obj 132 302 print~;
+#X msg 132 278 bang;
+#X obj 55 321 env~;
+#X floatatom 55 347 0 0 0 0 - - -;
+#X text 223 219 maybe the input should be fixed to signal;
+#X text 45 44 noish~ ::;
+#X text 120 117 the effect is that you get a bandlimited noise of which
+the bandwidth of which can be conrtolled via the drawing:rate without
+having to use expensive filters;
+#X obj 91 245 noish~ 2756.25;
+#X text 493 13 part of zexy;
+#X floatatom 119 352 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X restore 90 380 pd output;
+#X msg 154 350 MUTE;
+#X text 114 333 output amplitude;
+#X connect 2 0 11 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 11 0 4 0;
+#X connect 11 0 6 0;
+#X connect 11 0 14 0;
+#X connect 13 0 14 1;
+#X connect 14 0 13 0;
+#X connect 15 0 14 2;
diff --git a/examples/noisi~.pd b/examples/noisi~.pd
index c76c6d4..fa1430d 100644
--- a/examples/noisi~.pd
+++ b/examples/noisi~.pd
@@ -1,21 +1,81 @@
-#N canvas 183 18 588 401 8;
-#X text 45 44 noisi~ ::;
-#X text 119 43 draws a random number every n samples and interpolates between;
-#X text 116 87 DODGE:JERSE::computer:music::c3:9;
-#X floatatom 91 222;
-#X text 85 199 drawing rate in Hz;
-#X obj 91 321 dac~;
-#X obj 132 322 print~;
-#X msg 132 298 bang;
-#X obj 55 321 env~;
-#X floatatom 55 347;
-#X text 223 219 maybe the input should be fixed to signal;
-#X text 117 120 the effect is that you get a bandlimited:noise the bandwidth of which can be controlled via the drawing:rate without having to use expensive filters;
-#X obj 91 244 noisi~ 2756.25;
-#X connect 3 0 12 0;
-#X connect 7 0 6 0;
-#X connect 8 0 9 0;
-#X connect 12 0 5 0;
-#X connect 12 0 5 1;
-#X connect 12 0 6 0;
-#X connect 12 0 8 0;
+#N canvas 282 317 518 467 10;
+#X text 45 44 noisi~ ::;
+#X text 119 43 draws a random number every n samples and interpolates
+between;
+#X text 106 87 DODGE:JERSE::computer:music::c3:9;
+#X floatatom 91 222 0 0 0 0 - - -;
+#X text 85 199 drawing rate in Hz;
+#X obj 132 322 print~;
+#X msg 132 298 bang;
+#X obj 55 321 env~;
+#X floatatom 55 347 0 0 0 0 - - -;
+#X text 223 219 maybe the input should be fixed to signal;
+#X text 107 120 the effect is that you get a bandlimited:noise the
+bandwidth of which can be controlled via the drawing:rate without having
+to use expensive filters;
+#X obj 91 244 noisi~ 2756.25;
+#X floatatom 120 372 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X restore 91 400 pd output;
+#X msg 149 372 MUTE;
+#X text 115 353 output amplitude;
+#X text 409 16 part of zexy;
+#X connect 3 0 11 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 11 0 5 0;
+#X connect 11 0 7 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 1;
+#X connect 13 0 12 0;
+#X connect 14 0 13 2;
diff --git a/examples/nop.pd b/examples/nop.pd
deleted file mode 100644
index aed3b61..0000000
--- a/examples/nop.pd
+++ /dev/null
@@ -1,17 +0,0 @@
-#N canvas 456 395 450 428 10;
-#X obj 121 331 nop;
-#X msg 155 157 bang;
-#X floatatom 155 175;
-#X symbolatom 156 196;
-#X obj 121 350 print;
-#X msg 156 240 set mummy;
-#X obj 132 26 nop;
-#X text 95 71 maybe this is not very intelligent;
-#X text 97 89 it just passes through what it gets;
-#X msg 157 218 1 to 3 for 5;
-#X connect 0 0 4 0;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 5 0 0 0;
-#X connect 9 0 0 0;
diff --git a/examples/nop~.pd b/examples/nop~.pd
deleted file mode 100644
index 96673bc..0000000
--- a/examples/nop~.pd
+++ /dev/null
@@ -1,17 +0,0 @@
-#N canvas 25 -4 689 488 10;
-#X obj 89 71 nop~;
-#X text 134 73 will do nothing !!! but nevertheless it takes some time;
-#X text 132 85 so the signal is delay for 1 block...;
-#X text 131 98 Use this to synchronize signals;
-#X obj 60 216 osc~ 440;
-#X obj 60 312 -~;
-#X obj 60 339 env~;
-#X floatatom 59 364;
-#X obj 88 247 nop~;
-#X text 132 121 by the way \, you can use it as a cheap and very short delay too;
-#X text 135 158 ...or as a dummy for anything~...;
-#X connect 4 0 5 0;
-#X connect 4 0 8 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 8 0 5 1;
diff --git a/examples/operating_system.pd b/examples/operating_system.pd
index 1686d6d..825ee50 100644
--- a/examples/operating_system.pd
+++ b/examples/operating_system.pd
@@ -1,4 +1,4 @@
-#N canvas 186 166 450 300 10;
+#N canvas 594 494 450 300 10;
#X obj 77 40 operating_system;
#X text 200 40 which OS are we running;
#X symbolatom 75 140 10 0 0 0 - - -;
@@ -11,6 +11,7 @@
#X obj 193 191 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 75 108 operating_system;
+#X text 293 8 part of zexy;
#X connect 2 0 4 0;
#X connect 3 0 8 0;
#X connect 4 0 5 0;
diff --git a/examples/packel.pd b/examples/packel.pd
index b7f2b56..049be17 100644
--- a/examples/packel.pd
+++ b/examples/packel.pd
@@ -1,20 +1,21 @@
-#N canvas 169 380 720 387 10;
-#X obj 48 34 packel;
-#X text 112 33 get the nth element of a package;
-#X msg 62 161 uno dva drei quattre five;
-#X floatatom 105 219;
-#X obj 62 239 packel 3;
-#X obj 62 268 print ELEMENT;
-#X msg 62 307 uno dva drei quattre five;
-#X obj 62 327 packel -2;
-#X obj 62 351 print REVERSE_ELEMENT;
-#X text 275 210 creation: packel [<n>];
-#X text 140 220 n;
-#X text 314 227 n indicates the index of the element to be output;
-#X text 314 245 n==0 ouputs the whole package;
-#X text 314 262 n<0 ouputs the nth-last element;
-#X connect 2 0 4 0;
-#X connect 3 0 4 1;
-#X connect 4 0 5 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
+#N canvas 431 458 720 387 10;
+#X obj 48 34 packel;
+#X text 112 33 get the nth element of a package;
+#X msg 62 161 uno dva drei quattre five;
+#X floatatom 105 219 0 0 0 0 - - -;
+#X obj 62 239 packel 3;
+#X obj 62 268 print ELEMENT;
+#X msg 62 307 uno dva drei quattre five;
+#X obj 62 327 packel -2;
+#X obj 62 351 print REVERSE_ELEMENT;
+#X text 275 210 creation: packel [<n>];
+#X text 140 220 n;
+#X text 314 227 n indicates the index of the element to be output;
+#X text 314 245 n==0 ouputs the whole package;
+#X text 314 262 n<0 ouputs the nth-last element;
+#X text 511 26 part of zexy;
+#X connect 2 0 4 0;
+#X connect 3 0 4 1;
+#X connect 4 0 5 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
diff --git a/examples/pack~.pd b/examples/pack~.pd
index 24a9ec9..297e005 100644
--- a/examples/pack~.pd
+++ b/examples/pack~.pd
@@ -1,33 +1,34 @@
-#N canvas 420 353 697 479 10;
-#X floatatom 83 92;
-#X obj 83 111 osc~ 689.062;
-#X obj 83 320 unpack 0 0 0;
-#X obj 240 302 print;
-#X floatatom 83 359;
-#X floatatom 150 339;
-#X obj 83 230 t l l;
-#X obj 240 282 spigot;
-#X msg 271 262 1;
-#X msg 297 262 0;
-#X obj 83 300 spigot;
-#X msg 114 280 1;
-#X msg 140 280 0;
-#X obj 83 162 pack~;
-#X text 154 40 pack~;
-#X text 178 65 convert signals to float-packages;
-#X text 460 14 see also;
-#X obj 461 33 unpack~;
-#X text 98 379 1st and 3rd sample of each signal-vector;
-#X connect 0 0 1 0;
-#X connect 1 0 13 0;
-#X connect 2 0 4 0;
-#X connect 2 2 5 0;
-#X connect 6 0 10 0;
-#X connect 6 1 7 0;
-#X connect 7 0 3 0;
-#X connect 8 0 7 1;
-#X connect 9 0 7 1;
-#X connect 10 0 2 0;
-#X connect 11 0 10 1;
-#X connect 12 0 10 1;
-#X connect 13 0 6 0;
+#N canvas 420 353 697 479 10;
+#X floatatom 83 92 0 0 0 0 - - -;
+#X obj 83 111 osc~ 689.062;
+#X obj 83 320 unpack 0 0 0;
+#X obj 240 302 print;
+#X floatatom 83 359 0 0 0 0 - - -;
+#X floatatom 150 339 0 0 0 0 - - -;
+#X obj 83 230 t l l;
+#X obj 240 282 spigot;
+#X msg 271 262 1;
+#X msg 297 262 0;
+#X obj 83 300 spigot;
+#X msg 114 280 1;
+#X msg 140 280 0;
+#X obj 83 162 pack~;
+#X text 154 40 pack~;
+#X text 178 65 convert signals to float-packages;
+#X text 368 189 see also;
+#X obj 369 208 unpack~;
+#X text 98 379 1st and 3rd sample of each signal-vector;
+#X text 434 36 part of zexy;
+#X connect 0 0 1 0;
+#X connect 1 0 13 0;
+#X connect 2 0 4 0;
+#X connect 2 2 5 0;
+#X connect 6 0 10 0;
+#X connect 6 1 7 0;
+#X connect 7 0 3 0;
+#X connect 8 0 7 1;
+#X connect 9 0 7 1;
+#X connect 10 0 2 0;
+#X connect 11 0 10 1;
+#X connect 12 0 10 1;
+#X connect 13 0 6 0;
diff --git a/examples/pdf~.pd b/examples/pdf~.pd
index c6505b3..4f83277 100644
--- a/examples/pdf~.pd
+++ b/examples/pdf~.pd
@@ -1,25 +1,27 @@
-#N canvas 160 310 829 485 10;
-#X obj 90 43 pdf~;
-#X text 175 44 probability density function;
-#X obj 14 166 osc~ 440;
-#X msg 97 193 bang;
-#X obj 14 387 tabwrite array99;
-#X obj 14 303 pdf~ 128;
-#X msg 96 246 clear;
-#X msg 97 215 1;
-#X msg 96 269 0;
-#X text 146 260 clear the buffer;
-#X text 140 203 send the pdf to the outlet;
-#X obj 137 387 print;
-#X text 90 302 creation argument : number of steps;
-#X text 227 315 default is 64;
-#X graph graph1 0 -1 128 1 428 431 828 131;
-#X array array99 128 float;
-#X pop;
-#X connect 2 0 5 0;
-#X connect 3 0 5 0;
-#X connect 5 0 4 0;
-#X connect 5 0 11 0;
-#X connect 6 0 5 0;
-#X connect 7 0 5 0;
-#X connect 8 0 5 0;
+#N canvas 220 418 829 485 10;
+#X obj 90 43 pdf~;
+#X text 175 44 probability density function;
+#X obj 14 166 osc~ 440;
+#X msg 97 193 bang;
+#X obj 14 387 tabwrite array99;
+#X obj 14 303 pdf~ 128;
+#X msg 96 246 clear;
+#X msg 97 215 1;
+#X msg 96 269 0;
+#X text 146 260 clear the buffer;
+#X text 140 203 send the pdf to the outlet;
+#X obj 137 387 print;
+#X text 90 302 creation argument : number of steps;
+#X text 227 315 default is 64;
+#N canvas 0 0 450 300 graph1 0;
+#X array array99 128 float 0;
+#X coords 0 1 128 -1 400 300 1;
+#X restore 428 131 graph;
+#X text 532 42 part of zexy;
+#X connect 2 0 5 0;
+#X connect 3 0 5 0;
+#X connect 5 0 4 0;
+#X connect 5 0 11 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 8 0 5 0;
diff --git a/examples/prime.pd b/examples/prime.pd
index 7fe557b..e10f36f 100644
--- a/examples/prime.pd
+++ b/examples/prime.pd
@@ -1,4 +1,4 @@
-#N canvas 0 0 450 300 10;
+#N canvas 525 238 450 300 10;
#X obj 34 32 prime;
#X text 82 34 a prime number detector;
#X floatatom 51 116 8 0 0 0 - - -;
@@ -11,6 +11,7 @@
#X msg 175 74 11117;
#X msg 227 74 1.23457e+06;
#X text 114 193 1 if input is prime \, 0 otherwise;
+#X text 303 9 part of zexy;
#X connect 2 0 3 0;
#X connect 3 0 8 0;
#X connect 4 0 2 0;
diff --git a/examples/quantize~.pd b/examples/quantize~.pd
index 02bd567..aef3127 100644
--- a/examples/quantize~.pd
+++ b/examples/quantize~.pd
@@ -1,37 +1,87 @@
-#N canvas 0 -1 705 533 10;
-#X text 242 9 quantize a signal with a variable step-number;
-#X msg 119 204 8bit;
-#X msg 119 180 16bit;
-#X msg 119 157 float;
-#X floatatom 120 133;
-#X obj 71 367 dac~ 1;
-#X obj 71 342 *~;
-#X obj 32 293 dbtorms;
-#X floatatom 32 269;
-#X obj 26 227 osc~ 440;
-#X floatatom 26 203;
-#X obj 87 255 quantize~ 16;
-#X msg 118 228 help;
-#X msg 404 59 \; pd dsp 1;
-#X obj 71 317 sig~ 0.2;
-#X msg 482 61 \; pd dsp 0;
-#X graph graph5 0 -1 100 1 298 494 698 194;
-#X array scope 100 float;
-#X pop;
-#X obj 139 314 tabwrite~ scope;
-#X msg 139 289 bang;
-#X obj 123 12 quantize~;
-#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 6 0 5 0;
-#X connect 7 0 14 0;
-#X connect 8 0 7 0;
-#X connect 9 0 11 0;
-#X connect 10 0 9 0;
-#X connect 11 0 6 1;
-#X connect 11 0 17 0;
-#X connect 12 0 11 0;
-#X connect 14 0 6 0;
-#X connect 18 0 17 0;
+#N canvas 388 370 705 533 10;
+#X text 133 66 quantize a signal with a variable step-number;
+#X msg 119 204 8bit;
+#X msg 119 180 16bit;
+#X msg 119 157 float;
+#X floatatom 120 133 0 0 0 0 - - -;
+#X obj 26 227 osc~ 440;
+#X floatatom 26 203 0 0 0 0 - - -;
+#X obj 87 255 quantize~ 16;
+#X msg 118 228 help;
+#X msg 352 132 \; pd dsp 1;
+#N canvas 0 0 450 300 graph5 0;
+#X array scope 100 float 0;
+#X coords 0 1 100 -1 400 300 1;
+#X restore 298 194 graph;
+#X obj 139 314 tabwrite~ scope;
+#X msg 139 289 bang;
+#X obj 56 65 quantize~;
+#X floatatom 117 422 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X restore 88 450 pd output;
+#X msg 146 422 MUTE;
+#X text 112 403 output amplitude;
+#X text 528 15 part of zexy;
+#X connect 1 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 5 0;
+#X connect 7 0 11 0;
+#X connect 7 0 15 0;
+#X connect 8 0 7 0;
+#X connect 12 0 11 0;
+#X connect 14 0 15 1;
+#X connect 15 0 14 0;
+#X connect 16 0 15 2;
diff --git a/examples/rad2deg.pd b/examples/rad2deg.pd
deleted file mode 100644
index 709d878..0000000
--- a/examples/rad2deg.pd
+++ /dev/null
@@ -1,29 +0,0 @@
-#N canvas 421 168 450 300 10;
-#X floatatom 76 167 5 0 0 0 - - -;
-#X floatatom 76 86 5 0 0 0 - - -;
-#X obj 116 225 -;
-#X floatatom 132 176 5 0 0 0 - - -;
-#X obj 76 110 t f f;
-#X floatatom 116 257 16 0 0 0 - - -;
-#X floatatom 317 155 5 0 0 0 - - -;
-#X floatatom 317 217 5 0 0 0 - - -;
-#X text 317 129 example:;
-#X obj 76 138 rad2deg;
-#X obj 132 129 * 180;
-#X obj 132 153 / 3.14159;
-#X obj 60 39 rad2deg;
-#X text 122 40 convert RADian and DEGree;
-#X obj 317 172 atan;
-#X obj 317 195 rad2deg;
-#X connect 0 0 2 0;
-#X connect 1 0 4 0;
-#X connect 2 0 5 0;
-#X connect 3 0 2 1;
-#X connect 4 0 9 0;
-#X connect 4 1 10 0;
-#X connect 6 0 14 0;
-#X connect 9 0 0 0;
-#X connect 10 0 11 0;
-#X connect 11 0 3 0;
-#X connect 14 0 15 0;
-#X connect 15 0 7 0;
diff --git a/examples/repack.pd b/examples/repack.pd
index 3b2560b..49fb81b 100644
--- a/examples/repack.pd
+++ b/examples/repack.pd
@@ -1,23 +1,25 @@
-#N canvas 222 219 739 549 10;
-#X obj 78 35 repack;
-#X obj 73 303 print;
-#X floatatom 73 120;
-#X msg 73 138 1 2 3 4 5 6 7 8 9 10;
-#X obj 73 265 repack 7;
-#X msg 73 157 hallo;
-#X text 149 33 (re)packs (packages of) floats/symbols/pointers/anythings to packages of a (given) size;
-#X msg 120 187 bang;
-#X floatatom 116 235;
-#X text 172 236 set the package-size;
-#X text 173 191 output the currently made package immediately;
-#X obj 56 501 repack 1;
-#X text 118 502 unfolds packages to atoms \; see also;
-#X obj 337 503 drip;
-#X text 72 407 creation:;
-#X text 140 408 "repack <n>" create packages of the length n;
-#X connect 2 0 4 0;
-#X connect 3 0 4 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X connect 7 0 4 0;
-#X connect 8 0 4 1;
+#N canvas 364 364 739 549 10;
+#X obj 78 35 repack;
+#X obj 73 303 print;
+#X floatatom 73 120 0 0 0 0 - - -;
+#X msg 73 138 1 2 3 4 5 6 7 8 9 10;
+#X obj 73 265 repack 7;
+#X msg 73 157 hallo;
+#X text 149 33 (re)packs (packages of) floats/symbols/pointers/anythings
+to packages of a (given) size;
+#X msg 120 187 bang;
+#X floatatom 116 235 0 0 0 0 - - -;
+#X text 172 236 set the package-size;
+#X text 173 191 output the currently made package immediately;
+#X obj 56 501 repack 1;
+#X text 118 502 unfolds packages to atoms \; see also;
+#X obj 337 503 drip;
+#X text 72 407 creation:;
+#X text 140 408 "repack <n>" create packages of the length n;
+#X text 582 11 part of zexy;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X connect 7 0 4 0;
+#X connect 8 0 4 1;
diff --git a/examples/repeat.pd b/examples/repeat.pd
index 0a66cf3..a3c251c 100644
--- a/examples/repeat.pd
+++ b/examples/repeat.pd
@@ -1,4 +1,4 @@
-#N canvas 59 45 599 332 10;
+#N canvas 429 454 599 332 10;
#X msg 41 151 bang;
#X msg 62 177 1 1 2 3 5 8 13 21 44 fibonacchi;
#X obj 160 14 repeat;
@@ -15,6 +15,7 @@ comes in;
#X obj 41 262 repeat 3;
#X text 143 236 reset the number of repetitions;
#X obj 41 303 print repetitio;
+#X text 471 32 part of zexy;
#X connect 0 0 11 0;
#X connect 1 0 11 0;
#X connect 5 0 11 1;
diff --git a/examples/scalarmult.pd b/examples/scalarmult.pd
index 1b988ef..1b54456 100644
--- a/examples/scalarmult.pd
+++ b/examples/scalarmult.pd
@@ -1,4 +1,4 @@
-#N canvas 193 440 857 589 10;
+#N canvas 296 375 857 589 10;
#X obj 83 45 .;
#X text 130 46 scalar multilicaton ("dot");
#X msg 71 156 1 2 3;
@@ -14,9 +14,9 @@
#X msg 481 160 1 2 3;
#X obj 481 245 print;
#X obj 375 218 . 0;
-#X floatatom 409 193 4 0 0;
+#X floatatom 409 193 4 0 0 0 - - -;
#X obj 481 219 . 7;
-#X floatatom 514 194 4 0 0;
+#X floatatom 514 194 4 0 0 0 - - -;
#X obj 62 456 .;
#X msg 62 377 1 2 3;
#X msg 178 378 1 2 3;
@@ -35,14 +35,15 @@
#X text 420 334 tricky:;
#X obj 431 453 print;
#X msg 447 403 1 2 3;
-#X floatatom 431 377 4 0 0;
+#X floatatom 431 377 4 0 0 0 - - -;
#X obj 431 430 .;
#X obj 536 460 print;
#X msg 536 414 1 2 3;
#X obj 536 437 .;
#X obj 536 392 t b l;
-#X floatatom 536 368 4 0 0;
+#X floatatom 536 368 4 0 0 0 - - -;
#X text 582 393 note that we "cast" the float to list;
+#X text 589 51 part of zexy;
#X connect 2 0 9 0;
#X connect 3 0 9 1;
#X connect 5 0 8 0;
diff --git a/examples/segregate.pd b/examples/segregate.pd
deleted file mode 100644
index 0e47699..0000000
--- a/examples/segregate.pd
+++ /dev/null
@@ -1,33 +0,0 @@
-#N canvas 543 205 450 496 10;
-#X obj 136 344 segregate;
-#X obj 136 447 print BANG;
-#X obj 145 430 print FLOAT;
-#X obj 155 413 print SYMBOL;
-#X obj 175 379 print POINTER;
-#X obj 165 396 print LIST;
-#X floatatom 155 226;
-#X symbolatom 171 255;
-#X msg 136 197 bang;
-#X msg 184 281 1 2 3 4;
-#X msg 185 307 come on \, my house;
-#X text 131 31 segregate;
-#X text 51 87 segregates the inputs by their type;
-#X text 50 112 known types (in order of their outlets)::;
-#X text 93 131 BANG \, FLOAT \, SYMBOL \, LIST \, POINTER;
-#X text 86 196 bang;
-#X text 86 226 float;
-#X text 87 256 symbol;
-#X obj 185 362 print ANYTHING;
-#X text 88 309 anythings;
-#X text 87 284 list;
-#X connect 0 0 1 0;
-#X connect 0 1 2 0;
-#X connect 0 2 3 0;
-#X connect 0 3 5 0;
-#X connect 0 4 4 0;
-#X connect 0 5 18 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X connect 10 0 0 0;
diff --git a/examples/sf-play_record.pd b/examples/sf-play_record.pd
index d44b65e..0a500c6 100644
--- a/examples/sf-play_record.pd
+++ b/examples/sf-play_record.pd
@@ -1,57 +1,122 @@
-#N canvas 153 6 588 488 10;
-#X obj 436 382 sfplay 2;
-#X obj 38 385 sfrecord 2;
-#X msg 436 200 help;
-#X obj 436 412 dac~;
-#X msg 436 226 open test.raw l;
-#X msg 436 249 start;
-#X msg 485 249 bang;
-#X msg 525 249 1;
-#X msg 436 272 stop;
-#X msg 525 272 0;
-#X msg 436 321 goto 100;
-#X msg 436 298 rewind;
-#X msg 495 410 done;
-#X obj 495 435 print;
-#X msg 38 201 help;
-#X msg 38 250 start;
-#X msg 38 274 stop;
-#X msg 38 298 close;
-#X msg 38 226 open test.raw l;
-#X msg 38 323 bang;
-#X floatatom 38 411;
-#X text 72 411 status (1-recording / 0-not_recording);
-#X obj 45 361 osc~ 100;
-#X obj 113 361 osc~ 578;
-#X msg 436 347 close;
-#X text 122 47 a little harddisk-recording system;
-#X text 77 324 retrigger status-output;
-#X text 261 224 <name> <endianity>;
-#X text 205 226 open;
-#X text 135 385 sfrecord/sfplay <num. of channels>;
-#X text 53 77 this makes it possible to do multi-track recordings;
-#X text 52 92 up to now \, the "sfrecord" only supports .RAW format;
-#X text 51 107 "sfplay" can skip any header \, if you know it's size:: just call "sfplay <num.of.chan> <skip.bytes>;
-#X connect 0 0 3 0;
-#X connect 0 1 3 1;
-#X connect 0 2 12 0;
-#X connect 1 0 20 0;
-#X connect 2 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X connect 10 0 0 0;
-#X connect 11 0 0 0;
-#X connect 12 0 13 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;
-#X connect 19 0 1 0;
-#X connect 22 0 1 0;
-#X connect 23 0 1 1;
-#X connect 24 0 0 0;
+#N canvas 341 307 588 488 10;
+#X obj 436 382 sfplay 2;
+#X obj 38 385 sfrecord 2;
+#X msg 436 200 help;
+#X msg 436 226 open test.raw l;
+#X msg 436 249 start;
+#X msg 485 249 bang;
+#X msg 525 249 1;
+#X msg 436 272 stop;
+#X msg 525 272 0;
+#X msg 436 321 goto 100;
+#X msg 436 298 rewind;
+#X msg 507 356 done;
+#X obj 507 381 print;
+#X msg 38 201 help;
+#X msg 38 250 start;
+#X msg 38 274 stop;
+#X msg 38 298 close;
+#X msg 38 226 open test.raw l;
+#X msg 38 323 bang;
+#X floatatom 38 411 0 0 0 0 - - -;
+#X text 72 411 status (1-recording / 0-not_recording);
+#X obj 45 361 osc~ 100;
+#X obj 113 361 osc~ 578;
+#X msg 436 347 close;
+#X text 122 47 a little harddisk-recording system;
+#X text 77 324 retrigger status-output;
+#X text 261 224 <name> <endianity>;
+#X text 205 226 open;
+#X text 135 385 sfrecord/sfplay <num. of channels>;
+#X text 53 77 this makes it possible to do multi-track recordings;
+#X text 52 92 up to now \, the "sfrecord" only supports .RAW format
+;
+#X text 51 107 "sfplay" can skip any header \, if you know it's size::
+just call "sfplay <num.of.chan> <skip.bytes>;
+#X floatatom 466 428 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 143 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 259 41 inlet;
+#X text 259 18 level;
+#X msg 156 65 set \$1;
+#X obj 156 89 outlet;
+#X msg 274 64 \; pd dsp 1;
+#X obj 143 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 143 171 pack 0 50;
+#X text 20 158 audio;
+#X text 153 110 show level;
+#X obj 143 42 r \$0master-lvl;
+#X obj 259 100 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X obj 72 181 inlet~;
+#X obj 72 212 *~;
+#X text 70 158 audio;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 17 0 28 1;
+#X connect 18 0 19 0;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X connect 27 0 28 0;
+#X connect 28 0 19 1;
+#X restore 437 456 pd output;
+#X msg 495 428 MUTE;
+#X text 111 423 output amplitude;
+#X text 435 37 part of zexy;
+#X connect 0 0 33 0;
+#X connect 0 1 33 1;
+#X connect 0 2 11 0;
+#X connect 1 0 19 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 12 0;
+#X connect 13 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;
+#X connect 21 0 1 0;
+#X connect 22 0 1 1;
+#X connect 23 0 0 0;
+#X connect 32 0 33 2;
+#X connect 33 0 32 0;
+#X connect 34 0 33 3;
diff --git a/examples/sigbinops+.pd b/examples/sigbinops+.pd
index 3797df9..1223ffc 100644
--- a/examples/sigbinops+.pd
+++ b/examples/sigbinops+.pd
@@ -1,106 +1,108 @@
-#N canvas 470 149 594 490 10;
-#X obj 62 193 abs~;
-#X obj 120 194 sgn~;
-#X obj 262 191 <~;
-#X obj 296 190 ==~;
-#X obj 330 191 >~;
-#X obj 388 190 &&~;
-#X obj 423 190 ||~;
-#X floatatom 423 238;
-#X floatatom 388 238;
-#X floatatom 330 239;
-#X floatatom 296 239;
-#X floatatom 120 242;
-#X floatatom 62 243;
-#X obj 62 221 avg~;
-#X obj 120 220 avg~;
-#X floatatom 262 239;
-#X obj 262 217 avg~;
-#X obj 296 216 avg~;
-#X obj 330 216 avg~;
-#X obj 388 216 avg~;
-#X obj 423 216 avg~;
-#X obj 62 163 sig~;
-#X floatatom 62 141;
-#X obj 330 126 sig~;
-#X floatatom 330 104;
-#X obj 404 126 sig~;
-#X floatatom 404 104;
-#X floatatom 440 448;
-#X floatatom 400 448;
-#X floatatom 349 448;
-#X floatatom 308 449;
-#X floatatom 274 449;
-#X obj 274 427 avg~;
-#X obj 308 426 avg~;
-#X obj 349 425 avg~;
-#X obj 400 426 avg~;
-#X obj 440 426 avg~;
-#X obj 349 337 sig~;
-#X floatatom 349 315;
-#X floatatom 430 316;
-#X obj 274 401 <~ 2;
-#X obj 308 400 ==~ 2;
-#X obj 349 400 >~ 2;
-#X obj 400 400 &&~ 2;
-#X obj 440 400 ||~ 2;
-#X text 83 30 more math and binary operations for signals;
-#X text 28 263 absolute;
-#X text 50 278 value;
-#X text 112 263 signum;
-#X text 249 267 greater;
-#X text 330 268 less;
-#X text 296 284 equal;
-#X text 393 261 logical;
-#X text 386 274 AND;
-#X text 431 274 OR;
-#X text 72 58 (this patch might be very CPU-consupmtious \, because of the float-atoms....);
-#X connect 0 0 13 0;
-#X connect 1 0 14 0;
-#X connect 2 0 16 0;
-#X connect 3 0 17 0;
-#X connect 4 0 18 0;
-#X connect 5 0 19 0;
-#X connect 6 0 20 0;
-#X connect 13 0 12 0;
-#X connect 14 0 11 0;
-#X connect 16 0 15 0;
-#X connect 17 0 10 0;
-#X connect 18 0 9 0;
-#X connect 19 0 8 0;
-#X connect 20 0 7 0;
-#X connect 21 0 0 0;
-#X connect 21 0 1 0;
-#X connect 22 0 21 0;
-#X connect 23 0 2 0;
-#X connect 23 0 3 0;
-#X connect 23 0 4 0;
-#X connect 23 0 5 0;
-#X connect 23 0 6 0;
-#X connect 24 0 23 0;
-#X connect 25 0 6 1;
-#X connect 25 0 5 1;
-#X connect 25 0 4 1;
-#X connect 25 0 3 1;
-#X connect 25 0 2 1;
-#X connect 26 0 25 0;
-#X connect 32 0 31 0;
-#X connect 33 0 30 0;
-#X connect 34 0 29 0;
-#X connect 35 0 28 0;
-#X connect 36 0 27 0;
-#X connect 37 0 40 0;
-#X connect 37 0 41 0;
-#X connect 37 0 42 0;
-#X connect 37 0 43 0;
-#X connect 37 0 44 0;
-#X connect 38 0 37 0;
-#X connect 39 0 43 1;
-#X connect 39 0 42 1;
-#X connect 39 0 41 1;
-#X connect 39 0 40 1;
-#X connect 40 0 32 0;
-#X connect 41 0 33 0;
-#X connect 42 0 34 0;
-#X connect 43 0 35 0;
-#X connect 44 0 36 0;
+#N canvas 470 149 594 490 10;
+#X obj 62 193 abs~;
+#X obj 120 194 sgn~;
+#X obj 262 191 <~;
+#X obj 296 190 ==~;
+#X obj 330 191 >~;
+#X obj 388 190 &&~;
+#X obj 423 190 ||~;
+#X floatatom 423 238 0 0 0 0 - - -;
+#X floatatom 388 238 0 0 0 0 - - -;
+#X floatatom 330 239 0 0 0 0 - - -;
+#X floatatom 296 239 0 0 0 0 - - -;
+#X floatatom 120 242 0 0 0 0 - - -;
+#X floatatom 62 243 0 0 0 0 - - -;
+#X obj 62 221 avg~;
+#X obj 120 220 avg~;
+#X floatatom 262 239 0 0 0 0 - - -;
+#X obj 262 217 avg~;
+#X obj 296 216 avg~;
+#X obj 330 216 avg~;
+#X obj 388 216 avg~;
+#X obj 423 216 avg~;
+#X obj 62 163 sig~;
+#X floatatom 62 141 0 0 0 0 - - -;
+#X obj 330 126 sig~;
+#X floatatom 330 104 0 0 0 0 - - -;
+#X obj 404 126 sig~;
+#X floatatom 404 104 0 0 0 0 - - -;
+#X floatatom 440 448 0 0 0 0 - - -;
+#X floatatom 400 448 0 0 0 0 - - -;
+#X floatatom 349 448 0 0 0 0 - - -;
+#X floatatom 308 449 0 0 0 0 - - -;
+#X floatatom 274 449 0 0 0 0 - - -;
+#X obj 274 427 avg~;
+#X obj 308 426 avg~;
+#X obj 349 425 avg~;
+#X obj 400 426 avg~;
+#X obj 440 426 avg~;
+#X obj 349 337 sig~;
+#X floatatom 349 315 0 0 0 0 - - -;
+#X floatatom 430 316 0 0 0 0 - - -;
+#X obj 274 401 <~ 2;
+#X obj 308 400 ==~ 2;
+#X obj 349 400 >~ 2;
+#X obj 400 400 &&~ 2;
+#X obj 440 400 ||~ 2;
+#X text 83 30 more math and binary operations for signals;
+#X text 28 263 absolute;
+#X text 50 278 value;
+#X text 112 263 signum;
+#X text 249 267 greater;
+#X text 330 268 less;
+#X text 296 284 equal;
+#X text 393 261 logical;
+#X text 386 274 AND;
+#X text 431 274 OR;
+#X text 430 16 part of zexy;
+#X text 72 58 (this patch might be very CPU-consumptious \, because
+of the float-atoms....);
+#X connect 0 0 13 0;
+#X connect 1 0 14 0;
+#X connect 2 0 16 0;
+#X connect 3 0 17 0;
+#X connect 4 0 18 0;
+#X connect 5 0 19 0;
+#X connect 6 0 20 0;
+#X connect 13 0 12 0;
+#X connect 14 0 11 0;
+#X connect 16 0 15 0;
+#X connect 17 0 10 0;
+#X connect 18 0 9 0;
+#X connect 19 0 8 0;
+#X connect 20 0 7 0;
+#X connect 21 0 0 0;
+#X connect 21 0 1 0;
+#X connect 22 0 21 0;
+#X connect 23 0 2 0;
+#X connect 23 0 3 0;
+#X connect 23 0 4 0;
+#X connect 23 0 5 0;
+#X connect 23 0 6 0;
+#X connect 24 0 23 0;
+#X connect 25 0 6 1;
+#X connect 25 0 5 1;
+#X connect 25 0 4 1;
+#X connect 25 0 3 1;
+#X connect 25 0 2 1;
+#X connect 26 0 25 0;
+#X connect 32 0 31 0;
+#X connect 33 0 30 0;
+#X connect 34 0 29 0;
+#X connect 35 0 28 0;
+#X connect 36 0 27 0;
+#X connect 37 0 40 0;
+#X connect 37 0 41 0;
+#X connect 37 0 42 0;
+#X connect 37 0 43 0;
+#X connect 37 0 44 0;
+#X connect 38 0 37 0;
+#X connect 39 0 43 1;
+#X connect 39 0 42 1;
+#X connect 39 0 41 1;
+#X connect 39 0 40 1;
+#X connect 40 0 32 0;
+#X connect 41 0 33 0;
+#X connect 42 0 34 0;
+#X connect 43 0 35 0;
+#X connect 44 0 36 0;
diff --git a/examples/sigzero~.pd b/examples/sigzero~.pd
index 4b5d09b..77b4eac 100644
--- a/examples/sigzero~.pd
+++ b/examples/sigzero~.pd
@@ -1,50 +1,110 @@
-#N canvas 0 0 594 494 10;
-#X obj 79 235 sigzero~;
-#X obj 79 187 sig~;
-#X floatatom 79 129;
-#X floatatom 79 262;
-#X obj 117 313 print signal;
-#X obj 117 264 select 0;
-#X msg 117 289 off;
-#X msg 176 288 on;
-#X text 72 42 sigzero~ detects whether there is a signal or not (e.g. zeroes throughout);
-#X obj 74 25 sigzero~;
-#X msg 136 161 bang;
-#X msg 135 185 off;
-#X floatatom 135 208;
-#X text 216 163 turn the detector on;
-#X text 216 188 turn it off;
-#X text 217 210 turn it on/off;
-#X text 114 128 try me;
-#X text 56 368;
-#N canvas 0 0 594 394 sub 0;
-#X obj 152 104 inlet~;
-#X obj 152 155 nop~;
-#X obj 152 210 outlet~;
-#X text 190 157 imagine we were doing some VERY heavy calcs here;
-#X obj 427 48 inlet;
-#X obj 427 75 switch~;
-#X text 35 272 if the heavy calculations done here are done in vain because there is no incoming signal \, it would be better to turn the whole sub-patch off...;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 4 0 5 0;
-#X restore 76 433 page sub;
-#X obj 76 383 adc~ 1;
-#X obj 76 458 dac~ 1;
-#X obj 135 410 sigzero~;
-#X text 213 410 that's how i use it;
-#X connect 0 0 3 0;
-#X connect 0 0 5 0;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 5 0 6 0;
-#X connect 5 1 7 0;
-#X connect 6 0 4 0;
-#X connect 7 0 4 0;
-#X connect 10 0 0 0;
-#X connect 11 0 0 0;
-#X connect 12 0 0 0;
-#X connect 18 0 20 0;
-#X connect 19 0 18 0;
-#X connect 19 0 21 0;
-#X connect 21 0 18 1;
+#N canvas 325 377 594 494 10;
+#X obj 79 235 sigzero~;
+#X obj 79 187 sig~;
+#X floatatom 79 129 0 0 0 0 - - -;
+#X floatatom 79 262 0 0 0 0 - - -;
+#X obj 117 313 print signal;
+#X obj 117 264 select 0;
+#X msg 117 289 off;
+#X msg 176 288 on;
+#X text 72 42 sigzero~ detects whether there is a signal or not (e.g.
+zeroes throughout);
+#X obj 74 25 sigzero~;
+#X msg 136 161 bang;
+#X msg 135 185 off;
+#X floatatom 135 208 0 0 0 0 - - -;
+#X text 216 163 turn the detector on;
+#X text 216 188 turn it off;
+#X text 217 210 turn it on/off;
+#X text 114 128 try me;
+#N canvas 0 0 594 394 sub 0;
+#X obj 152 104 inlet~;
+#X obj 152 155 nop~;
+#X obj 152 210 outlet~;
+#X text 190 157 imagine we were doing some VERY heavy calcs here;
+#X obj 427 48 inlet;
+#X obj 427 75 switch~;
+#X text 35 272 if the heavy calculations done here are done in vain
+because there is no incoming signal \, it would be better to turn the
+whole sub-patch off...;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 4 0 5 0;
+#X restore 76 393 page sub;
+#X obj 76 343 adc~ 1;
+#X obj 135 370 sigzero~;
+#X text 213 370 that's how i use it;
+#X floatatom 106 442 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X restore 77 470 pd output;
+#X msg 135 442 MUTE;
+#X text 101 423 output amplitude;
+#X text 445 12 part of zexy;
+#X connect 0 0 3 0;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 4 0;
+#X connect 7 0 4 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 17 0 22 0;
+#X connect 18 0 17 0;
+#X connect 18 0 19 0;
+#X connect 19 0 17 1;
+#X connect 21 0 22 1;
+#X connect 22 0 21 0;
+#X connect 23 0 22 2;
diff --git a/examples/sort.pd b/examples/sort.pd
index 97729d3..2b3419a 100644
--- a/examples/sort.pd
+++ b/examples/sort.pd
@@ -1,77 +1,79 @@
-#N canvas 390 217 721 511 10;
-#X obj 86 231 print UNSORTED;
-#X msg 37 107 bang;
-#X obj 198 23 sort;
-#X text 314 87 any package-elements that are non-float will be interpreted as "0.0".;
-#X text 270 87 note :;
-#X obj 53 329 sort 1;
-#X obj 53 470 print ASCENDING;
-#X obj 37 347 sort -1;
-#X obj 37 487 print DESCENDING;
-#X text 278 297 creation : "sort [<dir>]";
-#X text 457 310 dir < 0 :: descending sort;
-#X text 456 297 dir >= 0 :: ascending sort;
-#X text 460 328 dir defaults to ascending;
-#N canvas 360 175 475 254 randompackage 0;
-#X obj 37 190 pack 0 0 0 0 0 0 0 0 0 0 0;
-#X obj 170 87 random 15;
-#X obj 156 104 random 15;
-#X obj 143 121 random 15;
-#X obj 130 138 random 15;
-#X obj 116 155 random 15;
-#X obj 103 172 random 15;
-#X obj 90 87 random 15;
-#X obj 76 104 random 15;
-#X obj 63 121 random 15;
-#X obj 50 138 random 15;
-#X obj 37 155 random 15;
-#X obj 37 52 inlet;
-#X obj 37 69 t b b b b b b b b b b b;
-#X obj 37 210 outlet;
-#X connect 0 0 14 0;
-#X connect 1 0 0 10;
-#X connect 2 0 0 9;
-#X connect 3 0 0 8;
-#X connect 4 0 0 7;
-#X connect 5 0 0 6;
-#X connect 6 0 0 5;
-#X connect 7 0 0 4;
-#X connect 8 0 0 3;
-#X connect 9 0 0 2;
-#X connect 10 0 0 1;
-#X connect 11 0 0 0;
-#X connect 12 0 13 0;
-#X connect 13 0 11 0;
-#X connect 13 1 10 0;
-#X connect 13 2 9 0;
-#X connect 13 3 8 0;
-#X connect 13 4 7 0;
-#X connect 13 5 6 0;
-#X connect 13 6 5 0;
-#X connect 13 7 4 0;
-#X connect 13 8 3 0;
-#X connect 13 9 2 0;
-#X connect 13 10 1 0;
-#X restore 37 195 pd randompackage;
-#X obj 72 177 print;
-#X msg 72 160 -----;
-#X obj 37 141 t b b;
-#X floatatom 88 293;
-#X text 122 295 direction;
-#X obj 37 213 t l l l l;
-#X obj 69 312 sort;
-#X obj 69 453 print SORTED;
-#X text 237 23 shell-sort a package of floats;
-#X connect 1 0 16 0;
-#X connect 5 0 6 0;
-#X connect 7 0 8 0;
-#X connect 13 0 19 0;
-#X connect 15 0 14 0;
-#X connect 16 0 13 0;
-#X connect 16 1 15 0;
-#X connect 17 0 20 1;
-#X connect 19 0 7 0;
-#X connect 19 1 5 0;
-#X connect 19 2 20 0;
-#X connect 19 3 0 0;
-#X connect 20 0 21 0;
+#N canvas 137 350 811 532 10;
+#X obj 86 231 print UNSORTED;
+#X msg 37 107 bang;
+#X obj 198 23 sort;
+#X text 314 87 any package-elements that are non-float will be interpreted
+as "0.0".;
+#X text 270 87 note :;
+#X obj 53 329 sort 1;
+#X obj 53 470 print ASCENDING;
+#X obj 37 347 sort -1;
+#X obj 37 487 print DESCENDING;
+#X text 278 297 creation : "sort [<dir>]";
+#X text 457 310 dir < 0 :: descending sort;
+#X text 456 297 dir >= 0 :: ascending sort;
+#X text 460 328 dir defaults to ascending;
+#N canvas 360 175 475 254 randompackage 0;
+#X obj 37 190 pack 0 0 0 0 0 0 0 0 0 0 0;
+#X obj 170 87 random 15;
+#X obj 156 104 random 15;
+#X obj 143 121 random 15;
+#X obj 130 138 random 15;
+#X obj 116 155 random 15;
+#X obj 103 172 random 15;
+#X obj 90 87 random 15;
+#X obj 76 104 random 15;
+#X obj 63 121 random 15;
+#X obj 50 138 random 15;
+#X obj 37 155 random 15;
+#X obj 37 52 inlet;
+#X obj 37 69 t b b b b b b b b b b b;
+#X obj 37 210 outlet;
+#X connect 0 0 14 0;
+#X connect 1 0 0 10;
+#X connect 2 0 0 9;
+#X connect 3 0 0 8;
+#X connect 4 0 0 7;
+#X connect 5 0 0 6;
+#X connect 6 0 0 5;
+#X connect 7 0 0 4;
+#X connect 8 0 0 3;
+#X connect 9 0 0 2;
+#X connect 10 0 0 1;
+#X connect 11 0 0 0;
+#X connect 12 0 13 0;
+#X connect 13 0 11 0;
+#X connect 13 1 10 0;
+#X connect 13 2 9 0;
+#X connect 13 3 8 0;
+#X connect 13 4 7 0;
+#X connect 13 5 6 0;
+#X connect 13 6 5 0;
+#X connect 13 7 4 0;
+#X connect 13 8 3 0;
+#X connect 13 9 2 0;
+#X connect 13 10 1 0;
+#X restore 37 195 pd randompackage;
+#X obj 72 177 print;
+#X msg 72 160 -----;
+#X obj 37 141 t b b;
+#X floatatom 88 293 0 0 0 0 - - -;
+#X text 122 295 direction;
+#X obj 37 213 t l l l l;
+#X obj 69 312 sort;
+#X obj 69 453 print SORTED;
+#X text 237 23 shell-sort a package of floats;
+#X text 553 16 part of zexy;
+#X connect 1 0 16 0;
+#X connect 5 0 6 0;
+#X connect 7 0 8 0;
+#X connect 13 0 19 0;
+#X connect 15 0 14 0;
+#X connect 16 0 13 0;
+#X connect 16 1 15 0;
+#X connect 17 0 20 1;
+#X connect 19 0 7 0;
+#X connect 19 1 5 0;
+#X connect 19 2 20 0;
+#X connect 19 3 0 0;
+#X connect 20 0 21 0;
diff --git a/examples/step~.pd b/examples/step~.pd
index 8b85d3d..f036839 100644
--- a/examples/step~.pd
+++ b/examples/step~.pd
@@ -1,74 +1,128 @@
-#N canvas 179 22 564 331 8;
-#X obj 243 283 step~;
-#X obj 243 309 print~;
-#X msg 186 236 bang;
-#X floatatom 283 259;
-#X floatatom 243 237;
-#X obj 186 259 t b b;
-#X obj 243 259 t f b;
-#X text 50 20 step~ ::;
-#X text 50 70 IN1 :;
-#X text 50 110 IN2 :;
-#X text 50 180 note :;
-#X text 100 20 produces a unit:step:sequence or a rectangle:window;
-#X text 100 70 define \, how many samples after the float::bang:message the rectangle:window will start;
-#X text 100 110 define the length of the rectangle:window choosing 1 will produce a dirac:impulse :: unit:sample:sequence) choosing 0 will make the rectangle infinitely long :: unit:step:sequence;
-#X text 100 180 1 sample equals 1:over:samplerate secs;
-#X text 235 217 position;
-#X text 303 239 length;
-#N canvas 169 79 597 397 application 0;
-#X obj 88 188 sig~ 440;
-#X obj 88 211 osc~;
-#X obj 88 235 *~;
-#X obj 149 211 osc~;
-#X obj 149 235 *~;
-#X obj 149 188 sig~ 550;
-#X floatatom 88 163;
-#X floatatom 149 163;
-#X obj 276 189 sig~ -1;
-#X obj 228 189 step~;
-#X msg 258 166 0;
-#X msg 291 166 44100;
-#X floatatom 338 166;
-#X msg 228 142 bang;
-#X obj 149 320 dac~;
-#X obj 149 290 *~;
-#X obj 431 227 dbtorms;
-#X obj 431 249 pack 0 100;
-#X obj 431 271 line~;
-#X floatatom 431 204;
-#X text 193 118 toggle::press;
-#X text 38 23 This \, of course \, is a quite barbarious use of the step~-object;
-#X text 124 51 but it was fast to do and I do think it illustrates the way it works.;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 15 0;
-#X connect 3 0 4 0;
-#X connect 4 0 15 0;
-#X connect 5 0 3 0;
-#X connect 6 0 0 0;
-#X connect 7 0 5 0;
-#X connect 8 0 4 1;
-#X connect 9 0 2 1;
-#X connect 9 0 4 1;
-#X connect 10 0 9 1;
-#X connect 11 0 9 1;
-#X connect 12 0 9 1;
-#X connect 13 0 9 0;
-#X connect 15 0 14 0;
-#X connect 15 0 14 1;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 15 1;
-#X connect 19 0 16 0;
-#X restore 439 186 page application;
-#X msg 186 283 1;
-#X connect 0 0 1 0;
-#X connect 2 0 5 0;
-#X connect 3 0 0 1;
-#X connect 4 0 6 0;
-#X connect 5 0 0 0;
-#X connect 5 1 18 0;
-#X connect 6 0 0 0;
-#X connect 6 1 1 0;
-#X connect 18 0 1 0;
+#N canvas 496 479 634 373 10;
+#X obj 243 283 step~;
+#X obj 243 309 print~;
+#X msg 186 236 bang;
+#X floatatom 283 259 0 0 0 0 - - -;
+#X floatatom 243 237 0 0 0 0 - - -;
+#X obj 186 259 t b b;
+#X obj 243 259 t f b;
+#X text 50 20 step~ ::;
+#X text 50 70 IN1 :;
+#X text 50 110 IN2 :;
+#X text 50 180 note :;
+#X text 100 20 produces a unit:step:sequence or a rectangle:window
+;
+#X text 100 70 define \, how many samples after the float::bang:message
+the rectangle:window will start;
+#X text 100 110 define the length of the rectangle:window choosing
+1 will produce a dirac:impulse :: unit:sample:sequence) choosing 0
+will make the rectangle infinitely long :: unit:step:sequence;
+#X text 100 180 1 sample equals 1:over:samplerate secs;
+#X text 235 217 position;
+#X text 303 239 length;
+#N canvas 169 79 820 553 application 0;
+#X obj 88 188 sig~ 440;
+#X obj 88 211 osc~;
+#X obj 88 235 *~;
+#X obj 149 211 osc~;
+#X obj 149 235 *~;
+#X obj 149 188 sig~ 550;
+#X floatatom 88 163 0 0 0 0 - - -;
+#X floatatom 149 163 0 0 0 0 - - -;
+#X obj 276 189 sig~ -1;
+#X obj 228 189 step~;
+#X msg 258 166 0;
+#X msg 291 166 44100;
+#X floatatom 338 166 0 0 0 0 - - -;
+#X msg 228 142 bang;
+#X text 193 118 toggle::press;
+#X text 38 23 This \, of course \, is a quite barbarious use of the
+step~-object;
+#X text 124 51 but it was fast to do and I do think it illustrates
+the way it works.;
+#X floatatom 178 342 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X restore 149 370 pd output;
+#X msg 207 342 MUTE;
+#X text 173 323 output amplitude;
+#X obj 149 290 +~;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 21 0;
+#X connect 3 0 4 0;
+#X connect 4 0 21 0;
+#X connect 5 0 3 0;
+#X connect 6 0 0 0;
+#X connect 7 0 5 0;
+#X connect 8 0 4 1;
+#X connect 9 0 2 1;
+#X connect 9 0 4 1;
+#X connect 10 0 9 1;
+#X connect 11 0 9 1;
+#X connect 12 0 9 1;
+#X connect 13 0 9 0;
+#X connect 17 0 18 1;
+#X connect 18 0 17 0;
+#X connect 19 0 18 2;
+#X connect 21 0 18 0;
+#X restore 439 186 page application;
+#X msg 186 283 1;
+#X connect 0 0 1 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 1;
+#X connect 4 0 6 0;
+#X connect 5 0 0 0;
+#X connect 5 1 18 0;
+#X connect 6 0 0 0;
+#X connect 6 1 1 0;
+#X connect 18 0 1 0;
diff --git a/examples/strcmp.pd b/examples/strcmp.pd
index a2a64ee..7e168d4 100644
--- a/examples/strcmp.pd
+++ b/examples/strcmp.pd
@@ -1,26 +1,30 @@
-#N canvas 45 175 628 611 10;
-#X obj 90 54 strcmp;
-#X text 147 54 -- compare 2 lists as if they were strings;
-#X obj 71 398 strcmp this is list # 3;
-#X floatatom 71 423;
-#X obj 96 423 print strcmp;
-#X msg 71 184 list this is list # 3;
-#X msg 71 221 list this is list # 4;
-#X msg 71 239 1 2 3 4 5;
-#X msg 71 256 list yet another list;
-#X floatatom 83 286;
-#X msg 204 313 list yet another list;
-#X msg 222 366 list \$1;
-#X floatatom 222 349;
-#X text 278 357 to compare symbols/floats you have to make sure that they go to the 2nd inlet as lists;
-#X text 98 442 the output follows the "strcmp" of the C programming language;
-#X connect 2 0 4 0;
-#X connect 2 0 3 0;
-#X connect 5 0 2 0;
-#X connect 6 0 2 0;
-#X connect 7 0 2 0;
-#X connect 8 0 2 0;
-#X connect 9 0 2 0;
-#X connect 10 0 2 1;
-#X connect 11 0 2 1;
-#X connect 12 0 11 0;
+#N canvas 459 236 628 611 10;
+#X obj 90 54 strcmp;
+#X text 147 54 -- compare 2 lists as if they were strings;
+#X obj 71 398 strcmp this is list # 3;
+#X floatatom 71 423 0 0 0 0 - - -;
+#X obj 96 423 print strcmp;
+#X msg 71 184 list this is list # 3;
+#X msg 71 221 list this is list # 4;
+#X msg 71 239 1 2 3 4 5;
+#X msg 71 256 list yet another list;
+#X floatatom 83 286 0 0 0 0 - - -;
+#X msg 204 313 list yet another list;
+#X msg 222 366 list \$1;
+#X floatatom 222 349 0 0 0 0 - - -;
+#X text 278 357 to compare symbols/floats you have to make sure that
+they go to the 2nd inlet as lists;
+#X text 98 442 the output follows the "strcmp" of the C programming
+language;
+#X text 426 24 part of zexy;
+#X text 68 525 probably not very efficient!!;
+#X connect 2 0 4 0;
+#X connect 2 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 0;
+#X connect 8 0 2 0;
+#X connect 9 0 2 0;
+#X connect 10 0 2 1;
+#X connect 11 0 2 1;
+#X connect 12 0 11 0;
diff --git a/examples/swap~.pd b/examples/swap~.pd
index 599811e..614fc75 100644
--- a/examples/swap~.pd
+++ b/examples/swap~.pd
@@ -1,39 +1,90 @@
-#N canvas 0 -1 718 576 10;
-#X obj 97 321 swap~;
-#X text 138 102 this object first converts the signal to 16bit \, then swaps upper and lower byte.;
-#X msg 120 233 0;
-#X msg 120 209 1;
-#X msg 119 258 bang;
-#X obj 33 288 osc~ 440;
-#X floatatom 33 264;
-#X msg 119 283 help;
-#X obj 81 401 *~;
-#X obj 43 352 dbtorms;
-#X floatatom 43 328;
-#X msg 445 28 \; pd dsp 1;
-#X obj 81 376 sig~ 0.2;
-#X msg 520 28 \; pd dsp 0;
-#X graph graph5 0 -1 100 1 298 494 698 194;
-#X array scope 100 float;
-#X pop;
-#X obj 176 426 tabwrite~ scope;
-#X msg 176 401 bang;
-#X text 159 258 toggle;
-#X text 152 208 on;
-#X text 154 232 off;
-#X obj 87 27 swap~;
-#X text 149 25 byte-swap a 16bit signal;
-#X obj 81 425 dac~ 1;
-#X connect 0 0 8 1;
-#X connect 0 0 15 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 5 0;
-#X connect 7 0 0 0;
-#X connect 8 0 22 0;
-#X connect 9 0 12 0;
-#X connect 10 0 9 0;
-#X connect 12 0 8 0;
-#X connect 16 0 15 0;
+#N canvas 427 339 718 576 10;
+#X obj 97 321 swap~;
+#X text 138 102 this object first converts the signal to 16bit \, then
+swaps upper and lower byte.;
+#X msg 120 233 0;
+#X msg 120 209 1;
+#X msg 119 258 bang;
+#X obj 33 288 osc~ 440;
+#X floatatom 33 264 0 0 0 0 - - -;
+#X msg 119 283 help;
+#X msg 533 54 \; pd dsp 1;
+#N canvas 0 0 450 300 graph5 0;
+#X array scope 100 float 0;
+#X coords 0 1 100 -1 400 300 1;
+#X restore 298 194 graph;
+#X obj 143 345 tabwrite~ scope;
+#X msg 143 320 bang;
+#X text 159 258 toggle;
+#X text 152 208 on;
+#X text 154 232 off;
+#X obj 87 27 swap~;
+#X text 149 25 byte-swap a 16bit signal;
+#X floatatom 126 412 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X restore 97 440 pd output;
+#X msg 155 412 MUTE;
+#X text 121 393 output amplitude;
+#X text 513 29 part of zexy;
+#X connect 0 0 10 0;
+#X connect 0 0 18 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 7 0 0 0;
+#X connect 11 0 10 0;
+#X connect 17 0 18 1;
+#X connect 18 0 17 0;
+#X connect 19 0 18 2;
diff --git a/examples/symbol2list.pd b/examples/symbol2list.pd
index e53dccf..9b38423 100644
--- a/examples/symbol2list.pd
+++ b/examples/symbol2list.pd
@@ -28,6 +28,7 @@ up into its characters.;
#X text 375 412 banging the object will re-parse the list-symbol;
#X text 532 498 which does the inverse;
#X obj 75 428 symbol2list _;
+#X text 600 44 part of zexy;
#X connect 1 0 24 1;
#X connect 7 0 24 0;
#X connect 8 0 1 0;
diff --git a/examples/tabdump.pd b/examples/tabdump.pd
index e9379bd..7525a84 100644
--- a/examples/tabdump.pd
+++ b/examples/tabdump.pd
@@ -1,17 +1,21 @@
-#N canvas 178 229 861 353 10;
-#X graph graph2 0 -1 8 1 603 257 803 117;
-#X array my_array66 5 float;
-#X array my_array77 8 float;
-#X pop;
+#N canvas 293 375 861 353 10;
+#N canvas 0 0 450 300 graph2 0;
+#X array my_array66 5 float 0;
+#X array my_array77 8 float 0;
+#X coords 0 1 8 -1 200 140 1;
+#X restore 603 117 graph;
#X obj 283 138 loadbang;
#X obj 83 168 tabdump my_array66;
#X msg 83 100 bang;
#X obj 83 193 print;
#X msg 133 148 set my_array77;
-#X msg 283 164 \; my_array66 resize 5 \; my_array77 resize 8 \; my_array66 0.1 0.3 0.2 0.5 0.2 -0.1 \; my_array77 0.1 0.1 0.2 0.3 0.5 0.8 0.13 0.21 0.34;
+#X msg 283 164 \; my_array66 resize 5 \; my_array77 resize 8 \; my_array66
+0.1 0.3 0.2 0.5 0.2 -0.1 \; my_array77 0.1 0.1 0.2 0.3 0.5 0.8 0.13
+0.21 0.34;
#X obj 176 22 tabdump;
#X text 273 24 dump the contents of a table as a list;
#X msg 132 126 set my_array66;
+#X text 648 24 part of zexy;
#X connect 1 0 6 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
diff --git a/examples/tabset.pd b/examples/tabset.pd
index 28bfb68..9249342 100644
--- a/examples/tabset.pd
+++ b/examples/tabset.pd
@@ -1,17 +1,21 @@
-#N canvas 140 193 861 353 10;
-#X graph graph2 0 -1 8 1 603 257 803 117;
-#X array my_array99 5 float;
-#X array my_array97 8 float;
-#X pop;
+#N canvas 275 479 861 353 10;
+#N canvas 0 0 450 300 graph2 0;
+#X array my_array99 5 float 0;
+#X array my_array97 8 float 0;
+#X coords 0 1 8 -1 200 140 1;
+#X restore 603 117 graph;
#X obj 283 138 loadbang;
#X msg 132 126 set my_array99;
#X msg 133 148 set my_array97;
-#X msg 283 164 \; my_array99 resize 5 \; my_array97 resize 8 \; my_array99 0.1 0.3 0.2 0.5 0.2 -0.1 \; my_array97 0.1 0.1 0.2 0.3 0.5 0.8 0.13 0.21 0.34;
+#X msg 283 164 \; my_array99 resize 5 \; my_array97 resize 8 \; my_array99
+0.1 0.3 0.2 0.5 0.2 -0.1 \; my_array97 0.1 0.1 0.2 0.3 0.5 0.8 0.13
+0.21 0.34;
#X obj 176 22 tabdump;
#X text 273 24 dump the contents of a table as a list;
#X msg 83 73 1 0.7 0.5 0.3 0.2 0.1;
#X obj 83 168 tabset my_array99;
-#X floatatom 97 95 4 0 0;
+#X floatatom 97 95 4 0 0 0 - - -;
+#X text 631 28 part of zexy;
#X connect 1 0 4 0;
#X connect 2 0 8 0;
#X connect 3 0 8 0;
diff --git a/examples/tavg~.pd b/examples/tavg~.pd
index 03c7b20..6d59916 100644
--- a/examples/tavg~.pd
+++ b/examples/tavg~.pd
@@ -1,28 +1,30 @@
-#N canvas 288 18 580 361 10;
-#X floatatom 59 148;
-#X floatatom 59 254;
-#X floatatom 129 255;
-#X obj 59 276 dbtorms;
-#X floatatom 59 299;
-#X text 272 269 see also:;
-#X obj 277 296 env~;
-#X obj 59 233 env~;
-#X obj 315 296 envrms~;
-#X obj 59 173 osc~ 5512.5;
-#X obj 373 296 avg~;
-#X obj 129 234 tavg~;
-#X obj 71 51 tavg~;
-#X text 130 51 calculates the arithmetic mean of a signal between 2 bangs;
-#X obj 176 195 metro 1000;
-#X msg 176 167 bang;
-#X msg 211 167 stop;
-#X connect 0 0 9 0;
-#X connect 1 0 3 0;
-#X connect 3 0 4 0;
-#X connect 7 0 1 0;
-#X connect 9 0 7 0;
-#X connect 9 0 11 0;
-#X connect 11 0 2 0;
-#X connect 14 0 11 0;
-#X connect 15 0 14 0;
-#X connect 16 0 14 0;
+#N canvas 445 479 580 361 10;
+#X floatatom 59 148 0 0 0 0 - - -;
+#X floatatom 59 254 0 0 0 0 - - -;
+#X floatatom 129 255 0 0 0 0 - - -;
+#X obj 59 276 dbtorms;
+#X floatatom 59 299 0 0 0 0 - - -;
+#X text 272 269 see also:;
+#X obj 277 296 env~;
+#X obj 59 233 env~;
+#X obj 315 296 envrms~;
+#X obj 59 173 osc~ 5512.5;
+#X obj 373 296 avg~;
+#X obj 129 234 tavg~;
+#X obj 71 51 tavg~;
+#X text 130 51 calculates the arithmetic mean of a signal between 2
+bangs;
+#X obj 176 195 metro 1000;
+#X msg 176 167 bang;
+#X msg 211 167 stop;
+#X text 392 23 part of zexy;
+#X connect 0 0 9 0;
+#X connect 1 0 3 0;
+#X connect 3 0 4 0;
+#X connect 7 0 1 0;
+#X connect 9 0 7 0;
+#X connect 9 0 11 0;
+#X connect 11 0 2 0;
+#X connect 14 0 11 0;
+#X connect 15 0 14 0;
+#X connect 16 0 14 0;
diff --git a/examples/time.pd b/examples/time.pd
index e179e13..9ee8c09 100644
--- a/examples/time.pd
+++ b/examples/time.pd
@@ -1,31 +1,32 @@
-#N canvas 253 26 421 378 10;
-#X msg 71 174 bang;
-#X floatatom 86 261;
-#X floatatom 78 284;
-#X floatatom 71 307;
-#X obj 71 203 time;
-#X floatatom 94 238;
-#X text 151 241 msec;
-#X text 152 263 sec;
-#X text 153 284 min;
-#X text 152 306 hours;
-#X msg 219 175 bang;
-#X floatatom 253 259;
-#X floatatom 236 284;
-#X floatatom 219 308;
-#X floatatom 270 234;
-#X obj 219 204 time GMT;
-#X text 91 79 get the system time;
-#X text 64 149 local;
-#X text 222 152 GMT;
-#X obj 73 27 time;
-#X connect 0 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 2 0;
-#X connect 4 2 1 0;
-#X connect 4 3 5 0;
-#X connect 10 0 15 0;
-#X connect 15 0 13 0;
-#X connect 15 1 12 0;
-#X connect 15 2 11 0;
-#X connect 15 3 14 0;
+#N canvas 613 398 421 378 10;
+#X msg 71 174 bang;
+#X floatatom 86 261 0 0 0 0 - - -;
+#X floatatom 78 284 0 0 0 0 - - -;
+#X floatatom 71 307 0 0 0 0 - - -;
+#X obj 71 203 time;
+#X floatatom 94 238 0 0 0 0 - - -;
+#X text 151 241 msec;
+#X text 152 263 sec;
+#X text 153 284 min;
+#X text 152 306 hours;
+#X msg 219 175 bang;
+#X floatatom 253 259 0 0 0 0 - - -;
+#X floatatom 236 284 0 0 0 0 - - -;
+#X floatatom 219 308 0 0 0 0 - - -;
+#X floatatom 270 234 0 0 0 0 - - -;
+#X obj 219 204 time GMT;
+#X text 91 79 get the system time;
+#X text 64 149 local;
+#X text 222 152 GMT;
+#X obj 73 27 time;
+#X text 233 31 part of zexy;
+#X connect 0 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 2 0;
+#X connect 4 2 1 0;
+#X connect 4 3 5 0;
+#X connect 10 0 15 0;
+#X connect 15 0 13 0;
+#X connect 15 1 12 0;
+#X connect 15 2 11 0;
+#X connect 15 3 14 0;
diff --git a/examples/unpack~.pd b/examples/unpack~.pd
index c8cee41..784f291 100644
--- a/examples/unpack~.pd
+++ b/examples/unpack~.pd
@@ -1,59 +1,117 @@
-#N canvas 299 436 736 292 10;
-#X text 460 14 see also;
-#X obj 461 33 pack~;
-#X text 147 40 unpack~;
-#X text 178 65 convert float-packages to signals;
-#X obj 85 132 unpack~ 512;
-#X text 234 156 creation: "unpack~ [<bufsize>]";
-#X text 255 181 <bufsize>: in samples (defaults to 64) \; could be fine if you don't have a constant stream of floats;
-#N canvas 94 221 839 437 example 0;
-#X obj 69 75 osc~ 689.062;
-#X obj 69 123 pack~;
-#X obj 69 94 *~ 0.2;
-#X obj 69 142 unfold;
-#X obj 69 160 t b f;
-#X obj 69 178 +;
-#X obj 69 198 + 1;
-#X obj 69 236 select 0;
-#X obj 69 256 f;
-#X obj 69 332 unpack~;
-#X floatatom 69 50;
-#X obj 69 218 % 8;
-#X text 74 6 a simple samplerate-reducer;
-#X text 116 129 samplerate = 44.1kHz;
-#X text 126 258 samplerate = 5.5125kHz;
-#X text 108 363 reconstructed signal @ 44.1kHz;
-#X obj 127 114 dac~ 2;
-#X obj 69 387 dac~ 1;
-#X msg 69 276 \$1 \$1 \$1 \$1 \$1 \$1 \$1 \$1;
-#X graph graph2 0 -1 64 1 526 213 826 13;
-#X array high_rate 100 float;
-#X pop;
-#X graph graph3 0 -1 64 1 526 441 826 241;
-#X array low_rate 100 float;
-#X pop;
-#X obj 170 113 tabsend~ high_rate;
-#X obj 114 388 tabsend~ low_rate;
-#X msg 349 240 \; pd dsp 0;
-#X msg 349 179 \; pd dsp 1;
-#X obj 349 221 loadbang;
-#X connect 0 0 2 0;
-#X connect 1 0 3 0;
-#X connect 2 0 1 0;
-#X connect 2 0 16 0;
-#X connect 2 0 21 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 4 1 8 1;
-#X connect 5 0 6 0;
-#X connect 6 0 11 0;
-#X connect 7 0 8 0;
-#X connect 8 0 18 0;
-#X connect 9 0 17 0;
-#X connect 9 0 22 0;
-#X connect 10 0 0 0;
-#X connect 11 0 5 1;
-#X connect 11 0 7 0;
-#X connect 18 0 9 0;
-#X connect 25 0 23 0;
-#X restore 85 249 pd example;
+#N canvas 321 479 736 292 10;
+#X text 460 14 see also;
+#X obj 461 33 pack~;
+#X text 147 40 unpack~;
+#X text 178 65 convert float-packages to signals;
+#X obj 85 132 unpack~ 512;
+#X text 234 156 creation: "unpack~ [<bufsize>]";
+#X text 255 181 <bufsize>: in samples (defaults to 64) \; could be
+fine if you don't have a constant stream of floats;
+#N canvas 94 221 845 529 example 1;
+#X obj 69 75 osc~ 689.062;
+#X obj 69 123 pack~;
+#X obj 69 94 *~ 0.2;
+#X obj 69 142 unfold;
+#X obj 69 160 t b f;
+#X obj 69 178 +;
+#X obj 69 198 + 1;
+#X obj 69 236 select 0;
+#X obj 69 256 f;
+#X obj 69 312 unpack~;
+#X floatatom 69 50 0 0 0 0 - - -;
+#X obj 69 218 % 8;
+#X text 74 6 a simple samplerate-reducer;
+#X text 116 129 samplerate = 44.1kHz;
+#X text 126 258 samplerate = 5.5125kHz;
+#X text 108 363 reconstructed signal @ 44.1kHz;
+#X obj 127 114 dac~ 2;
+#X msg 69 276 \$1 \$1 \$1 \$1 \$1 \$1 \$1 \$1;
+#N canvas 0 0 450 300 graph2 0;
+#X array high_rate 100 float 0;
+#X coords 0 1 64 -1 300 200 1;
+#X restore 526 13 graph;
+#N canvas 0 0 450 300 graph3 0;
+#X array low_rate 100 float 0;
+#X coords 0 1 64 -1 300 200 1;
+#X restore 526 241 graph;
+#X obj 170 113 tabsend~ high_rate;
+#X obj 156 344 tabsend~ low_rate;
+#X msg 349 179 \; pd dsp 1;
+#X floatatom 97 412 0 0 0 0 - - -;
+#N canvas 159 26 495 266 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X obj 83 42 r \$0master-lvl;
+#X obj 199 100 s \$0master-lvl;
+#X obj 397 92 r \$0master-lvl;
+#X obj 338 210 s \$0master-lvl;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 16 0;
+#X connect 12 0 24 0;
+#X connect 14 0 15 0;
+#X connect 17 0 18 1;
+#X connect 18 0 19 0;
+#X connect 18 0 19 1;
+#X connect 20 0 17 0;
+#X connect 23 0 10 0;
+#X connect 23 0 14 0;
+#X connect 25 0 1 1;
+#X connect 25 0 9 0;
+#X restore 68 440 pd output;
+#X msg 126 412 MUTE;
+#X text 92 393 output amplitude;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 2 0 16 0;
+#X connect 2 0 20 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 4 1 8 1;
+#X connect 5 0 6 0;
+#X connect 6 0 11 0;
+#X connect 7 0 8 0;
+#X connect 8 0 17 0;
+#X connect 9 0 21 0;
+#X connect 9 0 24 0;
+#X connect 10 0 0 0;
+#X connect 11 0 5 1;
+#X connect 11 0 7 0;
+#X connect 17 0 9 0;
+#X connect 23 0 24 1;
+#X connect 24 0 23 0;
+#X connect 25 0 24 2;
+#X restore 85 249 pd example;
+#X text 530 34 part of zexy;
diff --git a/examples/urn.pd b/examples/urn.pd
index 34cf1cb..ce2ac94 100644
--- a/examples/urn.pd
+++ b/examples/urn.pd
@@ -1,4 +1,4 @@
-#N canvas 217 38 529 495 10;
+#N canvas 615 253 529 495 10;
#X obj 76 35 urn;
#X text 73 75 generates random numbers without repetition;
#X obj 25 110 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
@@ -58,6 +58,7 @@ via the second outlet;
#X restore 74 440 pd lotto;
#X obj 249 453 random;
#X text 182 453 see also:;
+#X text 346 21 part of zexy;
#X connect 2 0 4 0;
#X connect 4 1 13 0;
#X connect 7 0 4 1;
diff --git a/examples/wrap.pd b/examples/wrap.pd
index 50fb7cc..304c78c 100644
--- a/examples/wrap.pd
+++ b/examples/wrap.pd
@@ -1,4 +1,4 @@
-#N canvas 77 -120 738 641 10;
+#N canvas 477 186 738 641 10;
#X text 118 18 wrap a float between to limits;
#X obj 71 18 wrap;
#X obj 42 150 wrap;
@@ -35,6 +35,7 @@ as zero (0).;
f1 is ALWAYS less than f2.;
#X text 130 593 if you need wrapping between (f1 \, f2] you have to
multiply the numbers with -1 before and after wrapping.;
+#X text 458 20 part of zexy;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 5 0 13 0;
diff --git a/examples/z~.pd b/examples/z~.pd
index 49e5560..9f831f7 100644
--- a/examples/z~.pd
+++ b/examples/z~.pd
@@ -1,28 +1,33 @@
-#N canvas 267 156 597 497 8;
-#X obj 125 42 z~;
-#X text 177 41 samplewise delay;
-#X text 168 89 should make FIR-filter design possible;
-#X obj 65 222 osc~ 440;
-#X floatatom 65 191;
-#X obj 97 270 z~;
-#X obj 127 270 z~ 2;
-#X obj 167 270 z~ 3;
-#X obj 65 310 +~;
-#X obj 65 336 * 0.25;
-#X obj 65 366 dac~;
-#X text 235 269 4th order moving average filter;
-#X text 185 324 creation argument : delay in samples (default is 1);
-#X text 167 119 (note that you cannot do IIR-filters easily this way !);
-#X text 351 42 z;
-#X text 359 36 -N;
-#X connect 3 0 8 0;
-#X connect 3 0 5 0;
-#X connect 3 0 6 0;
-#X connect 3 0 7 0;
-#X connect 4 0 3 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 8 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 9 0 10 1;
+#N canvas 304 271 597 497 10;
+#X obj 125 42 z~;
+#X text 177 41 samplewise delay;
+#X text 168 89 should make FIR-filter design possible;
+#X obj 65 222 osc~ 440;
+#X floatatom 65 191 0 0 0 0 - - -;
+#X obj 97 270 z~;
+#X obj 127 270 z~ 2;
+#X obj 65 310 +~;
+#X text 235 269 4th order moving average filter;
+#X text 193 298 creation argument : delay in samples (default is 1)
+;
+#X text 167 119 (note that you cannot do IIR-filters easily this way
+!);
+#X text 351 42 z;
+#X text 359 36 -N;
+#X obj 65 336 *~ 0.25;
+#X text 442 11 part of zexy;
+#X obj 167 270 z~ 3;
+#X obj 65 384 tabwrite~ \$0scope;
+#X msg 82 361 bang;
+#X obj 258 388 table \$0scope;
+#X connect 3 0 7 0;
+#X connect 3 0 5 0;
+#X connect 3 0 6 0;
+#X connect 3 0 15 0;
+#X connect 4 0 3 0;
+#X connect 5 0 7 0;
+#X connect 6 0 7 0;
+#X connect 7 0 13 0;
+#X connect 13 0 16 0;
+#X connect 15 0 7 0;
+#X connect 17 0 16 0;