aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas O Fredericks <mrtof@users.sourceforge.net>2009-12-08 02:01:03 +0000
committerThomas O Fredericks <mrtof@users.sourceforge.net>2009-12-08 02:01:03 +0000
commitd32158d45940b6d54cd07db4c614028984e9783b (patch)
tree1bdff4821dd19fda6bf46c38ddbede02aa6b57f1
parent4c725023500e1bcbe38fae51bf5084a297a1e8b6 (diff)
Re-enabled mtl in the abstractions Makefile
svn path=/trunk/abstractions/mtl/; revision=12821
-rw-r--r--1.mtlBrowser.pd128
-rw-r--r--TODO2
-rw-r--r--ambiSfRead7~-help.pd49
-rw-r--r--ambiSfRead7~.pd150
-rw-r--r--arpeggio-help.pd12
-rw-r--r--browser.pd128
-rw-r--r--clk-quantization-help.pd49
-rw-r--r--clkMaster-help.pd27
-rw-r--r--clkSlave-help.pd73
-rw-r--r--clkSlave.pd417
-rw-r--r--closestNote-help.pd8
-rw-r--r--core.txt4
-rw-r--r--cues-help.pd15
-rw-r--r--cues.pd53
-rw-r--r--cues~-help.pd15
-rw-r--r--cues~.pd27
-rw-r--r--distoAp~-help.pd38
-rw-r--r--distoNonmonotone~-help.pd32
-rw-r--r--examples/gems-movies_with_sound~.pd7
-rw-r--r--fileBrowser-help.pd74
-rw-r--r--fileBrowser.pd55
-rw-r--r--gBrowser-help.pd87
-rw-r--r--gBrowser.pd6
-rw-r--r--pdToAscii-help.pd39
-rw-r--r--pdToAscii.pd16
-rw-r--r--piano-help.pd5
-rw-r--r--piano.pd6
-rw-r--r--pitchShift~-help.pd16
-rw-r--r--player~-help.pd121
-rw-r--r--player~.pd424
-rw-r--r--seq1x8-help.pd30
-rw-r--r--seq8x8-help.pd20
-rw-r--r--sfIndexer-help.pd89
-rw-r--r--sfIndexer.pd283
-rw-r--r--smpToFreq.pd24
-rw-r--r--tracker4-help.pd26
-rw-r--r--tracker4.pd116
37 files changed, 1575 insertions, 1096 deletions
diff --git a/1.mtlBrowser.pd b/1.mtlBrowser.pd
index 0188694..da6a667 100644
--- a/1.mtlBrowser.pd
+++ b/1.mtlBrowser.pd
@@ -1,38 +1,38 @@
-#N canvas 716 235 403 172 10;
-#X obj 185 17 vsl 15 115 0 175 0 0 \$0_slider_s0 \$0_slider_r0 empty
-0 -8 0 8 -1 -228856 -228856 0 0;
-#X obj 3 45 hradio 15 1 0 12 \$0_hr_2_s0 \$0_hr_2_r0 symbols 2 8 1
-9 -1 -1 -262140 1;
-#X obj 3 60 hradio 15 1 0 12 \$0_hr_3_s0 \$0_hr_3_r0 synthesize~ 2
-8 1 9 -1 -1 -262140 0;
-#X obj 3 75 hradio 15 1 0 12 \$0_hr_4_s0 \$0_hr_4_r0 tables 2 8 1 9
--1 -1 -262140 1;
-#X obj 3 90 hradio 15 1 0 12 \$0_hr_5_s0 \$0_hr_5_r0 timing 2 8 1 9
--1 -1 -262140 0;
-#X obj 3 105 hradio 15 1 0 12 \$0_hr_6_s0 \$0_hr_6_r0 tools 2 8 1 9
+#N canvas 181 379 403 172 10;
+#X obj 185 19 vsl 15 115 0 175 0 0 \$0_slider_s0 \$0_slider_r0 empty
+0 -8 0 8 -1 -228856 -228856 11400 0;
+#X obj 3 47 hradio 15 1 0 12 \$0_hr_2_s0 \$0_hr_2_r0 ambisonic 2 8
+1 9 -1 -1 -262140 0;
+#X obj 3 62 hradio 15 1 0 12 \$0_hr_3_s0 \$0_hr_3_r0 behavior 2 8 1
+9 -1 -1 -262140 0;
+#X obj 3 77 hradio 15 1 0 12 \$0_hr_4_s0 \$0_hr_4_r0 control~ 2 8 1
+9 -1 -1 -262140 0;
+#X obj 3 92 hradio 15 1 0 12 \$0_hr_5_s0 \$0_hr_5_r0 conversion 2 8
+1 9 -1 -1 -262140 0;
+#X obj 3 107 hradio 15 1 0 12 \$0_hr_6_s0 \$0_hr_6_r0 counter 2 8 1
+9 -1 -1 -262140 0;
+#X obj 3 122 hradio 15 1 0 12 \$0_hr_7_s0 \$0_hr_7_r0 data 2 8 1 9
-1 -1 -262140 0;
-#X obj 3 120 hradio 15 1 0 12 \$0_hr_7_s0 \$0_hr_7_r0 ui 2 8 1 9 -1
--1 -258401 0;
-#X obj 384 17 vsl 15 115 0 175 0 0 \$0_slider_s \$0_slider_r empty
+#X obj 384 19 vsl 15 115 0 175 0 0 \$0_slider_s \$0_slider_r empty
0 -8 0 8 -1 -228856 -1 11400 0;
-#X obj 202 15 hradio 15 1 0 12 \$0_hr_0_s \$0_hr_0_r mtl/buttonColor
-2 8 1 9 -1 -1 -258401 3;
-#X obj 202 30 hradio 15 1 0 12 \$0_hr_1_s \$0_hr_1_r mtl/colorGrid
-2 8 1 9 -1 -1 -262140 4;
-#X obj 202 45 hradio 15 1 0 12 \$0_hr_2_s \$0_hr_2_r mtl/doubleClick
-2 8 1 9 -1 -1 -262140 0;
-#X obj 202 60 hradio 15 1 0 12 \$0_hr_3_s \$0_hr_3_r mtl/fileBrowser
-2 8 1 9 -1 -1 -262140 2;
-#X obj 202 75 hradio 15 1 0 12 \$0_hr_4_s \$0_hr_4_r mtl/gBrowser 2
-8 1 9 -1 -1 -262140 2;
-#X obj 202 90 hradio 15 1 0 12 \$0_hr_5_s \$0_hr_5_r mtl/hsv 2 8 1
-9 -1 -1 -262140 4;
-#X obj 202 105 hradio 15 1 0 12 \$0_hr_6_s \$0_hr_6_r mtl/keyNameLearn
-2 8 1 9 -1 -1 -262140 3;
-#X obj 202 120 hradio 15 1 0 12 \$0_hr_7_s \$0_hr_7_r mtl/keyR 2 8
-1 9 -1 -1 -262140 2;
-#N canvas 301 43 723 396 ./browser 0;
-#N canvas 1069 45 887 645 coll 0;
+#X obj 202 17 hradio 15 1 0 12 \$0_hr_0_s \$0_hr_0_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 32 hradio 15 1 0 12 \$0_hr_1_s \$0_hr_1_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 47 hradio 15 1 0 12 \$0_hr_2_s \$0_hr_2_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 62 hradio 15 1 0 12 \$0_hr_3_s \$0_hr_3_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 77 hradio 15 1 0 12 \$0_hr_4_s \$0_hr_4_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 92 hradio 15 1 0 12 \$0_hr_5_s \$0_hr_5_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 107 hradio 15 1 0 12 \$0_hr_6_s \$0_hr_6_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 122 hradio 15 1 0 12 \$0_hr_7_s \$0_hr_7_r empty 2 8 1 9
+-1 -1 -262140 0;
+#N canvas 1194 46 877 452 ./browser 0;
+#N canvas 1251 263 887 645 coll 0;
#X obj 23 -42 inlet;
#X obj 247 -40 inlet;
#X obj 141 321 zexy/demultiplex 0 1;
@@ -623,7 +623,7 @@
#X msg 459 43 175;
#X obj 461 65 s \$0_slider_r;
#X obj 405 182 s \$0_slider_r0;
-#X obj 587 293 outlet;
+#X obj 524 293 outlet;
#X obj 490 31 s \$0reset;
#X text 186 53 TAGS->;
#X text 160 265 ABSTRACTIONS->;
@@ -638,6 +638,38 @@
#X obj 435 97 t b b b;
#X obj 369 -61 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
+#N canvas 101 228 450 300 \$0info 0;
+#X obj 69 14 cnv 13 300 13 empty empty http://wiki.dataflow.ws/PdMtlAbstractions
+0 7 0 8 -16645 -262144 0;
+#X restore 583 183 pd \$0info;
+#X obj 590 93 r \$0info;
+#X obj 590 151 s pd-\$0info;
+#X msg 595 123 vis 1;
+#N canvas 0 0 864 561 font 0;
+#X msg 73 349 \; \$2_hr_\$1_r0 label_font \$3 \$4;
+#X obj 82 38 r \$0font;
+#X obj 86 254 tof/iterate;
+#X msg 92 223 8;
+#X obj 74 290 pack f \$0 1 f;
+#X obj 87 116 + 9;
+#X msg 286 350 \; \$2_hr_\$1_r label_font \$3 \$4;
+#X obj 298 67 loadbang;
+#X msg 294 99 9;
+#X obj 96 166 t b f f;
+#X msg 177 184 set \$1;
+#X connect 1 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 4 0 6 0;
+#X connect 5 0 9 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 9 1 4 3;
+#X connect 9 2 10 0;
+#X connect 10 0 8 0;
+#X restore 700 226 pd font;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 2 0 0 0;
@@ -671,18 +703,22 @@
#X connect 25 1 5 0;
#X connect 25 2 13 0;
#X connect 26 0 22 0;
-#X restore 277 -9 pd ./browser;
-#X obj 3 15 hradio 15 1 0 12 \$0_hr_0_s0 \$0_hr_0_r0 routing 2 8 1
-9 -1 -1 -262140 0;
-#X obj 3 31 hradio 15 1 0 12 \$0_hr_1_s0 \$0_hr_1_r0 sequencing 2 8
-1 9 -1 -1 -262140 0;
-#X obj 3 -9 cnv 15 198 22 empty empty TAG 1 12 1 12 -16645 -228856
+#X connect 28 0 30 0;
+#X connect 30 0 29 0;
+#X restore 277 -7 pd ./browser;
+#X obj 3 17 hradio 15 1 0 12 \$0_hr_0_s0 \$0_hr_0_r0 2d 2 8 1 9 -1
+-1 -262140 0;
+#X obj 3 33 hradio 15 1 0 12 \$0_hr_1_s0 \$0_hr_1_r0 3d 2 8 1 9 -1
+-1 -262140 0;
+#X obj 3 -7 cnv 15 198 22 empty empty TAG 1 12 1 12 -16645 -228856
0;
-#X obj 202 -9 cnv 15 197 22 empty empty CLASS/ABSTRACTION 0 12 1 12
+#X obj 202 -7 cnv 15 197 22 empty empty CLASS/ABSTRACTION 0 12 1 12
-16645 -228856 0;
-#X obj 3 137 cnv 15 396 20 empty empty empty 20 12 0 14 -16645 -258401
+#X obj 3 139 cnv 15 396 20 empty empty empty 18 12 0 14 -16645 -258401
0;
-#X obj 7 141 tgl 11 0 \$0love \$0lover with:love 17 6 0 8 -162280 -262144
--258401 0 1;
-#X obj 146 141 cnv 15 100 10 empty empty http://wiki.dataflow.ws/PdMtlAbstractions
-0 6 0 8 -16645 -99865 0;
+#X obj 6 144 tgl 9 0 \$0love \$0lover with:love 11 4 0 8 -162280 -262144
+-258401 1 1;
+#X obj 183 143 cnv 10 10 10 empty empty http://puredata.info/Members/mtl/
+0 6 0 7 -16645 -99865 0;
+#X obj 80 144 hradio 8 1 0 4 \$0font \$0 font 34 4 0 8 -162280 -262144
+-258401 0;
diff --git a/TODO b/TODO
index e8db193..ef9a336 100644
--- a/TODO
+++ b/TODO
@@ -31,7 +31,7 @@ CATEGORIES TO PORT
- 2d
- 3d
-+ ambi
+- ambi
- anal
- convert
- count
diff --git a/ambiSfRead7~-help.pd b/ambiSfRead7~-help.pd
new file mode 100644
index 0000000..5ae8f4b
--- /dev/null
+++ b/ambiSfRead7~-help.pd
@@ -0,0 +1,49 @@
+#N canvas 364 170 650 502 10;
+#X msg 39 147 openpanel;
+#X text 38 343 You can find sample Ambisonic B-format sound files on
+http://ambisonia.com;
+#X msg 194 161 loop \$1;
+#X obj 194 142 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 193 111 play;
+#X msg 232 111 stop;
+#X msg 279 114 autostart \$1;
+#X obj 279 95 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X floatatom 293 223 12 0 0 0 - - -;
+#X obj 439 280 hsl 127 8 0 1 0 0 empty empty empty -2 -8 0 10 -191407
+-1 -1 0 1;
+#X obj 538 219 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X floatatom 481 249 12 0 0 0 - - -;
+#X obj 292 246 / 1000;
+#X floatatom 291 269 12 0 0 0 - - -;
+#X text 374 223 ms;
+#X text 371 271 seconds;
+#X obj 436 183 route duration elapsed done;
+#X obj 436 254 /;
+#X text 38 384 Important: The sampling rate of the file and the sampling
+rate of Pd must be the same if you want the sound to be played at correct
+speed and pitch.;
+#X text 38 445 See also :;
+#X obj 108 447 readsf~;
+#X text 15 40 tags: ambisonic;
+#X obj 39 191 mtl/ambiSfRead7~ autostart 1 \, loop 0;
+#X text 12 9 Description: Reads a 7-channels first order Ambisonic
+B-format wav sound file.;
+#X connect 0 0 22 0;
+#X connect 2 0 22 0;
+#X connect 3 0 2 0;
+#X connect 4 0 22 0;
+#X connect 5 0 22 0;
+#X connect 6 0 22 0;
+#X connect 7 0 6 0;
+#X connect 8 0 12 0;
+#X connect 12 0 13 0;
+#X connect 16 0 8 0;
+#X connect 16 0 17 1;
+#X connect 16 1 11 0;
+#X connect 16 1 17 0;
+#X connect 16 2 10 0;
+#X connect 17 0 9 0;
+#X connect 22 7 16 0;
diff --git a/ambiSfRead7~.pd b/ambiSfRead7~.pd
new file mode 100644
index 0000000..7cc76f2
--- /dev/null
+++ b/ambiSfRead7~.pd
@@ -0,0 +1,150 @@
+#N canvas 352 57 1087 783 10;
+#X msg 149 302 1;
+#X msg 181 300 0;
+#X msg 49 273 print;
+#X obj 388 216 openpanel;
+#X text 607 546 Send it "1" to play once a file is opened.;
+#X obj 31 681 *~ 1.414;
+#X obj 24 711 outlet~;
+#X obj 79 713 outlet~;
+#X obj 134 713 outlet~;
+#X obj 189 715 outlet~;
+#X obj 188 230 t b;
+#X obj 389 191 t b;
+#X obj 337 6 loadbang;
+#X obj 339 34 t b b;
+#X obj 260 332 spigot;
+#X obj 348 289 symbol;
+#X obj 523 415 spigot;
+#X text 602 559 todo: append more args?;
+#X obj 822 92 inlet readsf;
+#X obj 47 29 inlet attr;
+#N canvas 224 201 628 639 wav_info 0;
+#X msg 31 92 read \$1;
+#X text 40 146 "read"-message needs a symbol (soundfile in wave format)
+;
+#X text 50 184 "list"-message output with 7 items;
+#X text 91 224 4.item: <float> header-size in bytes;
+#X text 91 194 1.item: <float> samplerate in Hz;
+#X text 91 204 2.item: <symbol> file-name;
+#X text 91 234 5.item: <float> number of channels;
+#X text 91 254 7.item: <symbol> endianness ("l" for little);
+#X text 260 264 ("b" for big);
+#X text 262 276 (eg. little endian "wav" is natural format on Intel-machines)
+;
+#X text 91 214 3.item: <float> sound-data-length in samples;
+#X text 91 244 6.item: <float> sample-resolution in bytes;
+#X obj 33 49 inlet;
+#X obj 31 302 unpack f s f f f f s;
+#X obj 26 489 outlet duration_ms;
+#X text 132 49 NOTE: we could also use the wavinfo object.;
+#X msg 32 459 duration \$1;
+#X msg 161 434 bytes \$1;
+#X msg 21 393 samplerate \$1;
+#X obj 37 434 ./smpToMs;
+#X obj 31 166 iemlib/soundfile_info;
+#X connect 0 0 20 0;
+#X connect 12 0 0 0;
+#X connect 13 0 18 0;
+#X connect 13 2 19 0;
+#X connect 13 5 17 0;
+#X connect 16 0 14 0;
+#X connect 17 0 14 0;
+#X connect 18 0 14 0;
+#X connect 19 0 16 0;
+#X connect 20 0 13 0;
+#X restore 326 588 pd wav_info;
+#X msg 261 651 done bang;
+#X obj 418 643 timer;
+#X obj 452 616 metro 50;
+#X obj 147 347 f;
+#X obj 456 559 sel 1;
+#X msg 456 589 1;
+#X obj 501 571 t b;
+#X msg 500 592 0;
+#X msg 416 666 elapsed \$1;
+#X obj 824 148 s \$0-readsf;
+#X obj 91 607 r \$0-readsf;
+#X text 174 350 Playing;
+#X text 154 212 Play stop;
+#X obj 148 249 t b b;
+#X msg 147 381 playing \$1;
+#X obj 562 391 f;
+#X msg 384 58 autostart 1 \, loop 0;
+#X text 395 39 Default values;
+#X obj 347 266 t s s;
+#X obj 349 311 t b s;
+#X text 259 351 autostart;
+#X text 591 390 loop;
+#X obj 523 440 delay 100;
+#X text 590 441 avoids infinite loop;
+#X obj 344 138 route file play stop openpanel open autostart loop loop_interval
+;
+#X obj 486 107 tof/arguments comma;
+#X obj 347 243 zexy/list2symbol;
+#X obj 376 336 cyclone/prepend open;
+#X obj 70 478 readsf~ 7;
+#X obj 251 720 outlet~;
+#X obj 306 720 outlet~;
+#X obj 361 722 outlet~;
+#X obj 578 698 outlet info;
+#X connect 0 0 24 0;
+#X connect 1 0 24 0;
+#X connect 2 0 49 0;
+#X connect 3 0 47 0;
+#X connect 5 0 6 0;
+#X connect 10 0 1 0;
+#X connect 11 0 3 0;
+#X connect 12 0 13 0;
+#X connect 13 0 46 0;
+#X connect 13 1 37 0;
+#X connect 14 0 0 0;
+#X connect 15 0 40 0;
+#X connect 16 0 43 0;
+#X connect 18 0 30 0;
+#X connect 19 0 45 0;
+#X connect 20 0 53 0;
+#X connect 21 0 53 0;
+#X connect 22 0 29 0;
+#X connect 23 0 22 1;
+#X connect 24 0 25 0;
+#X connect 24 0 35 0;
+#X connect 24 0 49 0;
+#X connect 25 0 22 0;
+#X connect 25 0 26 0;
+#X connect 25 1 27 0;
+#X connect 26 0 23 0;
+#X connect 27 0 28 0;
+#X connect 28 0 23 0;
+#X connect 29 0 53 0;
+#X connect 31 0 49 0;
+#X connect 34 0 0 0;
+#X connect 34 1 15 0;
+#X connect 35 0 53 0;
+#X connect 36 0 16 1;
+#X connect 37 0 45 0;
+#X connect 39 0 15 0;
+#X connect 39 1 20 0;
+#X connect 40 0 14 0;
+#X connect 40 1 48 0;
+#X connect 43 0 15 0;
+#X connect 45 0 47 0;
+#X connect 45 1 34 0;
+#X connect 45 2 10 0;
+#X connect 45 3 11 0;
+#X connect 45 4 15 0;
+#X connect 45 5 14 1;
+#X connect 45 6 36 0;
+#X connect 45 8 43 1;
+#X connect 46 0 45 0;
+#X connect 47 0 39 0;
+#X connect 48 0 49 0;
+#X connect 49 0 5 0;
+#X connect 49 1 7 0;
+#X connect 49 2 8 0;
+#X connect 49 3 9 0;
+#X connect 49 4 50 0;
+#X connect 49 5 51 0;
+#X connect 49 6 52 0;
+#X connect 49 7 16 0;
+#X connect 49 7 21 0;
diff --git a/arpeggio-help.pd b/arpeggio-help.pd
index 5affd0b..3902650 100644
--- a/arpeggio-help.pd
+++ b/arpeggio-help.pd
@@ -15,9 +15,9 @@ and a note index.;
-1;
#X obj 15 202 mtl/arpeggio 2 4 7 11;
#X msg 154 222 2 4 9 14;
-#X obj 138 142 mtl/clkMaster 120;
-#X obj 15 142 mtl/clkSlave 4 25;
+#X obj 297 44 mtl/clkMaster 120;
#X obj 15 235 + 24;
+#X obj 15 142 mtl/clkSlave 1 25;
#X connect 5 0 3 0;
#X connect 5 0 3 1;
#X connect 6 0 5 0;
@@ -25,8 +25,8 @@ and a note index.;
#X connect 8 0 12 1;
#X connect 9 0 12 0;
#X connect 10 0 11 0;
-#X connect 11 0 15 0;
-#X connect 12 0 16 0;
+#X connect 11 0 16 0;
+#X connect 12 0 15 0;
#X connect 13 0 12 1;
-#X connect 15 0 9 0;
-#X connect 16 0 6 0;
+#X connect 15 0 6 0;
+#X connect 16 0 9 0;
diff --git a/browser.pd b/browser.pd
index 0188694..da6a667 100644
--- a/browser.pd
+++ b/browser.pd
@@ -1,38 +1,38 @@
-#N canvas 716 235 403 172 10;
-#X obj 185 17 vsl 15 115 0 175 0 0 \$0_slider_s0 \$0_slider_r0 empty
-0 -8 0 8 -1 -228856 -228856 0 0;
-#X obj 3 45 hradio 15 1 0 12 \$0_hr_2_s0 \$0_hr_2_r0 symbols 2 8 1
-9 -1 -1 -262140 1;
-#X obj 3 60 hradio 15 1 0 12 \$0_hr_3_s0 \$0_hr_3_r0 synthesize~ 2
-8 1 9 -1 -1 -262140 0;
-#X obj 3 75 hradio 15 1 0 12 \$0_hr_4_s0 \$0_hr_4_r0 tables 2 8 1 9
--1 -1 -262140 1;
-#X obj 3 90 hradio 15 1 0 12 \$0_hr_5_s0 \$0_hr_5_r0 timing 2 8 1 9
--1 -1 -262140 0;
-#X obj 3 105 hradio 15 1 0 12 \$0_hr_6_s0 \$0_hr_6_r0 tools 2 8 1 9
+#N canvas 181 379 403 172 10;
+#X obj 185 19 vsl 15 115 0 175 0 0 \$0_slider_s0 \$0_slider_r0 empty
+0 -8 0 8 -1 -228856 -228856 11400 0;
+#X obj 3 47 hradio 15 1 0 12 \$0_hr_2_s0 \$0_hr_2_r0 ambisonic 2 8
+1 9 -1 -1 -262140 0;
+#X obj 3 62 hradio 15 1 0 12 \$0_hr_3_s0 \$0_hr_3_r0 behavior 2 8 1
+9 -1 -1 -262140 0;
+#X obj 3 77 hradio 15 1 0 12 \$0_hr_4_s0 \$0_hr_4_r0 control~ 2 8 1
+9 -1 -1 -262140 0;
+#X obj 3 92 hradio 15 1 0 12 \$0_hr_5_s0 \$0_hr_5_r0 conversion 2 8
+1 9 -1 -1 -262140 0;
+#X obj 3 107 hradio 15 1 0 12 \$0_hr_6_s0 \$0_hr_6_r0 counter 2 8 1
+9 -1 -1 -262140 0;
+#X obj 3 122 hradio 15 1 0 12 \$0_hr_7_s0 \$0_hr_7_r0 data 2 8 1 9
-1 -1 -262140 0;
-#X obj 3 120 hradio 15 1 0 12 \$0_hr_7_s0 \$0_hr_7_r0 ui 2 8 1 9 -1
--1 -258401 0;
-#X obj 384 17 vsl 15 115 0 175 0 0 \$0_slider_s \$0_slider_r empty
+#X obj 384 19 vsl 15 115 0 175 0 0 \$0_slider_s \$0_slider_r empty
0 -8 0 8 -1 -228856 -1 11400 0;
-#X obj 202 15 hradio 15 1 0 12 \$0_hr_0_s \$0_hr_0_r mtl/buttonColor
-2 8 1 9 -1 -1 -258401 3;
-#X obj 202 30 hradio 15 1 0 12 \$0_hr_1_s \$0_hr_1_r mtl/colorGrid
-2 8 1 9 -1 -1 -262140 4;
-#X obj 202 45 hradio 15 1 0 12 \$0_hr_2_s \$0_hr_2_r mtl/doubleClick
-2 8 1 9 -1 -1 -262140 0;
-#X obj 202 60 hradio 15 1 0 12 \$0_hr_3_s \$0_hr_3_r mtl/fileBrowser
-2 8 1 9 -1 -1 -262140 2;
-#X obj 202 75 hradio 15 1 0 12 \$0_hr_4_s \$0_hr_4_r mtl/gBrowser 2
-8 1 9 -1 -1 -262140 2;
-#X obj 202 90 hradio 15 1 0 12 \$0_hr_5_s \$0_hr_5_r mtl/hsv 2 8 1
-9 -1 -1 -262140 4;
-#X obj 202 105 hradio 15 1 0 12 \$0_hr_6_s \$0_hr_6_r mtl/keyNameLearn
-2 8 1 9 -1 -1 -262140 3;
-#X obj 202 120 hradio 15 1 0 12 \$0_hr_7_s \$0_hr_7_r mtl/keyR 2 8
-1 9 -1 -1 -262140 2;
-#N canvas 301 43 723 396 ./browser 0;
-#N canvas 1069 45 887 645 coll 0;
+#X obj 202 17 hradio 15 1 0 12 \$0_hr_0_s \$0_hr_0_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 32 hradio 15 1 0 12 \$0_hr_1_s \$0_hr_1_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 47 hradio 15 1 0 12 \$0_hr_2_s \$0_hr_2_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 62 hradio 15 1 0 12 \$0_hr_3_s \$0_hr_3_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 77 hradio 15 1 0 12 \$0_hr_4_s \$0_hr_4_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 92 hradio 15 1 0 12 \$0_hr_5_s \$0_hr_5_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 107 hradio 15 1 0 12 \$0_hr_6_s \$0_hr_6_r empty 2 8 1 9
+-1 -1 -262140 0;
+#X obj 202 122 hradio 15 1 0 12 \$0_hr_7_s \$0_hr_7_r empty 2 8 1 9
+-1 -1 -262140 0;
+#N canvas 1194 46 877 452 ./browser 0;
+#N canvas 1251 263 887 645 coll 0;
#X obj 23 -42 inlet;
#X obj 247 -40 inlet;
#X obj 141 321 zexy/demultiplex 0 1;
@@ -623,7 +623,7 @@
#X msg 459 43 175;
#X obj 461 65 s \$0_slider_r;
#X obj 405 182 s \$0_slider_r0;
-#X obj 587 293 outlet;
+#X obj 524 293 outlet;
#X obj 490 31 s \$0reset;
#X text 186 53 TAGS->;
#X text 160 265 ABSTRACTIONS->;
@@ -638,6 +638,38 @@
#X obj 435 97 t b b b;
#X obj 369 -61 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
+#N canvas 101 228 450 300 \$0info 0;
+#X obj 69 14 cnv 13 300 13 empty empty http://wiki.dataflow.ws/PdMtlAbstractions
+0 7 0 8 -16645 -262144 0;
+#X restore 583 183 pd \$0info;
+#X obj 590 93 r \$0info;
+#X obj 590 151 s pd-\$0info;
+#X msg 595 123 vis 1;
+#N canvas 0 0 864 561 font 0;
+#X msg 73 349 \; \$2_hr_\$1_r0 label_font \$3 \$4;
+#X obj 82 38 r \$0font;
+#X obj 86 254 tof/iterate;
+#X msg 92 223 8;
+#X obj 74 290 pack f \$0 1 f;
+#X obj 87 116 + 9;
+#X msg 286 350 \; \$2_hr_\$1_r label_font \$3 \$4;
+#X obj 298 67 loadbang;
+#X msg 294 99 9;
+#X obj 96 166 t b f f;
+#X msg 177 184 set \$1;
+#X connect 1 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 4 0 6 0;
+#X connect 5 0 9 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 9 1 4 3;
+#X connect 9 2 10 0;
+#X connect 10 0 8 0;
+#X restore 700 226 pd font;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 2 0 0 0;
@@ -671,18 +703,22 @@
#X connect 25 1 5 0;
#X connect 25 2 13 0;
#X connect 26 0 22 0;
-#X restore 277 -9 pd ./browser;
-#X obj 3 15 hradio 15 1 0 12 \$0_hr_0_s0 \$0_hr_0_r0 routing 2 8 1
-9 -1 -1 -262140 0;
-#X obj 3 31 hradio 15 1 0 12 \$0_hr_1_s0 \$0_hr_1_r0 sequencing 2 8
-1 9 -1 -1 -262140 0;
-#X obj 3 -9 cnv 15 198 22 empty empty TAG 1 12 1 12 -16645 -228856
+#X connect 28 0 30 0;
+#X connect 30 0 29 0;
+#X restore 277 -7 pd ./browser;
+#X obj 3 17 hradio 15 1 0 12 \$0_hr_0_s0 \$0_hr_0_r0 2d 2 8 1 9 -1
+-1 -262140 0;
+#X obj 3 33 hradio 15 1 0 12 \$0_hr_1_s0 \$0_hr_1_r0 3d 2 8 1 9 -1
+-1 -262140 0;
+#X obj 3 -7 cnv 15 198 22 empty empty TAG 1 12 1 12 -16645 -228856
0;
-#X obj 202 -9 cnv 15 197 22 empty empty CLASS/ABSTRACTION 0 12 1 12
+#X obj 202 -7 cnv 15 197 22 empty empty CLASS/ABSTRACTION 0 12 1 12
-16645 -228856 0;
-#X obj 3 137 cnv 15 396 20 empty empty empty 20 12 0 14 -16645 -258401
+#X obj 3 139 cnv 15 396 20 empty empty empty 18 12 0 14 -16645 -258401
0;
-#X obj 7 141 tgl 11 0 \$0love \$0lover with:love 17 6 0 8 -162280 -262144
--258401 0 1;
-#X obj 146 141 cnv 15 100 10 empty empty http://wiki.dataflow.ws/PdMtlAbstractions
-0 6 0 8 -16645 -99865 0;
+#X obj 6 144 tgl 9 0 \$0love \$0lover with:love 11 4 0 8 -162280 -262144
+-258401 1 1;
+#X obj 183 143 cnv 10 10 10 empty empty http://puredata.info/Members/mtl/
+0 6 0 7 -16645 -99865 0;
+#X obj 80 144 hradio 8 1 0 4 \$0font \$0 font 34 4 0 8 -162280 -262144
+-258401 0;
diff --git a/clk-quantization-help.pd b/clk-quantization-help.pd
index d8f5a38..c4616d9 100644
--- a/clk-quantization-help.pd
+++ b/clk-quantization-help.pd
@@ -1,35 +1,18 @@
-#N canvas 90 70 701 554 10;
-#X text 166 155 That means that the abstraction can start playing on
-each beat (every 24 steps).;
-#X text 237 234 If you set seq.timing.slave's events/beat to 4 \, the
-abstraction can start playing at any quarter beat.;
-#X text 285 323 If you set seq.timing.slave's length to 16 events and
-the events/beat to 4 \, the abstraction can start playing every 4 beats.
-;
-#X text 166 113 Next time you press play \, the abstraction will start
-playing from event 0 (restarts the pattern) once it receives a new
-beat.;
-#X text 290 394 The abstraction will start playing immediatly the next
-time you press play. It will try to match seq.timing.master's current
-event (does not restart the pattern).;
-#X text 290 462 Triggers right away;
-#X text 238 207 Waits for the next master event then starts playing.
-;
-#X text 300 305 Waits for the next master loop then starts playing.
-;
+#N canvas 1255 177 701 554 10;
#X text 44 47 There are four methods of synchronizing a clkSlave to
its clkMaster:;
-#X text 284 379 -- default --;
-#X msg 165 464 none;
-#X msg 150 403 match;
-#X msg 146 311 loop;
-#X msg 107 207 event;
-#X msg 50 113 beat;
-#X obj 51 498 symbol;
-#X obj 51 523 outlet;
-#X connect 10 0 15 0;
-#X connect 11 0 15 0;
-#X connect 12 0 15 0;
-#X connect 13 0 15 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
+#X msg 157 224 none;
+#X msg 62 115 match;
+#X msg 129 175 beat;
+#X obj 52 350 symbol;
+#X obj 52 375 outlet;
+#X text 112 110 The abstraction will start playing or will stop immediately.
+The value outputed will match the master's current step.;
+#X text 171 172 The abstraction will start playing or will stop on
+the next beat. The value outputed will start at 0;
+#X text 204 224 The abstraction will start playing or will stop immediately.
+The value outputed will start at 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
diff --git a/clkMaster-help.pd b/clkMaster-help.pd
index ba4264b..6f0f521 100644
--- a/clkMaster-help.pd
+++ b/clkMaster-help.pd
@@ -6,12 +6,9 @@
#X text 87 163 Bpm (minimum of 30 \, defaults to 120);
#X floatatom 46 262 8 0 0 1 step - -;
#X floatatom 104 237 5 0 0 1 beat_interval(ms) - -;
-#X text 27 59 tags: timing;
-#X msg 379 163 external 1;
+#X msg 472 147 external 1;
#X text 45 282 24 steps ber beat (as in MIDI);
-#X text 453 163 You can then send the external sync signal to [clkMaster]'s
-right inlet. See [clkUPDin]'s help for an example.;
-#X text 376 128 You use an external sync signal by sending an "external
+#X text 469 112 You use an external sync signal by sending an "external
1" message to [clkMaster]'s left inlet.;
#X text 24 31 Description: synchronizes all [clkSlave] abstractions
that share the same "top" patch.;
@@ -26,12 +23,14 @@ that share the same "top" patch.;
#X text 74 328 <- Bang to start playing a 4/4 16 beat loop;
#X text 387 326 <- Bang to start playing a 4/4 32 beat loop;
#X obj 362 358 mtl/clkSlave 4 32;
-#X connect 2 0 12 0;
-#X connect 7 0 12 0;
-#X connect 12 0 4 0;
-#X connect 12 1 5 0;
-#X connect 12 2 0 0;
-#X connect 14 0 17 0;
-#X connect 16 0 20 0;
-#X connect 17 0 13 0;
-#X connect 20 0 15 0;
+#X text 27 59 tags: timing sequencing;
+#X text 466 165 You must then send the external sync signal to [clkMaster]'s
+right inlet. See [clkUPDin]'s help for an example.;
+#X connect 2 0 10 0;
+#X connect 10 0 4 0;
+#X connect 10 1 5 0;
+#X connect 10 2 0 0;
+#X connect 12 0 15 0;
+#X connect 14 0 18 0;
+#X connect 15 0 11 0;
+#X connect 18 0 13 0;
diff --git a/clkSlave-help.pd b/clkSlave-help.pd
index 3551921..e853072 100644
--- a/clkSlave-help.pd
+++ b/clkSlave-help.pd
@@ -1,41 +1,42 @@
-#N canvas 1176 114 708 495 10;
-#X text 56 41 Description: Follows the timing of seq.timing.master.
-;
+#N canvas 1477 59 767 631 10;
#X msg 59 187 play;
#X msg 103 186 stop;
-#X floatatom 77 384 5 0 0 1 bpm - -;
-#X floatatom 60 409 5 0 0 1 event - -;
-#X obj 95 364 tgl 15 0 empty empty play_state 17 7 0 10 -262144 -1
+#X floatatom 108 379 5 0 0 1 bpm - -;
+#X floatatom 62 451 5 0 0 1 note - -;
+#X obj 85 414 tgl 15 0 empty empty play_state 17 7 0 10 -262144 -1
-1 0 1;
-#X obj 111 336 bng 15 250 50 0 empty empty loop 17 7 0 10 -262144 -1
+#X obj 131 351 bng 15 250 50 0 empty empty loop 17 7 0 10 -262144 -1
-1;
-#X obj 129 311 bng 15 250 50 0 empty empty play_triggered 17 7 0 10
--262144 -1 -1;
-#X floatatom 171 223 5 0 0 0 - - -;
-#X floatatom 242 249 5 0 0 0 - - -;
-#X text 284 249 events in a loop (disable with 0 \, defaults to 0)
-;
-#X text 56 61 tags: timing;
-#X obj 60 273 mtl/clkSlave;
-#X obj 474 68 mtl/clkMaster 120;
-#X text 148 143 Open(click) to read about quantization:;
-#X obj 151 165 mtl/clk-quantization-help;
-#X text 214 221 steps per event (minimum of 1 \, maximum of 24 \, defaults
-to 4);
-#X floatatom 474 92 7 0 0 1 step - -;
-#X obj 574 96 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+#X floatatom 141 253 5 0 0 0 - - -;
+#X obj 62 314 mtl/clkSlave;
+#X obj 452 59 mtl/clkMaster 120;
+#X text 143 173 Open(click) to read about quantization:;
+#X obj 146 195 mtl/clk-quantization-help;
+#X floatatom 452 83 7 0 0 1 step - -;
+#X obj 552 87 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#X msg 150 190 quantization \$1;
-#X connect 1 0 12 0;
-#X connect 2 0 12 0;
-#X connect 8 0 12 1;
-#X connect 9 0 12 2;
-#X connect 12 0 4 0;
-#X connect 12 1 3 0;
-#X connect 12 2 5 0;
-#X connect 12 3 6 0;
-#X connect 12 4 7 0;
-#X connect 13 0 17 0;
-#X connect 13 2 18 0;
-#X connect 15 0 19 0;
-#X connect 19 0 12 0;
+#X msg 145 220 quantization \$1;
+#X floatatom 452 33 5 0 0 0 - - -;
+#X text 56 41 Description: Follows the timing of a [clkMaster];
+#X floatatom 147 288 5 0 0 0 - - -;
+#X text 181 286 loop length;
+#X text 58 63 tags: timing sequencing;
+#X text 176 254 number of notes per beat. Possible values: 1 \, 2 \,
+3 \, 4 \, 6 \, 8 \, 12 \, 24;
+#X text 248 323 Argumments:;
+#X text 275 344 1 float: number of notes per beat.;
+#X text 275 360 2 float: number of notes in loop. If set to 0 \, looping
+is disabled.;
+#X connect 0 0 7 0;
+#X connect 1 0 7 0;
+#X connect 6 0 7 1;
+#X connect 7 0 3 0;
+#X connect 7 1 4 0;
+#X connect 7 2 2 0;
+#X connect 7 3 5 0;
+#X connect 8 0 11 0;
+#X connect 8 2 12 0;
+#X connect 10 0 13 0;
+#X connect 13 0 7 0;
+#X connect 14 0 8 0;
+#X connect 16 0 7 2;
diff --git a/clkSlave.pd b/clkSlave.pd
index ffd151d..511caea 100644
--- a/clkSlave.pd
+++ b/clkSlave.pd
@@ -1,50 +1,28 @@
-#N canvas 1028 38 1005 673 10;
+#N canvas 1200 63 1063 878 10;
#X obj 188 724 change;
-#X obj 21 365 b;
+#X obj 40 371 b;
#X obj 426 632 moses 16;
#X obj 255 486 t b b;
-#X obj 18 -82 inlet commands;
-#X obj 186 760 outlet;
-#X obj 694 288 s \$0events;
-#X obj 569 -102 inlet length;
-#X obj 684 230 expr 24/$f1;
-#X obj 692 256 int;
-#X msg 46 18 0;
-#X msg 537 243 1;
-#X obj 53 361 r \$0events;
+#X obj 16 -117 inlet commands;
+#X obj 190 751 outlet;
+#X obj 745 264 s \$0events;
+#X obj 745 209 expr 24/$f1;
+#X obj 746 238 int;
+#X obj 72 367 r \$0events;
#X obj 185 658 r \$0change;
-#N canvas 447 378 577 388 initial_sync 0;
-#X obj 64 10 inlet;
-#X obj 360 16 inlet;
-#X obj 93 105 spigot 1;
-#X msg 176 114 0;
-#X obj 110 132 t b b;
-#X obj 124 205 s \$0trig;
-#X msg 119 167 5;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 4 0;
-#X connect 3 0 2 1;
-#X connect 4 0 6 0;
-#X connect 4 1 3 0;
-#X connect 6 0 5 0;
-#X restore 453 265 pd initial_sync;
-#X obj 541 19 s \$0length;
-#X obj 684 205 clip 1 24;
+#X obj 636 55 s \$0length;
+#X obj 745 184 clip 1 24;
#X obj 552 524 r \$0length;
#X obj 461 562 > 0;
-#X obj 552 -22 max 0;
-#X obj 420 200 t b f f b;
-#X obj 668 755 outlet loop;
+#X obj 647 14 max 0;
+#X obj 656 746 outlet loop;
#X obj 478 666 t b b;
#X obj 365 492 r \$0event;
-#X obj 163 365 r \$0step;
-#X obj 92 15 s \$0state;
-#X obj 257 143 f 1;
-#X obj 534 220 delay 250;
-#X obj 38 297 spigot;
-#X obj 121 280 r \$0state;
-#N canvas 1094 69 926 668 triggers 0;
+#X obj 182 371 r \$0step;
+#X obj 211 149 f 1;
+#X obj 40 322 spigot;
+#X obj 74 272 r \$0state;
+#N canvas 65 25 926 668 triggers 0;
#X obj 261 17 inlet;
#X obj 52 302 sel 0;
#X obj 150 251 r \$0events;
@@ -55,211 +33,208 @@
#X obj 280 257 r \$0length;
#X obj 120 278 mod 6;
#X obj 233 311 sel 0;
-#X obj 46 618 s \$0state;
-#X obj 240 593 s \$0step;
-#X obj 311 592 s \$0event;
-#X obj 439 385 pack f f;
+#X obj 39 640 s \$0state;
+#X obj 275 597 s \$0step;
+#X obj 346 596 s \$0event;
+#X obj 557 388 pack f f;
#X obj 52 268 mod 24;
-#X obj 504 304 mod 16;
-#X obj 532 241 r \$0length;
-#X obj 355 208 t f f;
-#X obj 476 244 div 6;
-#X obj 755 405 pack f f;
-#X obj 719 277 mod 16;
-#X obj 755 248 r \$0length;
-#X obj 671 228 t f f;
-#X obj 699 251 div 6;
-#X obj 671 280 mod 6;
-#X obj 671 308 sel 0;
-#X obj 782 330 +;
-#X obj 831 367 t f f;
-#X obj 693 334 t f b;
-#X msg 736 318 1;
-#X msg 756 431 \$1 \$2 0;
+#X obj 622 307 mod 16;
+#X obj 650 244 r \$0length;
+#X obj 473 211 t f f;
+#X obj 594 247 div 6;
#X obj 96 568 s \$0play_triggered;
#X obj 27 23 inlet TRIGGER_NOW;
-#X obj 233 141 zexy/demultiplex 0 1 2 3 4 5;
#X obj 461 9 inlet trig;
-#X text 671 198 -- unknown mode --;
-#X obj 463 203 r \$0events;
-#X obj 382 336 mod 6;
-#X msg 52 335 0 0 0;
-#X msg 120 332 0 0 0;
-#X msg 231 336 0 0 0;
-#X msg 440 411 \$1 \$2 0;
+#X obj 581 206 r \$0events;
+#X obj 500 339 mod 6;
#X msg 27 130 0 0 0;
#X obj 44 533 t b b;
-#X msg 46 589 1;
-#X obj 251 529 unpack f f f;
#X obj 274 71 t f f;
#X obj 175 480 t b l b;
-#X connect 0 0 46 0;
-#X connect 1 0 38 0;
+#X obj 233 141 zexy/demultiplex 0 1 2 3 4;
+#X obj 119 595 r \$0reqstate;
+#X obj 41 607 f;
+#X text 406 137 ignore beat event loop match;
+#X msg 255 482 0;
+#X msg 232 335 0 0;
+#X msg 120 332 0 0;
+#X msg 52 335 0 0;
+#X msg 558 414 \$1 \$2;
+#X obj 285 534 unpack f f;
+#X connect 0 0 26 0;
+#X connect 1 0 35 0;
#X connect 2 0 8 1;
-#X connect 3 0 39 0;
+#X connect 3 0 34 0;
#X connect 4 0 5 1;
#X connect 5 0 6 0;
#X connect 6 0 9 0;
#X connect 7 0 6 1;
#X connect 8 0 3 0;
-#X connect 9 0 40 0;
-#X connect 13 0 41 0;
+#X connect 9 0 33 0;
+#X connect 13 0 36 0;
#X connect 14 0 1 0;
#X connect 15 0 13 1;
#X connect 16 0 15 1;
-#X connect 17 0 37 0;
+#X connect 17 0 23 0;
#X connect 17 1 18 0;
#X connect 18 0 15 0;
-#X connect 19 0 30 0;
-#X connect 20 0 26 1;
-#X connect 21 0 20 1;
-#X connect 22 0 24 0;
-#X connect 22 1 23 0;
-#X connect 23 0 20 0;
-#X connect 24 0 25 0;
-#X connect 25 1 28 0;
-#X connect 26 0 19 1;
-#X connect 27 0 19 0;
-#X connect 27 1 26 0;
-#X connect 28 0 19 0;
-#X connect 28 1 29 0;
-#X connect 29 0 26 0;
-#X connect 30 0 47 0;
-#X connect 32 0 42 0;
-#X connect 33 1 14 0;
-#X connect 33 2 8 0;
-#X connect 33 3 5 0;
-#X connect 33 4 17 0;
-#X connect 33 5 22 0;
-#X connect 34 0 33 1;
-#X connect 36 0 18 1;
-#X connect 36 0 37 1;
-#X connect 37 0 13 0;
-#X connect 38 0 47 0;
-#X connect 39 0 47 0;
-#X connect 40 0 47 0;
-#X connect 41 0 47 0;
-#X connect 42 0 47 0;
-#X connect 43 0 44 0;
-#X connect 43 1 31 0;
-#X connect 44 0 10 0;
-#X connect 45 0 11 0;
-#X connect 45 1 12 0;
-#X connect 45 2 33 1;
-#X connect 46 0 33 0;
-#X connect 47 0 43 0;
-#X connect 47 1 45 0;
-#X restore 269 300 pd triggers;
-#X obj 411 755 outlet bpm;
-#X obj 540 760 outlet state;
-#X obj 540 713 r \$0state;
-#X obj 371 -56 inlet events;
-#X obj 556 -56 int;
-#X obj 803 714 r \$0play_triggered;
-#X obj 803 755 outlet play_triggered;
-#X obj 144 84 unpack f f;
-#X msg 156 43 0 1;
-#X msg 202 45 0 2;
-#X msg 247 44 0 3;
-#X msg 292 43 0 4;
-#X obj 19 109 t b b;
-#X obj 70 160 spigot;
-#X msg 338 44 1 0;
-#X obj 19 414 iemlib/modulo_counter;
+#X connect 20 0 24 0;
+#X connect 21 0 28 1;
+#X connect 22 0 18 1;
+#X connect 22 0 23 1;
+#X connect 23 0 13 0;
+#X connect 24 0 27 0;
+#X connect 25 0 30 0;
+#X connect 25 1 19 0;
+#X connect 26 0 28 0;
+#X connect 27 0 25 0;
+#X connect 27 1 37 0;
+#X connect 27 2 32 0;
+#X connect 28 1 14 0;
+#X connect 28 2 8 0;
+#X connect 28 3 5 0;
+#X connect 28 4 17 0;
+#X connect 29 0 30 1;
+#X connect 30 0 10 0;
+#X connect 32 0 28 1;
+#X connect 33 0 27 0;
+#X connect 34 0 27 0;
+#X connect 35 0 27 0;
+#X connect 36 0 27 0;
+#X connect 37 0 11 0;
+#X connect 37 1 12 0;
+#X restore 246 306 pd triggers;
+#X obj 541 746 outlet bpm;
+#X obj 317 748 outlet state;
+#X obj 464 343 r \$0state;
+#X obj 651 -20 int;
+#X msg 188 45 0 1;
+#X msg 229 46 0 4;
+#X obj 40 155 spigot;
+#X msg 273 48 1 0;
+#X obj 38 420 iemlib/modulo_counter;
#X obj 243 558 tof/increment;
-#X obj 710 -35 loadbang;
-#X msg 358 96 set \$1CLK;
-#X obj 358 70 tof/getdollarzero root;
-#X obj 399 121 iemlib/iem_receive;
-#X obj 357 144 route bpm;
-#X obj 216 -25 sel 0 1;
-#X obj 698 95 s _NEWCLK;
-#X obj 157 17 route beat event loop match none;
-#X obj 723 56 tof/argument 1 4;
-#X obj 579 -77 tof/argument 2 0;
-#X obj 704 7 t b b b b b;
-#X obj 19 -54 route play stop quantization bang;
-#X obj 851 112 list trim;
+#X obj 797 -131 loadbang;
+#X msg 341 126 set \$1CLK;
+#X obj 341 100 tof/getdollarzero root;
+#X obj 341 153 iemlib/iem_receive;
+#X obj 213 -64 sel 0 1;
+#X obj 772 -3 s _NEWCLK;
+#X obj 799 -110 t b b b b b;
+#X obj 968 49 list trim;
#X obj 267 598 zexy/demultiplex 0 1;
-#X obj 20 464 sel 0;
+#X obj 39 470 sel 0;
#X obj 11 300 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#X obj 852 86 tof/argument 3 match;
+#X obj 449 212 t b f;
+#X obj 234 86 unpack;
+#X obj 644 -104 inlet notes/loop;
+#X obj 343 180 route bpm signature;
+#X obj 430 -69 inlet multiplier;
+#X obj 969 23 tof/argument 3 match;
+#X obj 675 -67 tof/argument 2 0;
+#X obj 825 29 tof/argument 1 4;
+#X text 647 346 todo: add master signature and bar trigger;
+#X obj 193 15 route beat match none;
+#X msg 362 -14 Unkown qunatization value \$1;
+#X obj 362 38 print clkSlave;
+#X text 177 417 <- convert events to notes;
+#X obj 537 716 f 0;
+#X obj 470 379 t f b;
+#N canvas 75 161 632 460 s|p 0;
+#X obj 59 36 inlet stop;
+#X obj 364 37 inlet play;
+#X msg 87 146 0;
+#X obj 118 309 t b b;
+#X obj 283 289 s \$0reqstate;
+#X obj 80 191 t b f;
+#X obj 255 191 t b b;
+#X msg 284 234 1;
+#X obj 103 397 outlet;
+#X obj 378 396 outlet;
+#X connect 0 0 2 0;
+#X connect 1 0 6 0;
+#X connect 2 0 5 0;
+#X connect 3 0 8 0;
+#X connect 3 1 9 0;
+#X connect 5 0 3 0;
+#X connect 5 1 4 0;
+#X connect 6 0 3 0;
+#X connect 6 1 7 0;
+#X connect 7 0 4 0;
+#X restore 25 -32 pd s|p;
+#X obj 17 -89 route stop play quantization bang;
+#X text 565 586 <- loop management;
#X connect 0 0 5 0;
-#X connect 1 0 46 0;
+#X connect 1 0 32 0;
#X connect 2 0 0 0;
-#X connect 2 1 22 0;
-#X connect 3 0 47 0;
-#X connect 3 1 47 1;
-#X connect 4 0 59 0;
-#X connect 7 0 35 0;
-#X connect 8 0 9 0;
-#X connect 9 0 6 0;
-#X connect 10 0 25 0;
-#X connect 11 0 14 1;
-#X connect 12 0 46 0;
-#X connect 13 0 0 0;
-#X connect 16 0 8 0;
-#X connect 17 0 18 0;
-#X connect 17 0 2 1;
-#X connect 18 0 61 1;
-#X connect 19 0 15 0;
-#X connect 20 0 28 0;
-#X connect 20 1 30 1;
-#X connect 20 2 14 0;
-#X connect 20 3 27 0;
-#X connect 22 0 3 0;
-#X connect 22 1 21 0;
-#X connect 23 0 47 1;
-#X connect 24 0 46 1;
-#X connect 26 0 30 2;
-#X connect 27 0 11 0;
-#X connect 28 0 1 0;
-#X connect 29 0 28 1;
-#X connect 33 0 32 0;
-#X connect 34 0 16 0;
-#X connect 35 0 19 0;
-#X connect 36 0 37 0;
-#X connect 38 0 44 1;
-#X connect 38 1 26 1;
-#X connect 39 0 38 0;
-#X connect 40 0 38 0;
-#X connect 41 0 38 0;
-#X connect 42 0 38 0;
-#X connect 43 0 44 0;
-#X connect 43 1 26 0;
-#X connect 44 0 30 0;
-#X connect 45 0 38 0;
-#X connect 46 0 62 0;
-#X connect 47 0 61 0;
+#X connect 2 1 17 0;
+#X connect 3 0 33 0;
+#X connect 3 1 33 1;
+#X connect 4 0 61 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 32 0;
+#X connect 10 0 0 0;
+#X connect 12 0 7 0;
+#X connect 13 0 14 0;
+#X connect 13 0 2 1;
+#X connect 14 0 42 1;
+#X connect 15 0 11 0;
+#X connect 17 0 3 0;
+#X connect 17 1 16 0;
+#X connect 18 0 33 1;
+#X connect 19 0 32 1;
+#X connect 20 0 23 2;
+#X connect 21 0 1 0;
+#X connect 22 0 21 1;
+#X connect 26 0 59 0;
+#X connect 27 0 15 0;
+#X connect 28 0 46 0;
+#X connect 29 0 46 0;
+#X connect 30 0 23 0;
+#X connect 31 0 46 0;
+#X connect 32 0 43 0;
+#X connect 33 0 42 0;
+#X connect 34 0 40 0;
+#X connect 35 0 37 0;
+#X connect 36 0 35 0;
+#X connect 37 0 48 0;
+#X connect 38 0 60 0;
+#X connect 38 1 60 1;
+#X connect 40 0 39 0;
+#X connect 40 1 52 0;
+#X connect 40 2 51 0;
+#X connect 40 3 36 0;
+#X connect 40 4 50 0;
+#X connect 41 0 54 0;
+#X connect 42 0 0 0;
+#X connect 42 1 2 0;
+#X connect 43 0 33 0;
+#X connect 44 0 1 0;
+#X connect 45 0 21 0;
+#X connect 45 1 23 1;
+#X connect 46 0 30 1;
+#X connect 46 1 20 1;
+#X connect 47 0 27 0;
#X connect 48 0 58 0;
-#X connect 49 0 51 0;
-#X connect 50 0 49 0;
-#X connect 51 0 52 0;
-#X connect 52 0 31 0;
-#X connect 52 1 20 0;
-#X connect 53 0 10 0;
-#X connect 53 1 43 0;
-#X connect 55 0 39 0;
-#X connect 55 1 40 0;
-#X connect 55 2 41 0;
-#X connect 55 3 42 0;
-#X connect 55 4 45 0;
-#X connect 56 0 16 0;
-#X connect 57 0 35 0;
-#X connect 58 0 54 0;
-#X connect 58 1 56 0;
-#X connect 58 2 57 0;
-#X connect 58 3 50 0;
-#X connect 58 4 64 0;
-#X connect 59 0 43 0;
-#X connect 59 1 10 0;
-#X connect 59 2 55 0;
-#X connect 59 3 43 0;
-#X connect 59 4 53 0;
-#X connect 60 0 55 0;
-#X connect 61 0 0 0;
-#X connect 61 1 2 0;
-#X connect 62 0 47 0;
-#X connect 63 0 1 0;
-#X connect 64 0 60 0;
+#X connect 48 2 45 0;
+#X connect 49 0 12 0;
+#X connect 50 0 41 0;
+#X connect 51 0 27 0;
+#X connect 52 0 12 0;
+#X connect 54 0 28 0;
+#X connect 54 1 29 0;
+#X connect 54 2 31 0;
+#X connect 54 3 55 0;
+#X connect 55 0 56 0;
+#X connect 58 0 24 0;
+#X connect 59 0 25 0;
+#X connect 59 1 58 0;
+#X connect 60 0 30 0;
+#X connect 60 1 20 0;
+#X connect 61 0 60 0;
+#X connect 61 1 60 1;
+#X connect 61 2 54 0;
+#X connect 61 3 60 1;
+#X connect 61 4 38 0;
diff --git a/closestNote-help.pd b/closestNote-help.pd
index 95e9404..f7e60a4 100644
--- a/closestNote-help.pd
+++ b/closestNote-help.pd
@@ -52,9 +52,9 @@ being too high.;
#X obj 10 292 iemlib/modulo_counter 14 0;
#X obj 11 96 mtl/clkMaster 120;
#X obj 10 178 loadbang;
-#X obj 10 232 mtl/clkSlave;
#X obj 10 207 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
+#X obj 10 232 mtl/clkSlave 4;
#X connect 0 0 35 0;
#X connect 1 0 40 0;
#X connect 3 0 40 0;
@@ -84,6 +84,6 @@ being too high.;
#X connect 42 0 25 0;
#X connect 43 0 44 0;
#X connect 44 0 36 0;
-#X connect 46 0 48 0;
-#X connect 47 0 43 0;
-#X connect 48 0 47 0;
+#X connect 46 0 47 0;
+#X connect 47 0 48 0;
+#X connect 48 0 43 0;
diff --git a/core.txt b/core.txt
index c3f4243..d52e3d7 100644
--- a/core.txt
+++ b/core.txt
@@ -70,8 +70,8 @@ mtl/chordGuess midi
mtl/chronometer timing
mtl/clap808~ synthesize~
mtl/clap~ synthesize~
-mtl/clkMaster timing
-mtl/clkSlave timing
+mtl/clkMaster timing sequencing
+mtl/clkSlave timing sequencing
mtl/clkUDPIn timing network
mtl/clkUDPOut timing network
mtl/clocker timing
diff --git a/cues-help.pd b/cues-help.pd
index cc98870..255f406 100644
--- a/cues-help.pd
+++ b/cues-help.pd
@@ -1,18 +1,18 @@
-#N canvas 335 357 568 303 10;
+#N canvas 340 381 632 294 10;
#X obj 20 -53 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
-1;
#X msg 122 20 read \$1;
#X obj 20 -3 metro 1;
#X floatatom 20 44 5 0 0 0 - - -;
#X obj 20 -31 t b b b;
-#X text 200 19 You can also add messages manually;
+#X text 280 19 You can also add messages manually;
#X obj 20 65 mtl/cues;
-#X msg 204 57 clear \, add 10 AYE AYE \, add 3750 POPEYE \, add 6000
+#X msg 284 57 clear \, add 10 AYE AYE \, add 3750 POPEYE \, add 6000
is a sailor man;
#X obj 122 -3 openpanel;
#X obj 122 -23 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X obj 204 35 loadbang;
+#X obj 284 35 loadbang;
#X obj 20 90 print index;
#X obj 99 89 print cue;
#X text 373 113 Example: 10 AYE AYE;
@@ -25,6 +25,10 @@ cue and must end with a carriage return.;
#X text 15 -120 description: Cues events to a number stream.;
#X text 15 -81 tags: timing;
#X obj 20 21 tof/increment;
+#X msg 190 20 write \$1;
+#X obj 190 -2 savepanel;
+#X obj 190 -22 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
#X connect 0 0 4 0;
#X connect 1 0 6 1;
#X connect 2 0 20 0;
@@ -39,3 +43,6 @@ cue and must end with a carriage return.;
#X connect 9 0 8 0;
#X connect 10 0 7 0;
#X connect 20 0 3 0;
+#X connect 21 0 6 1;
+#X connect 22 0 21 0;
+#X connect 23 0 22 0;
diff --git a/cues.pd b/cues.pd
index b1ba45c..3c9be21 100644
--- a/cues.pd
+++ b/cues.pd
@@ -1,4 +1,4 @@
-#N canvas 141 142 868 556 10;
+#N canvas 146 166 868 556 10;
#X obj 145 381 outlet cue_number;
#X obj 400 -249 inlet reset;
#X obj 584 247 textfile;
@@ -12,7 +12,6 @@
#X obj 214 346 outlet cue_time;
#X msg 691 255 print;
#X obj 102 27 t b a a b;
-#X obj 500 -68 route read;
#X obj 703 49 symbol;
#X obj 757 -51 loadbang;
#X msg 391 117 rewind \, bang;
@@ -25,7 +24,10 @@
#X msg 695 212 read \$1 cr \, rewind \, bang;
#X obj 141 237 tof/increment;
#X obj 414 -106 zexy/relay add clear;
-#X connect 1 0 25 0;
+#X obj 500 -68 route read write;
+#X obj 627 50 symbol;
+#X msg 627 71 write \$1;
+#X connect 1 0 24 0;
#X connect 2 0 12 0;
#X connect 2 1 6 0;
#X connect 3 0 7 0;
@@ -33,29 +35,32 @@
#X connect 5 0 3 1;
#X connect 6 0 3 1;
#X connect 7 0 2 0;
-#X connect 7 1 24 0;
+#X connect 7 1 23 0;
#X connect 7 2 5 0;
-#X connect 8 0 16 0;
-#X connect 8 1 24 1;
+#X connect 8 0 15 0;
+#X connect 8 1 23 1;
#X connect 8 2 5 0;
#X connect 9 0 0 0;
-#X connect 9 1 17 0;
+#X connect 9 1 16 0;
#X connect 11 0 2 0;
-#X connect 12 1 20 0;
-#X connect 12 2 17 1;
+#X connect 12 1 19 0;
+#X connect 12 2 16 1;
#X connect 12 3 4 0;
-#X connect 13 0 14 0;
-#X connect 13 1 8 0;
-#X connect 14 0 23 0;
-#X connect 15 0 22 0;
-#X connect 16 0 2 0;
-#X connect 17 0 10 0;
-#X connect 18 1 3 0;
-#X connect 19 0 18 0;
-#X connect 20 0 18 1;
-#X connect 22 0 14 0;
-#X connect 23 0 2 0;
-#X connect 24 0 9 0;
-#X connect 25 0 2 0;
-#X connect 25 1 2 0;
-#X connect 25 2 13 0;
+#X connect 13 0 22 0;
+#X connect 14 0 21 0;
+#X connect 15 0 2 0;
+#X connect 16 0 10 0;
+#X connect 17 1 3 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 1;
+#X connect 21 0 13 0;
+#X connect 22 0 2 0;
+#X connect 23 0 9 0;
+#X connect 24 0 2 0;
+#X connect 24 1 2 0;
+#X connect 24 2 25 0;
+#X connect 25 0 13 0;
+#X connect 25 1 26 0;
+#X connect 25 2 8 0;
+#X connect 26 0 27 0;
+#X connect 27 0 2 0;
diff --git a/cues~-help.pd b/cues~-help.pd
index d8b3e99..db895f5 100644
--- a/cues~-help.pd
+++ b/cues~-help.pd
@@ -1,14 +1,14 @@
-#N canvas 417 217 626 315 10;
+#N canvas 422 241 626 315 10;
#X obj 25 1 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
-1;
#X msg 123 64 read \$1;
-#X text 190 7 You can also add messages manually;
-#X msg 193 48 clear \, add 10 AYE AYE \, add 3750 POPEYE \, add 6000
+#X text 281 9 You can also add messages manually;
+#X msg 284 50 clear \, add 10 AYE AYE \, add 3750 POPEYE \, add 6000
is a sailor man;
#X obj 123 41 openpanel;
#X obj 123 19 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#X obj 193 26 loadbang;
+#X obj 284 28 loadbang;
#X obj 25 122 print index;
#X obj 105 123 print cue;
#X text 385 151 Example: 10 AYE AYE;
@@ -26,6 +26,10 @@ cue and must end with a carriage return.;
0;
#X text 22 -28 tags: timing;
#X text 23 -68 description: Cues events to a number stream.;
+#X obj 193 19 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 193 41 savepanel;
+#X msg 193 64 write \$1;
#X connect 0 0 15 0;
#X connect 1 0 13 1;
#X connect 3 0 13 1;
@@ -39,3 +43,6 @@ cue and must end with a carriage return.;
#X connect 15 1 13 1;
#X connect 16 0 13 1;
#X connect 17 0 14 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 23 0 13 1;
diff --git a/cues~.pd b/cues~.pd
index ea5f74d..c8c3e84 100644
--- a/cues~.pd
+++ b/cues~.pd
@@ -1,4 +1,4 @@
-#N canvas 559 76 1005 692 10;
+#N canvas 430 100 1005 692 10;
#X obj 56 -121 inlet~;
#X obj 108 507 outlet cue_number;
#X obj 560 -181 inlet reset;
@@ -30,11 +30,13 @@
#X obj 282 440 list;
#X obj 136 22 list split 1;
#X obj 800 -109 iemlib/dollarg;
-#X obj 653 -98 route read;
#X obj 205 367 tof/increment;
#X obj 566 -143 zexy/relay add clear;
+#X obj 653 -98 route read write;
+#X msg 679 -11 write \$1;
+#X obj 679 -43 symbol;
#X connect 0 0 5 0;
-#X connect 2 0 31 0;
+#X connect 2 0 30 0;
#X connect 5 0 3 0;
#X connect 5 0 9 0;
#X connect 5 1 4 0;
@@ -52,10 +54,10 @@
#X connect 15 0 9 1;
#X connect 16 0 9 1;
#X connect 17 0 6 0;
-#X connect 17 1 30 0;
+#X connect 17 1 29 0;
#X connect 17 2 15 0;
#X connect 18 0 25 0;
-#X connect 18 1 30 1;
+#X connect 18 1 29 1;
#X connect 18 2 15 0;
#X connect 19 0 1 0;
#X connect 19 1 26 0;
@@ -70,9 +72,12 @@
#X connect 26 0 20 0;
#X connect 27 0 7 0;
#X connect 28 0 23 0;
-#X connect 29 0 23 0;
-#X connect 29 1 18 0;
-#X connect 30 0 19 0;
-#X connect 31 0 6 0;
-#X connect 31 1 6 0;
-#X connect 31 2 29 0;
+#X connect 29 0 19 0;
+#X connect 30 0 6 0;
+#X connect 30 1 6 0;
+#X connect 30 2 31 0;
+#X connect 31 0 23 0;
+#X connect 31 1 33 0;
+#X connect 31 2 18 0;
+#X connect 32 0 6 0;
+#X connect 33 0 32 0;
diff --git a/distoAp~-help.pd b/distoAp~-help.pd
index b54930e..868398d 100644
--- a/distoAp~-help.pd
+++ b/distoAp~-help.pd
@@ -1,4 +1,4 @@
-#N canvas 331 259 597 403 10;
+#N canvas 336 283 590 372 10;
#X text 10 50 See: http://www.acoustics.hut.fi/~jpekonen/Papers/dafx08/
;
#X text 11 5 Description: "Coefficient Modulated Allpass Filter as
@@ -8,9 +8,8 @@ Distortion Effect" as in the DAFx 2008 paper by Jussi Pekonen;
#X text 10 85 tags: fx~;
#X text 22 261 presets;
#X msg 35 302 /disAp/lop 30 \, /disAp/drive 110 \, /disAp/wet 1;
-#X msg 175 164 /wet \$1;
-#X floatatom 175 143 5 0 1 0 - - -;
-#X msg 24 282 /disAp/lop 80 \, /disAp/drive 10 \, /disAp/wet 1;
+#X msg 145 160 /wet \$1;
+#X floatatom 145 139 5 0 1 0 - - -;
#X obj 16 187 mtl/distoAp~ /id disAp;
#X obj 24 323 tof/param route;
#X text 166 185 <-Click on the propeties menu to display params;
@@ -20,14 +19,14 @@ Distortion Effect" as in the DAFx 2008 paper by Jussi Pekonen;
#X obj 343 268 cnv 15 200 20 empty empty /disAp/ 2 12 0 8 -258401 -262144
0;
#X obj 343 291 hsl 100 15 0 127 0 0 /disAp/lop /disAp/lop_ lop 105
-7 0 8 -262144 -1 -1 0 1;
+7 0 8 -262144 -1 -1 6236 1;
#X obj 343 309 hsl 100 15 0 500 0 0 /disAp/drive /disAp/drive_ drive
-105 7 0 8 -262144 -1 -1 0 1;
+105 7 0 8 -262144 -1 -1 1386 1;
#X obj 343 327 hsl 100 15 0 1 0 0 /disAp/wet /disAp/wet_ wet 105 7
-0 8 -262144 -1 -1 0 1;
-#X obj 19 117 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+0 8 -262144 -1 -1 9900 1;
+#X obj 17 139 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#N canvas 124 168 582 409 loop_sample 0;
+#N canvas 129 192 582 409 loop_sample 0;
#X obj 47 313 outlet~;
#X obj 43 9 inlet;
#X obj 193 319 outlet~;
@@ -40,15 +39,16 @@ Distortion Effect" as in the DAFx 2008 paper by Jussi Pekonen;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 0 0;
-#X connect 6 0 2 0;
-#X restore 19 153 pd loop_sample;
+#X connect 6 1 2 0;
+#X restore 17 163 pd loop_sample;
#X obj 337 135 ../doc/5.reference/tof/param-help;
-#X connect 6 0 11 0;
-#X connect 7 0 10 2;
+#X msg 24 282 /disAp/lop 80 \, /disAp/drive 70 \, /disAp/wet 1;
+#X connect 6 0 10 0;
+#X connect 7 0 9 2;
#X connect 8 0 7 0;
-#X connect 9 0 11 0;
-#X connect 10 0 2 0;
-#X connect 10 1 2 1;
-#X connect 19 0 20 0;
-#X connect 20 0 10 0;
-#X connect 20 1 10 1;
+#X connect 9 0 2 0;
+#X connect 9 1 2 1;
+#X connect 18 0 19 0;
+#X connect 19 0 9 0;
+#X connect 19 1 9 1;
+#X connect 21 0 10 0;
diff --git a/distoNonmonotone~-help.pd b/distoNonmonotone~-help.pd
index 002c67c..a1f1dcc 100644
--- a/distoNonmonotone~-help.pd
+++ b/distoNonmonotone~-help.pd
@@ -1,4 +1,4 @@
-#N canvas 68 429 905 408 10;
+#N canvas 112 194 902 377 10;
#X obj 564 12 cnv 15 320 90 empty empty empty 20 12 0 14 -261682 -66577
0;
#X text 567 36 le 16 septembre 2009;
@@ -19,30 +19,30 @@
#X obj 331 139 cnv 15 200 20 empty empty /matju/ 2 12 0 8 -258401 -262144
0;
#X obj 331 162 nbx 5 14 -1e+37 1e+37 0 0 /matju/freq1 /matju/freq1_
-freq1 50 8 0 8 -262144 -1 -1 0 256;
+freq1 50 8 0 8 -262144 -1 -1 6 256;
#X obj 331 180 nbx 5 14 -1e+37 1e+37 0 0 /matju/amp1 /matju/amp1_ amp1
-50 8 0 8 -262144 -1 -1 0 256;
+50 8 0 8 -262144 -1 -1 4 256;
#X obj 331 198 nbx 5 14 -1e+37 1e+37 0 0 /matju/base1 /matju/base1_
-base1 50 8 0 8 -262144 -1 -1 0 256;
+base1 50 8 0 8 -262144 -1 -1 11 256;
#X obj 331 216 nbx 5 14 -1e+37 1e+37 0 0 /matju/freq2 /matju/freq2_
-freq2 50 8 0 8 -262144 -1 -1 0 256;
+freq2 50 8 0 8 -262144 -1 -1 1 256;
#X obj 331 234 nbx 5 14 -1e+37 1e+37 0 0 /matju/amp2 /matju/amp2_ amp2
-50 8 0 8 -262144 -1 -1 0 256;
+50 8 0 8 -262144 -1 -1 1 256;
#X obj 331 252 nbx 5 14 -1e+37 1e+37 0 0 /matju/base2 /matju/base2_
-base2 50 8 0 8 -262144 -1 -1 0 256;
+base2 50 8 0 8 -262144 -1 -1 3 256;
#X obj 331 270 nbx 5 14 -1e+37 1e+37 0 0 /matju/freqfeed /matju/freqfeed_
-freqfeed 50 8 0 8 -262144 -1 -1 0 256;
+freqfeed 50 8 0 8 -262144 -1 -1 1 256;
#X obj 331 288 nbx 5 14 -1e+37 1e+37 0 0 /matju/ampfeed /matju/ampfeed_
-ampfeed 50 8 0 8 -262144 -1 -1 0 256;
+ampfeed 50 8 0 8 -262144 -1 -1 4 256;
#X obj 331 306 nbx 5 14 -1e+37 1e+37 0 0 /matju/basefeed /matju/basefeed_
-basefeed 50 8 0 8 -262144 -1 -1 0 256;
+basefeed 50 8 0 8 -262144 -1 -1 4 256;
#X obj 331 324 hsl 100 15 0 1 0 0 /matju/feedback /matju/feedback_
-feedback 105 7 0 8 -262144 -1 -1 0 1;
+feedback 105 7 0 8 -262144 -1 -1 3300 1;
#X obj 331 342 hsl 100 15 0 1 0 0 /matju/wet /matju/wet_ wet 105 7
-0 8 -262144 -1 -1 0 1;
-#X obj 32 30 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+0 8 -262144 -1 -1 9900 1;
+#X obj 32 41 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#N canvas 367 242 582 409 loop_sample 0;
+#N canvas 372 266 582 409 loop_sample 0;
#X obj 47 313 outlet~;
#X obj 43 9 inlet;
#X obj 193 319 outlet~;
@@ -52,12 +52,12 @@ feedback 105 7 0 8 -262144 -1 -1 0 1;
#X msg 59 143 open \$1 \, bang;
#X connect 1 0 5 0;
#X connect 3 0 0 0;
-#X connect 3 0 2 0;
+#X connect 3 1 2 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 3 0;
#X restore 32 66 pd loop_sample;
-#X obj 318 36 ../doc/5.reference/tof/param-help;
+#X obj 320 36 ../doc/5.reference/tof/param-help;
#X connect 13 0 7 0;
#X connect 13 1 7 1;
#X connect 26 0 27 0;
diff --git a/examples/gems-movies_with_sound~.pd b/examples/gems-movies_with_sound~.pd
index 1ed8495..e7c032f 100644
--- a/examples/gems-movies_with_sound~.pd
+++ b/examples/gems-movies_with_sound~.pd
@@ -1,4 +1,5 @@
-#N canvas 804 121 441 494 10;
+#N canvas 809 145 441 494 10;
+#X declare -lib Gem;
#X declare -lib Gem;
#X obj 23 59 gemhead;
#X obj 23 398 pix_texture;
@@ -39,5 +40,5 @@
#X connect 14 0 13 0;
#X connect 17 0 19 0;
#X connect 19 0 6 0;
-#X connect 19 0 6 1;
-#X connect 19 1 11 0;
+#X connect 19 1 6 1;
+#X connect 19 2 11 0;
diff --git a/fileBrowser-help.pd b/fileBrowser-help.pd
index 813527d..58c7ffc 100644
--- a/fileBrowser-help.pd
+++ b/fileBrowser-help.pd
@@ -1,39 +1,45 @@
-#N canvas 1145 13 741 557 10;
-#X obj 255 113 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+#N canvas 513 25 652 507 10;
+#X obj 11 60 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
-#X symbolatom 53 479 80 0 0 0 - - -;
-#X obj 53 503 print;
-#X text 75 24 Description: Nice file browser.;
-#X text 262 205 <- Drag the slider to display all the contents of a
+#X symbolatom 11 451 80 0 0 0 - - -;
+#X obj 11 475 print;
+#X text 9 10 Description: Nice file browser.;
+#X text 223 202 <- Drag the slider to display all the contents of a
folder.;
-#X text 271 177 - Files are white \, folders are grey!;
-#X floatatom 58 112 5 0 0 0 - - -;
-#X text 45 91 You can select files by index.;
-#X floatatom 392 273 5 0 0 1 size - -;
-#X obj 316 323 pack 0 10;
-#X obj 392 293 t b a;
-#X floatatom 313 276 5 0 2 1 font - -;
-#X msg 316 346 text.font \$1 \$2;
-#X msg 318 379 select.colorRGB 125 125 125;
-#X text 505 381 Change the select color;
-#X msg 318 405 select.colorRGB 0 125 125;
-#X msg 204 111 clear;
-#X text 287 109 <- click the bang (or click on the grey bar) to select
+#X floatatom 55 116 5 0 0 0 - - -;
+#X text 92 115 You can select files by index.;
+#X floatatom 339 288 5 0 0 1 size - -;
+#X obj 274 335 pack 0 10;
+#X obj 339 308 t b a;
+#X floatatom 274 288 5 0 2 1 font - -;
+#X msg 274 358 text.font \$1 \$2;
+#X msg 275 382 select.colorRGB 125 125 125;
+#X text 453 382 Change the select color;
+#X msg 276 407 select.colorRGB 0 125 125;
+#X msg 96 139 clear;
+#X text 32 56 <- click the bang (or click on the grey bar) to select
the folder to be browsed.;
-#X text 300 237 You can use any of gBrowser's right inlet options.
+#X text 271 253 You can use any of gBrowser's right inlet options.
See gBrowser's help for more information.;
-#X obj 53 160 mtl/fileBrowser;
-#X text 75 38 tags: ui file;
-#X connect 0 0 19 0;
+#X text 9 24 tags: ui file;
+#X obj 202 146 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X text 225 146 slider up + refresh the current folder;
+#X text 19 329 Files are white \, folders are grey!;
+#X obj 11 172 mtl/fileBrowser;
+#X msg 34 87 symbol /usr/lib/pd/doc;
+#X connect 0 0 22 0;
#X connect 1 0 2 0;
-#X connect 6 0 19 0;
-#X connect 8 0 10 0;
-#X connect 9 0 12 0;
-#X connect 10 0 9 0;
-#X connect 10 1 9 1;
-#X connect 11 0 9 0;
-#X connect 12 0 19 1;
-#X connect 13 0 19 1;
-#X connect 15 0 19 1;
-#X connect 16 0 19 0;
-#X connect 19 0 1 0;
+#X connect 5 0 22 0;
+#X connect 7 0 9 0;
+#X connect 8 0 11 0;
+#X connect 9 0 8 0;
+#X connect 9 1 8 1;
+#X connect 10 0 8 0;
+#X connect 11 0 22 1;
+#X connect 12 0 22 1;
+#X connect 14 0 22 1;
+#X connect 15 0 22 0;
+#X connect 19 0 22 1;
+#X connect 22 0 1 0;
+#X connect 23 0 22 0;
diff --git a/fileBrowser.pd b/fileBrowser.pd
index e1de285..eb579a4 100644
--- a/fileBrowser.pd
+++ b/fileBrowser.pd
@@ -1,4 +1,4 @@
-#N canvas 1083 26 1009 673 10;
+#N canvas 368 25 1009 673 10;
#X obj 112 -52 inlet;
#X obj 227 800 sel folder;
#X msg 226 820 1;
@@ -20,22 +20,22 @@
#X obj 653 714 makefilename .../%s;
#X obj 283 536 vsl 15 115 0 175 0 0 \$0slider_s \$0slider_r empty 0
-8 0 8 -1 -262144 -1 11400 0;
-#X obj 101 534 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r empty 2 8 0 10
--1 -1 -262144 0;
-#X obj 101 549 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r empty 2 8 0 10
--1 -1 -262144 1;
-#X obj 101 564 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r empty 2 8 0 10
--1 -1 -262144 1;
-#X obj 101 579 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r empty 2 8 0 10
--1 -1 -262144 1;
-#X obj 101 594 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r empty 2 8 0 10
--1 -1 -262144 1;
-#X obj 101 609 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r empty 2 8 0 10
--1 -1 -262144 2;
-#X obj 101 624 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r empty 2 8 0 10
--1 -1 -262144 2;
-#X obj 101 639 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r empty 2 8 0 10
--1 -1 -262144 2;
+#X obj 101 534 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r .. 2 8 0 12 -1
+-1 -262140 0;
+#X obj 101 549 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r footage 2 8 0 12
+-1 -1 -208050 0;
+#X obj 101 564 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r launch 2 8 0 12
+-1 -1 -262140 0;
+#X obj 101 579 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r process.py 2 8
+0 12 -1 -1 -262140 0;
+#X obj 101 594 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r process.pyo 2 8
+0 12 -1 -1 -262140 0;
+#X obj 101 609 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r py.pd_linux 2 8
+0 12 -1 -1 -262140 0;
+#X obj 101 624 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r youscrap-audio.pd
+2 8 0 12 -1 -1 -262140 0;
+#X obj 101 639 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r youscrap-video.pd
+2 8 0 12 -1 -1 -262140 0;
#X obj 101 517 hradio 15 1 0 13 \$0label_radio_s \$0label_radio_r empty
2 8 0 8 -1 -1 -262144 0;
#X obj 204 752 t a a;
@@ -68,9 +68,14 @@
-1 -1;
#X obj 62 199 t b a b;
#X obj 282 721 route ..;
-#X obj 101 517 cnv 15 197 15 empty \$0hider empty 3 9 0 8 -128992 -262144
-0;
+#X obj 101 517 cnv 15 197 15 empty \$0hider .../11/projects/youscrap
+3 9 0 8 -128992 -262144 0;
#X obj 511 627 ./shrinkSymbol -20;
+#X obj 18 178 symbol;
+#X obj 27 104 t b b;
+#X obj 728 277 route bang;
+#X obj 81 155 r \$0top;
+#X obj 523 909 outlet;
#X connect 0 0 52 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
@@ -100,20 +105,23 @@
#X connect 32 0 47 1;
#X connect 33 0 35 0;
#X connect 33 1 34 1;
+#X connect 33 1 60 1;
#X connect 34 0 17 0;
#X connect 35 0 40 0;
#X connect 36 0 17 0;
#X connect 36 1 41 0;
#X connect 37 0 7 0;
#X connect 37 1 41 0;
-#X connect 38 0 47 1;
+#X connect 38 0 62 0;
#X connect 39 0 37 0;
#X connect 39 3 47 1;
#X connect 39 4 42 0;
#X connect 40 0 34 0;
#X connect 41 0 40 1;
#X connect 42 0 36 0;
+#X connect 42 0 60 1;
#X connect 43 0 36 0;
+#X connect 43 0 60 1;
#X connect 44 0 33 0;
#X connect 45 0 12 0;
#X connect 45 1 31 0;
@@ -121,6 +129,7 @@
#X connect 46 1 18 0;
#X connect 47 0 57 0;
#X connect 47 1 16 0;
+#X connect 47 2 64 0;
#X connect 48 0 1 0;
#X connect 48 1 9 0;
#X connect 49 0 51 0;
@@ -139,4 +148,10 @@
#X connect 57 1 29 0;
#X connect 59 0 46 0;
#X connect 59 1 46 1;
+#X connect 60 0 36 0;
+#X connect 61 0 55 0;
+#X connect 61 1 60 0;
+#X connect 62 0 61 0;
+#X connect 62 1 47 1;
+#X connect 63 0 60 1;
#X coords 0 -1 1 1 198 155 1 100 500;
diff --git a/gBrowser-help.pd b/gBrowser-help.pd
index 01db77c..3aa0ad6 100644
--- a/gBrowser-help.pd
+++ b/gBrowser-help.pd
@@ -1,42 +1,42 @@
-#N canvas 1024 68 1022 700 10;
-#X obj 299 97 print;
-#X msg 553 -27 clear;
-#X msg 543 -127 label put_your_label;
-#X msg 543 -98 label labelizer;
-#X obj 422 134 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+#N canvas 179 28 789 601 10;
+#X obj 209 99 print;
+#X msg 422 21 clear;
+#X msg 423 -36 label put_your_label;
+#X msg 423 -7 label labelizer;
+#X obj 252 77 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
-#X floatatom 200 18 5 0 0 0 - - -;
-#X obj 234 210 vsl 15 115 0 175 0 0 \$0slider_s \$0slider_r empty 0
+#X floatatom 209 26 5 0 0 0 - - -;
+#X obj 199 216 vsl 15 115 0 175 0 0 \$0slider_s \$0slider_r empty 0
-8 0 8 -1 -262144 -1 0 0;
-#X obj 52 208 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r empty 2 8 0 7 -1
+#X obj 17 214 hradio 15 1 0 12 \$0hr_0_s \$0hr_0_r empty 2 8 0 7 -1
+-1 -258049 0;
+#X obj 17 229 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r empty 2 8 0 7 -1
-1 -262144 0;
-#X obj 52 223 hradio 15 1 0 12 \$0hr_1_s \$0hr_1_r empty 2 8 0 7 -1
+#X obj 17 244 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r empty 2 8 0 7 -1
-1 -262144 0;
-#X obj 52 238 hradio 15 1 0 12 \$0hr_2_s \$0hr_2_r empty 2 8 0 7 -1
+#X obj 17 259 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r empty 2 8 0 7 -1
-1 -262144 0;
-#X obj 52 253 hradio 15 1 0 12 \$0hr_3_s \$0hr_3_r empty 2 8 0 7 -1
+#X obj 17 274 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r empty 2 8 0 7 -1
-1 -262144 0;
-#X obj 52 268 hradio 15 1 0 12 \$0hr_4_s \$0hr_4_r empty 2 8 0 7 -1
+#X obj 17 289 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r empty 2 8 0 7 -1
-1 -262144 0;
-#X obj 52 283 hradio 15 1 0 12 \$0hr_5_s \$0hr_5_r empty 2 8 0 7 -1
+#X obj 17 304 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r empty 2 8 0 7 -1
-1 -262144 0;
-#X obj 52 298 hradio 15 1 0 12 \$0hr_6_s \$0hr_6_r empty 2 8 0 7 -1
+#X obj 17 319 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r empty 2 8 0 7 -1
-1 -262144 0;
-#X obj 52 313 hradio 15 1 0 12 \$0hr_7_s \$0hr_7_r empty 2 8 0 7 -1
--1 -262144 0;
-#X text 547 -146 Change the label;
-#X text 552 -42 Clear the browser;
-#X msg 567 -68 will_be_shown will_be_output \, bang;
-#X floatatom 655 7 5 0 0 1 size - -;
-#X msg 563 134 colorRGB 0 255 0;
-#X text 667 110 Change the color of the next entry;
-#X msg 560 111 colorRGB 0 0 255;
-#X obj 562 51 pack 0 10;
-#X obj 616 26 t b a;
-#X floatatom 540 24 5 0 2 1 font - -;
-#X msg 562 74 text.font \$1 \$2;
-#X msg 567 172 select.colorRGB 125 125 125;
-#X text 748 170 Change the select color;
+#X text 555 -36 Change the label;
+#X text 465 21 Clear the browser;
+#X msg 309 -90 will_be_shown will_be_output \, bang;
+#X floatatom 488 60 5 0 0 1 size - -;
+#X msg 424 175 colorRGB 0 255 0;
+#X text 531 152 Change the color of the next entry;
+#X msg 424 153 colorRGB 0 0 255;
+#X obj 424 106 pack 0 10;
+#X obj 488 82 t b a;
+#X floatatom 424 60 5 0 2 1 font - -;
+#X msg 424 129 text.font \$1 \$2;
+#X msg 424 197 select.colorRGB 125 125 125;
+#X text 599 197 Change the select color;
#N canvas 57 37 924 659 ADDING_CONTENT 0;
#X msg 34 -68 bob;
#X obj 29 363 bng 15 250 50 0 empty empty empty 0 -6 0 8 -4034 -1 -1
@@ -84,27 +84,31 @@ will be displayed as "_".;
#X connect 19 0 21 0;
#X connect 21 0 1 0;
#X connect 21 1 20 0;
-#X restore 370 -86 pd ADDING_CONTENT;
-#X text 16 -13 Select items to be outputed by clicking on the gui or
+#X restore 296 -113 pd ADDING_CONTENT;
+#X text 17 166 Select items to be outputed by clicking on the gui or
by selecting by index with the left inlet.;
-#X obj 342 -69 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#X obj 422 -58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X text 258 239 <- Use the scroll bar when there are too many items
+#X text 223 245 <- Use the scroll bar when there are too many items
;
-#X text 36 -165 description: A little browser GUI (version to include
+#X text 20 -159 description: A little browser GUI (version to include
in your own GOP abstractions).;
-#X text 45 335 To include a browser GUI in your own GOP abstraction
+#X text 14 337 To include a browser GUI in your own GOP abstraction
\, copy the above graphical objects to your patch. Then create a [mtl/gBrowser
\$0]. You may modify the graphical details \, but do not change the
number of elements or the send and receive symbols.;
-#X text 46 409 Clicking on the grey bar will output a bang at mtl/gBrowser's
+#X text 15 401 Clicking on the grey bar will output a bang at mtl/gBrowser's
right outlet.;
-#X obj 301 32 mtl/gBrowser \$0;
-#X obj 52 192 hradio 15 1 0 11 \$0label_radio_s \$0label_radio_r empty
+#X obj 209 52 mtl/gBrowser \$0;
+#X obj 17 198 hradio 15 1 0 11 \$0label_radio_s \$0label_radio_r empty
2 8 0 8 -1 -1 -262144 0;
-#X obj 52 192 cnv 15 197 15 empty \$0hider empty 3 9 0 8 -128992 -262144
+#X obj 17 198 cnv 15 197 15 empty \$0hider empty 3 9 0 8 -128992 -262144
0;
-#X text 34 -134 tags: ui;
+#X text 20 -131 tags: ui;
+#X floatatom 296 114 5 0 0 0 - - -;
+#X text 293 131 index outlet;
+#X text 443 -60 slider up;
+#X text 222 198 <- Click this (bang outlet 2);
#X connect 1 0 35 1;
#X connect 2 0 35 1;
#X connect 3 0 35 1;
@@ -123,4 +127,5 @@ right outlet.;
#X connect 30 0 35 1;
#X connect 35 0 0 0;
#X connect 35 1 4 0;
+#X connect 35 2 39 0;
#X coords 0 0 1 1 285 215 0;
diff --git a/gBrowser.pd b/gBrowser.pd
index efb3741..4e0c68b 100644
--- a/gBrowser.pd
+++ b/gBrowser.pd
@@ -1,4 +1,4 @@
-#N canvas 1032 0 1001 666 10;
+#N canvas 408 25 1001 666 10;
#X obj 829 775 t f f;
#X obj 267 5 inlet;
#X obj 128 1066 outlet;
@@ -321,6 +321,8 @@
#X obj 450 761 cyclone/speedlim 100;
#X obj 1062 918 tof/iterate;
#X obj 44 37 route bang float;
+#X obj 498 1000 outlet;
+#X obj 459 980 moses 0;
#X connect 0 0 51 0;
#X connect 1 0 57 0;
#X connect 3 1 0 0;
@@ -390,6 +392,7 @@
#X connect 65 0 107 0;
#X connect 66 0 71 0;
#X connect 68 0 42 0;
+#X connect 68 0 109 0;
#X connect 69 0 46 0;
#X connect 70 0 68 0;
#X connect 70 1 24 0;
@@ -435,4 +438,5 @@
#X connect 105 0 58 0;
#X connect 106 0 5 0;
#X connect 107 1 87 0;
+#X connect 109 1 108 0;
#X coords 0 0 1 1 198 138 0;
diff --git a/pdToAscii-help.pd b/pdToAscii-help.pd
index 6cab3a1..e5bd490 100644
--- a/pdToAscii-help.pd
+++ b/pdToAscii-help.pd
@@ -1,27 +1,26 @@
-#N canvas 243 150 569 441 10;
+#N canvas 1512 196 569 441 10;
#X text 26 48 tags: conversion;
#X msg 54 90 A B C;
#X obj 54 212 print;
#X msg 97 114 list A B C;
-#X obj 54 185 mtl/pdToAscii;
#X msg 123 147 567;
-#X text 99 89 Spaces in lists are converted (ASCII code 32);
-#X obj 57 314 list append 13;
-#X text 152 307 By using list append \, you can append special ASCII
-characters like the carriage return (ASCII code 13) in this case.;
-#X msg 57 247 78;
-#X msg 115 254 test;
-#X obj 57 344 print;
+#X msg 58 275 78;
+#X msg 116 282 test;
#X text 27 17 Description: Converts Pd messages to a list of ASCII
bytes.;
-#X msg 110 232 hello world;
-#X obj 57 286 mtl/pdToAscii;
-#X connect 1 0 4 0;
-#X connect 3 0 4 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 7 0 11 0;
-#X connect 9 0 14 0;
-#X connect 10 0 14 0;
-#X connect 13 0 14 0;
-#X connect 14 0 7 0;
+#X msg 111 260 hello world;
+#X text 174 317 If you specify a float argument \, it will be appended
+to the output. The carriage return (ASCII code 13) has been specidifed
+in this case.;
+#X obj 58 347 print;
+#X obj 54 185 mtl/pdToAscii;
+#X obj 58 314 mtl/pdToAscii 13;
+#X text 99 89 Spaces in lists are converted to ASCII code 32;
+#X connect 1 0 11 0;
+#X connect 3 0 11 0;
+#X connect 4 0 11 0;
+#X connect 5 0 12 0;
+#X connect 6 0 12 0;
+#X connect 8 0 12 0;
+#X connect 11 0 2 0;
+#X connect 12 0 10 0;
diff --git a/pdToAscii.pd b/pdToAscii.pd
index b82a42c..685fcfe 100644
--- a/pdToAscii.pd
+++ b/pdToAscii.pd
@@ -1,8 +1,14 @@
#N canvas 989 362 450 300 10;
-#X obj 111 39 inlet;
-#X obj 110 237 outlet;
-#X obj 111 82 list trim;
-#X obj 110 122 moocow/any2bytes 0 -1;
+#X obj 81 19 inlet;
+#X obj 112 246 outlet;
+#X obj 112 111 list trim;
+#X obj 119 156 moocow/any2bytes 0 -1;
+#X obj 290 127 iemlib/dollarg;
+#X obj 297 86 loadbang;
+#X obj 144 195 list append;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
-#X connect 3 0 1 0;
+#X connect 3 0 6 0;
+#X connect 4 0 6 1;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
diff --git a/piano-help.pd b/piano-help.pd
index efa53ab..0952606 100644
--- a/piano-help.pd
+++ b/piano-help.pd
@@ -1,13 +1,14 @@
-#N canvas 232 64 457 287 10;
+#N canvas 237 88 457 287 10;
#X text 21 8 Description: Transform your computer keyboard into a midi
piano.;
#X obj 23 203 unpack;
#X floatatom 23 226 5 0 0 0 - - -;
#X floatatom 56 226 5 0 0 0 - - -;
#X obj 23 94 mtl/piano 1;
-#X text 21 57 Argument: listen to key input at start 0/1;
+#X text 21 55 Argument: listen to key input at start 0/1;
#X text 96 225 Note Velocity;
#X text 21 37 tags: ui midi;
+#X text 20 70 Inlet: listen switch (toggle);
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 4 0 1 0;
diff --git a/piano.pd b/piano.pd
index 1ded1ee..95ba987 100644
--- a/piano.pd
+++ b/piano.pd
@@ -1,4 +1,4 @@
-#N canvas 430 89 1009 673 10;
+#N canvas 426 113 1009 673 10;
#X obj 329 386 tabread \$0keys;
#X obj 325 445 pack;
#X obj 324 466 route 0;
@@ -284,7 +284,7 @@
#X obj 329 78 tgl 12 0 \$0s72 \$0r72mk empty 20 8 0 8 -262144 -1 -1
0 127;
#X obj 339 57 tgl 12 0 \$0s73 \$0r73mk empty 20 8 0 8 -262144 -1 -1
-0 1;
+0 127;
#X obj 352 78 tgl 12 0 \$0s74 \$0r74mk empty 20 8 0 8 -262144 -1 -1
0 127;
#X obj 365 57 tgl 12 0 \$0s75 \$0r75mk empty 20 8 0 8 -262144 -1 -1
@@ -327,6 +327,7 @@
#X obj 465 74 loadbang;
#X obj 418 102 f \$1;
#X msg 918 199 30;
+#X obj 416 14 inlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 1 8 0;
@@ -370,4 +371,5 @@
#X connect 98 0 99 0;
#X connect 99 0 78 0;
#X connect 100 0 93 0;
+#X connect 101 0 78 0;
#X coords 0 -1 1 1 394 100 1 0 0;
diff --git a/pitchShift~-help.pd b/pitchShift~-help.pd
index 52a2fac..c0a8570 100644
--- a/pitchShift~-help.pd
+++ b/pitchShift~-help.pd
@@ -1,9 +1,9 @@
-#N canvas 308 355 476 249 10;
+#N canvas 313 379 476 249 10;
#X obj 9 157 mtl/out~;
#X text 5 15 tags: fx~;
-#X obj 8 61 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+#X obj 8 71 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#N canvas 367 242 582 409 loop_sample 0;
+#N canvas 372 266 582 409 loop_sample 0;
#X obj 47 313 outlet~;
#X obj 63 16 inlet;
#X obj 193 319 outlet~;
@@ -13,7 +13,7 @@
#X msg 69 153 open \$1 \, bang;
#X connect 1 0 5 0;
#X connect 3 0 0 0;
-#X connect 3 0 2 0;
+#X connect 3 1 2 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 3 0;
@@ -23,15 +23,15 @@
#X obj 193 162 cnv 15 200 20 empty empty /pishi/ 2 12 0 8 -258401 -262144
0;
#X obj 193 185 nbx 5 14 -1e+37 1e+37 0 0 /pishi/transpose /pishi/transpose_
-transpose 50 8 0 8 -262144 -1 -1 0 256;
+transpose 50 8 0 8 -262144 -1 -1 184 256;
#X obj 193 203 tgl 15 0 /pishi/switch /pishi/switch_ switch 17 7 0
-8 -262144 -166441 -1 0 1;
+8 -262144 -166441 -1 1 1;
#X obj 193 221 tgl 15 0 /pishi/method /pishi/method_ method 17 7 0
-8 -262144 -166441 -1 0 1;
+8 -262144 -166441 -1 1 1;
#X obj 189 75 cnv 15 200 40 empty empty empty 20 12 0 14 -232576 -66577
0;
#X text 249 76 PARAM ENABLED;
-#X text 170 129 <-Click on the propeties menu to display params;
+#X text 169 128 <-Click on the propeties menu to display params;
#X obj 188 98 ../doc/5.reference/tof/param-help;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
diff --git a/player~-help.pd b/player~-help.pd
index aa8a549..b1bde5e 100644
--- a/player~-help.pd
+++ b/player~-help.pd
@@ -1,6 +1,6 @@
-#N canvas 37 26 972 651 10;
-#X floatatom 237 525 10 0 0 1 samples - -;
-#X obj 261 486 bng 15 250 50 0 empty empty stopped 0 -6 0 10 -262144
+#N canvas 12 37 972 651 10;
+#X floatatom 300 554 10 0 0 1 samples - -;
+#X obj 423 550 bng 15 250 50 0 empty empty stopped 0 -6 0 10 -262144
-1 -1;
#X msg 48 33 1;
#X msg 92 73 2;
@@ -12,74 +12,75 @@
#X text 102 48 Stop;
#X text 120 74 Play at speed 2;
#X text 207 536 Progress;
-#X text 739 159 Load a sound file;
-#X msg 192 263 set table;
#X msg 136 140 1 0.5;
-#X text 206 167 Play at speed 1 from 3/4 of the table;
#X text 179 134 Play at speed 1 from halfway;
-#X msg 159 169 1 0.75;
-#X obj 720 184 openpanel;
-#X obj 720 159 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 18 548 mtl/out~;
-#X msg 719 344 set \$1 \, bang;
+#X obj 18 566 mtl/out~;
#X text 13 -23 tags: tables play~;
-#X obj 193 398 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 138 476 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 199 555 mtl/nbx~;
-#X text 212 394 Loop (stops looping when the end is reached);
-#X text 801 346 Sets the table and play it.;
-#X text 259 259 You can change the table with a set message;
+#X text 157 472 Loop (stops looping when the end is reached);
#X msg 103 96 -0.5;
#X text 137 95 Play backwards at speed 0.5;
-#X msg 172 201 -1 0.5;
-#X text 219 202 Play backwards from 1/2 of the table;
-#X obj 118 447 mtl/player~ 1;
+#X text 219 169 Play backwards from 1/2 of the table;
#X text 132 118 ------------ offset ------------;
#X text 26 -5 ------------ playback ------------;
-#X text 190 240 ------------ table/file management ------------;
+#X text 172 248 ------------ table/file management ------------;
#X text 13 -38 Description: Plays tables and soundfiles.;
-#X obj 716 131 table \$0table;
-#X obj 720 210 list append \$0table;
-#X obj 719 264 soundfiler;
-#X msg 719 236 read -resize \$1 \$2;
-#X obj 719 292 b;
-#X obj 719 316 symbol \$0table;
-#X text 242 433 Arguments (in any order): The name of the an external
+#X text 503 469 Arguments (in any order): The name of the an external
table and the loop flag.;
-#X text 260 346 You can load a sound file in the internal table;
-#X text 720 105 External table example;
-#X msg 200 287 set table 1000 44100;
-#X text 329 287 Set the table \, the length to be played and its samplerate
+#X msg 194 388 open \$1;
+#X obj 196 367 openpanel;
+#X obj 196 347 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 162 199 1 0.25 0.75;
+#X msg 169 222 1 0.75 0.25;
+#X msg 158 169 -1 0.5;
+#X text 244 196 Play from 1/4 to 3/4 of the table;
+#X text 247 218 Play from 3/4 to 1/4 of the table;
+#X text 240 268 Set a mono table;
+#X text 321 295 Set a mono table \, the length to be played and its
+samplerate;
+#X text 217 346 You can load a sound file in the internal stereo tables
;
-#X msg 207 347 open \$1;
-#X obj 209 326 openpanel;
-#X obj 210 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#X text 309 319 Set stereo tables;
+#X obj 19 491 mtl/player~ 0;
+#X msg 174 271 set table1;
+#X msg 192 320 set table1 table2;
+#X msg 182 295 set table1 10000 44100;
+#X obj 745 277 openpanel;
+#X obj 744 253 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X connect 2 0 31 0;
-#X connect 3 0 31 0;
-#X connect 4 0 31 0;
-#X connect 5 0 31 0;
-#X connect 12 0 31 0;
-#X connect 13 0 31 0;
-#X connect 16 0 31 0;
-#X connect 17 0 37 0;
-#X connect 18 0 17 0;
-#X connect 20 0 31 0;
-#X connect 22 0 31 1;
-#X connect 27 0 31 0;
-#X connect 29 0 31 0;
-#X connect 31 0 19 0;
-#X connect 31 0 19 1;
-#X connect 31 1 23 0;
-#X connect 31 2 0 0;
-#X connect 31 3 1 0;
-#X connect 37 0 39 0;
-#X connect 38 0 40 0;
+#X obj 743 327 list;
+#X obj 743 350 cyclone/prepend set;
+#X obj 770 379 print from:sfIndexer;
+#X text 742 224 Load tables stored in sfIndexer;
+#X obj 743 300 mtl/sfIndexer;
+#X connect 2 0 38 0;
+#X connect 3 0 38 0;
+#X connect 4 0 38 0;
+#X connect 5 0 38 0;
+#X connect 11 0 38 0;
+#X connect 15 0 38 1;
+#X connect 18 0 38 0;
+#X connect 26 0 38 0;
+#X connect 27 0 26 0;
+#X connect 28 0 27 0;
+#X connect 29 0 38 0;
+#X connect 30 0 38 0;
+#X connect 31 0 38 0;
+#X connect 38 0 13 0;
+#X connect 38 1 13 1;
+#X connect 38 2 16 0;
+#X connect 38 3 0 0;
+#X connect 38 4 1 0;
#X connect 39 0 38 0;
-#X connect 40 0 41 0;
-#X connect 41 0 20 0;
-#X connect 45 0 31 0;
-#X connect 47 0 31 0;
-#X connect 48 0 47 0;
-#X connect 49 0 48 0;
+#X connect 40 0 38 0;
+#X connect 41 0 38 0;
+#X connect 42 0 48 0;
+#X connect 43 0 42 0;
+#X connect 44 0 45 0;
+#X connect 45 0 46 0;
+#X connect 45 0 38 0;
+#X connect 48 0 44 0;
+#X connect 48 1 44 1;
diff --git a/player~.pd b/player~.pd
index c0b81cf..cbe9b54 100644
--- a/player~.pd
+++ b/player~.pd
@@ -1,62 +1,17 @@
-#N canvas 1162 153 1005 740 10;
+#N canvas 1293 142 1009 686 10;
#X obj 23 -189 inlet speed;
-#X msg 223 154 set \$1;
-#X obj 327 44 symbol;
-#X obj 31 544 outlet~;
-#X obj 328 545 outlet~;
-#X obj 387 541 outlet size;
-#X obj 521 533 outlet done;
-#X obj 140 -29 sel 0;
-#X obj 34 515 *~;
-#X obj 105 3 s \$0stop;
-#X msg 13 -6 1 0;
-#X msg 186 21 \$1 0;
-#X obj 44 102 unpack f f;
-#X obj 424 205 flatspace/arraysize;
-#X msg 424 177 set \$1 \, bang;
-#X obj 24 -62 route bang list float;
+#X obj 428 347 outlet done;
#X obj 599 -97 iemlib/dollarg;
#X obj 600 -138 loadbang;
-#X obj 743 365 table \$0t 3;
-#X obj 31 300 tof/phasorshot~;
-#X obj 31 232 *;
#X obj 816 -118 inlet loop;
-#X obj 319 295 spigot 1;
-#X obj 350 236 == 0;
-#X obj 518 480 t b b b;
-#X msg 252 316 0 0;
-#X obj 146 136 clip 0 1;
#X obj 604 -72 tof/listUnfold;
#X obj 608 -46 route symbol float;
-#X obj 781 154 f;
-#X obj 26 139 moses 0;
-#X obj 122 188 -;
-#X obj 118 213 abs;
-#X obj 15 160 t f b;
-#X obj 65 162 t f b;
-#X msg 107 159 0;
-#X msg 67 195 1;
-#X obj 216 -141 soundfiler;
-#X msg 216 -178 read -resize \$1 \$2;
-#X obj 216 -202 list append \$0t;
-#X obj 42 65 t a b b;
-#X obj 465 -102 zexy/length;
-#X obj 380 -135 t a a;
-#X obj 469 -81 > 1;
-#X obj 357 -53 zexy/demultiplex 0 1;
-#X obj 269 197 ./smpToFreq;
-#X obj 463 55 list split 1;
-#X obj 586 116 route bang;
-#X obj 496 81 list split 2;
-#X obj 469 114 t l l;
-#X msg 544 283 \$1;
-#X obj 24 369 *~ 0;
-#X obj 18 442 tabread4~;
-#X obj 439 268 t f f;
-#X msg 256 43 0;
-#X obj 248 -70 b;
-#X obj 229 -32 symbol \$0t;
-#X obj 26 -156 route set open;
+#X obj 477 181 f;
+#N canvas 1451 321 853 603 reader~ 0;
+#X obj 74 541 *~;
+#X obj 32 279 tof/phasorshot~;
+#X obj 68 442 *~ 0;
+#X obj 58 497 tabread4~;
#N canvas 1143 272 704 519 trapezoid~ 0;
#X obj 33 29 inlet~ control~;
#X obj 524 33 inlet samples;
@@ -80,94 +35,279 @@
#X connect 7 0 5 0;
#X connect 8 0 2 1;
#X connect 9 0 2 2;
-#X restore 119 475 pd trapezoid~;
-#X obj 452 321 t f f f;
-#X obj 280 129 t s b;
-#X obj 323 74 t s s;
-#X obj 176 233 r \$0stop;
-#X msg 178 256 0;
-#X connect 0 0 57 0;
-#X connect 1 0 52 0;
-#X connect 2 0 61 0;
-#X connect 7 0 9 0;
-#X connect 7 1 11 0;
-#X connect 8 0 3 0;
-#X connect 10 0 40 0;
-#X connect 11 0 40 0;
+#X restore 264 468 pd trapezoid~;
+#X msg 298 315 set \$1;
+#X obj 64 57 unpack f f f;
+#X obj 56 321 *~ 0;
+#X obj 56 356 +~ 0;
+#X obj 82 573 outlet~;
+#X obj 666 22 inlet loop;
+#X obj 64 13 inlet speed start end;
+#X obj 17 111 *;
+#X obj 351 570 outlet~;
+#X obj 614 564 outlet done;
+#X obj 433 568 outlet samples;
+#X obj 233 16 inlet stop;
+#X msg 233 46 0;
+#X obj 133 197 moses 0;
+#X obj 424 511 f;
+#X obj 344 49 t b l;
+#X obj 559 485 spigot 1;
+#X obj 644 437 == 0;
+#X obj 616 512 t b b;
+#X obj 203 112 expr abs($f2-$f1);
+#X obj 254 176 expr $f3/($f2*$f1);
+#X obj 175 266 *;
+#X msg 165 222 1;
+#X obj 17 218 abs;
+#X msg 134 225 -1;
+#X obj 22 160 t b f b f;
+#X msg 58 214 0;
+#X obj 405 17 inlet table table samples rate;
+#X obj 415 79 unpack s s f f;
+#X obj 196 574 outlet~;
+#X obj 161 498 tabread4~;
+#X obj 173 532 *~;
+#X msg 346 319 set \$1;
+#X obj 63 384 cyclone/pong~ 1 0 1;
+#X connect 0 0 9 0;
+#X connect 1 0 7 0;
+#X connect 1 1 21 0;
+#X connect 1 2 21 0;
+#X connect 2 0 3 0;
+#X connect 2 0 35 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 1;
+#X connect 4 0 36 1;
+#X connect 5 0 3 0;
+#X connect 6 0 12 0;
+#X connect 6 1 8 1;
+#X connect 6 1 24 0;
+#X connect 6 2 24 1;
+#X connect 7 0 8 0;
+#X connect 8 0 38 0;
+#X connect 10 0 1 2;
+#X connect 10 0 22 0;
+#X connect 11 0 6 0;
#X connect 12 0 30 0;
-#X connect 12 1 26 0;
-#X connect 13 0 53 0;
-#X connect 14 0 13 0;
+#X connect 16 0 17 0;
+#X connect 17 0 1 0;
+#X connect 18 0 29 0;
+#X connect 18 1 27 0;
+#X connect 19 0 15 0;
+#X connect 20 0 17 0;
+#X connect 20 1 33 0;
+#X connect 21 0 23 0;
+#X connect 22 0 21 1;
+#X connect 23 0 14 0;
+#X connect 23 1 17 0;
+#X connect 24 0 25 0;
+#X connect 24 0 26 1;
+#X connect 25 0 12 1;
+#X connect 26 0 7 1;
+#X connect 27 0 26 0;
+#X connect 28 0 1 0;
+#X connect 29 0 26 0;
+#X connect 30 0 19 0;
+#X connect 30 1 28 0;
+#X connect 30 2 31 0;
+#X connect 30 3 18 0;
+#X connect 31 0 1 1;
+#X connect 32 0 20 0;
+#X connect 33 0 5 0;
+#X connect 33 1 37 0;
+#X connect 33 2 19 1;
+#X connect 33 2 4 1;
+#X connect 33 2 2 1;
+#X connect 33 2 25 1;
+#X connect 33 3 25 2;
+#X connect 35 0 36 0;
+#X connect 36 0 34 0;
+#X connect 37 0 35 0;
+#X connect 38 0 4 0;
+#X connect 38 0 2 0;
+#X connect 38 0 13 0;
+#X restore 22 255 pd reader~;
+#N canvas 1170 204 818 584 openInternal 0;
+#X obj 183 168 soundfiler;
+#X obj 185 -179 inlet;
+#X obj 248 391 outlet;
+#X obj 183 -97 iemlib/soundfile_info;
+#X msg 183 -124 read \$1;
+#X msg 449 266 \$1;
+#X obj 183 200 t b f;
+#X msg 183 13 \$2;
+#X obj 183 -67 t l l l;
+#X msg 184 126 read -resize -maxsize 2.14748e+09 \$1 \$2 \$3;
+#X obj 582 -41 table \$0R 3;
+#X obj 181 231 zexy/demultiplex 0 1;
+#X msg 299 168 \$5;
+#X obj 299 191 > 1;
+#X obj 180 84 list append \$0L \$0R;
+#X obj 249 364 pack s s f f;
+#X obj 130 287 symbol \$0L;
+#X obj 288 279 symbol \$0R;
+#X obj 199 286 symbol \$0L;
+#X obj 138 226 t b b;
+#X obj 184 -149 cyclone/tosymbol;
+#X obj 582 -13 table \$0L 3;
+#X connect 0 0 6 0;
+#X connect 1 0 20 0;
+#X connect 3 0 8 0;
+#X connect 4 0 3 0;
+#X connect 5 0 15 3;
+#X connect 6 0 19 0;
+#X connect 6 1 15 2;
+#X connect 7 0 14 0;
+#X connect 8 0 7 0;
+#X connect 8 1 12 0;
+#X connect 8 2 5 0;
+#X connect 9 0 0 0;
+#X connect 11 0 18 0;
+#X connect 11 1 17 0;
+#X connect 12 0 13 0;
+#X connect 13 0 11 1;
+#X connect 14 0 9 0;
+#X connect 15 0 2 0;
+#X connect 16 0 15 0;
+#X connect 17 0 15 1;
+#X connect 18 0 15 1;
+#X connect 19 0 16 0;
+#X connect 19 1 11 0;
+#X connect 20 0 4 0;
+#X restore 201 -49 pd openInternal;
+#N canvas 1434 33 816 756 setExternal 0;
+#X obj 149 605 outlet;
+#X obj 490 278 samplerate~;
+#X obj 170 380 flatspace/arraysize;
+#X msg 184 341 set \$1 \, bang;
+#X obj 154 -114 inlet table (table) (length) (rate);
+#X obj 272 28 route symbol float;
+#X msg 274 54 2;
+#X msg 323 54 1;
+#X obj 230 88 list split;
+#X obj 147 500 pack s s f f;
+#X obj 371 201 list split 2;
+#X obj 339 241 unpack;
+#X obj 449 231 t f b;
+#X obj 20 169 list split 2;
+#X obj 204 239 spigot;
+#X obj 321 143 t a b;
+#X msg 349 169 0;
+#X obj 267 -2 zexy/packel 2;
+#X obj 86 129 t a a;
+#X obj 200 -71 list;
+#X obj 228 -30 t a a b;
+#X msg 99 228 list \$1 \$1;
+#X obj 263 114 route bang;
+#X msg 265 146 1;
+#X obj 206 298 t a b;
+#X connect 1 0 9 3;
+#X connect 2 0 9 2;
+#X connect 3 0 2 0;
+#X connect 4 0 19 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 8 1;
+#X connect 7 0 8 1;
+#X connect 8 0 18 0;
+#X connect 8 1 22 0;
+#X connect 9 0 0 0;
+#X connect 10 0 11 0;
+#X connect 10 2 12 0;
+#X connect 11 0 9 2;
+#X connect 11 1 9 3;
+#X connect 12 0 9 2;
+#X connect 12 1 1 0;
+#X connect 13 0 9 0;
+#X connect 13 2 21 0;
+#X connect 14 0 24 0;
#X connect 15 0 10 0;
-#X connect 15 1 40 0;
-#X connect 15 2 7 0;
-#X connect 15 3 42 0;
-#X connect 16 0 27 0;
-#X connect 17 0 16 0;
-#X connect 19 0 4 0;
-#X connect 19 0 51 0;
-#X connect 19 0 58 0;
-#X connect 19 1 22 0;
-#X connect 19 2 22 0;
-#X connect 20 0 19 0;
-#X connect 21 0 29 0;
-#X connect 22 0 24 0;
-#X connect 23 0 22 1;
-#X connect 24 0 6 0;
-#X connect 24 2 25 0;
-#X connect 25 0 19 0;
-#X connect 26 0 31 1;
-#X connect 27 0 28 0;
-#X connect 28 0 2 0;
-#X connect 28 1 29 0;
-#X connect 29 0 23 0;
-#X connect 29 0 19 2;
-#X connect 30 0 33 0;
-#X connect 30 1 34 0;
-#X connect 31 0 32 0;
-#X connect 32 0 19 1;
-#X connect 33 0 20 0;
-#X connect 33 1 36 0;
-#X connect 34 0 20 0;
-#X connect 34 1 35 0;
-#X connect 35 0 31 0;
-#X connect 36 0 31 0;
-#X connect 37 0 55 0;
-#X connect 38 0 37 0;
-#X connect 39 0 38 0;
-#X connect 40 0 12 0;
-#X connect 41 0 43 0;
-#X connect 42 0 44 0;
-#X connect 42 1 41 0;
-#X connect 43 0 44 1;
-#X connect 44 0 2 0;
-#X connect 44 1 46 0;
-#X connect 45 0 20 1;
-#X connect 46 0 60 0;
-#X connect 46 1 48 0;
-#X connect 47 1 53 0;
-#X connect 48 0 49 0;
-#X connect 48 2 47 0;
-#X connect 49 0 50 0;
-#X connect 49 1 45 0;
-#X connect 50 0 59 0;
-#X connect 51 0 52 0;
-#X connect 52 0 8 0;
-#X connect 53 0 59 0;
-#X connect 53 1 45 0;
-#X connect 54 0 7 0;
-#X connect 55 0 56 0;
-#X connect 56 0 2 0;
-#X connect 57 0 42 0;
-#X connect 57 1 39 0;
-#X connect 57 2 15 0;
-#X connect 58 0 8 1;
-#X connect 59 0 5 0;
-#X connect 59 1 51 1;
-#X connect 59 2 58 1;
-#X connect 60 0 1 0;
-#X connect 60 1 54 0;
-#X connect 61 0 60 0;
-#X connect 61 1 14 0;
-#X connect 62 0 63 0;
-#X connect 63 0 19 0;
+#X connect 15 1 16 0;
+#X connect 16 0 14 1;
+#X connect 17 0 5 0;
+#X connect 18 0 13 0;
+#X connect 18 1 14 0;
+#X connect 19 0 20 0;
+#X connect 20 0 8 0;
+#X connect 20 1 17 0;
+#X connect 20 2 7 0;
+#X connect 21 0 9 0;
+#X connect 22 0 23 0;
+#X connect 22 1 15 0;
+#X connect 23 0 14 1;
+#X connect 24 0 3 0;
+#X connect 24 1 1 0;
+#X restore 313 -49 pd setExternal;
+#X obj 324 348 outlet samples;
+#X obj 2 -104 route bang list float open set;
+#N canvas 1150 101 936 787 triggerMaker 0;
+#X obj 22 29 inlet bang;
+#X obj 147 27 inlet list;
+#X obj 296 28 inlet float;
+#X obj 356 117 sel 0;
+#X obj 185 267 clip 0 1;
+#X msg 23 171 1 0 1;
+#X msg 453 220 \$1 0 1;
+#X obj 145 133 list split 3;
+#X obj 244 263 clip 0 1;
+#X obj 152 231 unpack;
+#X obj 120 172 unpack f f f;
+#X obj 121 369 pack f f f;
+#X msg 258 399 1;
+#X obj 114 538 outlet play;
+#X obj 367 541 outlet stop;
+#X obj 218 356 moses 0;
+#X obj 148 275 t f f;
+#X msg 215 400 0;
+#X connect 0 0 5 0;
+#X connect 1 0 7 0;
+#X connect 2 0 3 0;
+#X connect 3 0 14 0;
+#X connect 3 1 6 0;
+#X connect 4 0 11 1;
+#X connect 5 0 13 0;
+#X connect 6 0 13 0;
+#X connect 7 0 10 0;
+#X connect 7 2 9 0;
+#X connect 8 0 11 2;
+#X connect 9 0 16 0;
+#X connect 9 1 4 0;
+#X connect 10 0 11 0;
+#X connect 10 1 4 0;
+#X connect 10 2 8 0;
+#X connect 11 0 13 0;
+#X connect 12 0 11 2;
+#X connect 15 0 17 0;
+#X connect 15 1 12 0;
+#X connect 16 0 11 0;
+#X connect 16 1 15 0;
+#X connect 17 0 11 2;
+#X restore -2 79 pd triggerMaker;
+#X text 216 -5 Notes: when reading into the internal table \, it does
+read the samplerate (miller's fault). Should maybe add a soundfile_info
+there.;
+#X obj 24 350 outlet~ left;
+#X obj 108 351 outlet~ right;
+#X obj 208 349 outlet~ progress;
+#X connect 0 0 12 0;
+#X connect 2 0 5 0;
+#X connect 3 0 2 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 6 1 7 0;
+#X connect 7 0 8 3;
+#X connect 8 0 15 0;
+#X connect 8 1 16 0;
+#X connect 8 2 17 0;
+#X connect 8 3 11 0;
+#X connect 8 4 1 0;
+#X connect 9 0 8 2;
+#X connect 10 0 8 2;
+#X connect 12 0 13 0;
+#X connect 12 1 13 1;
+#X connect 12 2 13 2;
+#X connect 12 3 9 0;
+#X connect 12 4 10 0;
+#X connect 13 0 8 0;
+#X connect 13 1 8 1;
diff --git a/seq1x8-help.pd b/seq1x8-help.pd
index 1a2575b..61369a4 100644
--- a/seq1x8-help.pd
+++ b/seq1x8-help.pd
@@ -1,22 +1,22 @@
-#N canvas 452 65 723 413 10;
+#N canvas 1518 51 723 413 10;
#X obj 100 261 line~;
#X obj 23 240 noise~;
#X obj 23 261 lop~ 12000;
#X obj 23 283 *~;
#X msg 100 242 1 \, 0 100;
-#X obj 327 257 line~;
-#X obj 237 293 *~;
+#X obj 261 260 line~;
+#X obj 171 296 *~;
#X obj 402 62 loadbang;
-#X obj 238 239 phasor~ 4440;
-#X obj 237 260 lop~ 1660;
+#X obj 172 242 phasor~ 4440;
+#X obj 171 263 lop~ 1660;
#X msg 403 117 1 0 1 0 1 0 1 1;
-#X msg 327 238 1 \, 0 150;
+#X msg 261 241 1 \, 0 150;
#X text 390 185 Right outlet outputs the current pattern on every modification
;
#X text 13 10 Description: An 8 step beat sequencer.;
#X msg 408 255 1 0 1 0 1 0 1 1;
#X obj 14 186 mtl/seq1x8;
-#X obj 92 329 mtl/out~;
+#X obj 24 339 mtl/out~;
#X text 416 96 Right inlet sets pattern;
#X floatatom 14 166 5 0 0 0 - - -;
#X floatatom 220 165 5 0 0 0 - - -;
@@ -24,14 +24,14 @@
#X obj 407 229 cyclone/prepend set;
#X text 15 23 tags: sequencing;
#X obj 325 24 mtl/clkMaster 120;
-#X obj 13 136 mtl/clkSlave 4 8;
#X obj 14 92 loadbang;
#X obj 15 114 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
-#X obj 220 139 mtl/clkSlave 4 8;
#X obj 221 95 loadbang;
#X obj 222 117 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
+#X obj 220 139 mtl/clkSlave 2 8;
+#X obj 13 136 mtl/clkSlave 2 8;
#X connect 0 0 3 1;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
@@ -50,9 +50,9 @@
#X connect 20 0 11 0;
#X connect 20 1 21 0;
#X connect 21 0 14 0;
-#X connect 24 0 18 0;
-#X connect 25 0 26 0;
-#X connect 26 0 24 0;
-#X connect 27 0 19 0;
-#X connect 28 0 29 0;
-#X connect 29 0 27 0;
+#X connect 24 0 25 0;
+#X connect 25 0 29 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 19 0;
+#X connect 29 0 18 0;
diff --git a/seq8x8-help.pd b/seq8x8-help.pd
index 03be187..78cf52e 100644
--- a/seq8x8-help.pd
+++ b/seq8x8-help.pd
@@ -1,8 +1,8 @@
-#N canvas 806 101 629 562 10;
+#N canvas 1401 74 629 562 10;
#X msg 225 224 6 1 0 0 1 0 0 1;
#X floatatom 37 158 5 0 0 0 - - -;
#X obj 36 88 loadbang;
-#X msg 37 448 0 0 0 0 0 0 0 0;
+#X msg 37 448 1 0 1 1 0 0 0 0;
#N canvas 1281 181 761 308 randomize 0;
#X obj 136 23 inlet;
#X obj 136 253 outlet;
@@ -189,18 +189,18 @@
#X obj 382 101 mtl/clkMaster 120;
#X obj 36 110 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
-#X obj 36 132 mtl/clkSlave 2 8;
#X obj 37 203 mtl/seq8x8;
-#X connect 0 0 17 1;
-#X connect 1 0 17 0;
+#X obj 36 132 mtl/clkSlave 1 8;
+#X connect 0 0 16 1;
+#X connect 1 0 16 0;
#X connect 2 0 15 0;
-#X connect 4 0 17 1;
+#X connect 4 0 16 1;
#X connect 5 0 3 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X connect 12 0 11 0;
#X connect 12 1 11 1;
-#X connect 15 0 16 0;
-#X connect 16 0 1 0;
-#X connect 17 0 5 0;
-#X connect 17 0 12 0;
+#X connect 15 0 17 0;
+#X connect 16 0 5 0;
+#X connect 16 0 12 0;
+#X connect 17 0 1 0;
diff --git a/sfIndexer-help.pd b/sfIndexer-help.pd
index 05b26d0..bd5d81d 100644
--- a/sfIndexer-help.pd
+++ b/sfIndexer-help.pd
@@ -1,76 +1,93 @@
-#N canvas 176 60 768 629 10;
+#N canvas 556 25 778 668 10;
#X obj 14 116 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X text 12 12 description: Loads and stores soundfiles.;
-#X msg 14 503 set \$1 \, bang;
-#X obj 13 563 mtl/out~;
-#X msg 113 285 0;
-#X msg 146 285 1;
-#X msg 180 286 2;
-#X obj 111 253 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X text 134 254 bang: outputs the last loaded soundfile;
-#X text 216 282 float: outputs the previously loaded soundfile at that
+#X msg 14 553 set \$1 \, bang;
+#X obj 13 613 mtl/out~;
+#X msg 68 274 0;
+#X msg 101 274 1;
+#X msg 135 275 2;
+#X obj 64 249 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X text 87 250 bang: outputs the last loaded soundfile;
+#X text 171 271 float: outputs the previously loaded soundfile at that
index;
-#X obj 90 401 cyclone/prepend set;
-#X obj 29 452 cyclone/prepend set;
-#X obj 203 326 cyclone/prepend set;
-#X text 326 327 Outlet 3: index soundfile;
-#X text 152 448 Outlet 1: tables (one table per channel);
+#X obj 160 516 cyclone/prepend set;
+#X obj 146 560 cyclone/prepend set;
+#X obj 171 443 cyclone/prepend set;
+#X text 294 444 Outlet 3: index soundfile;
+#X text 269 556 Outlet 1: tables (one table per channel);
#X text 13 28 tags: tables file~;
#X obj 528 103 bng 15 250 50 0 empty empty save 17 7 0 10 -262144 -1
-1;
#X obj 603 120 bng 15 250 50 0 empty empty load 17 7 0 10 -262144 -1
-1;
-#X obj 14 326 mtl/sfIndexer /id sfi-help;
+#X obj 14 376 mtl/sfIndexer /id sfi-help;
#X obj 14 138 openpanel;
#X msg 14 163 add \$1;
-#X obj 38 191 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+#X obj 40 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#X obj 38 210 openpanel;
+#X obj 40 204 openpanel;
#X text 12 82 sfIndexer will never reload the same soundfile twice.
It will point to the previously filled tables instead.;
#X text 13 48 sfIndexer can store and refer to an unlimited number
of loaded soundfiles.;
-#X obj 14 527 mtl/player~;
+#X obj 14 577 mtl/player~;
#X obj 409 7 cnv 15 350 80 empty empty empty 20 12 0 14 -232576 -66577
0;
#X text 545 9 PARAM ENABLED;
#X text 415 31 The list of loaded soundfiles can be saved and restored
through the param system.;
-#X msg 90 420 261415 44100 2;
-#X msg 29 472 /sfi-help//0/0 /sfi-help//0/1;
-#X msg 203 346 0 /home/tom/audio/1550-12_VEXST_Amen_breaks_fixed/24936_VEXST_Jungle_Break.wav
-;
#X obj 528 144 tof/param file;
-#X text 64 187 "symbol": add the soundfile and output its data.;
-#X msg 114 225 panel;
-#X text 214 398 Outlet 2: length samplerate channels;
-#X text 62 159 "add" soundfile: adds the indicated soundfile without
+#X text 98 203 "symbol": add the soundfile and output its data.;
+#X msg 60 229 panel;
+#X text 284 513 Outlet 2: length samplerate channels;
+#X text 68 159 "add" soundfile: adds the indicated soundfile without
outputing its data.;
-#X text 155 221 Open internal openpanel.;
-#X msg 104 507 1;
+#X text 101 229 Open internal openpanel.;
+#X msg 104 557 1;
#X obj 480 65 ../doc/5.reference/tof/param-help;
+#X obj 224 337 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 224 356 openpanel;
+#X msg 243 378 2;
+#X text 291 355 Inlet 2 will only output the soundfile data if it is
+already loaded. It will not load anything.;
+#X obj 194 422 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 215 419 Outlet 4: is the file new or not;
+#X msg 177 305 dump;
+#X text 214 305 dump: dumps the contents out of the 5h outlet;
+#X obj 223 404 print dump;
+#X msg 160 535;
+#X msg 171 464;
+#X msg 146 580;
#X connect 0 0 19 0;
#X connect 2 0 25 0;
#X connect 4 0 18 0;
#X connect 5 0 18 0;
#X connect 6 0 18 0;
#X connect 7 0 18 0;
-#X connect 10 0 29 0;
-#X connect 11 0 30 0;
-#X connect 12 0 31 0;
-#X connect 16 0 32 0;
-#X connect 17 0 32 1;
+#X connect 10 0 46 0;
+#X connect 11 0 48 0;
+#X connect 12 0 47 0;
+#X connect 16 0 29 0;
+#X connect 17 0 29 1;
#X connect 18 0 2 0;
#X connect 18 0 11 0;
#X connect 18 1 10 0;
#X connect 18 2 12 0;
+#X connect 18 3 41 0;
+#X connect 18 4 45 0;
#X connect 19 0 20 0;
#X connect 20 0 18 0;
#X connect 21 0 22 0;
#X connect 22 0 18 0;
#X connect 25 0 3 0;
#X connect 25 0 3 1;
-#X connect 34 0 18 0;
-#X connect 38 0 25 1;
+#X connect 31 0 18 0;
+#X connect 35 0 25 1;
+#X connect 37 0 38 0;
+#X connect 38 0 18 1;
+#X connect 39 0 18 1;
+#X connect 43 0 18 0;
diff --git a/sfIndexer.pd b/sfIndexer.pd
index c1a5cdb..c66e361 100644
--- a/sfIndexer.pd
+++ b/sfIndexer.pd
@@ -1,7 +1,7 @@
-#N canvas 458 164 981 616 10;
-#X obj 171 25 inlet;
+#N canvas 25 48 981 655 10;
+#X obj 145 18 inlet;
#N canvas 477 373 450 300 \$0tables 0;
-#X restore 437 56 pd \$0tables;
+#X restore 708 51 pd \$0tables;
#N canvas 199 153 767 523 check_if_loaded 0;
#X obj 93 44 inlet check;
#X obj 384 36 inlet remove;
@@ -9,11 +9,11 @@
#X obj 226 426 outlet new;
#X obj 99 298 ./indexer;
#X obj 214 42 inlet test;
-#X obj 150 323 route bang;
+#X obj 141 362 route bang;
#X obj 369 107 t b b;
#X msg 423 126 clear;
#X obj 551 200 route clear;
-#X obj 492 438 outlet reset;
+#X obj 444 454 outlet reset;
#X obj 614 249 list split 1;
#X obj 598 368 pack f s;
#X obj 647 289 cyclone/tosymbol;
@@ -22,12 +22,18 @@
#X obj 327 255 pack f s;
#X obj 643 334 tof/path absolute;
#X obj 423 158 tof/param custom /samples /nps;
+#X obj 561 35 inlet dump;
+#X obj 605 442 outlet dump;
+#X obj 266 386 zexy/demultiplex 0 1;
+#X msg 606 95 1;
+#X obj 560 62 t b b b;
+#X msg 556 97 0;
#X connect 0 0 4 0;
#X connect 1 0 4 1;
#X connect 4 0 2 0;
#X connect 4 1 3 0;
#X connect 4 2 6 0;
-#X connect 4 3 14 0;
+#X connect 4 3 21 0;
#X connect 5 0 4 2;
#X connect 6 1 2 0;
#X connect 7 0 4 3;
@@ -46,18 +52,24 @@
#X connect 17 0 12 1;
#X connect 18 0 7 0;
#X connect 18 1 9 0;
-#X restore 221 220 pd check_if_loaded;
-#N canvas 91 71 926 583 load_soundfile 0;
+#X connect 19 0 23 0;
+#X connect 21 0 14 0;
+#X connect 21 1 20 0;
+#X connect 22 0 21 1;
+#X connect 23 0 24 0;
+#X connect 23 1 4 3;
+#X connect 23 2 22 0;
+#X connect 24 0 21 1;
+#X restore 169 233 pd check_if_loaded;
+#N canvas 339 50 926 583 load_soundfile 0;
#X obj 47 11 inlet;
#X obj 46 366 soundfiler;
#X obj 479 395 s pd-\$0tables;
#X obj 284 145 tof/iterate;
#X obj 286 193 t f f;
#X obj 516 308 iemlib/iem_send;
-#X msg 596 279 set \$3/\$1/i;
#X obj 676 252 t l l;
#X msg 517 115 0 \$2 \$3 \$4;
-#X msg 673 307 obj 0 \$2 table \$3/\$1/i 3;
#X obj 317 231 * 130;
#X obj 317 256 + 130;
#X text 339 195 Create data tables;
@@ -66,9 +78,7 @@
#X msg 687 61 \$1;
#X obj 140 257 list prepend;
#X obj 142 288 t l l;
-#X obj 48 113 zexy/packel 5;
#X obj 46 298 list append;
-#X obj 48 160 list prepend read -resize;
#X obj 46 340 list trim;
#X obj 701 118 * 22;
#X obj 48 137 t s s;
@@ -81,93 +91,108 @@
#X obj 836 20 inlet id;
#X obj 294 287 pack f f f f s;
#X obj 680 225 pack f f s;
-#X msg 296 326 obj \$2 \$4 table \$5/\$3/\$1;
-#X msg 161 202 symbol \$5/\$3/\$1;
#X obj 179 500 pack f s;
#X obj 179 461 f;
#X obj 48 44 t l l l l b l;
-#X text 90 10 index rate length channels filename;
-#X connect 0 0 37 0;
-#X connect 1 0 25 0;
+#X text 88 8 index rate length channels filename absolute_filename
+;
+#X obj 51 88 t l l;
+#X msg 48 110 symbol \$6;
+#X msg 129 104 symbol \$5;
+#X obj 49 171 list prepend read -resize -maxsize 2.14748e+09;
+#X msg 673 307 obj 0 \$2 table \$3\$1/i 3;
+#X msg 296 326 obj \$2 \$4 table \$5\$3/\$1;
+#X msg 596 279 set \$3\$1/i;
+#X msg 161 202 symbol \$5\$3/\$1;
+#X connect 0 0 31 0;
+#X connect 1 0 21 0;
#X connect 3 0 4 0;
-#X connect 4 0 31 0;
-#X connect 4 1 10 0;
-#X connect 6 0 5 1;
-#X connect 7 0 6 0;
-#X connect 7 1 9 0;
-#X connect 8 0 5 0;
-#X connect 9 0 2 0;
-#X connect 10 0 11 0;
-#X connect 11 0 31 1;
-#X connect 14 0 3 0;
-#X connect 15 0 29 0;
+#X connect 4 0 27 0;
+#X connect 4 1 8 0;
+#X connect 6 0 39 0;
+#X connect 6 1 37 0;
+#X connect 7 0 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 27 1;
+#X connect 12 0 3 0;
+#X connect 13 0 25 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 1;
+#X connect 15 1 14 1;
#X connect 16 0 17 0;
-#X connect 17 0 19 1;
-#X connect 17 1 16 1;
-#X connect 18 0 23 0;
-#X connect 19 0 21 0;
-#X connect 20 0 19 0;
-#X connect 21 0 1 0;
-#X connect 22 0 31 3;
-#X connect 22 0 32 1;
-#X connect 23 0 20 0;
-#X connect 23 1 24 0;
-#X connect 23 1 35 1;
-#X connect 25 0 36 0;
-#X connect 25 1 28 0;
-#X connect 28 0 27 0;
-#X connect 29 0 31 2;
-#X connect 29 0 32 0;
-#X connect 29 1 22 0;
-#X connect 29 2 36 1;
-#X connect 30 0 32 2;
-#X connect 30 0 31 4;
+#X connect 17 0 1 0;
+#X connect 18 0 27 3;
+#X connect 18 0 28 1;
+#X connect 19 0 36 0;
+#X connect 19 1 20 0;
+#X connect 21 0 30 0;
+#X connect 21 1 24 0;
+#X connect 24 0 23 0;
+#X connect 25 0 27 2;
+#X connect 25 0 28 0;
+#X connect 25 1 18 0;
+#X connect 25 2 30 1;
+#X connect 26 0 28 2;
+#X connect 26 0 27 4;
+#X connect 27 0 38 0;
+#X connect 27 0 40 0;
+#X connect 28 0 6 0;
+#X connect 29 0 22 0;
+#X connect 30 0 29 0;
#X connect 31 0 33 0;
-#X connect 31 0 34 0;
-#X connect 32 0 7 0;
-#X connect 33 0 2 0;
-#X connect 34 0 16 0;
-#X connect 35 0 26 0;
-#X connect 36 0 35 0;
-#X connect 37 0 18 0;
-#X connect 37 1 14 0;
-#X connect 37 2 8 0;
-#X connect 37 3 15 0;
-#X connect 37 4 16 1;
+#X connect 31 1 12 0;
+#X connect 31 2 7 0;
+#X connect 31 3 13 0;
+#X connect 31 4 14 1;
+#X connect 33 0 34 0;
+#X connect 33 1 35 0;
+#X connect 34 0 19 0;
+#X connect 35 0 29 1;
+#X connect 36 0 16 0;
+#X connect 37 0 2 0;
+#X connect 38 0 2 0;
+#X connect 39 0 5 1;
+#X connect 40 0 14 0;
#X restore 326 327 pd load_soundfile;
-#N canvas 302 198 532 423 check_soundfile 0;
+#N canvas 1363 221 532 423 check_soundfile 0;
#X obj 164 141 iemlib/soundfile_info;
-#X msg 163 115 read \$1;
+#X msg 166 115 read \$1;
#X obj 52 -37 inlet;
#X obj 72 69 unpack f s;
#X obj 165 168 t l b;
#X obj 367 326 outlet bad_load;
#X obj 171 209 unpack f s f f f;
#X obj 100 341 outlet create;
-#X obj 104 281 pack f f f f s;
-#X text 110 309 index rate length channels filename;
#X obj 33 202 zexy/demultiplex 0 1;
#X msg 114 170 0;
#X obj 90 8 t l b;
#X msg 157 38 1;
+#X obj 194 69 tof/path absolute;
+#X obj 104 281 pack f f f f s s;
+#X text 110 309 index rate length channels filename absolute_filename
+;
+#X obj 192 91 t s s;
#X connect 0 0 4 0;
#X connect 1 0 0 0;
-#X connect 2 0 12 0;
-#X connect 3 0 10 0;
-#X connect 3 1 1 0;
+#X connect 2 0 10 0;
+#X connect 3 0 8 0;
+#X connect 3 1 12 0;
+#X connect 3 1 13 4;
#X connect 4 0 6 0;
-#X connect 4 1 11 0;
-#X connect 6 0 8 1;
-#X connect 6 1 8 4;
-#X connect 6 2 8 2;
-#X connect 6 4 8 3;
-#X connect 8 0 7 0;
-#X connect 10 0 8 0;
-#X connect 10 1 5 0;
-#X connect 11 0 10 1;
-#X connect 12 0 3 0;
-#X connect 12 1 13 0;
-#X connect 13 0 10 1;
+#X connect 4 1 9 0;
+#X connect 6 0 13 1;
+#X connect 6 2 13 2;
+#X connect 6 4 13 3;
+#X connect 8 0 13 0;
+#X connect 8 1 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 3 0;
+#X connect 10 1 11 0;
+#X connect 11 0 8 1;
+#X connect 12 0 15 0;
+#X connect 13 0 7 0;
+#X connect 15 0 1 0;
+#X connect 15 1 13 5;
#X restore 326 264 pd check_soundfile;
#X msg 521 205 clear;
#X obj 522 228 s pd-\$0tables;
@@ -179,7 +204,6 @@
#X obj 308 557 outlet info;
#N canvas 0 0 1018 686 output_data 0;
#X obj 160 335 zexy/tabdump;
-#X msg 280 226 symbol \$2/\$1;
#X obj 838 590 outlet index;
#X obj 111 624 outlet tables;
#X obj 672 597 outlet info;
@@ -199,50 +223,60 @@
#X obj 789 91 inlet id;
#X msg 187 504 \$2/\$1;
#X msg 394 427 \$2 \$1 \$3;
-#X connect 0 0 12 0;
-#X connect 1 0 9 0;
-#X connect 5 0 15 0;
+#X msg 280 226 symbol \$2\$1;
+#X connect 0 0 11 0;
+#X connect 4 0 14 0;
+#X connect 5 0 6 0;
#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 8 0 19 0;
-#X connect 9 0 14 0;
-#X connect 9 1 8 1;
-#X connect 9 2 10 1;
-#X connect 10 0 11 0;
-#X connect 11 0 13 1;
-#X connect 11 1 10 1;
-#X connect 12 0 13 0;
-#X connect 12 1 6 0;
-#X connect 12 2 20 0;
-#X connect 13 0 3 0;
-#X connect 14 0 0 0;
+#X connect 7 0 18 0;
+#X connect 8 0 13 0;
+#X connect 8 1 7 1;
+#X connect 8 2 9 1;
+#X connect 9 0 10 0;
+#X connect 10 0 12 1;
+#X connect 10 1 9 1;
+#X connect 11 0 12 0;
+#X connect 11 1 5 0;
+#X connect 11 2 19 0;
+#X connect 12 0 2 0;
+#X connect 13 0 0 0;
+#X connect 14 0 15 0;
+#X connect 14 1 1 0;
#X connect 15 0 16 0;
-#X connect 15 1 2 0;
-#X connect 16 0 17 0;
-#X connect 17 0 1 0;
-#X connect 18 0 17 1;
-#X connect 19 0 10 0;
-#X connect 20 0 4 0;
-#X restore 221 417 pd output_data;
-#X obj 221 159 cyclone/tosymbol;
+#X connect 16 0 20 0;
+#X connect 17 0 16 1;
+#X connect 18 0 9 0;
+#X connect 19 0 3 0;
+#X connect 20 0 8 0;
+#X restore 238 503 pd output_data;
+#X obj 186 154 cyclone/tosymbol;
#X obj 625 149 t b b b b;
#X obj 395 165 f 0;
#X obj 326 292 t l l;
#X msg 445 222 \$1;
#X obj 646 116 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X obj 162 120 t b a b;
-#X obj 221 367 spigot 1;
-#X msg 265 319 0;
-#X msg 165 308 1;
+#X obj 154 118 t b a b;
+#X obj 223 473 spigot 1;
+#X msg 342 447 0;
+#X msg 383 446 1;
#X obj 648 241 tof/param id;
-#X obj 171 76 route add float bang symbol panel;
-#X obj 330 24 openpanel;
-#X connect 0 0 24 0;
-#X connect 2 0 20 0;
+#X obj 349 106 openpanel;
+#X obj 524 26 inlet;
+#X obj 578 556 outlet new;
+#X obj 218 291 t a b;
+#X msg 249 320 0;
+#X obj 484 484 spigot 1;
+#X obj 332 354 t a b;
+#X msg 385 379 1;
+#X obj 145 52 route add float bang symbol panel dump;
+#X obj 709 557 outlet dump;
+#X connect 0 0 32 0;
+#X connect 2 0 27 0;
#X connect 2 1 4 0;
#X connect 2 2 8 0;
-#X connect 3 0 20 0;
+#X connect 2 3 33 0;
+#X connect 3 0 30 0;
#X connect 4 0 16 0;
#X connect 4 1 2 2;
#X connect 5 0 6 0;
@@ -265,13 +299,24 @@
#X connect 19 2 21 0;
#X connect 20 0 12 0;
#X connect 21 0 20 1;
+#X connect 21 0 29 1;
#X connect 22 0 20 1;
+#X connect 22 0 29 1;
#X connect 23 0 3 1;
#X connect 23 0 12 1;
-#X connect 24 0 19 0;
-#X connect 24 1 2 1;
-#X connect 24 2 15 0;
-#X connect 24 3 2 0;
-#X connect 24 4 25 0;
-#X connect 24 5 13 0;
-#X connect 25 0 2 0;
+#X connect 24 0 2 0;
+#X connect 25 0 2 1;
+#X connect 27 0 20 0;
+#X connect 27 1 28 0;
+#X connect 28 0 29 0;
+#X connect 29 0 26 0;
+#X connect 30 0 20 0;
+#X connect 30 1 31 0;
+#X connect 31 0 29 0;
+#X connect 32 0 19 0;
+#X connect 32 1 2 1;
+#X connect 32 2 15 0;
+#X connect 32 3 2 0;
+#X connect 32 4 24 0;
+#X connect 32 5 2 3;
+#X connect 32 6 13 0;
diff --git a/smpToFreq.pd b/smpToFreq.pd
index e51ce2d..26d84dd 100644
--- a/smpToFreq.pd
+++ b/smpToFreq.pd
@@ -1,22 +1,18 @@
#N canvas 396 47 546 392 10;
#X text 282 77 samples to milliseconds conversion;
#X obj 31 25 inlet;
-#X obj 151 194 samplerate~;
-#X obj 49 213 /;
-#X obj 44 337 outlet;
-#X obj 56 278 /;
-#X msg 47 242 1 \$1;
+#X obj 174 167 samplerate~;
+#X obj 55 336 outlet;
#X obj 64 90 t f b;
#X obj 55 55 route float;
#X obj 121 85 unpack f f;
-#X connect 1 0 8 0;
-#X connect 2 0 3 1;
-#X connect 3 0 6 0;
+#X obj 69 267 expr $f2/$f1;
+#X connect 1 0 5 0;
+#X connect 2 0 7 1;
+#X connect 4 0 7 0;
+#X connect 4 1 2 0;
#X connect 5 0 4 0;
-#X connect 6 0 5 0;
+#X connect 5 1 6 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
#X connect 7 0 3 0;
-#X connect 7 1 2 0;
-#X connect 8 0 7 0;
-#X connect 8 1 9 0;
-#X connect 9 0 3 0;
-#X connect 9 1 3 1;
diff --git a/tracker4-help.pd b/tracker4-help.pd
index 9bce06c..fab4bb1 100644
--- a/tracker4-help.pd
+++ b/tracker4-help.pd
@@ -1,4 +1,4 @@
-#N canvas 569 146 866 496 10;
+#N canvas 279 135 866 496 10;
#X obj 69 99 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
-1;
#X msg 161 257 pattern \$1;
@@ -36,24 +36,24 @@ param state saving system.;
#X obj 534 252 tof/param file;
#X obj 276 288 loadbang;
#X msg 276 310 debug 1;
-#X obj 69 351 mtl/tracker4 /id tr4;
#X text 329 309 Print debuging messages.;
#X msg 103 198 quantization \$1;
#X obj 480 178 ../doc/5.reference/tof/param-help;
-#X connect 0 0 27 0;
-#X connect 1 0 27 0;
+#X obj 69 351 mtl/tracker4 /id tr4;
+#X connect 0 0 30 0;
+#X connect 1 0 30 0;
#X connect 2 0 1 0;
#X connect 3 0 9 0;
-#X connect 4 0 27 0;
-#X connect 5 0 27 0;
+#X connect 4 0 30 0;
+#X connect 5 0 30 0;
#X connect 9 2 6 0;
#X connect 11 0 24 0;
#X connect 12 0 24 1;
-#X connect 17 0 29 0;
+#X connect 17 0 28 0;
#X connect 25 0 26 0;
-#X connect 26 0 27 0;
-#X connect 27 0 22 0;
-#X connect 27 1 23 0;
-#X connect 27 2 20 0;
-#X connect 27 3 21 0;
-#X connect 29 0 27 0;
+#X connect 26 0 30 0;
+#X connect 28 0 30 0;
+#X connect 30 0 22 0;
+#X connect 30 1 23 0;
+#X connect 30 2 20 0;
+#X connect 30 3 21 0;
diff --git a/tracker4.pd b/tracker4.pd
index aa24aa7..1b05c53 100644
--- a/tracker4.pd
+++ b/tracker4.pd
@@ -1,4 +1,4 @@
-#N canvas 330 95 1005 683 10;
+#N canvas 1188 91 1005 683 10;
#N canvas 0 66 993 659 maxtrix 0;
#X obj 94 42 + 1;
#X obj 31 3 inlet;
@@ -1026,52 +1026,39 @@
#X obj 907 383 outlet loops;
#X obj 906 353 r \$0looped;
#X obj 800 -203 t b b;
-#X obj 768 73 ./clkSlave;
#X obj 768 -29 symbol;
-#N canvas 0 0 594 456 set_hradio 0;
+#N canvas 1412 414 594 456 set_hradio 0;
#X obj 43 13 inlet;
#X obj 67 144 s \$0trigR;
#X msg 41 91 set 0;
#X msg 115 89 set 1;
#X msg 157 94 set 2;
-#X msg 209 92 set 3;
#X obj 78 182 r \$0trigS;
#X obj 85 310 outlet;
-#X obj 44 54 route beat eventt loop match none;
-#X msg 255 91 set 4;
-#X obj 80 204 sel 0 1 2 3 4;
-#X msg 333 254 none;
-#X msg 271 255 match;
-#X msg 191 256 loop;
-#X msg 113 259 event;
-#X msg 43 254 beat;
-#X connect 0 0 8 0;
+#X msg 202 259 none;
+#X msg 72 240 match;
+#X msg 138 259 beat;
+#X obj 44 54 route match beat none;
+#X obj 80 204 sel 0 1 2;
+#X connect 0 0 10 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 10 0;
-#X connect 8 0 2 0;
-#X connect 8 1 3 0;
-#X connect 8 2 4 0;
-#X connect 8 3 5 0;
-#X connect 8 4 9 0;
-#X connect 9 0 1 0;
-#X connect 10 0 15 0;
-#X connect 10 1 14 0;
-#X connect 10 2 13 0;
-#X connect 10 3 12 0;
-#X connect 10 4 11 0;
-#X connect 11 0 7 0;
-#X connect 12 0 7 0;
-#X connect 13 0 7 0;
-#X connect 14 0 7 0;
-#X connect 15 0 7 0;
+#X connect 5 0 11 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 9 0 6 0;
+#X connect 10 0 2 0;
+#X connect 10 1 3 0;
+#X connect 10 2 4 0;
+#X connect 11 0 8 0;
+#X connect 11 1 9 0;
+#X connect 11 2 7 0;
#X restore 649 0 pd set_hradio;
#X obj 96 -191 t f f;
#X obj 11 140 send pd-\$0tracker;
#X obj 750 371 print pmdtl/tracker4;
-#N canvas 434 339 451 279 \$0tracker 0;
+#N canvas 93 197 451 279 \$0tracker 0;
#X symbolatom 388 22 4 0 0 0 - #0<11<0 #0>11>0;
#X symbolatom 358 22 4 0 0 0 - #0<10<0 #0>10>0;
#X symbolatom 328 22 4 0 0 0 - #0<9<0 #0>9>0;
@@ -1266,7 +1253,7 @@
#X symbolatom 50 232 4 0 0 0 - #0<0<15 #0>0>15;
#X obj 421 24 vsl 15 219 0 1 0 0 \$0scroll \$0set_scroll empty 0 -8
0 10 -1 -1 -1 0 0;
-#X obj 2 22 cnv 7 7 14 empty \$0prog empty 20 12 0 14 -258053 -1 0
+#X obj 2 148 cnv 7 7 14 empty \$0prog empty 20 12 0 14 -258053 -1 0
;
#X obj 40 250 nbx 3 15 0 999 0 0 \$0ask_pattern \$0nbx_pattern pattern
38 7 0 10 -1 -262144 -1 0 256;
@@ -1281,7 +1268,7 @@
#X obj 156 250 nbx 3 15 16 999 0 0 \$0change_length \$0nbx_length size
38 7 0 10 -1 -262144 -1 16 256;
#X obj 39 3 tgl 15 0 \$0play \$0nbx_play play 17 7 0 10 -1 -262144
--1 0 1;
+-1 1 1;
#X floatatom 10 4 3 0 0 0 - #0nbx_event -;
#X obj 35 22 cnv 3 3 14 empty empty empty 20 12 0 14 -258113 -66577
0;
@@ -1317,8 +1304,8 @@
-262144 -1 -261689 14 256;
#X obj 10 232 nbx 3 14 -1e+37 1e+37 0 0 empty \$0n15 empty 0 -8 0 10
-262144 -1 -261689 15 256;
-#X obj 107 3 hradio 15 1 0 5 \$0trigS \$0trigR (beat/event/loop/match/none)
-78 8 0 10 -262144 -1 -1 0;
+#X obj 107 3 hradio 15 1 0 3 \$0trigS \$0trigR (match/beat/none) 48
+8 0 10 -262144 -1 -1 0;
#X restore 56 353 pd \$0tracker;
#N canvas 0 0 1028 714 \$0receives 0;
#X obj 0 0 r \$0>0>0;
@@ -2100,31 +2087,32 @@
#X obj 575 429 outlet track;
#X obj 751 339 spigot;
#X obj 543 -158 route pattern quantization debug;
+#X obj 768 73 ./clkSlave 4;
#X connect 0 0 4 0;
-#X connect 2 0 48 0;
-#X connect 3 0 42 0;
-#X connect 4 0 51 0;
-#X connect 4 1 52 0;
-#X connect 5 0 53 0;
+#X connect 2 0 47 0;
+#X connect 3 0 41 0;
+#X connect 4 0 50 0;
+#X connect 4 1 51 0;
+#X connect 5 0 52 0;
#X connect 7 0 6 0;
#X connect 7 1 0 0;
#X connect 7 2 26 0;
#X connect 9 0 8 0;
#X connect 9 1 10 0;
#X connect 11 0 34 0;
-#X connect 12 0 38 2;
+#X connect 12 0 54 2;
#X connect 14 1 16 0;
#X connect 16 0 15 0;
#X connect 16 0 21 0;
#X connect 17 1 18 0;
#X connect 18 0 15 0;
#X connect 18 0 21 0;
-#X connect 19 0 41 0;
+#X connect 19 0 40 0;
#X connect 21 0 20 0;
#X connect 22 0 23 0;
#X connect 22 1 24 0;
-#X connect 23 0 48 0;
-#X connect 24 0 48 0;
+#X connect 23 0 47 0;
+#X connect 24 0 47 0;
#X connect 26 0 25 0;
#X connect 27 0 37 0;
#X connect 29 0 28 0;
@@ -2133,22 +2121,22 @@
#X connect 36 0 35 0;
#X connect 37 0 33 0;
#X connect 37 1 30 0;
-#X connect 38 0 7 0;
-#X connect 38 3 9 0;
-#X connect 39 0 49 0;
-#X connect 40 0 39 0;
-#X connect 41 0 22 0;
-#X connect 41 1 29 0;
-#X connect 46 0 40 0;
-#X connect 46 1 39 0;
-#X connect 47 0 38 0;
-#X connect 48 0 3 0;
-#X connect 48 1 14 0;
-#X connect 48 2 17 0;
-#X connect 48 3 54 0;
-#X connect 49 0 50 0;
-#X connect 50 0 38 0;
-#X connect 53 0 43 0;
-#X connect 54 0 13 0;
-#X connect 54 1 46 0;
-#X connect 54 2 53 1;
+#X connect 38 0 48 0;
+#X connect 39 0 38 0;
+#X connect 40 0 22 0;
+#X connect 40 1 29 0;
+#X connect 45 0 39 0;
+#X connect 45 1 38 0;
+#X connect 46 0 54 0;
+#X connect 47 0 3 0;
+#X connect 47 1 14 0;
+#X connect 47 2 17 0;
+#X connect 47 3 53 0;
+#X connect 48 0 49 0;
+#X connect 49 0 54 0;
+#X connect 52 0 42 0;
+#X connect 53 0 13 0;
+#X connect 53 1 45 0;
+#X connect 53 2 52 1;
+#X connect 54 0 7 0;
+#X connect 54 3 9 0;