aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas O Fredericks <mrtof@users.sourceforge.net>2009-11-01 20:15:32 +0000
committerThomas O Fredericks <mrtof@users.sourceforge.net>2009-11-01 20:15:32 +0000
commit09c893c478f70d9e72ea51db370ff08cb22fcced (patch)
tree50a7dc512b045e79c8da7d40c7459bb3c34b40c1
parent89db37262cee46814540edef54a6db96096e1ee1 (diff)
updating mtl
svn path=/trunk/abstractions/mtl/; revision=12713
-rw-r--r--1.mtlBrowser.pd56
-rw-r--r--browser.pd56
-rw-r--r--clk-quantization-help.pd26
-rw-r--r--clkSlave-help.pd11
-rw-r--r--core.txt3
-rw-r--r--distoAp~-help.pd24
-rw-r--r--distoNonmonotone~-help.pd36
-rw-r--r--love.txt13
-rw-r--r--msToSmp-help.pd4
-rw-r--r--msToSmp.pd20
-rw-r--r--pitchShift~-help.pd18
-rw-r--r--player~-help.pd68
-rw-r--r--player~.pd258
-rw-r--r--sfIndexer-help.pd87
-rw-r--r--sfIndexer.pd47
-rw-r--r--smpToBpm-help.pd31
-rw-r--r--smpToBpm.pd49
-rw-r--r--smpToFreq-help.pd12
-rw-r--r--smpToFreq.pd37
-rw-r--r--smpToMs-help.pd10
-rw-r--r--smpToMs.pd8
-rw-r--r--smpToTime-help.pd18
-rw-r--r--smpToTime.pd57
-rw-r--r--tracker4-help.pd8
24 files changed, 537 insertions, 420 deletions
diff --git a/1.mtlBrowser.pd b/1.mtlBrowser.pd
index 3acd93e..3e232af 100644
--- a/1.mtlBrowser.pd
+++ b/1.mtlBrowser.pd
@@ -1,36 +1,36 @@
-#N canvas 710 179 403 172 10;
+#N canvas 711 211 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 7800 0;
-#X obj 3 45 hradio 15 1 0 12 \$0_hr_2_s0 \$0_hr_2_r0 fx~ 2 8 1 9 -1
--1 -258401 0;
-#X obj 3 60 hradio 15 1 0 12 \$0_hr_3_s0 \$0_hr_3_r0 gems 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 info 2 8 1 9 -1
--1 -262140 0;
-#X obj 3 90 hradio 15 1 0 12 \$0_hr_5_s0 \$0_hr_5_r0 info~ 2 8 1 9
+0 -8 0 8 -1 -228856 -228856 11400 0;
+#X obj 3 45 hradio 15 1 0 12 \$0_hr_2_s0 \$0_hr_2_r0 ambisonic 2 8
+1 9 -1 -1 -258401 2;
+#X obj 3 60 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 75 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 90 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 105 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 120 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 105 hradio 15 1 0 12 \$0_hr_6_s0 \$0_hr_6_r0 initialization
-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 instrument~ 2
-8 1 9 -1 -1 -262140 0;
#X obj 384 17 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/delayPhasor~
-2 8 1 9 -1 -1 -258401 4;
-#X obj 202 30 hradio 15 1 0 12 \$0_hr_1_s \$0_hr_1_r cyclone/delay~
+0 -8 0 8 -1 -228856 -1 4200 0;
+#X obj 202 15 hradio 15 1 0 12 \$0_hr_0_s \$0_hr_0_r mtl/ambiSend7~
2 8 1 9 -1 -1 -262140 0;
-#X obj 202 45 hradio 15 1 0 12 \$0_hr_2_s \$0_hr_2_r mtl/distoAp~ 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/distoCrusher~
+#X obj 202 30 hradio 15 1 0 12 \$0_hr_1_s \$0_hr_1_r mtl/ambiSfRead4~
2 8 1 9 -1 -1 -262140 0;
-#X obj 202 75 hradio 15 1 0 12 \$0_hr_4_s \$0_hr_4_r mtl/distoFuzz~
+#X obj 202 45 hradio 15 1 0 12 \$0_hr_2_s \$0_hr_2_r mtl/ambiSfRead7~
2 8 1 9 -1 -1 -262140 0;
-#X obj 202 90 hradio 15 1 0 12 \$0_hr_5_s \$0_hr_5_r mtl/distoLofi~
+#X obj 202 60 hradio 15 1 0 12 \$0_hr_3_s \$0_hr_3_r mtl/ambiSfWrite4~
2 8 1 9 -1 -1 -262140 0;
-#X obj 202 105 hradio 15 1 0 12 \$0_hr_6_s \$0_hr_6_r mtl/distoNonmonotone~
-2 8 1 9 -1 -1 -262140 0;
-#X obj 202 120 hradio 15 1 0 12 \$0_hr_7_s \$0_hr_7_r mtl/distoSign~
+#X obj 202 75 hradio 15 1 0 12 \$0_hr_4_s \$0_hr_4_r mtl/ambiSfWrite7~
+2 8 1 9 -1 -1 -262140 5;
+#X obj 202 90 hradio 15 1 0 12 \$0_hr_5_s \$0_hr_5_r mtl/ambiTable4
+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/ambiTablePlay3~
2 8 1 9 -1 -1 -262140 0;
+#X obj 202 120 hradio 15 1 0 12 \$0_hr_7_s \$0_hr_7_r mtl/ambiTableRead3~
+2 8 1 9 -1 -1 -262140 5;
#N canvas 301 43 723 396 ./browser 0;
#N canvas 1069 45 887 645 coll 0;
#X obj 23 -42 inlet;
@@ -672,10 +672,10 @@
#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 file 2 8 1 9 -1
+#X obj 3 15 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 31 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 31 hradio 15 1 0 12 \$0_hr_1_s0 \$0_hr_1_r0 file~ 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
0;
#X obj 202 -9 cnv 15 197 22 empty empty CLASS/ABSTRACTION 0 12 1 12
diff --git a/browser.pd b/browser.pd
index 3acd93e..3e232af 100644
--- a/browser.pd
+++ b/browser.pd
@@ -1,36 +1,36 @@
-#N canvas 710 179 403 172 10;
+#N canvas 711 211 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 7800 0;
-#X obj 3 45 hradio 15 1 0 12 \$0_hr_2_s0 \$0_hr_2_r0 fx~ 2 8 1 9 -1
--1 -258401 0;
-#X obj 3 60 hradio 15 1 0 12 \$0_hr_3_s0 \$0_hr_3_r0 gems 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 info 2 8 1 9 -1
--1 -262140 0;
-#X obj 3 90 hradio 15 1 0 12 \$0_hr_5_s0 \$0_hr_5_r0 info~ 2 8 1 9
+0 -8 0 8 -1 -228856 -228856 11400 0;
+#X obj 3 45 hradio 15 1 0 12 \$0_hr_2_s0 \$0_hr_2_r0 ambisonic 2 8
+1 9 -1 -1 -258401 2;
+#X obj 3 60 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 75 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 90 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 105 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 120 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 105 hradio 15 1 0 12 \$0_hr_6_s0 \$0_hr_6_r0 initialization
-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 instrument~ 2
-8 1 9 -1 -1 -262140 0;
#X obj 384 17 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/delayPhasor~
-2 8 1 9 -1 -1 -258401 4;
-#X obj 202 30 hradio 15 1 0 12 \$0_hr_1_s \$0_hr_1_r cyclone/delay~
+0 -8 0 8 -1 -228856 -1 4200 0;
+#X obj 202 15 hradio 15 1 0 12 \$0_hr_0_s \$0_hr_0_r mtl/ambiSend7~
2 8 1 9 -1 -1 -262140 0;
-#X obj 202 45 hradio 15 1 0 12 \$0_hr_2_s \$0_hr_2_r mtl/distoAp~ 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/distoCrusher~
+#X obj 202 30 hradio 15 1 0 12 \$0_hr_1_s \$0_hr_1_r mtl/ambiSfRead4~
2 8 1 9 -1 -1 -262140 0;
-#X obj 202 75 hradio 15 1 0 12 \$0_hr_4_s \$0_hr_4_r mtl/distoFuzz~
+#X obj 202 45 hradio 15 1 0 12 \$0_hr_2_s \$0_hr_2_r mtl/ambiSfRead7~
2 8 1 9 -1 -1 -262140 0;
-#X obj 202 90 hradio 15 1 0 12 \$0_hr_5_s \$0_hr_5_r mtl/distoLofi~
+#X obj 202 60 hradio 15 1 0 12 \$0_hr_3_s \$0_hr_3_r mtl/ambiSfWrite4~
2 8 1 9 -1 -1 -262140 0;
-#X obj 202 105 hradio 15 1 0 12 \$0_hr_6_s \$0_hr_6_r mtl/distoNonmonotone~
-2 8 1 9 -1 -1 -262140 0;
-#X obj 202 120 hradio 15 1 0 12 \$0_hr_7_s \$0_hr_7_r mtl/distoSign~
+#X obj 202 75 hradio 15 1 0 12 \$0_hr_4_s \$0_hr_4_r mtl/ambiSfWrite7~
+2 8 1 9 -1 -1 -262140 5;
+#X obj 202 90 hradio 15 1 0 12 \$0_hr_5_s \$0_hr_5_r mtl/ambiTable4
+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/ambiTablePlay3~
2 8 1 9 -1 -1 -262140 0;
+#X obj 202 120 hradio 15 1 0 12 \$0_hr_7_s \$0_hr_7_r mtl/ambiTableRead3~
+2 8 1 9 -1 -1 -262140 5;
#N canvas 301 43 723 396 ./browser 0;
#N canvas 1069 45 887 645 coll 0;
#X obj 23 -42 inlet;
@@ -672,10 +672,10 @@
#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 file 2 8 1 9 -1
+#X obj 3 15 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 31 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 31 hradio 15 1 0 12 \$0_hr_1_s0 \$0_hr_1_r0 file~ 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
0;
#X obj 202 -9 cnv 15 197 22 empty empty CLASS/ABSTRACTION 0 12 1 12
diff --git a/clk-quantization-help.pd b/clk-quantization-help.pd
index 6ea0569..d8f5a38 100644
--- a/clk-quantization-help.pd
+++ b/clk-quantization-help.pd
@@ -1,5 +1,4 @@
-#N canvas 90 70 773 540 10;
-#X obj 52 509 outlet;
+#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
@@ -20,14 +19,17 @@ event (does not restart the pattern).;
;
#X text 44 47 There are four methods of synchronizing a clkSlave to
its clkMaster:;
-#X msg 50 113 quantization beat;
-#X msg 107 207 quantization event;
-#X msg 146 311 quantization loop;
-#X msg 150 403 quantization match;
-#X msg 165 464 quantization none;
#X text 284 379 -- default --;
-#X connect 10 0 0 0;
-#X connect 11 0 0 0;
-#X connect 12 0 0 0;
-#X connect 13 0 0 0;
-#X connect 14 0 0 0;
+#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;
diff --git a/clkSlave-help.pd b/clkSlave-help.pd
index 3e4e37b..3551921 100644
--- a/clkSlave-help.pd
+++ b/clkSlave-help.pd
@@ -18,11 +18,14 @@
#X text 56 61 tags: timing;
#X obj 60 273 mtl/clkSlave;
#X obj 474 68 mtl/clkMaster 120;
-#X text 148 166 Open(click) to read about quantization:;
-#X obj 152 187 mtl/clk-quantization-help;
+#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
+-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;
@@ -33,4 +36,6 @@ to 4);
#X connect 12 3 6 0;
#X connect 12 4 7 0;
#X connect 13 0 17 0;
-#X connect 15 0 12 0;
+#X connect 13 2 18 0;
+#X connect 15 0 19 0;
+#X connect 19 0 12 0;
diff --git a/core.txt b/core.txt
index d250977..1bfe964 100644
--- a/core.txt
+++ b/core.txt
@@ -31,6 +31,7 @@ mtl/ambiRotateWxyuvpq~ ambisonic
mtl/ambiRotateWxy~ ambisonic
mtl/ambiSend7~ ambisonic
mtl/ambiSfRead4~ ambisonic
+mtl/ambiSfRead7~ ambisonic
mtl/ambiSfWrite4~ ambisonic
mtl/ambiSfWrite7~ ambisonic
mtl/ambiTable4 ambisonic
@@ -45,8 +46,6 @@ mtl/ambiWxyToQuad~ ambisonic
mtl/ambiWxyToWxyuvpq~ ambisonic
mtl/ambiWxyuvpqToMono~ ambisonic
mtl/ambiWxyzToMono~ ambisonic
-mtl/ambiZoomRead~ ambisonic
-mtl/ambiZoomToWxy~ ambisonic
mtl/ambient~ synthesize~
mtl/applause~ synthesize~
mtl/arpeggio musical
diff --git a/distoAp~-help.pd b/distoAp~-help.pd
index 4c424a3..bb1b95a 100644
--- a/distoAp~-help.pd
+++ b/distoAp~-help.pd
@@ -1,4 +1,4 @@
-#N canvas 84 466 597 403 10;
+#N canvas 326 235 597 403 10;
#X text 10 50 See: http://www.acoustics.hut.fi/~jpekonen/Papers/dafx08/
;
#X text 11 5 Description: "Coefficient Modulated Allpass Filter as
@@ -21,23 +21,27 @@ 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 6236 1;
+7 0 8 -262144 -1 -1 1800 1;
#X obj 343 309 hsl 100 15 0 500 0 0 /disAp/drive /disAp/drive_ drive
-105 7 0 8 -262144 -1 -1 198 1;
+105 7 0 8 -262144 -1 -1 4600 1;
#X obj 343 327 hsl 100 15 0 1 0 0 /disAp/wet /disAp/wet_ wet 105 7
-0 8 -262144 -1 -1 9900 1;
+0 8 -262144 -1 -1 1900 1;
#X obj 19 117 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 124 168 582 409 loop_sample 0;
#X obj 47 313 outlet~;
#X obj 43 9 inlet;
#X obj 193 319 outlet~;
-#X msg 47 163 panel;
+#X obj 46 94 openpanel;
+#X obj 46 60 b;
+#X msg 49 133 open \$1 \, bang;
#X obj 47 200 mtl/player~ 1;
-#X connect 1 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 0 0;
-#X connect 4 0 2 0;
+#X connect 1 0 4 0;
+#X connect 3 0 5 0;
+#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 0 11 0;
#X connect 7 0 10 2;
diff --git a/distoNonmonotone~-help.pd b/distoNonmonotone~-help.pd
index 2a4ab20..77cc761 100644
--- a/distoNonmonotone~-help.pd
+++ b/distoNonmonotone~-help.pd
@@ -20,39 +20,43 @@
#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 5 256;
+freq1 50 8 0 8 -262144 -1 -1 0 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 10 256;
+50 8 0 8 -262144 -1 -1 0 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 10 256;
+base1 50 8 0 8 -262144 -1 -1 0 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 4 256;
+freq2 50 8 0 8 -262144 -1 -1 0 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 13 256;
+50 8 0 8 -262144 -1 -1 0 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 14 256;
+base2 50 8 0 8 -262144 -1 -1 0 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 9 256;
+freqfeed 50 8 0 8 -262144 -1 -1 0 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 5 256;
+ampfeed 50 8 0 8 -262144 -1 -1 0 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 13 256;
+basefeed 50 8 0 8 -262144 -1 -1 0 256;
#X obj 331 324 hsl 100 15 0 1 0 0 /matju/feedback /matju/feedback_
-feedback 105 7 0 8 -262144 -1 -1 5600 1;
+feedback 105 7 0 8 -262144 -1 -1 0 1;
#X obj 331 342 hsl 100 15 0 1 0 0 /matju/wet /matju/wet_ wet 105 7
-0 8 -262144 -1 -1 3100 1;
+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
-1;
#N canvas 367 242 582 409 loop_sample 0;
#X obj 47 313 outlet~;
#X obj 43 9 inlet;
#X obj 193 319 outlet~;
-#X msg 47 163 panel;
#X obj 47 200 mtl/player~ 1;
-#X connect 1 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 0 0;
-#X connect 4 0 2 0;
+#X obj 56 104 openpanel;
+#X obj 56 70 b;
+#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 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 0;
#X restore 32 66 pd loop_sample;
#X connect 14 0 7 0;
#X connect 14 1 7 1;
diff --git a/love.txt b/love.txt
index 8793e0c..2af6c6b 100644
--- a/love.txt
+++ b/love.txt
@@ -73,7 +73,6 @@ iemlib/init initialization
iemlib/modulo_counter counter
iemlib/mp3play~ play~
iemlib/soundfile_info file~ info~
-iemlib/unsig~ info~ conversion
line~ control~
list-abs/list-abs lists
list-abs/list-accum lists
@@ -122,6 +121,7 @@ send routing
sigpack/vowel~ fx~
smlib/threshold routing
tof/argument initialization patch
+tof/arguments initialization patch
tof/breakpoints~ ui control~
tof/breakpoints ui timing
tof/common~ mix~
@@ -129,7 +129,7 @@ tof/crossfade~ mix~
tof/folderpanel file
tof/getdollarzero patch
tof/increment counter
-tof/iterate routing
+tof/iterate looping
tof/listUnfold lists
tof/onlyone initialization symbols
tof/openHelp tools patch
@@ -147,10 +147,17 @@ zexy/msgfile file data
zexy/packel lists
zexy/prime math
zexy/relay routing
-zexy/repeat routing
+zexy/repeat looping
zexy/sort lists
zexy/sum lists
zexy/symbol2list conversion symbols lists
zexy/tabdump tables
zexy/tabset tables
zexy/uniqsym symbols
+cyclone/capture~ info~ data
+cyclone/Snapshot~ info~ conversion
+cyclone/pong~ control~
+cyclone/mtr sequencing
+until looping
+qlist sequencing
+cyclone/trapezoid~ control~
diff --git a/msToSmp-help.pd b/msToSmp-help.pd
index c5ee950..1770ecd 100644
--- a/msToSmp-help.pd
+++ b/msToSmp-help.pd
@@ -1,4 +1,4 @@
-#N canvas 120 81 372 242 10;
+#N canvas 120 81 750 330 10;
#X floatatom 93 91 5 0 0 0 - - -;
#X floatatom 93 169 5 0 0 0 - - -;
#X text 144 89 Length in milliseconds;
@@ -7,5 +7,7 @@
corresponding number of samples.;
#X obj 93 130 mtl/msToSmp;
#X text 18 42 tags: conversion;
+#X text 208 120 By default \, the conversion is done with Pd's samplerate.
+You can override this by sending a list: ms samplerate;
#X connect 0 0 5 0;
#X connect 5 0 1 0;
diff --git a/msToSmp.pd b/msToSmp.pd
index ca6f61a..2abbb77 100644
--- a/msToSmp.pd
+++ b/msToSmp.pd
@@ -1,15 +1,19 @@
-#N canvas 0 0 452 302 10;
-#X obj 31 46 inlet;
-#X obj 132 84 loadbang;
+#N canvas 370 317 452 302 10;
+#X obj 41 21 inlet;
#X obj 132 110 samplerate~;
#X obj 53 266 outlet;
#X obj 135 136 / 1000;
#X obj 52 204 * 44.1;
#X obj 52 83 t f b;
+#X obj 60 48 route float;
+#X obj 148 59 unpack f f;
#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 4 0 5 1;
-#X connect 5 0 3 0;
+#X connect 1 0 3 0;
+#X connect 3 0 4 1;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 5 1 1 0;
#X connect 6 0 5 0;
-#X connect 6 1 2 0;
+#X connect 6 1 7 0;
+#X connect 7 0 4 0;
+#X connect 7 1 3 0;
diff --git a/pitchShift~-help.pd b/pitchShift~-help.pd
index b4244ee..aae0bd7 100644
--- a/pitchShift~-help.pd
+++ b/pitchShift~-help.pd
@@ -1,18 +1,22 @@
-#N canvas 696 418 476 249 10;
+#N canvas 303 331 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
-1;
#N canvas 367 242 582 409 loop_sample 0;
#X obj 47 313 outlet~;
-#X obj 43 9 inlet;
+#X obj 63 16 inlet;
#X obj 193 319 outlet~;
-#X msg 47 163 panel;
#X obj 47 200 mtl/player~ 1;
-#X connect 1 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 0 0;
-#X connect 4 0 2 0;
+#X obj 66 114 openpanel;
+#X obj 66 80 b;
+#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 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 0;
#X restore 8 97 pd loop_sample;
#X obj 8 129 mtl/pitchShift~ /id pishi;
#X text 5 -2 Description: pitchshifter with 2 methods.;
diff --git a/player~-help.pd b/player~-help.pd
index 557ec6a..aa8a549 100644
--- a/player~-help.pd
+++ b/player~-help.pd
@@ -1,6 +1,6 @@
-#N canvas 570 214 919 638 10;
-#X floatatom 237 475 10 0 0 1 samples - -;
-#X obj 261 436 bng 15 250 50 0 empty empty stopped 0 -6 0 10 -262144
+#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
-1 -1;
#X msg 48 33 1;
#X msg 92 73 2;
@@ -11,44 +11,51 @@
#X text 77 29 Play at speed 1;
#X text 102 48 Stop;
#X text 120 74 Play at speed 2;
-#X text 207 526 Progress;
-#X text 590 158 Load a sound file;
+#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 571 183 openpanel;
-#X obj 571 158 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#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 538 mtl/out~;
-#X msg 570 343 set \$1 \, bang;
+#X obj 18 548 mtl/out~;
+#X msg 719 344 set \$1 \, bang;
#X text 13 -23 tags: tables play~;
-#X obj 193 348 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 193 398 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X obj 199 545 mtl/nbx~;
-#X text 212 344 Loop (stops looping when the end is reached);
-#X text 652 345 Sets the table and play it.;
+#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 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 397 mtl/player~ 1;
-#X msg 200 292 panel;
+#X obj 118 447 mtl/player~ 1;
#X text 132 118 ------------ offset ------------;
#X text 26 -5 ------------ playback ------------;
#X text 190 240 ------------ table/file management ------------;
#X text 13 -38 Description: Plays tables and soundfiles.;
-#X obj 569 106 table \$0table;
-#X obj 571 209 list append \$0table;
-#X obj 570 263 soundfiler;
-#X msg 570 235 read -resize \$1 \$2;
-#X obj 570 291 b;
-#X obj 570 315 symbol \$0table;
-#X text 242 383 Arguments (in any order): The name of the an external
+#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
table and the loop flag.;
-#X text 244 292 You can load a sound file in the internal table;
+#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 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
+-1 -1;
#X connect 2 0 31 0;
#X connect 3 0 31 0;
#X connect 4 0 31 0;
@@ -56,7 +63,7 @@ table and the loop flag.;
#X connect 12 0 31 0;
#X connect 13 0 31 0;
#X connect 16 0 31 0;
-#X connect 17 0 38 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;
@@ -67,9 +74,12 @@ table and the loop flag.;
#X connect 31 1 23 0;
#X connect 31 2 0 0;
#X connect 31 3 1 0;
-#X connect 32 0 31 0;
+#X connect 37 0 39 0;
#X connect 38 0 40 0;
-#X connect 39 0 41 0;
-#X connect 40 0 39 0;
-#X connect 41 0 42 0;
-#X connect 42 0 20 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;
diff --git a/player~.pd b/player~.pd
index 47169d1..c0b81cf 100644
--- a/player~.pd
+++ b/player~.pd
@@ -1,48 +1,34 @@
-#N canvas 1028 25 1005 686 10;
+#N canvas 1162 153 1005 740 10;
#X obj 23 -189 inlet speed;
-#X msg 381 -13 set \$1;
-#X obj 389 -82 symbol;
+#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 142 -35 sel 0;
+#X obj 140 -29 sel 0;
#X obj 34 515 *~;
-#X msg 130 475 \$1 5;
-#X msg 140 445 1;
-#X obj 188 527 spigot;
-#X obj 262 390 t b b;
-#X msg 260 456 1;
-#X obj 159 396 t b b;
-#X msg 179 448 0;
-#X msg 205 475 0;
-#X obj 115 -11 s \$0stop;
-#X obj 261 365 r \$0stop;
+#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 105 502 cyclone/Line~;
-#X obj 444 104 flatspace/arraysize;
-#X msg 444 76 set \$1 \, bang;
+#X obj 424 205 flatspace/arraysize;
+#X msg 424 177 set \$1 \, bang;
#X obj 24 -62 route bang list float;
-#X obj 580 -21 iemlib/dollarg;
-#X obj 581 -62 loadbang;
-#X obj 555 207 table \$0t 3;
-#X obj 395 -51 t s s;
-#X obj 29 418 cyclone/wave~;
-#X obj 32 277 tof/phasorshot~;
-#X obj 231 228 ./smpToFreq;
-#X obj 30 232 *;
-#X msg 187 551 0;
+#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 298 266 spigot 1;
+#X obj 319 295 spigot 1;
#X obj 350 236 == 0;
-#X obj 459 405 t b b b;
+#X obj 518 480 t b b b;
#X msg 252 316 0 0;
#X obj 146 136 clip 0 1;
-#X obj 585 4 tof/listUnfold;
-#X obj 589 30 route symbol float;
-#X obj 595 121 f;
+#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;
@@ -50,88 +36,138 @@
#X obj 65 162 t f b;
#X msg 107 159 0;
#X msg 67 195 1;
-#X obj 24 -156 route set panel;
-#X obj 216 -228 openpanel;
-#X obj 216 -154 soundfiler;
+#X obj 216 -141 soundfiler;
#X msg 216 -178 read -resize \$1 \$2;
#X obj 216 -202 list append \$0t;
-#X obj 224 -68 t b s;
#X obj 42 65 t a b b;
-#X obj 216 -125 b;
-#X obj 218 -94 symbol \$0t;
-#X connect 0 0 51 0;
-#X connect 1 0 30 0;
-#X connect 2 0 29 0;
-#X connect 7 0 17 0;
-#X connect 7 1 20 0;
+#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;
+#N canvas 1143 272 704 519 trapezoid~ 0;
+#X obj 33 29 inlet~ control~;
+#X obj 524 33 inlet samples;
+#X obj 209 343 cyclone/trapezoid~ 0.1 0.9;
+#X msg 319 141 100 \$1;
+#X obj 322 169 /;
+#X obj 339 245 -;
+#X obj 280 253 t f f;
+#X msg 340 220 1 \$1;
+#X obj 275 299 sig~;
+#X obj 358 308 sig~;
+#X obj 200 422 outlet~;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 10 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 9 0;
+#X connect 6 0 8 0;
+#X connect 6 1 7 0;
+#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 9 0 22 0;
-#X connect 10 0 9 0;
-#X connect 11 0 34 0;
-#X connect 12 0 15 0;
-#X connect 12 1 13 0;
-#X connect 13 0 11 1;
-#X connect 14 0 10 0;
-#X connect 14 1 16 0;
-#X connect 15 0 9 0;
-#X connect 16 0 11 1;
-#X connect 18 0 12 0;
-#X connect 19 0 57 0;
-#X connect 20 0 57 0;
-#X connect 21 0 44 0;
-#X connect 21 1 40 0;
-#X connect 22 0 8 1;
-#X connect 22 1 11 0;
-#X connect 23 0 5 0;
-#X connect 23 0 32 0;
-#X connect 24 0 23 0;
+#X connect 10 0 40 0;
+#X connect 11 0 40 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 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 25 1 57 0;
-#X connect 25 2 7 0;
-#X connect 26 0 41 0;
-#X connect 27 0 26 0;
-#X connect 29 0 1 0;
-#X connect 29 1 24 0;
-#X connect 30 0 8 0;
-#X connect 31 0 30 0;
-#X connect 31 0 4 0;
-#X connect 31 1 36 0;
-#X connect 31 2 36 0;
-#X connect 32 0 33 1;
-#X connect 33 0 31 0;
-#X connect 34 0 31 0;
-#X connect 35 0 43 0;
-#X connect 36 0 38 0;
-#X connect 37 0 36 1;
-#X connect 38 0 6 0;
-#X connect 38 2 39 0;
-#X connect 39 0 31 0;
-#X connect 40 0 45 1;
-#X connect 41 0 42 0;
-#X connect 42 0 2 0;
-#X connect 42 1 43 0;
-#X connect 43 0 37 0;
-#X connect 43 0 31 2;
-#X connect 44 0 47 0;
-#X connect 44 1 48 0;
-#X connect 45 0 46 0;
-#X connect 46 0 31 1;
-#X connect 47 0 33 0;
-#X connect 47 1 50 0;
-#X connect 48 0 33 0;
-#X connect 48 1 49 0;
-#X connect 49 0 45 0;
-#X connect 50 0 45 0;
-#X connect 51 0 2 0;
-#X connect 51 1 52 0;
-#X connect 51 2 25 0;
-#X connect 52 0 55 0;
-#X connect 53 0 58 0;
-#X connect 54 0 53 0;
-#X connect 55 0 54 0;
-#X connect 56 0 25 0;
-#X connect 56 1 2 0;
-#X connect 57 0 21 0;
-#X connect 57 1 14 0;
-#X connect 58 0 59 0;
-#X connect 59 0 56 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;
diff --git a/sfIndexer-help.pd b/sfIndexer-help.pd
index 0ea7a5b..9665e00 100644
--- a/sfIndexer-help.pd
+++ b/sfIndexer-help.pd
@@ -1,21 +1,20 @@
-#N canvas 250 98 775 629 10;
-#X obj 14 134 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+#N canvas 171 36 775 629 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 63 285 0;
-#X msg 96 285 1;
-#X msg 130 286 2;
-#X obj 61 253 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X text 84 252 bang: outputs the last loaded soundfile;
-#X text 166 282 float: outputs the previously loaded soundfile at that
+#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
index;
#X obj 90 401 cyclone/prepend set;
#X obj 29 452 cyclone/prepend set;
#X obj 203 326 cyclone/prepend set;
-#X text 214 398 Outlet 2: samplerate length channels;
#X text 326 327 Outlet 3: index soundfile;
#X text 152 448 Outlet 1: tables (one table per channel);
#X text 13 28 tags: tables file~;
@@ -24,12 +23,11 @@ index;
#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 156 openpanel;
-#X msg 14 181 add \$1;
-#X obj 41 209 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+#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
-1;
-#X obj 41 228 openpanel;
-#X text 62 177 "add" soundfile: adds the indicated soundfile;
+#X obj 38 210 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
@@ -41,29 +39,38 @@ of loaded soundfiles.;
#X obj 513 66 mtl/param-enabled-help;
#X text 415 31 The list of loaded soundfiles can be saved and restored
through the param system.;
-#X msg 90 420;
-#X msg 29 472;
-#X msg 203 346;
+#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 67 205 "symbol": add the soundfile and output its data.;
-#X connect 0 0 20 0;
-#X connect 2 0 27 0;
-#X connect 4 0 19 0;
-#X connect 5 0 19 0;
-#X connect 6 0 19 0;
-#X connect 7 0 19 0;
-#X connect 10 0 32 0;
-#X connect 11 0 33 0;
-#X connect 12 0 34 0;
-#X connect 17 0 35 0;
-#X connect 18 0 35 1;
-#X connect 19 0 2 0;
-#X connect 19 0 11 0;
-#X connect 19 1 10 0;
-#X connect 19 2 12 0;
-#X connect 20 0 21 0;
-#X connect 21 0 19 0;
-#X connect 22 0 23 0;
-#X connect 23 0 19 0;
-#X connect 27 0 3 0;
-#X connect 27 0 3 1;
+#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
+outputing its data.;
+#X text 155 221 Open internal openpanel.;
+#X msg 104 507 1;
+#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 30 0;
+#X connect 11 0 31 0;
+#X connect 12 0 32 0;
+#X connect 16 0 33 0;
+#X connect 17 0 33 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 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 35 0 18 0;
+#X connect 39 0 25 1;
diff --git a/sfIndexer.pd b/sfIndexer.pd
index 09f6d33..c1a5cdb 100644
--- a/sfIndexer.pd
+++ b/sfIndexer.pd
@@ -177,7 +177,7 @@
#X obj 432 558 outlet index;
#X obj 154 555 outlet tables;
#X obj 308 557 outlet info;
-#N canvas 0 0 1018 692 output_data 0;
+#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;
@@ -198,6 +198,7 @@
#X obj 280 201 pack f s;
#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;
@@ -212,7 +213,7 @@
#X connect 11 1 10 1;
#X connect 12 0 13 0;
#X connect 12 1 6 0;
-#X connect 12 2 4 0;
+#X connect 12 2 20 0;
#X connect 13 0 3 0;
#X connect 14 0 0 0;
#X connect 15 0 16 0;
@@ -221,13 +222,13 @@
#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 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 171 76 route add float bang symbol;
#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;
@@ -235,11 +236,13 @@
#X msg 265 319 0;
#X msg 165 308 1;
#X obj 648 241 tof/param id;
-#X connect 0 0 18 0;
-#X connect 2 0 21 0;
+#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 connect 2 1 4 0;
#X connect 2 2 8 0;
-#X connect 3 0 21 0;
+#X connect 3 0 20 0;
#X connect 4 0 16 0;
#X connect 4 1 2 2;
#X connect 5 0 6 0;
@@ -251,22 +254,24 @@
#X connect 13 0 2 0;
#X connect 14 0 2 2;
#X connect 14 1 5 0;
-#X connect 14 2 24 0;
+#X connect 14 2 23 0;
#X connect 15 0 2 1;
#X connect 16 0 3 0;
#X connect 16 1 17 0;
#X connect 17 0 15 1;
-#X connect 18 0 20 0;
-#X connect 18 1 2 1;
-#X connect 18 2 15 0;
-#X connect 18 3 2 0;
-#X connect 18 4 13 0;
-#X connect 19 0 14 0;
-#X connect 20 0 23 0;
-#X connect 20 1 13 0;
-#X connect 20 2 22 0;
-#X connect 21 0 12 0;
-#X connect 22 0 21 1;
-#X connect 23 0 21 1;
-#X connect 24 0 3 1;
-#X connect 24 0 12 1;
+#X connect 18 0 14 0;
+#X connect 19 0 22 0;
+#X connect 19 1 13 0;
+#X connect 19 2 21 0;
+#X connect 20 0 12 0;
+#X connect 21 0 20 1;
+#X connect 22 0 20 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;
diff --git a/smpToBpm-help.pd b/smpToBpm-help.pd
index a7456f6..f8468bd 100644
--- a/smpToBpm-help.pd
+++ b/smpToBpm-help.pd
@@ -8,8 +8,6 @@
#X text 249 269 Frames per beat;
#X obj 22 10 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#X obj 22 180 nbx 10 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
--262144 -1 -1 105992 256;
#X obj 22 44 openpanel;
#X obj 22 99 iemlib/soundfile_info;
#X msg 22 69 read \$1;
@@ -17,25 +15,20 @@
a loop.;
#X text 41 7 <- Load a prepared loop.;
#X text 17 -27 tags: conversion musical;
-#X msg 22 152 \$3;
-#X text 51 153 <- The number of samples;
-#X obj 22 125 t l l;
-#X text 262 140 <- samplerate (defaults to pd's samplerate);
-#X msg 230 142 \$1;
-#X obj 230 164 nbx 10 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0
-10 -262144 -1 -1 44100 256;
#X text 54 309 Sometimes the outputed bpm and number of beats will
be twice or half the real values.;
+#X msg 22 152 \$3 \$1;
+#X text 70 150 <-samples samplerate;
+#X floatatom 198 180 5 0 0 0 - - -;
+#X text 218 139 By default \, the conversion is done with Pd's samplerate.
+You can override this by sending a list: samples samplerate;
+#X text 238 177 Samples;
#X connect 5 0 1 0;
#X connect 5 1 0 0;
#X connect 5 2 4 0;
-#X connect 7 0 9 0;
-#X connect 8 0 5 0;
-#X connect 9 0 11 0;
-#X connect 10 0 17 0;
-#X connect 11 0 10 0;
-#X connect 15 0 8 0;
-#X connect 17 0 15 0;
-#X connect 17 1 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 5 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 15 0;
+#X connect 10 0 9 0;
+#X connect 15 0 5 0;
+#X connect 17 0 5 0;
diff --git a/smpToBpm.pd b/smpToBpm.pd
index 3abc229..da69296 100644
--- a/smpToBpm.pd
+++ b/smpToBpm.pd
@@ -1,12 +1,10 @@
#N canvas 261 41 715 668 10;
#X obj 43 18 inlet smp;
-#X obj 268 8 inlet samplerate;
#X obj 229 587 outlet beats;
#X obj 78 288 * 120;
-#X obj 367 106 loadbang;
#X obj 367 131 samplerate~;
#X obj 56 541 outlet bpm;
-#N canvas 454 83 891 537 fit 0;
+#N canvas 118 83 891 537 fit 0;
#X obj 45 53 inlet;
#X obj 378 50 inlet;
#X obj 250 228 /;
@@ -102,27 +100,34 @@
#X obj 51 357 t f f;
#X obj 249 460 expr $f2/$f1;
#X obj 452 554 outlet smp_per_beat;
-#X obj 89 90 t f f f;
+#X obj 95 128 t f f f;
#X obj 447 436 expr $f2/$f1;
#X obj 278 520 t f f;
#X obj 220 271 ./smpToMs;
#X obj 134 419 ./bpmToMs;
#X obj 251 484 ./round;
-#X connect 0 0 11 0;
-#X connect 1 0 7 1;
-#X connect 3 0 8 0;
-#X connect 4 0 5 0;
-#X connect 5 0 7 1;
-#X connect 7 0 3 0;
-#X connect 8 0 6 0;
-#X connect 8 1 15 0;
-#X connect 9 0 16 0;
-#X connect 11 0 7 0;
-#X connect 11 1 14 0;
-#X connect 11 2 12 1;
-#X connect 12 0 10 0;
-#X connect 13 0 2 0;
-#X connect 13 1 12 0;
-#X connect 14 0 9 1;
-#X connect 15 0 9 0;
-#X connect 16 0 13 0;
+#X obj 93 57 route float;
+#X obj 110 89 t f b;
+#X obj 194 76 unpack f f;
+#X connect 0 0 15 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 1;
+#X connect 5 0 2 0;
+#X connect 6 0 4 0;
+#X connect 6 1 13 0;
+#X connect 7 0 14 0;
+#X connect 9 0 5 0;
+#X connect 9 1 12 0;
+#X connect 9 2 10 1;
+#X connect 10 0 8 0;
+#X connect 11 0 1 0;
+#X connect 11 1 10 0;
+#X connect 12 0 7 1;
+#X connect 13 0 7 0;
+#X connect 14 0 11 0;
+#X connect 15 0 16 0;
+#X connect 15 1 17 0;
+#X connect 16 0 9 0;
+#X connect 16 1 3 0;
+#X connect 17 0 9 0;
+#X connect 17 1 5 1;
diff --git a/smpToFreq-help.pd b/smpToFreq-help.pd
index 2a96233..40638ea 100644
--- a/smpToFreq-help.pd
+++ b/smpToFreq-help.pd
@@ -1,11 +1,15 @@
-#N canvas 323 275 457 255 12;
+#N canvas 1210 517 657 293 12;
#X floatatom 51 92 5 0 0 0 - - -;
-#X floatatom 51 171 5 0 0 0 - - -;
+#X floatatom 51 201 5 0 0 0 - - -;
#X text 101 89 Number of samples;
-#X text 107 173 Frequency to play samples at normal speed;
+#X text 107 203 Frequency to play samples at normal speed;
#X text 21 10 Description: Converts a number of samples to a frequency.
;
-#X obj 51 127 mtl/smpToFreq;
+#X obj 51 157 mtl/smpToFreq;
#X text 21 30 tags: conversion;
+#X msg 133 119 5000 48000;
+#X text 237 109 By default \, the conversion is done with Pd's samplerate.
+You can override this by sending a list: samples samplerate;
#X connect 0 0 5 0;
#X connect 5 0 1 0;
+#X connect 7 0 5 0;
diff --git a/smpToFreq.pd b/smpToFreq.pd
index ce0306e..e51ce2d 100644
--- a/smpToFreq.pd
+++ b/smpToFreq.pd
@@ -1,15 +1,22 @@
-#N canvas 396 47 546 392 10;
-#X text 282 77 samples to milliseconds conversion;
-#X obj 37 69 inlet;
-#X obj 129 81 loadbang;
-#X obj 132 110 samplerate~;
-#X obj 58 142 /;
-#X obj 53 266 outlet;
-#X obj 65 207 /;
-#X msg 56 171 1 \$1;
-#X connect 1 0 4 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 1;
-#X connect 4 0 7 0;
-#X connect 6 0 5 0;
-#X connect 7 0 6 0;
+#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 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 connect 5 0 4 0;
+#X connect 6 0 5 0;
+#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/smpToMs-help.pd b/smpToMs-help.pd
index 718038b..611fd63 100644
--- a/smpToMs-help.pd
+++ b/smpToMs-help.pd
@@ -1,10 +1,14 @@
-#N canvas 303 224 418 209 10;
+#N canvas 1218 96 830 292 10;
#X text 149 112 samples to milliseconds conversion;
#X floatatom 104 113 5 0 0 0 - - -;
-#X floatatom 104 161 5 0 0 0 - - -;
+#X floatatom 106 211 10 0 0 0 - - -;
#X text 40 20 Description: Converts a number of samples to it's duration
in milliseconds.;
-#X obj 104 134 mtl/smpToMs;
+#X obj 105 164 mtl/smpToMs;
#X text 41 57 tags: conversion;
+#X text 288 138 By default \, the conversion is done with Pd's samplerate.
+You can override this by sending a list: samples samplerate;
+#X msg 154 136 945344 48000;
#X connect 1 0 4 0;
#X connect 4 0 2 0;
+#X connect 7 0 4 0;
diff --git a/smpToMs.pd b/smpToMs.pd
index 6193fc2..f5aab3d 100644
--- a/smpToMs.pd
+++ b/smpToMs.pd
@@ -8,7 +8,9 @@
#X obj 56 148 *;
#X obj 145 198 * 1000;
#X obj 63 60 t f b;
-#X connect 1 0 8 0;
+#X obj 98 23 route float;
+#X obj 162 53 unpack f f;
+#X connect 1 0 9 0;
#X connect 2 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
@@ -16,3 +18,7 @@
#X connect 7 0 6 1;
#X connect 8 0 6 0;
#X connect 8 1 2 0;
+#X connect 9 0 8 0;
+#X connect 9 1 10 0;
+#X connect 10 0 6 0;
+#X connect 10 1 4 0;
diff --git a/smpToTime-help.pd b/smpToTime-help.pd
index 007bb2c..02d504e 100644
--- a/smpToTime-help.pd
+++ b/smpToTime-help.pd
@@ -1,13 +1,17 @@
-#N canvas 551 388 378 243 10;
+#N canvas 1479 104 717 333 10;
#X floatatom 137 102 5 0 0 0 - - -;
-#X obj 137 190 print;
#X obj 137 122 * 1000;
-#X floatatom 137 145 5 0 0 0 - - -;
+#X floatatom 137 145 10 0 0 0 - - -;
#X text 19 13 Description: Converts a number of samples into an easier
representation of it's duration.;
#X obj 137 166 mtl/smpToTime;
#X text 21 49 tags: conversion;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 5 0;
-#X connect 5 0 1 0;
+#X text 235 161 By default \, the conversion is done with Pd's samplerate.
+You can override this by sending a list: samples samplerate;
+#X msg 249 125 96000 48000;
+#X symbolatom 137 201 10 0 0 0 - - -;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 4 0 8 0;
+#X connect 7 0 4 0;
diff --git a/smpToTime.pd b/smpToTime.pd
index 17195e5..1d04de3 100644
--- a/smpToTime.pd
+++ b/smpToTime.pd
@@ -1,6 +1,5 @@
#N canvas 86 384 472 497 10;
-#X obj 125 38 inlet;
-#X obj 129 74 t f b;
+#X obj 68 21 inlet;
#X obj 274 237 / 44100;
#X text 332 240 <- seconds;
#X obj 260 325 t f f;
@@ -16,34 +15,38 @@
#X msg 140 314 symbol \$1s;
#X obj 151 278 mod 60;
#X obj 142 245 / 44100;
-#X obj 359 63 loadbang;
-#X obj 312 25 inlet samplerate;
#X obj 356 89 samplerate~;
#X obj 332 125 f;
#X obj 317 417 zexy/makesymbol %sm%ss;
-#X connect 0 0 1 0;
-#X connect 1 0 13 0;
-#X connect 2 0 4 0;
-#X connect 4 0 6 0;
-#X connect 4 1 7 0;
-#X connect 6 0 8 0;
-#X connect 7 0 8 1;
-#X connect 8 0 21 0;
-#X connect 9 0 10 0;
-#X connect 9 1 11 0;
-#X connect 10 0 5 0;
-#X connect 11 0 16 0;
-#X connect 11 1 2 0;
-#X connect 12 0 11 1;
-#X connect 13 0 9 0;
-#X connect 14 0 5 0;
+#X obj 86 63 route float;
+#X obj 110 85 t f b;
+#X obj 190 56 unpack f f;
+#X connect 0 0 19 0;
+#X connect 1 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 6 0;
+#X connect 5 0 7 0;
+#X connect 6 0 7 1;
+#X connect 7 0 18 0;
+#X connect 8 0 9 0;
+#X connect 8 1 10 0;
+#X connect 9 0 4 0;
+#X connect 10 0 15 0;
+#X connect 10 1 1 0;
+#X connect 11 0 10 1;
+#X connect 12 0 8 0;
+#X connect 13 0 4 0;
+#X connect 14 0 13 0;
#X connect 15 0 14 0;
-#X connect 16 0 15 0;
-#X connect 17 0 19 0;
-#X connect 18 0 20 0;
+#X connect 16 0 17 0;
+#X connect 17 0 1 1;
+#X connect 17 0 8 1;
+#X connect 17 0 11 0;
+#X connect 17 0 15 1;
+#X connect 18 0 4 0;
#X connect 19 0 20 0;
-#X connect 20 0 2 1;
-#X connect 20 0 9 1;
+#X connect 19 1 21 0;
#X connect 20 0 12 0;
-#X connect 20 0 16 1;
-#X connect 21 0 5 0;
+#X connect 20 1 16 0;
+#X connect 21 0 12 0;
+#X connect 21 1 17 0;
diff --git a/tracker4-help.pd b/tracker4-help.pd
index 01d8f5e..65c9518 100644
--- a/tracker4-help.pd
+++ b/tracker4-help.pd
@@ -25,8 +25,8 @@ of patterns of any length.;
0;
#X text 413 143 All patterns can be saved and restored through the
param state saving system.;
-#X obj 103 206 mtl/clk-quantization-help;
-#X text 100 185 Open(click) to read about quantization:;
+#X obj 104 170 mtl/clk-quantization-help;
+#X text 101 149 Open(click) to read about quantization:;
#X text 410 16 mtl/tracker4 requires a clkMaster in the same patch
;
#X floatatom 147 406 5 0 0 1 pattern - -;
@@ -39,6 +39,7 @@ param state saving system.;
#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 connect 0 0 28 0;
#X connect 1 0 28 0;
#X connect 2 0 1 0;
@@ -48,10 +49,11 @@ param state saving system.;
#X connect 9 2 6 0;
#X connect 11 0 25 0;
#X connect 12 0 25 1;
-#X connect 18 0 28 0;
+#X connect 18 0 30 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 28 0 23 0;
#X connect 28 1 24 0;
#X connect 28 2 21 0;
#X connect 28 3 22 0;
+#X connect 30 0 28 0;