aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Barknecht <fbar@users.sourceforge.net>2004-04-23 16:22:42 +0000
committerFrank Barknecht <fbar@users.sourceforge.net>2004-04-23 16:22:42 +0000
commit35994ca3a4ef6a136a16cac63b4f68540d0434e1 (patch)
treee7eb586c20c9f678abed90c474529e2a21c6e8a8
This commit was generated by cvs2svn to compensate for changes in r1630,svn2git-root
which included commits to RCS files with non-trunk default branches. svn path=/trunk/abstractions/rradical/; revision=1631
-rw-r--r--control/OSCprepend-help.pd10
-rw-r--r--control/OSCprepend.pd16
-rw-r--r--control/_multi-metro.pd33
-rw-r--r--control/_radio-commun.pd81
-rw-r--r--control/_slider-commun.pd47
-rw-r--r--control/commun-builder.pd131
-rw-r--r--control/ctlearn.pd114
-rw-r--r--control/data.dat136
-rw-r--r--control/ezdac~.pd37
-rw-r--r--control/gpans~.pd29
-rw-r--r--control/gpan~.pd25
-rw-r--r--control/m.ctlearn.pd74
-rw-r--r--control/modder.pd27
-rw-r--r--control/playlist.dat17
-rw-r--r--control/preseter.pd146
-rw-r--r--control/rrad.ctlearn.pd74
-rw-r--r--control/rrad.edi.pd93
-rw-r--r--control/rrad.metro.pd136
-rw-r--r--control/rrad.mmetr.pd136
-rw-r--r--control/rrad.mono.pd54
-rw-r--r--control/rrad.multi-metro.pd96
-rw-r--r--control/rrad.pattplay.pd714
-rw-r--r--control/rrad.pattseq-help.pd100
-rw-r--r--control/rrad.pattseq-ng.pd1049
-rw-r--r--control/rrad.pattseq.pd1047
-rw-r--r--control/rrad.pattseq.pngbin0 -> 7491 bytes
-rw-r--r--control/rrad.playlist.pd151
-rw-r--r--control/rrad.split~-help.pd41
-rw-r--r--control/rrad.split~.pd215
-rw-r--r--control/rradseq.dat422
-rw-r--r--control/rreq-tester.pd105
-rw-r--r--control/rreq16.pd168
-rw-r--r--control/tester.pd2
-rw-r--r--effects/rrad.adsr.pd202
-rw-r--r--effects/rrad.adsr~.pd202
-rw-r--r--effects/rrad.delay~.pd174
-rw-r--r--effects/rrad.eros~.pd167
-rw-r--r--effects/rrad.filt~.pd233
-rw-r--r--effects/rrad.lop~.pd124
-rw-r--r--effects/rrad.ms.pd176
-rw-r--r--effects/rrad.reverb~.pd93
-rw-r--r--effects/rrad.rev~.pd115
-rw-r--r--effects/rrad.send.pd94
-rw-r--r--effects/tap_reverb.dat38
-rw-r--r--instruments/MA_FM.pd1249
-rw-r--r--instruments/adsr-engine.pd16
-rw-r--r--instruments/analogue-engine.pd25
-rw-r--r--instruments/analogue.pd48
-rw-r--r--instruments/analosc.pd101
-rw-r--r--instruments/d-drumcenter.pd232
-rw-r--r--instruments/example.pd153
-rw-r--r--instruments/madsr.pd70
-rw-r--r--instruments/mafm/MA_FM.pd1249
-rw-r--r--instruments/mafm/dollars.txt152
-rw-r--r--instruments/mafm/mafm.dat80
-rw-r--r--instruments/mafm/tester.pd43
-rw-r--r--instruments/mgadsr.pd83
-rw-r--r--instruments/netcontrol.pd33
-rw-r--r--instruments/polyengines.pd130
-rw-r--r--instruments/rrad.angriff~.pd431
-rw-r--r--instruments/rrad.fluid~.pd150
-rw-r--r--instruments/rrad.minipli-xsample.pd116
-rw-r--r--instruments/rrad.minipli.pd231
-rw-r--r--instruments/rrad.square~.pd105
-rw-r--r--instruments/settings.dat55
-rw-r--r--instruments/speakerboxx.pd193
-rw-r--r--instruments/speakerboxx/ezdac~.pd37
-rw-r--r--instruments/speakerboxx/gpans~.pd29
-rwxr-xr-xinstruments/speakerboxx/ratts.pd_linuxbin0 -> 149922 bytes
-rw-r--r--instruments/speakerboxx/speaker.dat92
-rw-r--r--instruments/speakerboxx/speakerboxx.pd191
-rw-r--r--instruments/speakerboxx/usespeaker.pd99
-rw-r--r--instruments/user.pd130
-rw-r--r--memento/README.txt148
-rw-r--r--memento/careGUI.pd55
-rw-r--r--memento/caretaker.pd41
-rw-r--r--memento/commun.pd18
-rw-r--r--memento/examples/bla.dat1
-rw-r--r--memento/examples/bla.xml21
-rw-r--r--memento/examples/list.dat24
-rw-r--r--memento/examples/listsymbol.pd39
-rw-r--r--memento/examples/mainpatch.pd35
-rw-r--r--memento/examples/memento-unittest.pd48
-rw-r--r--memento/examples/memget.pd7
-rw-r--r--memento/examples/numbers.pd62
-rw-r--r--memento/examples/rradical.pd46
-rw-r--r--memento/examples/settings.dat6
-rw-r--r--memento/examples/tester.pd32
-rw-r--r--memento/netcontrol.pd33
-rw-r--r--memento/originator.pd246
-rw-r--r--memento/rradical.state.pd223
-rw-r--r--memento/tutorial/0-START.pd30
-rw-r--r--memento/tutorial/0-tut.pd17
-rw-r--r--memento/tutorial/1-tut.pd22
-rw-r--r--memento/tutorial/10-tut.pd41
-rw-r--r--memento/tutorial/11-tut.pd25
-rw-r--r--memento/tutorial/12-tut.pd61
-rw-r--r--memento/tutorial/2-tut.pd22
-rw-r--r--memento/tutorial/3-tut.pd30
-rw-r--r--memento/tutorial/4-tut.pd41
-rw-r--r--memento/tutorial/5-tut.pd51
-rw-r--r--memento/tutorial/6-tut.pd39
-rw-r--r--memento/tutorial/7-tut.pd16
-rw-r--r--memento/tutorial/8-tut.pd13
-rw-r--r--memento/tutorial/9-tut.pd20
-rw-r--r--memento/tutorial/MoreStates.dat22
-rw-r--r--memento/tutorial/OSCAbstraction.pd32
-rw-r--r--memento/tutorial/TheStateName.dat6
-rw-r--r--memento/tutorial/anAbstraction.pd29
-rw-r--r--memento/tutorial/miniab.pd18
-rw-r--r--memento/tutorial/neu.dat22
-rw-r--r--memento/tutorial/savedState.dat6
-rw-r--r--memento/tutorial/tutorial.pd15
-rw-r--r--stuff/rotator.pd74
-rw-r--r--tests/README21
-rw-r--r--tests/bla.pd44
-rw-r--r--tests/guiOSC.pd49
-rw-r--r--tests/noguiOSC.pd19
-rw-r--r--tests/rrad-rec.dat296
-rw-r--r--tests/rrad-rec.pd122
-rw-r--r--tpl/rrad.tpl.pd85
-rw-r--r--usecases/angriff-use.pd12
-rw-r--r--usecases/fluid-test.dat928
-rw-r--r--usecases/fluid-test.pd204
-rw-r--r--usecases/hiphopdrum.dat510
-rw-r--r--usecases/hiphopdrum.pd173
-rw-r--r--usecases/loptest.dat102
-rw-r--r--usecases/loptest.pd88
-rw-r--r--usecases/minipli-test.pd39
-rw-r--r--usecases/minipliseq-test.dat1896
-rw-r--r--usecases/minipliseq-test.pd397
-rw-r--r--usecases/numbers.dat144
-rw-r--r--usecases/numbers.pd107
-rw-r--r--usecases/presettester.pd12
-rw-r--r--usecases/readplay.pd33
-rw-r--r--usecases/rrad.mono11
-rw-r--r--usecases/somestuff.dat85
-rw-r--r--usecases/somestuff.pd50
-rw-r--r--usecases/tster.dat151
139 files changed, 19982 insertions, 0 deletions
diff --git a/control/OSCprepend-help.pd b/control/OSCprepend-help.pd
new file mode 100644
index 0000000..0c078b1
--- /dev/null
+++ b/control/OSCprepend-help.pd
@@ -0,0 +1,10 @@
+#N canvas 375 285 450 300 10;
+#X msg 147 92 /osc 1 2 3 4;
+#X obj 148 192 print OSC;
+#X msg 272 128 /anotherPrefix;
+#X msg 245 92 /vol 123;
+#X obj 148 158 OSCprepend /prefix;
+#X connect 0 0 4 0;
+#X connect 2 0 4 1;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
diff --git a/control/OSCprepend.pd b/control/OSCprepend.pd
new file mode 100644
index 0000000..215d450
--- /dev/null
+++ b/control/OSCprepend.pd
@@ -0,0 +1,16 @@
+#N canvas 457 273 505 389 10;
+#X msg 304 166 set \$1%s;
+#X obj 150 83 inlet;
+#X obj 304 86 inlet;
+#X obj 150 283 outlet;
+#X obj 304 117 symbol;
+#X obj 150 205 tosymbol;
+#X obj 150 248 fromsymbol;
+#X obj 150 226 makefilename \$1%s;
+#X connect 0 0 7 0;
+#X connect 1 0 5 0;
+#X connect 2 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 7 0;
+#X connect 6 0 3 0;
+#X connect 7 0 6 0;
diff --git a/control/_multi-metro.pd b/control/_multi-metro.pd
new file mode 100644
index 0000000..df982e4
--- /dev/null
+++ b/control/_multi-metro.pd
@@ -0,0 +1,33 @@
+#N canvas 309 212 673 450 10;
+#X obj 83 76 inlet;
+#X obj 83 312 outlet;
+#X text 111 100 beat;
+#X obj 83 103 int;
+#X obj 83 149 mod \$1;
+#X obj 83 175 select 0;
+#X obj 168 224 makefilename b%d;
+#X obj 168 173 loadbang;
+#X obj 168 197 int \$1;
+#X obj 83 248 pack 0 s;
+#X msg 83 276 \$2 \$1;
+#X obj 124 208 + 1;
+#X obj 218 67 inlet;
+#X obj 120 123 expr 128/$f1;
+#X obj 218 115 * \$1;
+#X obj 83 207 int 0;
+#X connect 0 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 15 0;
+#X connect 6 0 9 1;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 8 0 13 0;
+#X connect 9 0 10 0;
+#X connect 10 0 1 0;
+#X connect 11 0 15 1;
+#X connect 12 0 14 0;
+#X connect 13 0 4 1;
+#X connect 14 0 15 1;
+#X connect 15 0 11 0;
+#X connect 15 0 9 0;
diff --git a/control/_radio-commun.pd b/control/_radio-commun.pd
new file mode 100644
index 0000000..f07f9e7
--- /dev/null
+++ b/control/_radio-commun.pd
@@ -0,0 +1,81 @@
+#N canvas 381 269 537 578 10;
+#X obj 136 102 * -1;
+#X obj 136 81 - 13;
+#X obj 136 143 commun \$1 \$2;
+#X obj 136 53 inlet;
+#X obj 136 220 * -1;
+#X obj 136 240 + 13;
+#X obj 136 279 outlet;
+#X text 30 15 Commun wrapper which inverts a radio button;
+#X obj 425 146 symbol \$1;
+#X obj 425 213 t f;
+#X obj 425 169 symbol2list /n;
+#X obj 425 192 unpack 0;
+#X obj 425 119 loadbang;
+#X obj 342 349 makefilename \$2-n%d;
+#X obj 342 287 - 1;
+#X obj 342 307 mod 32;
+#X obj 342 327 + 1;
+#N canvas 0 0 450 300 later 0;
+#X obj 146 57 r \$2-octave;
+#X obj 146 80 * 12;
+#X obj 254 137 r \$2-octave;
+#X obj 154 137 mod 12;
+#X obj 172 114 t f f;
+#X obj 203 137 / 12;
+#X obj 203 167 select 0;
+#X obj 153 236 spigot;
+#X msg 203 191 1;
+#X msg 284 213 0;
+#X obj 254 190 t b b;
+#X msg 211 237 0;
+#X connect 0 0 1 0;
+#X connect 2 0 6 1;
+#X connect 4 0 3 0;
+#X connect 4 1 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 6 1 10 0;
+#X connect 8 0 7 1;
+#X connect 9 0 7 1;
+#X connect 10 0 11 0;
+#X connect 10 1 9 0;
+#X restore 293 61 pd later;
+#X obj 186 81 s \$0-current;
+#X obj 409 417 r \$0-current;
+#X obj 358 243 f 1;
+#X obj 342 264 +;
+#X obj 393 444 f;
+#X obj 326 95 r \$2-shifter;
+#X msg 328 497 \; \$2 \$3;
+#X obj 328 474 pack s s 0;
+#X obj 303 429 symbol \$1;
+#X obj 326 127 t b f b;
+#X obj 393 387 r \$2-prepare-shift;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 3 0 18 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 8 0 10 0;
+#X connect 9 0 20 1;
+#X connect 10 0 11 0;
+#X connect 11 0 9 0;
+#X connect 12 0 8 0;
+#X connect 13 0 25 1;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 13 0;
+#X connect 19 0 22 1;
+#X connect 20 0 21 1;
+#X connect 21 0 14 0;
+#X connect 22 0 25 2;
+#X connect 23 0 27 0;
+#X connect 25 0 24 0;
+#X connect 26 0 25 0;
+#X connect 27 0 26 0;
+#X connect 27 1 21 0;
+#X connect 27 2 20 0;
+#X connect 28 0 22 0;
diff --git a/control/_slider-commun.pd b/control/_slider-commun.pd
new file mode 100644
index 0000000..78ef62b
--- /dev/null
+++ b/control/_slider-commun.pd
@@ -0,0 +1,47 @@
+#N canvas 563 234 607 600 10;
+#X obj 425 146 symbol \$1;
+#X obj 425 213 t f;
+#X obj 425 192 unpack 0;
+#X obj 425 119 loadbang;
+#X obj 342 287 - 1;
+#X obj 342 307 mod 32;
+#X obj 342 327 + 1;
+#X obj 409 417 r \$0-current;
+#X obj 358 243 f 1;
+#X obj 342 264 +;
+#X obj 393 444 f;
+#X obj 307 187 r \$2-shifter;
+#X msg 328 497 \; \$2 \$3;
+#X obj 328 474 pack s s 0;
+#X obj 303 429 symbol \$1;
+#X obj 307 219 t b f b;
+#X obj 393 387 r \$2-prepare-shift;
+#X obj 43 44 inlet;
+#X obj 51 175 outlet;
+#X obj 342 349 makefilename \$2-s%d;
+#X obj 425 169 symbol2list /s;
+#X obj 48 120 commun \$1 \$2;
+#X obj 103 60 s \$0-current;
+#X connect 0 0 20 0;
+#X connect 1 0 8 1;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 19 0;
+#X connect 7 0 10 1;
+#X connect 8 0 9 1;
+#X connect 9 0 4 0;
+#X connect 10 0 13 2;
+#X connect 11 0 15 0;
+#X connect 13 0 12 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 0;
+#X connect 15 1 9 0;
+#X connect 15 2 8 0;
+#X connect 16 0 10 0;
+#X connect 17 0 21 0;
+#X connect 17 0 22 0;
+#X connect 19 0 13 1;
+#X connect 20 0 2 0;
+#X connect 21 0 18 0;
diff --git a/control/commun-builder.pd b/control/commun-builder.pd
new file mode 100644
index 0000000..821004d
--- /dev/null
+++ b/control/commun-builder.pd
@@ -0,0 +1,131 @@
+#N canvas 355 231 703 585 10;
+#X floatatom 33 127 5 0 0 0 - - -;
+#N canvas 0 0 690 678 cm 0;
+#X obj 0 0 commun /s0 dollar0;
+#X obj 250 0 s dollar0-s0;
+#X obj 150 0 r dollar0-s0;
+#X obj 0 22 commun /s1 dollar0;
+#X obj 250 22 s dollar0-s1;
+#X obj 150 22 r dollar0-s1;
+#X obj 0 44 commun /s2 dollar0;
+#X obj 250 44 s dollar0-s2;
+#X obj 150 44 r dollar0-s2;
+#X obj 0 66 commun /s3 dollar0;
+#X obj 250 66 s dollar0-s3;
+#X obj 150 66 r dollar0-s3;
+#X obj 0 88 commun /s4 dollar0;
+#X obj 250 88 s dollar0-s4;
+#X obj 150 88 r dollar0-s4;
+#X obj 0 110 commun /s5 dollar0;
+#X obj 250 110 s dollar0-s5;
+#X obj 150 110 r dollar0-s5;
+#X obj 0 132 commun /s6 dollar0;
+#X obj 250 132 s dollar0-s6;
+#X obj 150 132 r dollar0-s6;
+#X obj 0 154 commun /s7 dollar0;
+#X obj 250 154 s dollar0-s7;
+#X obj 150 154 r dollar0-s7;
+#X obj 0 176 commun /s8 dollar0;
+#X obj 250 176 s dollar0-s8;
+#X obj 150 176 r dollar0-s8;
+#X obj 0 198 commun /s9 dollar0;
+#X obj 250 198 s dollar0-s9;
+#X obj 150 198 r dollar0-s9;
+#X obj 0 220 commun /s10 dollar0;
+#X obj 250 220 s dollar0-s10;
+#X obj 150 220 r dollar0-s10;
+#X obj 0 242 commun /s11 dollar0;
+#X obj 250 242 s dollar0-s11;
+#X obj 150 242 r dollar0-s11;
+#X obj 0 264 commun /s12 dollar0;
+#X obj 250 264 s dollar0-s12;
+#X obj 150 264 r dollar0-s12;
+#X obj 0 286 commun /s13 dollar0;
+#X obj 250 286 s dollar0-s13;
+#X obj 150 286 r dollar0-s13;
+#X obj 0 308 commun /s14 dollar0;
+#X obj 250 308 s dollar0-s14;
+#X obj 150 308 r dollar0-s14;
+#X obj 0 330 commun /s15 dollar0;
+#X obj 250 330 s dollar0-s15;
+#X obj 150 330 r dollar0-s15;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 0;
+#X connect 6 0 7 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 11 0 9 0;
+#X connect 12 0 13 0;
+#X connect 14 0 12 0;
+#X connect 15 0 16 0;
+#X connect 17 0 15 0;
+#X connect 18 0 19 0;
+#X connect 20 0 18 0;
+#X connect 21 0 22 0;
+#X connect 23 0 21 0;
+#X connect 24 0 25 0;
+#X connect 26 0 24 0;
+#X connect 27 0 28 0;
+#X connect 29 0 27 0;
+#X connect 30 0 31 0;
+#X connect 32 0 30 0;
+#X connect 33 0 34 0;
+#X connect 35 0 33 0;
+#X connect 36 0 37 0;
+#X connect 38 0 36 0;
+#X connect 39 0 40 0;
+#X connect 41 0 39 0;
+#X connect 42 0 43 0;
+#X connect 44 0 42 0;
+#X connect 45 0 46 0;
+#X connect 47 0 45 0;
+#X restore 461 68 pd cm;
+#X obj 62 201 makefilename /s%d;
+#X msg 156 110 \; pd-cm clear;
+#X obj 22 76 until;
+#X obj 36 105 f;
+#X obj 67 107 + 1;
+#X obj 67 51 t f b b;
+#X msg 99 74 -1;
+#X obj 87 131 t f f f f;
+#X obj 76 282 pack s 0 s 0 0 0;
+#X obj 376 226 + 1;
+#X obj 404 226 + 2;
+#X obj 381 200 * 3;
+#X obj 191 201 makefilename dollar0-s%d;
+#X msg 65 314 \; pd-cm obj 0 \$2 commun \$1 dollar0 \; pd-cm obj 250
+\$2 s \$3 \; pd-cm obj 150 \$2 r \$3 \; pd-cm connect \$4 0 \$5 0 \;
+pd-cm connect \$6 0 \$4 0 \;;
+#X text 440 44 communs are built here:;
+#X text 57 427 Replace 'dollar0' with \$0 in a text editor later.;
+#X text 379 172 Connections;
+#X text 273 158 send/receives;
+#X text 78 182 commun id;
+#X obj 135 223 * 22;
+#X text 72 227 y-spacing;
+#X msg 76 26 16;
+#X connect 0 0 9 0;
+#X connect 2 0 10 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 1;
+#X connect 7 0 4 0;
+#X connect 7 1 8 0;
+#X connect 7 2 3 0;
+#X connect 8 0 6 0;
+#X connect 9 0 2 0;
+#X connect 9 1 21 0;
+#X connect 9 2 14 0;
+#X connect 9 3 13 0;
+#X connect 10 0 15 0;
+#X connect 11 0 10 4;
+#X connect 12 0 10 5;
+#X connect 13 0 10 3;
+#X connect 13 0 12 0;
+#X connect 13 0 11 0;
+#X connect 14 0 10 2;
+#X connect 21 0 10 1;
+#X connect 23 0 7 0;
diff --git a/control/ctlearn.pd b/control/ctlearn.pd
new file mode 100644
index 0000000..9bebebc
--- /dev/null
+++ b/control/ctlearn.pd
@@ -0,0 +1,114 @@
+#N canvas 338 121 754 525 10;
+#X obj 157 32 inlet;
+#X obj 318 20 ctlin;
+#X text 360 104 midi channel;
+#X text 299 107 ctl #;
+#X obj 267 485 outlet;
+#X obj 226 271 select -1;
+#X obj 304 270 select -1;
+#X obj 284 197 f;
+#X obj 362 198 f;
+#X obj 189 325 spigot;
+#X msg 226 297 1;
+#X msg 317 349 1;
+#X obj 267 364 spigot;
+#X obj 288 318 t b;
+#X msg 288 339 0;
+#X obj 124 213 ctlin;
+#X obj 156 58 symbol;
+#X obj 300 156 spigot;
+#X obj 378 157 spigot;
+#X obj 214 108 f 1;
+#X obj 254 108 f 0;
+#X obj 156 145 del 3000;
+#X obj 156 84 select learn forget;
+#X obj 220 196 f -1;
+#X obj 425 392 outlet;
+#X obj 444 126 inlet;
+#X msg 425 354 set \$1 \$2;
+#X obj 444 156 unpack 0 0;
+#X obj 425 275 pack 0 0;
+#X obj 431 225 t b f;
+#X obj 156 176 t b;
+#X obj 604 288 f \$2;
+#X obj 604 371 / 127;
+#X obj 604 349 -;
+#X obj 642 265 f \$1;
+#X obj 604 396 s \$0-scale;
+#X obj 671 358 s \$0-offset;
+#X text 574 182 Calculate Range;
+#X obj 604 215 loadbang;
+#X obj 299 419 r \$0-offset;
+#X obj 283 391 r \$0-scale;
+#X obj 267 419 * 1;
+#X obj 267 448 + 0;
+#X obj 671 330 min;
+#X obj 77 363 loadbang;
+#X obj 77 385 f 1;
+#X obj 77 407 s \$0-onoff;
+#X obj 604 242 t b b;
+#X obj 514 357 outlet;
+#X msg 478 321 \$1 \$2;
+#X connect 0 0 16 0;
+#X connect 1 1 17 0;
+#X connect 1 2 18 0;
+#X connect 5 0 10 0;
+#X connect 5 1 13 0;
+#X connect 6 0 11 0;
+#X connect 6 1 13 0;
+#X connect 7 0 5 1;
+#X connect 7 0 28 0;
+#X connect 8 0 6 1;
+#X connect 8 0 29 0;
+#X connect 9 0 12 0;
+#X connect 10 0 9 1;
+#X connect 11 0 12 1;
+#X connect 12 0 41 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 1;
+#X connect 14 0 9 1;
+#X connect 15 0 9 0;
+#X connect 15 1 5 0;
+#X connect 15 2 6 0;
+#X connect 16 0 22 0;
+#X connect 17 0 7 1;
+#X connect 17 0 30 0;
+#X connect 18 0 8 1;
+#X connect 19 0 17 1;
+#X connect 19 0 18 1;
+#X connect 20 0 17 1;
+#X connect 20 0 18 1;
+#X connect 21 0 30 0;
+#X connect 22 0 19 0;
+#X connect 22 0 21 0;
+#X connect 22 1 23 0;
+#X connect 23 0 6 1;
+#X connect 23 0 5 1;
+#X connect 25 0 27 0;
+#X connect 26 0 24 0;
+#X connect 27 0 7 0;
+#X connect 27 1 8 0;
+#X connect 28 0 26 0;
+#X connect 28 0 49 0;
+#X connect 29 0 28 0;
+#X connect 29 1 28 1;
+#X connect 30 0 7 0;
+#X connect 30 0 8 0;
+#X connect 30 0 20 0;
+#X connect 31 0 33 0;
+#X connect 31 0 43 0;
+#X connect 32 0 35 0;
+#X connect 33 0 32 0;
+#X connect 34 0 43 1;
+#X connect 34 0 33 1;
+#X connect 38 0 47 0;
+#X connect 39 0 42 1;
+#X connect 40 0 41 1;
+#X connect 41 0 42 0;
+#X connect 42 0 4 0;
+#X connect 43 0 36 0;
+#X connect 44 0 45 0;
+#X connect 45 0 46 0;
+#X connect 47 0 31 0;
+#X connect 47 1 34 0;
+#X connect 49 0 48 0;
diff --git a/control/data.dat b/control/data.dat
new file mode 100644
index 0000000..f6d02ab
--- /dev/null
+++ b/control/data.dat
@@ -0,0 +1,136 @@
+/bassdrum 0 , /s6 , 0
+/bassdrum 0 , /s4 , 0
+/bassdrum 0 , /s10 , 0
+/bassdrum 0 , /s8 , 0
+/bassdrum 0 , /s2 , 0
+/bassdrum 0 , /s14 , 0
+/bassdrum 0 , /s12 , 0
+/bassdrum 0 , /s15 , 0
+/bassdrum 0 , /s5 , 127
+/bassdrum 0 , /s3 , 0
+/bassdrum 0 , /s9 , 127
+/bassdrum 0 , /s7 , 0
+/bassdrum 0 , /s1 , 127
+/bassdrum 0 , /s13 , 127
+/bassdrum 0 , /s11 , 0
+/bassdrum 0 , /svol , 127
+/bassdrum 0 , /s16 , 0
+/bassdrum 1 , /s6 , 0
+/bassdrum 1 , /s4 , 127
+/bassdrum 1 , /s10 , 127
+/bassdrum 1 , /s8 , 0
+/bassdrum 1 , /s2 , 0
+/bassdrum 1 , /s14 , 0
+/bassdrum 1 , /s12 , 0
+/bassdrum 1 , /s15 , 0
+/bassdrum 1 , /s5 , 0
+/bassdrum 1 , /s3 , 0
+/bassdrum 1 , /s9 , 0
+/bassdrum 1 , /s7 , 127
+/bassdrum 1 , /s1 , 127
+/bassdrum 1 , /s13 , 127
+/bassdrum 1 , /s11 , 0
+/bassdrum 1 , /s16 , 127
+/hihat-learn 0 , /cc , 14 2
+/snare 0 , /s6 , 0
+/snare 0 , /s4 , 0
+/snare 0 , /s10 , 0
+/snare 0 , /s8 , 0
+/snare 0 , /s2 , 0
+/snare 0 , /s14 , 0
+/snare 0 , /s12 , 0
+/snare 0 , /s15 , 0
+/snare 0 , /s5 , 127
+/snare 0 , /s3 , 0
+/snare 0 , /s9 , 127
+/snare 0 , /s7 , 0
+/snare 0 , /s1 , 127
+/snare 0 , /s13 , 127
+/snare 0 , /s11 , 0
+/snare 0 , /svol , 48.381
+/snare 0 , /s16 , 0
+/snare 1 , /s6 , 127
+/snare 1 , /s4 , 0
+/snare 1 , /s10 , 0
+/snare 1 , /s8 , 0
+/snare 1 , /s2 , 0
+/snare 1 , /s14 , 0
+/snare 1 , /s12 , 0
+/snare 1 , /s15 , 0
+/snare 1 , /s5 , 0
+/snare 1 , /s3 , 0
+/snare 1 , /s9 , 0
+/snare 1 , /s7 , 0
+/snare 1 , /s1 , 127
+/snare 1 , /s13 , 0
+/snare 1 , /s11 , 127
+/snare 1 , /svol , 44.3492
+/snare 1 , /s16 , 127
+/hihat 0 , /s6 , 0
+/hihat 0 , /s4 , 0
+/hihat 0 , /s10 , 0
+/hihat 0 , /s8 , 0
+/hihat 0 , /s2 , 0
+/hihat 0 , /s14 , 0
+/hihat 0 , /s12 , 0
+/hihat 0 , /s15 , 127
+/hihat 0 , /s5 , 127
+/hihat 0 , /s3 , 127
+/hihat 0 , /s9 , 127
+/hihat 0 , /s7 , 127
+/hihat 0 , /s1 , 127
+/hihat 0 , /s13 , 127
+/hihat 0 , /s11 , 127
+/hihat 0 , /svol , 40.3175
+/hihat 0 , /s16 , 0
+/hihat 1 , /s6 , 127
+/hihat 1 , /s4 , 84
+/hihat 1 , /s10 , 0
+/hihat 1 , /s8 , 86
+/hihat 1 , /s2 , 0
+/hihat 1 , /s14 , 29.593
+/hihat 1 , /s12 , 47
+/hihat 1 , /s15 , 103.213
+/hihat 1 , /s5 , 0
+/hihat 1 , /s3 , 120.952
+/hihat 1 , /s9 , 44
+/hihat 1 , /s7 , 0
+/hihat 1 , /s1 , 0
+/hihat 1 , /s13 , 68
+/hihat 1 , /s11 , 126
+/hihat 1 , /svol , 38.3016
+/hihat 1 , /s16 , 33.2619
+/clap 0 , /s6 , 127
+/clap 0 , /s4 , 0
+/clap 0 , /s10 , 0
+/clap 0 , /s8 , 0
+/clap 0 , /s2 , 0
+/clap 0 , /s14 , 0
+/clap 0 , /s12 , 0
+/clap 0 , /s15 , 0
+/clap 0 , /s5 , 0
+/clap 0 , /s3 , 0
+/clap 0 , /s9 , 0
+/clap 0 , /s7 , 0
+/clap 0 , /s1 , 127
+/clap 0 , /s13 , 0
+/clap 0 , /s11 , 127
+/clap 0 , /svol , 38.3016
+/clap 0 , /s16 , 127
+/clap 1 , /s6 , 0
+/clap 1 , /s4 , 0
+/clap 1 , /s10 , 127
+/clap 1 , /s8 , 0
+/clap 1 , /s2 , 0
+/clap 1 , /s14 , 0
+/clap 1 , /s12 , 0
+/clap 1 , /s15 , 0
+/clap 1 , /s5 , 0
+/clap 1 , /s3 , 0
+/clap 1 , /s9 , 0
+/clap 1 , /s7 , 102.81
+/clap 1 , /s1 , 0
+/clap 1 , /s13 , 0
+/clap 1 , /s11 , 0
+/clap 1 , /svol , 34.2698
+/clap 1 , /s16 , 0
diff --git a/control/ezdac~.pd b/control/ezdac~.pd
new file mode 100644
index 0000000..9a85ed9
--- /dev/null
+++ b/control/ezdac~.pd
@@ -0,0 +1,37 @@
+#N canvas 304 280 450 300 10;
+#X obj 224 205 dac~;
+#X obj 224 32 inlet~;
+#X obj 259 60 inlet~;
+#X obj 318 69 tgl 16 0 \$0-d \$0-d DSP 0 -6 1728 8 -260818 -123526
+-33289 1 1;
+#X msg 318 93 \; pd dsp \$1;
+#X obj 69 186 hsl 64 16 0 1 0 0 \$0-v \$0-v volume -2 -6 1728 8 -260818
+-123526 -1 0 1;
+#X obj 269 108 r \$0-v;
+#X obj 262 206 outlet~;
+#X obj 166 206 outlet~;
+#X obj 357 28 r pd;
+#X obj 357 52 route dsp;
+#X obj 269 155 line~;
+#X msg 269 132 \$1 10;
+#X obj 259 180 *~;
+#X obj 224 180 *~;
+#X obj 70 119 f \$1;
+#X obj 70 98 loadbang;
+#X obj 70 140 s \$0-v;
+#X connect 1 0 14 0;
+#X connect 2 0 13 0;
+#X connect 3 0 4 0;
+#X connect 6 0 12 0;
+#X connect 9 0 10 0;
+#X connect 10 0 3 0;
+#X connect 11 0 13 1;
+#X connect 11 0 14 1;
+#X connect 12 0 11 0;
+#X connect 13 0 0 1;
+#X connect 13 0 7 0;
+#X connect 14 0 0 0;
+#X connect 14 0 8 0;
+#X connect 15 0 17 0;
+#X connect 16 0 15 0;
+#X coords 0 0 1 1 90 55 1;
diff --git a/control/gpans~.pd b/control/gpans~.pd
new file mode 100644
index 0000000..586a18d
--- /dev/null
+++ b/control/gpans~.pd
@@ -0,0 +1,29 @@
+#N canvas 0 0 450 300 10;
+#X obj 55 118 inlet~;
+#X obj 304 139 inlet~;
+#X obj 303 214 outlet~;
+#X obj 57 205 outlet~;
+#X obj 161 139 expr 1-$f1;
+#X obj 164 115 hsl 64 8 0 1 0 1 empty empty empty -2 -6 0 8 -166441
+-123526 -1 3150 1;
+#X obj 56 179 *~ 0.5;
+#X obj 303 185 *~ 0.5;
+#X msg 161 79 0.5;
+#X obj 365 140 inlet;
+#X obj 420 114 bng 8 250 50 0 empty empty empty 0 -6 0 8 -128992 -262144
+-1;
+#X obj 340 165 sqrt;
+#X obj 93 156 sqrt;
+#X connect 0 0 6 0;
+#X connect 1 0 7 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 5 0 11 0;
+#X connect 6 0 3 0;
+#X connect 7 0 2 0;
+#X connect 8 0 5 0;
+#X connect 9 0 5 0;
+#X connect 10 0 8 0;
+#X connect 11 0 7 1;
+#X connect 12 0 6 1;
+#X coords 0 0 1 1 120 12 1;
diff --git a/control/gpan~.pd b/control/gpan~.pd
new file mode 100644
index 0000000..faa12b2
--- /dev/null
+++ b/control/gpan~.pd
@@ -0,0 +1,25 @@
+#N canvas 0 0 450 300 10;
+#X obj 55 118 inlet~;
+#X obj 304 139 inlet~;
+#X obj 303 186 outlet~;
+#X obj 55 166 outlet~;
+#X obj 161 139 expr 1-$f1;
+#X obj 164 115 hsl 64 8 0 1 0 1 empty empty empty -2 -6 0 8 -166441
+-123526 -1 3150 1;
+#X obj 56 144 *~ 0.5;
+#X obj 303 162 *~ 0.5;
+#X msg 161 79 0.5;
+#X obj 365 140 inlet;
+#X obj 420 114 bng 8 250 50 0 empty empty empty 0 -6 0 8 -128992 -262144
+-1;
+#X connect 0 0 6 0;
+#X connect 1 0 7 0;
+#X connect 4 0 6 1;
+#X connect 5 0 4 0;
+#X connect 5 0 7 1;
+#X connect 6 0 3 0;
+#X connect 7 0 2 0;
+#X connect 8 0 5 0;
+#X connect 9 0 5 0;
+#X connect 10 0 8 0;
+#X coords 0 0 1 1 120 12 1;
diff --git a/control/m.ctlearn.pd b/control/m.ctlearn.pd
new file mode 100644
index 0000000..e0e28a9
--- /dev/null
+++ b/control/m.ctlearn.pd
@@ -0,0 +1,74 @@
+#N canvas 270 300 531 297 10;
+#X obj 150 149 tgl 12 0 \$0-onoff \$0-onoff empty -16 5 1729 7 -26823
+-262131 -1 1 1;
+#X obj 44 150 bng 12 250 50 0 \$0-learn \$0-learn L 4 6 1729 7 -258699
+-241291 -262131;
+#X obj 344 150 cnv 15 20 12 \$0-show1 \$0-show1 13_ 2 6 1729 8 -262144
+-66577 0;
+#X obj 424 150 cnv 15 20 14 \$0-show2 \$0-show2 2_ 2 6 1729 8 -262144
+-66577 0;
+#N canvas 0 0 654 332 innerworkings 0;
+#X obj 69 132 unpack 0 0;
+#X obj 158 131 symbol \$0-show1;
+#X obj 273 129 symbol \$0-show2;
+#X obj 76 160 pack 0 s;
+#X obj 191 163 pack 0 s;
+#X obj 158 45 loadbang;
+#X obj 69 34 inlet;
+#X obj 69 59 route set;
+#X obj 276 85 f 1;
+#X obj 274 105 s \$0-onoff;
+#X msg 76 184 \; \$2 label \$1_;
+#X msg 192 186 \; \$2 label \$1_;
+#X connect 0 0 3 0;
+#X connect 0 1 4 0;
+#X connect 1 0 3 1;
+#X connect 2 0 4 1;
+#X connect 3 0 10 0;
+#X connect 4 0 11 0;
+#X connect 5 0 1 0;
+#X connect 5 0 2 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 0;
+#X connect 8 0 9 0;
+#X restore 366 115 pd innerworkings;
+#X obj 251 217 outlet;
+#X obj 337 214 outlet;
+#X msg 200 39 learn;
+#X obj 251 88 spigot;
+#X obj 288 61 r \$0-onoff;
+#X obj 251 38 ctlearn \$1 \$2;
+#X obj 337 17 inlet;
+#X obj 488 18 inlet;
+#N canvas 0 0 450 300 saves 0;
+#X obj 62 225 originator \$3 \$0;
+#X obj 209 150 s \$0-ctlset-r;
+#X obj 207 106 r \$0-ctlset;
+#X msg 106 155 set;
+#X obj 101 119 inlet;
+#X obj 187 176 inlet;
+#X obj 209 126 commun /cc \$0;
+#X connect 2 0 6 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 1;
+#X connect 6 0 1 0;
+#X restore 438 200 pd saves;
+#X obj 402 87 s \$0-ctlset;
+#X obj 384 19 r \$0-ctlset-r;
+#X obj 256 149 bng 12 250 50 0 empty empty S 4 6 1 7 -262131 -258699
+-258699;
+#X connect 1 0 7 0;
+#X connect 7 0 10 0;
+#X connect 8 0 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 8 0;
+#X connect 10 1 4 0;
+#X connect 10 1 6 0;
+#X connect 10 2 14 0;
+#X connect 11 0 10 1;
+#X connect 12 0 13 1;
+#X connect 15 0 10 1;
+#X connect 16 0 13 0;
+#X coords 0 0 1 1 120 40 1;
diff --git a/control/modder.pd b/control/modder.pd
new file mode 100644
index 0000000..aededa7
--- /dev/null
+++ b/control/modder.pd
@@ -0,0 +1,27 @@
+#N canvas 433 211 608 406 10;
+#X obj 110 98 until;
+#X obj 115 156 counter 1 16;
+#X msg 110 72 16;
+#X obj 54 180 makefilename s%d;
+#X msg 255 187 0;
+#X msg 205 189 127;
+#X obj 220 160 select 1;
+#X obj 239 143 mod 5;
+#X obj 187 59 t b f;
+#X obj 197 351 outlet;
+#X obj 178 34 inlet;
+#X obj 100 255 netcontrol \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 1 0 7 0;
+#X connect 2 0 0 0;
+#X connect 3 0 11 0;
+#X connect 4 0 11 1;
+#X connect 5 0 11 1;
+#X connect 6 0 5 0;
+#X connect 6 1 4 0;
+#X connect 7 0 6 0;
+#X connect 8 0 2 0;
+#X connect 8 1 7 1;
+#X connect 10 0 8 0;
+#X connect 11 0 9 0;
diff --git a/control/playlist.dat b/control/playlist.dat
new file mode 100644
index 0000000..2ca12b0
--- /dev/null
+++ b/control/playlist.dat
@@ -0,0 +1,17 @@
+ , 12 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/13 - Seems 2 Be.mp3
+ , 3 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/04 - Brand New Day.mp3
+ , 13 , /dos/ibm/hdc15/f/mp3/contexterrior/cntxt5/a1-freakin.mp3
+ , 14 , /dos/ibm/hdc15/f/mp3/contexterrior/cntxt5/a2-near.mp3
+ , 15 , /dos/ibm/hdc15/f/mp3/contexterrior/cntxt5/b1-zipper.mp3
+ , 1 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/02 - Stop Dat.mp3
+ , 0 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/01 -Sittin' Here.mp3
+ , 8 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/09 - Round We Go.mp3
+ , 2 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/03 - I Luv U.mp3
+ , 9 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/10 - Jus' A Rascal.mp3
+ , 10 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/11 - Wot U On.mp3
+ , 11 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/12 - Jezebel.mp3
+ , 6 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/07 - Cut 'Em Off.mp3
+ , 7 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/08 - Hold Ya Mouf (Featuring God's Gift).mp3
+ , 16 , /dos/ibm/hdc15/f/mp3/contexterrior/cntxt5/b2-want_your_soul.mp3
+ , 4 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/05 - 2 Far (Featuring Wiley).mp3
+ , 5 , /dos/ibm/hdc15/f/mp3/bt/Dizzee Rascal - Boy in da Corner/06 - Fix Up Look Sharp.mp3
diff --git a/control/preseter.pd b/control/preseter.pd
new file mode 100644
index 0000000..086c028
--- /dev/null
+++ b/control/preseter.pd
@@ -0,0 +1,146 @@
+#N canvas 375 403 142 128 10;
+#X obj 2 18 cnv 15 138 108 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 197 64 select 31;
+#X obj 197 87 spigot;
+#X obj 267 69 r \$0-auto;
+#N canvas 612 130 450 300 counter 0;
+#X obj 167 89 inlet;
+#X obj 167 260 outlet;
+#X obj 167 151 int 0;
+#X obj 215 151 + 1;
+#X obj 186 186 select 7;
+#X msg 186 117 0;
+#X obj 218 129 r \$0-preset-sel;
+#X obj 264 158 r \$0-preset-repeat;
+#X obj 167 212 mod 8;
+#X obj 264 215 + 1;
+#X connect 0 0 2 0;
+#X connect 2 0 8 0;
+#X connect 3 0 2 1;
+#X connect 4 0 5 0;
+#X connect 5 0 2 1;
+#X connect 6 0 3 0;
+#X connect 7 0 4 1;
+#X connect 7 0 9 0;
+#X connect 8 0 1 0;
+#X connect 8 0 4 0;
+#X connect 9 0 8 1;
+#X restore 236 109 pd counter;
+#X obj 96 60 tgl 16 0 \$0-auto \$0-auto-r auto 0 -6 0 8 -262144 -1
+-1 1 1;
+#X obj 10 36 hradio 10 0 0 8 \$0-preset-repeat \$0-preset-repeat preset-repeat
+0 -6 0 8 -233017 -1 -1 1;
+#X obj 10 59 hradio 10 0 0 8 \$0-preset-sel \$0-preset-sel preset-sel
+0 -6 0 8 -225271 -1 -1 1;
+#X obj 9 82 hradio 10 1 0 10 \$0-preset-folder \$0-preset-folder-r
+preset-folder 0 -6 0 8 -261681 -1 -1 0;
+#X obj 236 131 s \$0-preset-sel;
+#X obj 237 158 r \$0-preset-folder;
+#X obj 237 183 * 8;
+#X obj 195 212 + 0;
+#N canvas 586 27 218 188 tempomap 0;
+#X obj 30 11 inlet;
+#X obj 95 164 outlet;
+#X obj 75 13 r \$0-resolution;
+#X obj 30 116 nroute b1 1;
+#X obj 76 71 makefilename b%d;
+#X msg 76 95 \$1;
+#X obj 30 140 unpack s 0;
+#X obj 75 52 expr pow(2 \, $f1);
+#X obj 75 32 int;
+#X obj 141 106 s \$0-res;
+#X connect 0 0 3 0;
+#X connect 2 0 8 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 1;
+#X connect 6 1 1 0;
+#X connect 7 0 4 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X restore 197 24 pd tempomap;
+#X obj 11 105 hsl 28 15 0 5 0 0 \$0-resolution \$0-resolution resol
+-2 -6 0 8 -128992 -143491 -1 2100 1;
+#X obj 45 106 nbx 2 14 -1e+37 1e+37 0 0 empty \$0-res empty 0 -6 0
+8 -195568 -143491 -1 8 256;
+#X obj 195 259 outlet;
+#X msg 195 234 /*/preset \$1;
+#X obj 79 108 nbx 2 12 0 31 0 0 \$0-last \$0-last last 0 -6 0 8 -195568
+-143491 -1 31 256;
+#X obj 285 11 r \$0-last;
+#X obj 197 1 inlet;
+#X obj 198 44 mod 32;
+#X obj 287 35 + 1;
+#X obj 465 31 inlet OSC;
+#N canvas 232 333 981 424 saves 0;
+#X msg 15 103 set;
+#X msg 45 104 substate \$1;
+#X obj 15 78 t b f;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X obj 507 86 r \$0-last;
+#X obj 507 110 commun /last \$0;
+#X obj 507 135 s \$0-last;
+#X obj 508 162 r \$0-preset-repeat;
+#X obj 508 186 commun /preset-repeat \$0;
+#X obj 508 211 s \$0-preset-repeat;
+#X obj 508 308 r \$0-preset-folder;
+#X obj 508 332 commun /preset-folder \$0;
+#X obj 508 356 s \$0-preset-folder-r;
+#X obj 507 237 r \$0-resolution;
+#X obj 507 261 commun /resol \$0;
+#X obj 507 286 s \$0-resolution;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 10 0 11 0;
+#X connect 11 0 3 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 23 0 24 0;
+#X connect 24 0 25 0;
+#X restore 414 56 pd saves;
+#X obj 415 8 r \$0-restore;
+#X obj 97 33 bng 15 250 50 0 \$0-restore \$0-restore restore 0 -6 0
+8 -260818 -1 -1;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 1;
+#X connect 4 0 9 0;
+#X connect 4 0 12 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 1;
+#X connect 12 0 17 0;
+#X connect 13 0 21 0;
+#X connect 17 0 16 0;
+#X connect 19 0 1 1;
+#X connect 19 0 22 0;
+#X connect 20 0 13 0;
+#X connect 21 0 1 0;
+#X connect 22 0 21 1;
+#X connect 23 0 24 1;
+#X connect 25 0 24 0;
+#X coords 0 0 1 1 140 128 1;
diff --git a/control/rrad.ctlearn.pd b/control/rrad.ctlearn.pd
new file mode 100644
index 0000000..e0e28a9
--- /dev/null
+++ b/control/rrad.ctlearn.pd
@@ -0,0 +1,74 @@
+#N canvas 270 300 531 297 10;
+#X obj 150 149 tgl 12 0 \$0-onoff \$0-onoff empty -16 5 1729 7 -26823
+-262131 -1 1 1;
+#X obj 44 150 bng 12 250 50 0 \$0-learn \$0-learn L 4 6 1729 7 -258699
+-241291 -262131;
+#X obj 344 150 cnv 15 20 12 \$0-show1 \$0-show1 13_ 2 6 1729 8 -262144
+-66577 0;
+#X obj 424 150 cnv 15 20 14 \$0-show2 \$0-show2 2_ 2 6 1729 8 -262144
+-66577 0;
+#N canvas 0 0 654 332 innerworkings 0;
+#X obj 69 132 unpack 0 0;
+#X obj 158 131 symbol \$0-show1;
+#X obj 273 129 symbol \$0-show2;
+#X obj 76 160 pack 0 s;
+#X obj 191 163 pack 0 s;
+#X obj 158 45 loadbang;
+#X obj 69 34 inlet;
+#X obj 69 59 route set;
+#X obj 276 85 f 1;
+#X obj 274 105 s \$0-onoff;
+#X msg 76 184 \; \$2 label \$1_;
+#X msg 192 186 \; \$2 label \$1_;
+#X connect 0 0 3 0;
+#X connect 0 1 4 0;
+#X connect 1 0 3 1;
+#X connect 2 0 4 1;
+#X connect 3 0 10 0;
+#X connect 4 0 11 0;
+#X connect 5 0 1 0;
+#X connect 5 0 2 0;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 0;
+#X connect 8 0 9 0;
+#X restore 366 115 pd innerworkings;
+#X obj 251 217 outlet;
+#X obj 337 214 outlet;
+#X msg 200 39 learn;
+#X obj 251 88 spigot;
+#X obj 288 61 r \$0-onoff;
+#X obj 251 38 ctlearn \$1 \$2;
+#X obj 337 17 inlet;
+#X obj 488 18 inlet;
+#N canvas 0 0 450 300 saves 0;
+#X obj 62 225 originator \$3 \$0;
+#X obj 209 150 s \$0-ctlset-r;
+#X obj 207 106 r \$0-ctlset;
+#X msg 106 155 set;
+#X obj 101 119 inlet;
+#X obj 187 176 inlet;
+#X obj 209 126 commun /cc \$0;
+#X connect 2 0 6 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 1;
+#X connect 6 0 1 0;
+#X restore 438 200 pd saves;
+#X obj 402 87 s \$0-ctlset;
+#X obj 384 19 r \$0-ctlset-r;
+#X obj 256 149 bng 12 250 50 0 empty empty S 4 6 1 7 -262131 -258699
+-258699;
+#X connect 1 0 7 0;
+#X connect 7 0 10 0;
+#X connect 8 0 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 8 0;
+#X connect 10 1 4 0;
+#X connect 10 1 6 0;
+#X connect 10 2 14 0;
+#X connect 11 0 10 1;
+#X connect 12 0 13 1;
+#X connect 15 0 10 1;
+#X connect 16 0 13 0;
+#X coords 0 0 1 1 120 40 1;
diff --git a/control/rrad.edi.pd b/control/rrad.edi.pd
new file mode 100644
index 0000000..a36cff0
--- /dev/null
+++ b/control/rrad.edi.pd
@@ -0,0 +1,93 @@
+#N canvas 500 433 98 67 10;
+#X obj 256 0 inlet;
+#X obj 435 0 inlet OSC;
+#N canvas 0 0 981 424 saves 0;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 507 86 r \$0-s1;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X msg 15 91 setsub \$1;
+#X msg 249 184 svdir \$1;
+#X obj 250 139 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 250 163 savepanel;
+#X msg 108 214 svdir /tmp/svdir.dat;
+#X msg 78 241 lddir /tmp/svdir.dat;
+#X obj 152 189 outlet OSC;
+#X obj 507 110 commun /chan \$0;
+#X obj 507 135 s \$0-s1;
+#X obj 643 82 r \$0-which;
+#X obj 643 106 commun /which \$0;
+#X obj 643 131 s \$0-which-r;
+#X connect 0 2 18 0;
+#X connect 1 0 0 1;
+#X connect 2 0 19 0;
+#X connect 3 0 12 0;
+#X connect 4 0 5 0;
+#X connect 5 0 12 0;
+#X connect 5 1 0 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 0;
+#X connect 8 0 9 0;
+#X connect 9 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 15 0;
+#X connect 15 0 13 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 19 0 20 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X restore 373 -1 pd saves;
+#N canvas 569 61 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 298 -1 pd cnv.ctl;
+#X obj 135 169 outlet;
+#X text 186 -1 look! ==>;
+#X obj 373 20 outlet OSC;
+#X obj 120 -7 ctlin;
+#X obj 123 22 pack 0 0 0;
+#X obj 2 21 cnv 15 90 40 empty empty empty 20 12 0 14 -225271 -66577
+0;
+#X symbolatom 47 25 5 0 0 0 which #0-which-r #0-which;
+#X obj 228 29 r \$0-which;
+#X obj 133 145 OSCprepend /RRADICAL;
+#X obj 177 45 r \$0-c;
+#X obj 145 74 nroute 1 1;
+#X msg 145 110 \$2 \$3;
+#X msg 124 50 \$3 \$2 \$1;
+#X floatatom 47 44 5 1 128 0 chan - #0-c;
+#X connect 1 0 2 1;
+#X connect 2 0 6 0;
+#X connect 7 0 8 0;
+#X connect 7 1 8 1;
+#X connect 7 2 8 2;
+#X connect 8 0 16 0;
+#X connect 11 0 12 1;
+#X connect 12 0 4 0;
+#X connect 13 0 14 1;
+#X connect 14 0 15 0;
+#X connect 15 0 12 0;
+#X connect 16 0 14 0;
+#X coords 0 0 1 1 92 60 1;
diff --git a/control/rrad.metro.pd b/control/rrad.metro.pd
new file mode 100644
index 0000000..2199ff1
--- /dev/null
+++ b/control/rrad.metro.pd
@@ -0,0 +1,136 @@
+#N canvas 444 422 103 100 10;
+#N canvas 251 453 894 297 counts 0;
+#X obj 41 112 metro 220;
+#X obj 85 141 + 1;
+#X obj 149 33 expr 60000/$f1;
+#X obj 41 61 r \$0-start;
+#X obj 149 8 r \$0-bpm;
+#X obj 41 260 outlet;
+#X text 104 262 ticks \, prepended by value;
+#X obj 150 87 r \$0-reset;
+#X obj 149 58 / 128;
+#X msg 41 211 b128 \$1;
+#X obj 314 91 _multi-metro 1;
+#X obj 147 190 s \$0-tick;
+#X obj 314 64 r \$0-tick;
+#X obj 314 115 s \$0-out;
+#X obj 66 235 r \$0-out;
+#X obj 420 63 r \$0-tick;
+#X obj 420 114 s \$0-out;
+#X obj 527 62 r \$0-tick;
+#X obj 527 113 s \$0-out;
+#X obj 635 61 r \$0-tick;
+#X obj 635 112 s \$0-out;
+#X obj 314 140 r \$0-tick;
+#X obj 314 191 s \$0-out;
+#X obj 435 137 r \$0-tick;
+#X obj 435 188 s \$0-out;
+#X obj 547 137 r \$0-tick;
+#X obj 547 188 s \$0-out;
+#X obj 524 26 r \$0-reset;
+#X obj 387 210 r \$0-reset;
+#X obj 148 112 * 256;
+#X obj 492 249 originator \$1 \$0;
+#X obj 654 207 r \$0-bpm;
+#X obj 654 230 commun /bpm \$0;
+#X obj 654 251 s \$0-bpm;
+#X obj 601 219 inlet;
+#X obj 278 234 outlet;
+#X msg 258 34 \$1;
+#X obj 41 140 int 0;
+#X obj 420 90 _multi-metro 2;
+#X obj 527 89 _multi-metro 4;
+#X obj 635 88 _multi-metro 8;
+#X obj 314 167 _multi-metro 16;
+#X obj 435 164 _multi-metro 32;
+#X obj 547 163 _multi-metro 64;
+#X obj 488 223 inlet;
+#X obj 765 228 commun /start \$0;
+#X obj 764 205 r \$0-start;
+#X obj 764 249 s \$0-start;
+#X obj 624 271 outlet;
+#X connect 0 0 37 0;
+#X connect 1 0 37 1;
+#X connect 2 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 2 0;
+#X connect 4 0 36 0;
+#X connect 7 0 29 0;
+#X connect 8 0 0 1;
+#X connect 9 0 5 0;
+#X connect 10 0 13 0;
+#X connect 12 0 10 0;
+#X connect 14 0 5 0;
+#X connect 15 0 38 0;
+#X connect 17 0 39 0;
+#X connect 19 0 40 0;
+#X connect 21 0 41 0;
+#X connect 23 0 42 0;
+#X connect 25 0 43 0;
+#X connect 27 0 10 1;
+#X connect 27 0 38 1;
+#X connect 27 0 39 1;
+#X connect 27 0 40 1;
+#X connect 28 0 41 1;
+#X connect 28 0 42 1;
+#X connect 28 0 43 1;
+#X connect 29 0 37 1;
+#X connect 30 2 48 0;
+#X connect 31 0 32 0;
+#X connect 32 0 33 0;
+#X connect 34 0 30 1;
+#X connect 36 0 35 0;
+#X connect 37 0 1 0;
+#X connect 37 0 11 0;
+#X connect 37 0 9 0;
+#X connect 38 0 16 0;
+#X connect 39 0 18 0;
+#X connect 40 0 20 0;
+#X connect 41 0 22 0;
+#X connect 42 0 24 0;
+#X connect 43 0 26 0;
+#X connect 44 0 30 0;
+#X connect 45 0 47 0;
+#X connect 46 0 45 0;
+#X restore 177 43 pd counts;
+#X obj 176 79 outlet;
+#X text 174 63 beatnumber;
+#X obj 2 14 cnv 15 100 85 empty empty da_metro 20 6 0 10 -261689 -66577
+0;
+#X obj 9 68 tgl 24 0 \$0-start \$0-start start -3 -6 0 8 -24198 -1
+-1 1 1;
+#X obj 4 41 nbx 5 14 1 400 0 1 \$0-bpm \$0-bpm bpm 0 -6 0 8 -233017
+-1 -1 120 256;
+#X obj 56 68 bng 24 250 50 0 \$0-reset-bng \$0-reset-bng reset -1 -6
+0 8 -258699 -1 -1;
+#X obj 54 41 nbx 5 14 0 20000 0 0 \$0-reset \$0-reset goto 0 -6 0 8
+-233017 -1 -1 0 256;
+#X msg 126 75 0;
+#X obj 205 22 inlet;
+#X obj 252 26 s \$0-start;
+#X obj 123 53 t b f;
+#X obj 229 85 outlet;
+#X msg 347 20 0;
+#X obj 341 48 s \$0-reset;
+#X obj 162 21 inlet;
+#X obj 0 97 cnv 2 10 2 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 92 97 cnv 2 10 2 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 305 81 outlet;
+#X obj 50 97 cnv 2 10 2 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X connect 0 0 1 0;
+#X connect 0 1 12 0;
+#X connect 0 2 18 0;
+#X connect 6 0 8 0;
+#X connect 6 0 13 0;
+#X connect 7 0 11 0;
+#X connect 8 0 4 0;
+#X connect 8 0 10 0;
+#X connect 9 0 0 1;
+#X connect 11 0 8 0;
+#X connect 11 1 14 0;
+#X connect 13 0 14 0;
+#X connect 15 0 0 0;
+#X coords 0 0 1 1 102 100 1;
diff --git a/control/rrad.mmetr.pd b/control/rrad.mmetr.pd
new file mode 100644
index 0000000..2199ff1
--- /dev/null
+++ b/control/rrad.mmetr.pd
@@ -0,0 +1,136 @@
+#N canvas 444 422 103 100 10;
+#N canvas 251 453 894 297 counts 0;
+#X obj 41 112 metro 220;
+#X obj 85 141 + 1;
+#X obj 149 33 expr 60000/$f1;
+#X obj 41 61 r \$0-start;
+#X obj 149 8 r \$0-bpm;
+#X obj 41 260 outlet;
+#X text 104 262 ticks \, prepended by value;
+#X obj 150 87 r \$0-reset;
+#X obj 149 58 / 128;
+#X msg 41 211 b128 \$1;
+#X obj 314 91 _multi-metro 1;
+#X obj 147 190 s \$0-tick;
+#X obj 314 64 r \$0-tick;
+#X obj 314 115 s \$0-out;
+#X obj 66 235 r \$0-out;
+#X obj 420 63 r \$0-tick;
+#X obj 420 114 s \$0-out;
+#X obj 527 62 r \$0-tick;
+#X obj 527 113 s \$0-out;
+#X obj 635 61 r \$0-tick;
+#X obj 635 112 s \$0-out;
+#X obj 314 140 r \$0-tick;
+#X obj 314 191 s \$0-out;
+#X obj 435 137 r \$0-tick;
+#X obj 435 188 s \$0-out;
+#X obj 547 137 r \$0-tick;
+#X obj 547 188 s \$0-out;
+#X obj 524 26 r \$0-reset;
+#X obj 387 210 r \$0-reset;
+#X obj 148 112 * 256;
+#X obj 492 249 originator \$1 \$0;
+#X obj 654 207 r \$0-bpm;
+#X obj 654 230 commun /bpm \$0;
+#X obj 654 251 s \$0-bpm;
+#X obj 601 219 inlet;
+#X obj 278 234 outlet;
+#X msg 258 34 \$1;
+#X obj 41 140 int 0;
+#X obj 420 90 _multi-metro 2;
+#X obj 527 89 _multi-metro 4;
+#X obj 635 88 _multi-metro 8;
+#X obj 314 167 _multi-metro 16;
+#X obj 435 164 _multi-metro 32;
+#X obj 547 163 _multi-metro 64;
+#X obj 488 223 inlet;
+#X obj 765 228 commun /start \$0;
+#X obj 764 205 r \$0-start;
+#X obj 764 249 s \$0-start;
+#X obj 624 271 outlet;
+#X connect 0 0 37 0;
+#X connect 1 0 37 1;
+#X connect 2 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 2 0;
+#X connect 4 0 36 0;
+#X connect 7 0 29 0;
+#X connect 8 0 0 1;
+#X connect 9 0 5 0;
+#X connect 10 0 13 0;
+#X connect 12 0 10 0;
+#X connect 14 0 5 0;
+#X connect 15 0 38 0;
+#X connect 17 0 39 0;
+#X connect 19 0 40 0;
+#X connect 21 0 41 0;
+#X connect 23 0 42 0;
+#X connect 25 0 43 0;
+#X connect 27 0 10 1;
+#X connect 27 0 38 1;
+#X connect 27 0 39 1;
+#X connect 27 0 40 1;
+#X connect 28 0 41 1;
+#X connect 28 0 42 1;
+#X connect 28 0 43 1;
+#X connect 29 0 37 1;
+#X connect 30 2 48 0;
+#X connect 31 0 32 0;
+#X connect 32 0 33 0;
+#X connect 34 0 30 1;
+#X connect 36 0 35 0;
+#X connect 37 0 1 0;
+#X connect 37 0 11 0;
+#X connect 37 0 9 0;
+#X connect 38 0 16 0;
+#X connect 39 0 18 0;
+#X connect 40 0 20 0;
+#X connect 41 0 22 0;
+#X connect 42 0 24 0;
+#X connect 43 0 26 0;
+#X connect 44 0 30 0;
+#X connect 45 0 47 0;
+#X connect 46 0 45 0;
+#X restore 177 43 pd counts;
+#X obj 176 79 outlet;
+#X text 174 63 beatnumber;
+#X obj 2 14 cnv 15 100 85 empty empty da_metro 20 6 0 10 -261689 -66577
+0;
+#X obj 9 68 tgl 24 0 \$0-start \$0-start start -3 -6 0 8 -24198 -1
+-1 1 1;
+#X obj 4 41 nbx 5 14 1 400 0 1 \$0-bpm \$0-bpm bpm 0 -6 0 8 -233017
+-1 -1 120 256;
+#X obj 56 68 bng 24 250 50 0 \$0-reset-bng \$0-reset-bng reset -1 -6
+0 8 -258699 -1 -1;
+#X obj 54 41 nbx 5 14 0 20000 0 0 \$0-reset \$0-reset goto 0 -6 0 8
+-233017 -1 -1 0 256;
+#X msg 126 75 0;
+#X obj 205 22 inlet;
+#X obj 252 26 s \$0-start;
+#X obj 123 53 t b f;
+#X obj 229 85 outlet;
+#X msg 347 20 0;
+#X obj 341 48 s \$0-reset;
+#X obj 162 21 inlet;
+#X obj 0 97 cnv 2 10 2 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 92 97 cnv 2 10 2 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 305 81 outlet;
+#X obj 50 97 cnv 2 10 2 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X connect 0 0 1 0;
+#X connect 0 1 12 0;
+#X connect 0 2 18 0;
+#X connect 6 0 8 0;
+#X connect 6 0 13 0;
+#X connect 7 0 11 0;
+#X connect 8 0 4 0;
+#X connect 8 0 10 0;
+#X connect 9 0 0 1;
+#X connect 11 0 8 0;
+#X connect 11 1 14 0;
+#X connect 13 0 14 0;
+#X connect 15 0 0 0;
+#X coords 0 0 1 1 102 100 1;
diff --git a/control/rrad.mono.pd b/control/rrad.mono.pd
new file mode 100644
index 0000000..bff4ca4
--- /dev/null
+++ b/control/rrad.mono.pd
@@ -0,0 +1,54 @@
+#N canvas 322 381 874 375 10;
+#X obj 105 43 inlet;
+#X obj 208 58 inlet;
+#X obj 208 83 select 0;
+#X text 442 96 When a noteoff arrives \, we have to do only send it
+along \, if it matches the note we stored. Take care of the first note
+we got.;
+#X obj 113 300 outlet;
+#X obj 233 306 outlet;
+#X obj 107 209 ==;
+#X obj 148 250 select 0 1;
+#X obj 105 180 f;
+#X obj 131 181 f;
+#X text 445 28 When a new note arrives \, we have to send a Zero to
+the velocity outlet together with the last note we got. Immediatly
+following that we need to send the new note with the new velocity and
+store the new note for the next onset.;
+#X text 334 192 Vel = 0: ignore \, unless it matches the stored previous
+note. If match \, send through.;
+#X obj 133 134 f;
+#X obj 66 234 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 92 244 spigot;
+#X obj 72 179 f;
+#X obj 105 69 t f f f b;
+#X obj 247 253 spigot;
+#X text 333 241 Vel > 0: send 0 for stored note \, send new pair.;
+#X obj 185 180 f;
+#X msg 245 176 0;
+#X obj 201 123 t f b b;
+#X obj 184 202 f;
+#X connect 0 0 16 0;
+#X connect 1 0 2 0;
+#X connect 2 1 21 0;
+#X connect 6 0 7 0;
+#X connect 6 0 13 0;
+#X connect 6 0 14 1;
+#X connect 6 0 17 1;
+#X connect 8 0 6 0;
+#X connect 9 0 6 1;
+#X connect 12 0 9 0;
+#X connect 14 0 4 0;
+#X connect 15 0 14 0;
+#X connect 16 0 15 0;
+#X connect 16 1 8 0;
+#X connect 16 2 12 1;
+#X connect 16 2 19 1;
+#X connect 16 3 12 0;
+#X connect 17 0 5 0;
+#X connect 19 0 22 0;
+#X connect 20 0 5 0;
+#X connect 21 1 19 0;
+#X connect 21 2 20 0;
+#X connect 22 0 4 0;
diff --git a/control/rrad.multi-metro.pd b/control/rrad.multi-metro.pd
new file mode 100644
index 0000000..9b703d3
--- /dev/null
+++ b/control/rrad.multi-metro.pd
@@ -0,0 +1,96 @@
+#N canvas 444 422 84 117 10;
+#N canvas 251 453 819 294 counts 0;
+#X obj 41 112 metro 220;
+#X obj 85 141 + 1;
+#X obj 149 33 expr 60000/$f1;
+#X obj 41 61 r \$0-start;
+#X obj 149 8 r \$0-bpm;
+#X obj 41 140 int 1;
+#X obj 41 220 outlet;
+#X text 104 222 ticks \, prepended by value;
+#X obj 150 87 r \$0-reset;
+#X obj 149 58 / 128;
+#X msg 41 171 b128 \$1;
+#X obj 314 91 _multi-metro 1;
+#X obj 136 159 s \$0-tick;
+#X obj 314 64 r \$0-tick;
+#X obj 314 115 s \$0-out;
+#X obj 66 195 r \$0-out;
+#X obj 420 63 r \$0-tick;
+#X obj 420 114 s \$0-out;
+#X obj 527 62 r \$0-tick;
+#X obj 527 113 s \$0-out;
+#X obj 635 61 r \$0-tick;
+#X obj 635 112 s \$0-out;
+#X obj 314 140 r \$0-tick;
+#X obj 314 191 s \$0-out;
+#X obj 435 137 r \$0-tick;
+#X obj 435 188 s \$0-out;
+#X obj 547 137 r \$0-tick;
+#X obj 547 188 s \$0-out;
+#X obj 524 26 r \$0-reset;
+#X obj 387 210 r \$0-reset;
+#X obj 420 90 _multi-metro 2;
+#X obj 527 89 _multi-metro 4;
+#X obj 635 88 _multi-metro 8;
+#X obj 314 167 _multi-metro 16;
+#X obj 435 164 _multi-metro 32;
+#X obj 547 163 _multi-metro 64;
+#X obj 148 112 * 256;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 2 0 9 0;
+#X connect 3 0 0 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 10 0;
+#X connect 5 0 12 0;
+#X connect 8 0 36 0;
+#X connect 9 0 0 1;
+#X connect 10 0 6 0;
+#X connect 11 0 14 0;
+#X connect 13 0 11 0;
+#X connect 15 0 6 0;
+#X connect 16 0 30 0;
+#X connect 18 0 31 0;
+#X connect 20 0 32 0;
+#X connect 22 0 33 0;
+#X connect 24 0 34 0;
+#X connect 26 0 35 0;
+#X connect 28 0 11 1;
+#X connect 28 0 30 1;
+#X connect 28 0 31 1;
+#X connect 28 0 32 1;
+#X connect 29 0 33 1;
+#X connect 29 0 34 1;
+#X connect 29 0 35 1;
+#X connect 30 0 17 0;
+#X connect 31 0 19 0;
+#X connect 32 0 21 0;
+#X connect 33 0 23 0;
+#X connect 34 0 25 0;
+#X connect 35 0 27 0;
+#X connect 36 0 5 1;
+#X restore 144 45 pd counts;
+#X obj 144 87 outlet;
+#X text 141 65 beatnumber;
+#X obj 2 14 cnv 15 80 100 empty empty empty 20 12 0 14 -261689 -66577
+0;
+#X obj 9 58 tgl 24 0 \$0-start \$0-start start -3 -6 1728 8 -24198
+-1 -1 0 1;
+#X obj 15 26 nbx 5 14 0 400 0 0 \$0-bpm \$0-bpm bpm 0 -6 1728 8 -233017
+-1 -1 0 256;
+#X obj 42 58 bng 24 250 50 0 \$0-reset-bng \$0-reset-bng reset -1 -6
+1728 8 -258699 -1 -1;
+#X obj 15 97 nbx 5 14 0 20000 0 0 \$0-reset \$0-reset goto 0 -6 1728
+8 -233017 -1 -1 0 256;
+#X msg 75 51 0;
+#X obj 78 71 t b;
+#X msg 78 92 0;
+#X connect 0 0 1 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 10 0 4 0;
+#X coords 0 0 1 1 80 120 1;
diff --git a/control/rrad.pattplay.pd b/control/rrad.pattplay.pd
new file mode 100644
index 0000000..2051ac0
--- /dev/null
+++ b/control/rrad.pattplay.pd
@@ -0,0 +1,714 @@
+#N canvas 410 115 707 480 10;
+#N canvas 234 129 843 629 settings 0;
+#X obj 308 277 originator \$1 \$0;
+#X obj 415 251 inlet;
+#X obj 295 173 inlet;
+#X obj 295 231 t b f;
+#X msg 325 253 substate \$1;
+#X msg 293 254 set;
+#X obj 21 219 r \$0-svol;
+#X obj 21 268 s \$0-svol;
+#X obj 21 245 commun /svol \$0;
+#X obj 163 120 OSCroute /preset;
+#X obj 163 150 s \$0-preset;
+#X obj 163 96 r \$0-RRADICAL-OSC;
+#X obj 585 16 inlet;
+#X obj 616 147 makefilename /s%d;
+#X obj 456 506 outlet;
+#X obj 616 173 prepend get;
+#X obj 479 363 r \$0-svol;
+#X obj 472 386 * 0.007874;
+#X obj 456 414 * 1;
+#X obj 622 255 r \$0-preset-sel;
+#X obj 622 278 r \$0-preset-folder;
+#X obj 621 300 * 10;
+#X obj 602 339 +;
+#X obj 601 319 t b f;
+#X obj 603 371 s \$0-preset;
+#N canvas 0 0 1242 860 communs-s 0;
+#X obj 250 22 s \$0-s1;
+#X obj 150 22 r \$0-s1;
+#X obj 250 44 s \$0-s2;
+#X obj 150 44 r \$0-s2;
+#X obj 250 66 s \$0-s3;
+#X obj 150 66 r \$0-s3;
+#X obj 250 88 s \$0-s4;
+#X obj 150 88 r \$0-s4;
+#X obj 250 110 s \$0-s5;
+#X obj 150 110 r \$0-s5;
+#X obj 250 132 s \$0-s6;
+#X obj 150 132 r \$0-s6;
+#X obj 250 154 s \$0-s7;
+#X obj 150 154 r \$0-s7;
+#X obj 250 176 s \$0-s8;
+#X obj 150 176 r \$0-s8;
+#X obj 250 198 s \$0-s9;
+#X obj 150 198 r \$0-s9;
+#X obj 250 220 s \$0-s10;
+#X obj 150 220 r \$0-s10;
+#X obj 250 242 s \$0-s11;
+#X obj 150 242 r \$0-s11;
+#X obj 250 264 s \$0-s12;
+#X obj 150 264 r \$0-s12;
+#X obj 250 286 s \$0-s13;
+#X obj 150 286 r \$0-s13;
+#X obj 250 308 s \$0-s14;
+#X obj 150 308 r \$0-s14;
+#X obj 0 330 commun /s15 \$0;
+#X obj 250 330 s \$0-s15;
+#X obj 150 330 r \$0-s15;
+#X obj 0 22 commun /s1 \$0;
+#X obj 0 44 commun /s2 \$0;
+#X obj 0 66 commun /s3 \$0;
+#X obj 0 88 commun /s4 \$0;
+#X obj 0 110 commun /s5 \$0;
+#X obj 0 132 commun /s6 \$0;
+#X obj 0 154 commun /s7 \$0;
+#X obj 0 176 commun /s8 \$0;
+#X obj 0 198 commun /s9 \$0;
+#X obj 0 220 commun /s10 \$0;
+#X obj 0 242 commun /s11 \$0;
+#X obj 0 264 commun /s12 \$0;
+#X obj 0 286 commun /s13 \$0;
+#X obj 0 308 commun /s14 \$0;
+#X obj 253 352 s \$0-s16;
+#X obj 152 352 r \$0-s16;
+#X obj 2 352 commun /s16 \$0;
+#X obj 0 374 commun /s17 \$0;
+#X obj 250 374 s \$0-s17;
+#X obj 150 374 r \$0-s17;
+#X obj 0 396 commun /s18 \$0;
+#X obj 250 396 s \$0-s18;
+#X obj 150 396 r \$0-s18;
+#X obj 0 418 commun /s19 \$0;
+#X obj 250 418 s \$0-s19;
+#X obj 150 418 r \$0-s19;
+#X obj 0 440 commun /s20 \$0;
+#X obj 250 440 s \$0-s20;
+#X obj 150 440 r \$0-s20;
+#X obj 0 462 commun /s21 \$0;
+#X obj 250 462 s \$0-s21;
+#X obj 150 462 r \$0-s21;
+#X obj 0 484 commun /s22 \$0;
+#X obj 250 484 s \$0-s22;
+#X obj 150 484 r \$0-s22;
+#X obj 0 506 commun /s23 \$0;
+#X obj 250 506 s \$0-s23;
+#X obj 150 506 r \$0-s23;
+#X obj 0 528 commun /s24 \$0;
+#X obj 250 528 s \$0-s24;
+#X obj 150 528 r \$0-s24;
+#X obj 0 550 commun /s25 \$0;
+#X obj 250 550 s \$0-s25;
+#X obj 150 550 r \$0-s25;
+#X obj 0 572 commun /s26 \$0;
+#X obj 250 572 s \$0-s26;
+#X obj 150 572 r \$0-s26;
+#X obj 0 594 commun /s27 \$0;
+#X obj 250 594 s \$0-s27;
+#X obj 150 594 r \$0-s27;
+#X obj 0 616 commun /s28 \$0;
+#X obj 250 616 s \$0-s28;
+#X obj 150 616 r \$0-s28;
+#X obj 0 638 commun /s29 \$0;
+#X obj 250 638 s \$0-s29;
+#X obj 150 638 r \$0-s29;
+#X obj 0 660 commun /s30 \$0;
+#X obj 250 660 s \$0-s30;
+#X obj 150 660 r \$0-s30;
+#X obj 0 682 commun /s31 \$0;
+#X obj 250 682 s \$0-s31;
+#X obj 150 682 r \$0-s31;
+#X obj 0 706 commun /s32 \$0;
+#X obj 150 706 r \$0-s32;
+#X obj 250 707 s \$0-s32;
+#X connect 1 0 31 0;
+#X connect 3 0 32 0;
+#X connect 5 0 33 0;
+#X connect 7 0 34 0;
+#X connect 9 0 35 0;
+#X connect 11 0 36 0;
+#X connect 13 0 37 0;
+#X connect 15 0 38 0;
+#X connect 17 0 39 0;
+#X connect 19 0 40 0;
+#X connect 21 0 41 0;
+#X connect 23 0 42 0;
+#X connect 25 0 43 0;
+#X connect 27 0 44 0;
+#X connect 28 0 29 0;
+#X connect 30 0 28 0;
+#X connect 31 0 0 0;
+#X connect 32 0 2 0;
+#X connect 33 0 4 0;
+#X connect 34 0 6 0;
+#X connect 35 0 8 0;
+#X connect 36 0 10 0;
+#X connect 37 0 12 0;
+#X connect 38 0 14 0;
+#X connect 39 0 16 0;
+#X connect 40 0 18 0;
+#X connect 41 0 20 0;
+#X connect 42 0 22 0;
+#X connect 43 0 24 0;
+#X connect 44 0 26 0;
+#X connect 46 0 47 0;
+#X connect 47 0 45 0;
+#X connect 48 0 49 0;
+#X connect 50 0 48 0;
+#X connect 51 0 52 0;
+#X connect 53 0 51 0;
+#X connect 54 0 55 0;
+#X connect 56 0 54 0;
+#X connect 57 0 58 0;
+#X connect 59 0 57 0;
+#X connect 60 0 61 0;
+#X connect 62 0 60 0;
+#X connect 63 0 64 0;
+#X connect 65 0 63 0;
+#X connect 66 0 67 0;
+#X connect 68 0 66 0;
+#X connect 69 0 70 0;
+#X connect 71 0 69 0;
+#X connect 72 0 73 0;
+#X connect 74 0 72 0;
+#X connect 75 0 76 0;
+#X connect 77 0 75 0;
+#X connect 78 0 79 0;
+#X connect 80 0 78 0;
+#X connect 81 0 82 0;
+#X connect 83 0 81 0;
+#X connect 84 0 85 0;
+#X connect 86 0 84 0;
+#X connect 87 0 88 0;
+#X connect 89 0 87 0;
+#X connect 90 0 91 0;
+#X connect 92 0 90 0;
+#X connect 93 0 95 0;
+#X connect 94 0 93 0;
+#X restore 31 34 pd communs-s;
+#N canvas 0 0 1242 860 commun-radios 0;
+#X obj 0 22 _radio-commun /n1 \$0;
+#X obj 281 21 s \$0-n1;
+#X obj 181 21 r \$0-n1;
+#X obj 281 43 s \$0-n2;
+#X obj 181 43 r \$0-n2;
+#X obj 281 65 s \$0-n3;
+#X obj 181 65 r \$0-n3;
+#X obj 281 87 s \$0-n4;
+#X obj 181 87 r \$0-n4;
+#X obj 281 109 s \$0-n5;
+#X obj 181 109 r \$0-n5;
+#X obj 281 131 s \$0-n6;
+#X obj 181 131 r \$0-n6;
+#X obj 281 153 s \$0-n7;
+#X obj 181 153 r \$0-n7;
+#X obj 281 175 s \$0-n8;
+#X obj 181 175 r \$0-n8;
+#X obj 281 197 s \$0-n9;
+#X obj 181 197 r \$0-n9;
+#X obj 281 219 s \$0-n10;
+#X obj 181 219 r \$0-n10;
+#X obj 281 241 s \$0-n11;
+#X obj 181 241 r \$0-n11;
+#X obj 281 263 s \$0-n12;
+#X obj 181 263 r \$0-n12;
+#X obj 281 285 s \$0-n13;
+#X obj 181 285 r \$0-n13;
+#X obj 281 307 s \$0-n14;
+#X obj 181 307 r \$0-n14;
+#X obj 281 329 s \$0-n15;
+#X obj 181 329 r \$0-n15;
+#X obj 281 351 s \$0-n16;
+#X obj 181 351 r \$0-n16;
+#X obj 281 373 s \$0-n17;
+#X obj 181 373 r \$0-n17;
+#X obj 281 395 s \$0-n18;
+#X obj 181 395 r \$0-n18;
+#X obj 281 417 s \$0-n19;
+#X obj 181 417 r \$0-n19;
+#X obj 281 439 s \$0-n20;
+#X obj 181 439 r \$0-n20;
+#X obj 281 461 s \$0-n21;
+#X obj 181 461 r \$0-n21;
+#X obj 281 483 s \$0-n22;
+#X obj 181 483 r \$0-n22;
+#X obj 281 505 s \$0-n23;
+#X obj 181 505 r \$0-n23;
+#X obj 281 527 s \$0-n24;
+#X obj 181 527 r \$0-n24;
+#X obj 281 549 s \$0-n25;
+#X obj 181 549 r \$0-n25;
+#X obj 281 571 s \$0-n26;
+#X obj 181 571 r \$0-n26;
+#X obj 281 593 s \$0-n27;
+#X obj 181 593 r \$0-n27;
+#X obj 281 615 s \$0-n28;
+#X obj 181 615 r \$0-n28;
+#X obj 281 637 s \$0-n29;
+#X obj 181 637 r \$0-n29;
+#X obj 281 659 s \$0-n30;
+#X obj 181 659 r \$0-n30;
+#X obj 281 681 s \$0-n31;
+#X obj 181 681 r \$0-n31;
+#X obj 281 703 s \$0-n32;
+#X obj 181 703 r \$0-n32;
+#X obj 0 44 _radio-commun /n2 \$0;
+#X obj 0 66 _radio-commun /n3 \$0;
+#X obj 0 88 _radio-commun /n4 \$0;
+#X obj 0 110 _radio-commun /n5 \$0;
+#X obj 0 132 _radio-commun /n6 \$0;
+#X obj 0 154 _radio-commun /n7 \$0;
+#X obj 0 176 _radio-commun /n8 \$0;
+#X obj 0 198 _radio-commun /n9 \$0;
+#X obj 0 220 _radio-commun /n10 \$0;
+#X obj 0 242 _radio-commun /n11 \$0;
+#X obj 0 264 _radio-commun /n12 \$0;
+#X obj 0 286 _radio-commun /n13 \$0;
+#X obj 0 308 _radio-commun /n14 \$0;
+#X obj 0 330 _radio-commun /n15 \$0;
+#X obj 0 352 _radio-commun /n16 \$0;
+#X obj 0 374 _radio-commun /n17 \$0;
+#X obj 0 396 _radio-commun /n18 \$0;
+#X obj 0 418 _radio-commun /n19 \$0;
+#X obj 0 440 _radio-commun /n20 \$0;
+#X obj 0 462 _radio-commun /n21 \$0;
+#X obj 0 484 _radio-commun /n22 \$0;
+#X obj 0 506 _radio-commun /n23 \$0;
+#X obj 0 528 _radio-commun /n24 \$0;
+#X obj 0 550 _radio-commun /n25 \$0;
+#X obj 0 572 _radio-commun /n26 \$0;
+#X obj 0 594 _radio-commun /n27 \$0;
+#X obj 0 616 _radio-commun /n28 \$0;
+#X obj 0 638 _radio-commun /n29 \$0;
+#X obj 0 660 _radio-commun /n30 \$0;
+#X obj 0 682 _radio-commun /n31 \$0;
+#X obj 0 704 _radio-commun /n32 \$0;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 4 0 65 0;
+#X connect 6 0 66 0;
+#X connect 8 0 67 0;
+#X connect 10 0 68 0;
+#X connect 12 0 69 0;
+#X connect 14 0 70 0;
+#X connect 16 0 71 0;
+#X connect 18 0 72 0;
+#X connect 20 0 73 0;
+#X connect 22 0 74 0;
+#X connect 24 0 75 0;
+#X connect 26 0 76 0;
+#X connect 28 0 77 0;
+#X connect 30 0 78 0;
+#X connect 32 0 79 0;
+#X connect 34 0 80 0;
+#X connect 36 0 81 0;
+#X connect 38 0 82 0;
+#X connect 40 0 83 0;
+#X connect 42 0 84 0;
+#X connect 44 0 85 0;
+#X connect 46 0 86 0;
+#X connect 48 0 87 0;
+#X connect 50 0 88 0;
+#X connect 52 0 89 0;
+#X connect 54 0 90 0;
+#X connect 56 0 91 0;
+#X connect 58 0 92 0;
+#X connect 60 0 93 0;
+#X connect 62 0 94 0;
+#X connect 64 0 95 0;
+#X connect 65 0 3 0;
+#X connect 66 0 5 0;
+#X connect 67 0 7 0;
+#X connect 68 0 9 0;
+#X connect 69 0 11 0;
+#X connect 70 0 13 0;
+#X connect 71 0 15 0;
+#X connect 72 0 17 0;
+#X connect 73 0 19 0;
+#X connect 74 0 21 0;
+#X connect 75 0 23 0;
+#X connect 76 0 25 0;
+#X connect 77 0 27 0;
+#X connect 78 0 29 0;
+#X connect 79 0 31 0;
+#X connect 80 0 33 0;
+#X connect 81 0 35 0;
+#X connect 82 0 37 0;
+#X connect 83 0 39 0;
+#X connect 84 0 41 0;
+#X connect 85 0 43 0;
+#X connect 86 0 45 0;
+#X connect 87 0 47 0;
+#X connect 88 0 49 0;
+#X connect 89 0 51 0;
+#X connect 90 0 53 0;
+#X connect 91 0 55 0;
+#X connect 92 0 57 0;
+#X connect 93 0 59 0;
+#X connect 94 0 61 0;
+#X connect 95 0 63 0;
+#X restore 29 59 pd commun-radios;
+#X obj 160 374 r \$0-octave;
+#X obj 160 400 commun /oct \$0;
+#X obj 160 424 s \$0-octave;
+#X obj 26 295 r \$0-resolution;
+#X obj 26 344 s \$0-resolution;
+#X obj 26 321 commun /resol \$0;
+#X obj 306 502 outlet;
+#X obj 306 422 + 0;
+#X obj 334 391 r \$0-octave;
+#X obj 334 412 * 12;
+#X text 355 502 Notes;
+#X obj 287 337 OSCroute /n* /s*;
+#X text 501 505 gates;
+#X obj 586 225 prepend get;
+#X obj 586 200 makefilename /n%d;
+#X obj 28 97 r \$0-RRADICAL-OSC;
+#X obj 28 121 OSCroute /bpm;
+#X obj 28 151 s \$0-bpm;
+#X obj 287 359 moses 13;
+#X obj 586 106 t f f;
+#X obj 144 297 r \$0-last;
+#X obj 144 323 commun /last \$0;
+#X obj 144 346 s \$0-last;
+#X obj 673 43 r \$0-last;
+#X obj 476 199 s \$0-show;
+#X obj 652 109 print mod;
+#X obj 192 179 r \$0-copy;
+#X msg 192 200 copy;
+#X obj 195 234 r \$0-paste;
+#X msg 195 255 paste;
+#X obj 673 65 + 1;
+#X obj 585 68 mod 32;
+#X obj 28 397 commun /transp \$0;
+#X obj 28 421 s \$0-transpose;
+#X obj 28 371 r \$0-transpose;
+#X obj 306 474 + 0;
+#X obj 341 441 r \$0-transpose;
+#X obj 476 167 spigot;
+#X obj 694 488 loadbang;
+#X obj 448 141 r \$0-blinkenlights;
+#X msg 694 506 1;
+#X obj 651 527 s \$0-blinkenlights;
+#X obj 27 444 r \$0-resolution;
+#X obj 27 494 s \$0-resolution;
+#X obj 27 470 commun /resol \$0;
+#X obj 49 525 r \$0-shuffle-value;
+#X obj 186 525 r \$0-random-value;
+#X obj 186 578 s \$0-random-value;
+#X obj 49 578 s \$0-shuffle-value;
+#X obj 49 554 commun /s \$0;
+#X obj 186 551 commun /rand \$0;
+#X obj 318 528 r \$0-mute;
+#X obj 318 582 s \$0-mute;
+#X obj 318 554 commun /play \$0;
+#X obj 586 86 + 1;
+#X obj 345 211 r \$0-originator;
+#X obj 164 20 loadbang;
+#X obj 164 46 symbol \$1;
+#X obj 164 68 s \$0-memento-name-r;
+#X obj 322 18 r \$0-memento-name;
+#X msg 322 44 create \$1;
+#X obj 322 69 s \$0-originator;
+#X obj 396 44 print creating;
+#X obj 303 202 f 0;
+#X connect 0 1 38 0;
+#X connect 1 0 0 1;
+#X connect 2 0 3 0;
+#X connect 2 0 90 0;
+#X connect 3 0 5 0;
+#X connect 3 1 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 8 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 11 0 9 0;
+#X connect 12 0 58 0;
+#X connect 13 0 15 0;
+#X connect 15 0 0 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 1;
+#X connect 18 0 14 0;
+#X connect 19 0 22 0;
+#X connect 20 0 21 0;
+#X connect 21 0 23 0;
+#X connect 22 0 24 0;
+#X connect 23 0 22 0;
+#X connect 23 1 22 1;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
+#X connect 30 0 32 0;
+#X connect 32 0 31 0;
+#X connect 34 0 62 0;
+#X connect 35 0 36 0;
+#X connect 36 0 34 1;
+#X connect 38 0 45 0;
+#X connect 38 1 18 0;
+#X connect 40 0 0 0;
+#X connect 41 0 40 0;
+#X connect 42 0 43 0;
+#X connect 43 0 44 0;
+#X connect 45 0 34 0;
+#X connect 46 0 41 0;
+#X connect 46 1 13 0;
+#X connect 47 0 48 0;
+#X connect 48 0 49 0;
+#X connect 50 0 57 0;
+#X connect 53 0 54 0;
+#X connect 54 0 0 0;
+#X connect 55 0 56 0;
+#X connect 56 0 0 0;
+#X connect 57 0 58 1;
+#X connect 58 0 64 0;
+#X connect 58 0 81 0;
+#X connect 59 0 60 0;
+#X connect 61 0 59 0;
+#X connect 62 0 33 0;
+#X connect 63 0 62 1;
+#X connect 64 0 51 0;
+#X connect 65 0 67 0;
+#X connect 66 0 64 1;
+#X connect 67 0 68 0;
+#X connect 69 0 71 0;
+#X connect 71 0 70 0;
+#X connect 72 0 76 0;
+#X connect 73 0 77 0;
+#X connect 76 0 75 0;
+#X connect 77 0 74 0;
+#X connect 78 0 80 0;
+#X connect 80 0 79 0;
+#X connect 81 0 46 0;
+#X connect 82 0 0 0;
+#X connect 83 0 84 0;
+#X connect 84 0 85 0;
+#X connect 86 0 87 0;
+#X connect 87 0 88 0;
+#X connect 87 0 89 0;
+#X connect 90 0 3 0;
+#X restore 306 166 pd settings;
+#X obj 369 73 inlet;
+#X text 314 49 Direct load/save;
+#X obj 276 257 outlet;
+#N canvas 807 628 450 300 stuff 0;
+#X obj 74 170 s \$0-main-cnv;
+#X msg 77 89 vis_size \$1 \$2;
+#X obj 78 60 pack 0 0;
+#X obj 104 35 t b f;
+#X floatatom 76 18 5 0 0 0 - - -;
+#X floatatom 162 21 5 0 0 0 - - -;
+#X obj 75 136 spigot;
+#X obj 104 118 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 182 134 spigot;
+#X obj 218 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 181 168 s \$0-keyboard-cnv;
+#X obj 230 137 spigot;
+#X obj 266 105 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 304 168 s \$0-black-cnv;
+#X obj 304 134 spigot;
+#X obj 338 110 tgl 15 0 empty empty background 0 -6 0 8 -262144 -1
+-1 0 1;
+#X obj 328 155 s \$0-background;
+#X connect 1 0 6 0;
+#X connect 1 0 8 0;
+#X connect 1 0 11 0;
+#X connect 1 0 14 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 13 0;
+#X connect 12 0 11 1;
+#X connect 14 0 16 0;
+#X connect 15 0 14 1;
+#X restore 304 326 pd stuff;
+#N canvas 450 333 801 410 calc 0;
+#X obj 43 41 r \$0-resolution;
+#X obj 65 92 * 2;
+#X obj 38 208 s \$0-resolution-show;
+#X obj 42 66 int;
+#X obj 38 150 makefilename 1/%d;
+#X msg 35 176 label \$1;
+#X obj 72 120 expr pow(2 \, $f1);
+#X connect 0 0 3 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 6 0 4 0;
+#X restore 311 306 pd calc;
+#X obj 264 109 r \$0-preset;
+#N canvas 186 185 450 300 reset 0;
+#X obj 144 16 r \$0-reset;
+#X obj 23 111 until;
+#X obj 22 181 makefilename \$0-s%d;
+#X obj 19 71 t b b;
+#X obj 30 146 f 1;
+#X msg 76 110 1;
+#X obj 62 148 + 1;
+#X msg 20 91 31;
+#X obj 162 182 makefilename \$0-n%d;
+#X msg 163 208 \; \$1 0;
+#X msg 80 211 \; \$1 0;
+#X obj 137 94 s \$0-svol;
+#X msg 131 65 127;
+#X msg 220 64 31;
+#X obj 224 93 s \$0-last;
+#X msg 291 66 0;
+#X obj 295 94 s \$0-transpose;
+#X obj 338 156 loadbang;
+#X msg 335 175 1;
+#X obj 340 203 s \$0-mute;
+#X connect 0 0 3 0;
+#X connect 0 0 13 0;
+#X connect 0 0 15 0;
+#X connect 0 0 18 0;
+#X connect 1 0 4 0;
+#X connect 2 0 10 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 12 0;
+#X connect 4 0 6 0;
+#X connect 4 0 2 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 1;
+#X connect 7 0 1 0;
+#X connect 8 0 9 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 15 0 16 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X restore 305 345 pd reset;
+#X obj 340 259 outlet;
+#X obj 408 94 r \$0-beat;
+#N canvas 586 27 218 188 tempomap 0;
+#X obj 30 11 inlet;
+#X obj 95 164 outlet;
+#X obj 75 13 r \$0-resolution;
+#X obj 30 116 nroute b1 1;
+#X obj 76 71 makefilename b%d;
+#X msg 76 95 \$1;
+#X obj 30 140 unpack s 0;
+#X obj 75 52 expr pow(2 \, $f1);
+#X obj 75 32 int;
+#X connect 0 0 3 0;
+#X connect 2 0 8 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 1;
+#X connect 6 1 1 0;
+#X connect 7 0 4 0;
+#X connect 8 0 7 0;
+#X restore 408 120 pd tempomap;
+#N canvas 45 266 651 594 shuffle 0;
+#X obj 73 107 mod 2;
+#X obj 73 128 select 0 1;
+#X obj 82 315 f;
+#X obj 41 315 f;
+#X obj 55 369 outlet;
+#X obj 260 171 random 10;
+#X obj 260 202 * 0.001;
+#X obj 333 172 * 0.001;
+#X obj 100 226 delay 0;
+#X obj 164 277 delay 0;
+#X obj 155 18 r \$0-shuffle-value;
+#X obj 333 130 r \$0-random-value;
+#X obj 46 67 inlet;
+#X obj 414 176 > 0;
+#X obj 260 225 spigot;
+#X obj 415 210 select 0;
+#X msg 415 233 0;
+#X obj 244 250 + 0;
+#X obj 305 5 r \$0-bpm;
+#X obj 305 29 select 0;
+#X msg 305 51 120;
+#X obj 401 19 r \$0-resolution;
+#X obj 401 40 select 0;
+#X msg 401 62 1;
+#X obj 153 69 clip 0 100;
+#X obj 452 63 int;
+#X obj 305 75 expr 60000/$f1;
+#X obj 452 84 expr 1/pow(2 \, $f1);
+#X obj 479 140 *;
+#X obj 153 96 * 0.01;
+#X obj 228 132 *;
+#X obj 473 108 t b b f;
+#X obj 228 92 f 0;
+#X obj 292 114 t b;
+#X msg 311 365 0;
+#X obj 314 343 t b;
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 1 1 5 0;
+#X connect 1 1 9 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 6 0 14 0;
+#X connect 7 0 6 1;
+#X connect 8 0 3 0;
+#X connect 9 0 2 0;
+#X connect 10 0 24 0;
+#X connect 11 0 7 0;
+#X connect 11 0 13 0;
+#X connect 12 0 0 0;
+#X connect 12 0 2 1;
+#X connect 12 0 3 1;
+#X connect 13 0 14 1;
+#X connect 13 0 15 0;
+#X connect 14 0 17 1;
+#X connect 15 0 16 0;
+#X connect 16 0 17 1;
+#X connect 17 0 9 1;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 19 1 26 0;
+#X connect 20 0 26 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 22 1 25 0;
+#X connect 23 0 31 0;
+#X connect 24 0 29 0;
+#X connect 25 0 27 0;
+#X connect 26 0 28 0;
+#X connect 26 0 33 0;
+#X connect 27 0 31 0;
+#X connect 28 0 30 1;
+#X connect 29 0 30 0;
+#X connect 29 0 32 1;
+#X connect 30 0 17 0;
+#X connect 31 0 32 0;
+#X connect 31 1 28 0;
+#X connect 31 2 28 1;
+#X connect 32 0 30 0;
+#X connect 33 0 32 0;
+#X connect 34 0 9 1;
+#X connect 35 0 34 0;
+#X restore 409 142 pd shuffle;
+#X obj 382 197 r \$0-mute;
+#X obj 276 231 spigot;
+#X obj 345 232 spigot;
+#X obj 33 95 inlet;
+#X obj 34 115 s \$0-beat;
+#X connect 0 0 13 0;
+#X connect 0 1 14 0;
+#X connect 1 0 0 1;
+#X connect 6 0 0 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 11 0 0 2;
+#X connect 12 0 13 1;
+#X connect 12 0 14 1;
+#X connect 13 0 3 0;
+#X connect 14 0 8 0;
+#X connect 15 0 16 0;
diff --git a/control/rrad.pattseq-help.pd b/control/rrad.pattseq-help.pd
new file mode 100644
index 0000000..0273893
--- /dev/null
+++ b/control/rrad.pattseq-help.pd
@@ -0,0 +1,100 @@
+#N canvas 0 0 1242 860 10;
+#X obj 229 3 careGUI;
+#X obj 67 394 t b;
+#X obj 67 427 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 14 227 ezdac~;
+#X obj 106 832 throw~ out;
+#X obj 152 436 select 60;
+#X obj 171 477 angriff snare.txt;
+#X obj 274 832 throw~ out;
+#X obj 3 477 angriff bass.txt;
+#X obj 320 436 select 62;
+#X obj 443 833 throw~ out;
+#X obj 340 478 angriff hihat.txt;
+#X obj 484 460 f 0;
+#X obj 322 458 f 0;
+#X obj 153 456 f 0;
+#X msg 935 75 /test/bpm \$1;
+#X floatatom 939 56 5 0 0 0 - - -;
+#X obj 978 366 netcontrol /* bpm;
+#X obj 978 433 route send;
+#X obj 572 640 s test2;
+#X obj 704 634 s test2-v;
+#X obj 660 434 r test2;
+#X obj 584 436 r test2-v;
+#X obj 976 343 s rrad.mmetr;
+#X obj 112 78 r rrad.mmetr;
+#X obj 568 569 r rrad.mmetr;
+#X obj 33 166 catch~ out;
+#X obj 490 440 select 61;
+#X obj 1073 334 print bpm;
+#X msg 976 192 set;
+#X obj 122 98 rrad.pattseq /test;
+#X obj 571 608 rrad.pattplay /test2;
+#X obj 978 458 s \$0-OSC-bpm;
+#X obj 706 586 r \$0-OSC-bpm;
+#X obj 840 69 r \$0-OSC-bpm;
+#X obj 977 502 netcontrol /test preset;
+#X obj 978 556 route send;
+#X obj 978 581 s \$0-OSC-bpm;
+#X obj 981 657 route send;
+#X obj 981 682 s \$0-OSC-bpm;
+#X obj 980 603 netcontrol /test2 preset;
+#X obj 976 221 rrad.mmetr /m;
+#X obj 230 80 s \$0-restore;
+#X obj 976 169 r \$0-restore;
+#X msg 665 55 set;
+#X obj 665 32 r \$0-restore;
+#X floatatom 677 657 5 0 0 0 - - -;
+#X floatatom 557 660 5 0 0 0 - - -;
+#X obj 556 681 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 877 480 print oscout;
+#X connect 0 0 42 0;
+#X connect 1 0 2 0;
+#X connect 5 0 14 0;
+#X connect 6 0 7 0;
+#X connect 8 0 4 0;
+#X connect 9 0 13 0;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 13 0 6 0;
+#X connect 14 0 8 0;
+#X connect 15 0 30 1;
+#X connect 16 0 15 0;
+#X connect 17 0 18 0;
+#X connect 18 0 32 0;
+#X connect 21 0 27 0;
+#X connect 22 0 12 1;
+#X connect 24 0 30 0;
+#X connect 25 0 31 0;
+#X connect 26 0 3 0;
+#X connect 26 0 3 1;
+#X connect 27 0 12 0;
+#X connect 29 0 41 0;
+#X connect 30 0 1 0;
+#X connect 30 0 27 0;
+#X connect 30 0 5 0;
+#X connect 30 0 9 0;
+#X connect 30 1 12 1;
+#X connect 30 1 13 1;
+#X connect 30 1 14 1;
+#X connect 30 2 49 0;
+#X connect 30 2 31 1;
+#X connect 31 0 19 0;
+#X connect 31 0 47 0;
+#X connect 31 1 20 0;
+#X connect 31 1 46 0;
+#X connect 33 0 31 1;
+#X connect 34 0 30 1;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X connect 38 0 39 0;
+#X connect 40 0 38 0;
+#X connect 41 0 23 0;
+#X connect 41 1 28 0;
+#X connect 41 1 17 1;
+#X connect 43 0 29 0;
+#X connect 45 0 44 0;
+#X connect 47 0 48 0;
diff --git a/control/rrad.pattseq-ng.pd b/control/rrad.pattseq-ng.pd
new file mode 100644
index 0000000..ff1aa60
--- /dev/null
+++ b/control/rrad.pattseq-ng.pd
@@ -0,0 +1,1049 @@
+#N canvas 172 283 822 335 10;
+#X obj 1 16 cnv 15 820 318 empty \$0-background empty 20 12 0 14 -123526
+-262131 0;
+#X obj 2 30 cnv 15 120 205 empty empty patterns 10 8 0 12 -233017 -66577
+0;
+#X obj 125 30 cnv 15 75 205 empty \$0-keyboard-cnv keys 20 10 0 10
+-166441 -66577 0;
+#X obj 2 239 cnv 15 120 60 empty empty shuffle 10 12 0 10 -233017 -66577
+0;
+#X obj 203 30 cnv 15 516 300 empty \$0-main-cnv sequencer 20 8 0 14
+-232237 -66577 0;
+#X obj 208 220 vsl 8 64 0 127 0 0 \$0-s1 \$0-s1 empty 0 -8 0 8 -166441
+-1 -1 6300 1;
+#X obj 223 220 vsl 8 64 0 127 0 0 \$0-s2 \$0-s2 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 240 220 vsl 8 64 0 127 0 0 \$0-s3 \$0-s3 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 256 220 vsl 8 64 0 127 0 0 \$0-s4 \$0-s4 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 272 220 vsl 8 64 0 127 0 0 \$0-s5 \$0-s5 empty 0 -8 0 8 -233017
+-1 -1 6300 1;
+#X obj 289 220 vsl 8 64 0 127 0 0 \$0-s6 \$0-s6 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 305 220 vsl 8 64 0 127 0 0 \$0-s7 \$0-s7 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 320 220 vsl 8 64 0 127 0 0 \$0-s8 \$0-s8 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 862 27 inlet;
+#N canvas 234 129 914 629 settings 0;
+#X obj 415 251 inlet;
+#X obj 295 210 inlet;
+#X obj 295 231 t b f;
+#X msg 325 253 substate \$1;
+#X msg 293 254 set;
+#X obj 30 354 OSCroute /preset;
+#X obj 30 384 s \$0-preset;
+#X obj 30 330 r \$0-RRADICAL-OSC;
+#X obj 585 13 inlet;
+#X obj 616 147 makefilename /s%d;
+#X obj 456 506 outlet;
+#X obj 616 173 prepend get;
+#X obj 479 363 r \$0-svol;
+#X obj 472 386 * 0.007874;
+#X obj 456 414 * 1;
+#X obj 622 255 r \$0-preset-sel;
+#X obj 622 278 r \$0-preset-folder;
+#X obj 602 339 +;
+#X obj 601 319 t b f;
+#X obj 603 371 s \$0-preset;
+#N canvas 0 0 1242 860 communs-s 0;
+#X obj 250 22 s \$0-s1;
+#X obj 150 22 r \$0-s1;
+#X obj 250 44 s \$0-s2;
+#X obj 150 44 r \$0-s2;
+#X obj 250 66 s \$0-s3;
+#X obj 150 66 r \$0-s3;
+#X obj 250 88 s \$0-s4;
+#X obj 150 88 r \$0-s4;
+#X obj 250 110 s \$0-s5;
+#X obj 150 110 r \$0-s5;
+#X obj 250 132 s \$0-s6;
+#X obj 150 132 r \$0-s6;
+#X obj 250 154 s \$0-s7;
+#X obj 150 154 r \$0-s7;
+#X obj 250 176 s \$0-s8;
+#X obj 150 176 r \$0-s8;
+#X obj 250 198 s \$0-s9;
+#X obj 150 198 r \$0-s9;
+#X obj 250 220 s \$0-s10;
+#X obj 150 220 r \$0-s10;
+#X obj 250 242 s \$0-s11;
+#X obj 150 242 r \$0-s11;
+#X obj 250 264 s \$0-s12;
+#X obj 150 264 r \$0-s12;
+#X obj 250 286 s \$0-s13;
+#X obj 150 286 r \$0-s13;
+#X obj 250 308 s \$0-s14;
+#X obj 150 308 r \$0-s14;
+#X obj 0 330 _slider-commun /s15 \$0;
+#X obj 250 330 s \$0-s15;
+#X obj 150 330 r \$0-s15;
+#X obj 0 22 _slider-commun /s1 \$0;
+#X obj 0 44 _slider-commun /s2 \$0;
+#X obj 0 66 _slider-commun /s3 \$0;
+#X obj 0 88 _slider-commun /s4 \$0;
+#X obj 0 110 _slider-commun /s5 \$0;
+#X obj 0 132 _slider-commun /s6 \$0;
+#X obj 0 154 _slider-commun /s7 \$0;
+#X obj 0 176 _slider-commun /s8 \$0;
+#X obj 0 198 _slider-commun /s9 \$0;
+#X obj 0 220 _slider-commun /s10 \$0;
+#X obj 0 242 _slider-commun /s11 \$0;
+#X obj 0 264 _slider-commun /s12 \$0;
+#X obj 0 286 _slider-commun /s13 \$0;
+#X obj 0 308 _slider-commun /s14 \$0;
+#X obj 253 352 s \$0-s16;
+#X obj 152 352 r \$0-s16;
+#X obj 2 352 _slider-commun /s16 \$0;
+#X obj 0 374 _slider-commun /s17 \$0;
+#X obj 250 374 s \$0-s17;
+#X obj 150 374 r \$0-s17;
+#X obj 0 396 _slider-commun /s18 \$0;
+#X obj 250 396 s \$0-s18;
+#X obj 150 396 r \$0-s18;
+#X obj 0 418 _slider-commun /s19 \$0;
+#X obj 250 418 s \$0-s19;
+#X obj 150 418 r \$0-s19;
+#X obj 0 440 _slider-commun /s20 \$0;
+#X obj 250 440 s \$0-s20;
+#X obj 150 440 r \$0-s20;
+#X obj 0 462 _slider-commun /s21 \$0;
+#X obj 250 462 s \$0-s21;
+#X obj 150 462 r \$0-s21;
+#X obj 0 484 _slider-commun /s22 \$0;
+#X obj 250 484 s \$0-s22;
+#X obj 150 484 r \$0-s22;
+#X obj 0 506 _slider-commun /s23 \$0;
+#X obj 250 506 s \$0-s23;
+#X obj 150 506 r \$0-s23;
+#X obj 0 528 _slider-commun /s24 \$0;
+#X obj 250 528 s \$0-s24;
+#X obj 150 528 r \$0-s24;
+#X obj 0 550 _slider-commun /s25 \$0;
+#X obj 250 550 s \$0-s25;
+#X obj 150 550 r \$0-s25;
+#X obj 0 572 _slider-commun /s26 \$0;
+#X obj 250 572 s \$0-s26;
+#X obj 150 572 r \$0-s26;
+#X obj 0 594 _slider-commun /s27 \$0;
+#X obj 250 594 s \$0-s27;
+#X obj 150 594 r \$0-s27;
+#X obj 0 616 _slider-commun /s28 \$0;
+#X obj 250 616 s \$0-s28;
+#X obj 150 616 r \$0-s28;
+#X obj 0 638 _slider-commun /s29 \$0;
+#X obj 250 638 s \$0-s29;
+#X obj 150 638 r \$0-s29;
+#X obj 0 660 _slider-commun /s30 \$0;
+#X obj 250 660 s \$0-s30;
+#X obj 150 660 r \$0-s30;
+#X obj 0 682 _slider-commun /s31 \$0;
+#X obj 250 682 s \$0-s31;
+#X obj 150 682 r \$0-s31;
+#X obj 0 706 _slider-commun /s32 \$0;
+#X obj 150 706 r \$0-s32;
+#X obj 250 707 s \$0-s32;
+#X connect 1 0 31 0;
+#X connect 3 0 32 0;
+#X connect 5 0 33 0;
+#X connect 7 0 34 0;
+#X connect 9 0 35 0;
+#X connect 11 0 36 0;
+#X connect 13 0 37 0;
+#X connect 15 0 38 0;
+#X connect 17 0 39 0;
+#X connect 19 0 40 0;
+#X connect 21 0 41 0;
+#X connect 23 0 42 0;
+#X connect 25 0 43 0;
+#X connect 27 0 44 0;
+#X connect 28 0 29 0;
+#X connect 30 0 28 0;
+#X connect 31 0 0 0;
+#X connect 32 0 2 0;
+#X connect 33 0 4 0;
+#X connect 34 0 6 0;
+#X connect 35 0 8 0;
+#X connect 36 0 10 0;
+#X connect 37 0 12 0;
+#X connect 38 0 14 0;
+#X connect 39 0 16 0;
+#X connect 40 0 18 0;
+#X connect 41 0 20 0;
+#X connect 42 0 22 0;
+#X connect 43 0 24 0;
+#X connect 44 0 26 0;
+#X connect 46 0 47 0;
+#X connect 47 0 45 0;
+#X connect 48 0 49 0;
+#X connect 50 0 48 0;
+#X connect 51 0 52 0;
+#X connect 53 0 51 0;
+#X connect 54 0 55 0;
+#X connect 56 0 54 0;
+#X connect 57 0 58 0;
+#X connect 59 0 57 0;
+#X connect 60 0 61 0;
+#X connect 62 0 60 0;
+#X connect 63 0 64 0;
+#X connect 65 0 63 0;
+#X connect 66 0 67 0;
+#X connect 68 0 66 0;
+#X connect 69 0 70 0;
+#X connect 71 0 69 0;
+#X connect 72 0 73 0;
+#X connect 74 0 72 0;
+#X connect 75 0 76 0;
+#X connect 77 0 75 0;
+#X connect 78 0 79 0;
+#X connect 80 0 78 0;
+#X connect 81 0 82 0;
+#X connect 83 0 81 0;
+#X connect 84 0 85 0;
+#X connect 86 0 84 0;
+#X connect 87 0 88 0;
+#X connect 89 0 87 0;
+#X connect 90 0 91 0;
+#X connect 92 0 90 0;
+#X connect 93 0 95 0;
+#X connect 94 0 93 0;
+#X restore 31 34 pd communs-s;
+#N canvas 526 22 502 872 commun-radios 0;
+#X obj 23 62 _radio-commun /n1 \$0;
+#X obj 304 61 s \$0-n1;
+#X obj 204 61 r \$0-n1;
+#X obj 304 83 s \$0-n2;
+#X obj 204 83 r \$0-n2;
+#X obj 304 105 s \$0-n3;
+#X obj 204 105 r \$0-n3;
+#X obj 304 127 s \$0-n4;
+#X obj 204 127 r \$0-n4;
+#X obj 304 149 s \$0-n5;
+#X obj 204 149 r \$0-n5;
+#X obj 304 171 s \$0-n6;
+#X obj 204 171 r \$0-n6;
+#X obj 304 193 s \$0-n7;
+#X obj 204 193 r \$0-n7;
+#X obj 304 215 s \$0-n8;
+#X obj 204 215 r \$0-n8;
+#X obj 304 237 s \$0-n9;
+#X obj 204 237 r \$0-n9;
+#X obj 304 259 s \$0-n10;
+#X obj 204 259 r \$0-n10;
+#X obj 304 281 s \$0-n11;
+#X obj 204 281 r \$0-n11;
+#X obj 304 303 s \$0-n12;
+#X obj 204 303 r \$0-n12;
+#X obj 304 325 s \$0-n13;
+#X obj 204 325 r \$0-n13;
+#X obj 304 347 s \$0-n14;
+#X obj 204 347 r \$0-n14;
+#X obj 304 369 s \$0-n15;
+#X obj 204 369 r \$0-n15;
+#X obj 304 391 s \$0-n16;
+#X obj 204 391 r \$0-n16;
+#X obj 304 413 s \$0-n17;
+#X obj 204 413 r \$0-n17;
+#X obj 304 435 s \$0-n18;
+#X obj 204 435 r \$0-n18;
+#X obj 304 457 s \$0-n19;
+#X obj 204 457 r \$0-n19;
+#X obj 304 479 s \$0-n20;
+#X obj 204 479 r \$0-n20;
+#X obj 304 501 s \$0-n21;
+#X obj 204 501 r \$0-n21;
+#X obj 304 523 s \$0-n22;
+#X obj 204 523 r \$0-n22;
+#X obj 304 545 s \$0-n23;
+#X obj 204 545 r \$0-n23;
+#X obj 304 567 s \$0-n24;
+#X obj 204 567 r \$0-n24;
+#X obj 304 589 s \$0-n25;
+#X obj 204 589 r \$0-n25;
+#X obj 304 611 s \$0-n26;
+#X obj 204 611 r \$0-n26;
+#X obj 304 633 s \$0-n27;
+#X obj 204 633 r \$0-n27;
+#X obj 304 655 s \$0-n28;
+#X obj 204 655 r \$0-n28;
+#X obj 304 677 s \$0-n29;
+#X obj 204 677 r \$0-n29;
+#X obj 304 699 s \$0-n30;
+#X obj 204 699 r \$0-n30;
+#X obj 304 721 s \$0-n31;
+#X obj 204 721 r \$0-n31;
+#X obj 304 743 s \$0-n32;
+#X obj 204 743 r \$0-n32;
+#X obj 23 84 _radio-commun /n2 \$0;
+#X obj 23 106 _radio-commun /n3 \$0;
+#X obj 23 128 _radio-commun /n4 \$0;
+#X obj 23 150 _radio-commun /n5 \$0;
+#X obj 23 172 _radio-commun /n6 \$0;
+#X obj 23 194 _radio-commun /n7 \$0;
+#X obj 23 216 _radio-commun /n8 \$0;
+#X obj 23 238 _radio-commun /n9 \$0;
+#X obj 23 260 _radio-commun /n10 \$0;
+#X obj 23 282 _radio-commun /n11 \$0;
+#X obj 23 304 _radio-commun /n12 \$0;
+#X obj 23 326 _radio-commun /n13 \$0;
+#X obj 23 348 _radio-commun /n14 \$0;
+#X obj 23 370 _radio-commun /n15 \$0;
+#X obj 23 392 _radio-commun /n16 \$0;
+#X obj 23 414 _radio-commun /n17 \$0;
+#X obj 23 436 _radio-commun /n18 \$0;
+#X obj 23 458 _radio-commun /n19 \$0;
+#X obj 23 480 _radio-commun /n20 \$0;
+#X obj 23 502 _radio-commun /n21 \$0;
+#X obj 23 524 _radio-commun /n22 \$0;
+#X obj 23 546 _radio-commun /n23 \$0;
+#X obj 23 568 _radio-commun /n24 \$0;
+#X obj 23 590 _radio-commun /n25 \$0;
+#X obj 23 612 _radio-commun /n26 \$0;
+#X obj 23 634 _radio-commun /n27 \$0;
+#X obj 23 656 _radio-commun /n28 \$0;
+#X obj 23 678 _radio-commun /n29 \$0;
+#X obj 23 700 _radio-commun /n30 \$0;
+#X obj 23 722 _radio-commun /n31 \$0;
+#X obj 23 744 _radio-commun /n32 \$0;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 4 0 65 0;
+#X connect 6 0 66 0;
+#X connect 8 0 67 0;
+#X connect 10 0 68 0;
+#X connect 12 0 69 0;
+#X connect 14 0 70 0;
+#X connect 16 0 71 0;
+#X connect 18 0 72 0;
+#X connect 20 0 73 0;
+#X connect 22 0 74 0;
+#X connect 24 0 75 0;
+#X connect 26 0 76 0;
+#X connect 28 0 77 0;
+#X connect 30 0 78 0;
+#X connect 32 0 79 0;
+#X connect 34 0 80 0;
+#X connect 36 0 81 0;
+#X connect 38 0 82 0;
+#X connect 40 0 83 0;
+#X connect 42 0 84 0;
+#X connect 44 0 85 0;
+#X connect 46 0 86 0;
+#X connect 48 0 87 0;
+#X connect 50 0 88 0;
+#X connect 52 0 89 0;
+#X connect 54 0 90 0;
+#X connect 56 0 91 0;
+#X connect 58 0 92 0;
+#X connect 60 0 93 0;
+#X connect 62 0 94 0;
+#X connect 64 0 95 0;
+#X connect 65 0 3 0;
+#X connect 66 0 5 0;
+#X connect 67 0 7 0;
+#X connect 68 0 9 0;
+#X connect 69 0 11 0;
+#X connect 70 0 13 0;
+#X connect 71 0 15 0;
+#X connect 72 0 17 0;
+#X connect 73 0 19 0;
+#X connect 74 0 21 0;
+#X connect 75 0 23 0;
+#X connect 76 0 25 0;
+#X connect 77 0 27 0;
+#X connect 78 0 29 0;
+#X connect 79 0 31 0;
+#X connect 80 0 33 0;
+#X connect 81 0 35 0;
+#X connect 82 0 37 0;
+#X connect 83 0 39 0;
+#X connect 84 0 41 0;
+#X connect 85 0 43 0;
+#X connect 86 0 45 0;
+#X connect 87 0 47 0;
+#X connect 88 0 49 0;
+#X connect 89 0 51 0;
+#X connect 90 0 53 0;
+#X connect 91 0 55 0;
+#X connect 92 0 57 0;
+#X connect 93 0 59 0;
+#X connect 94 0 61 0;
+#X connect 95 0 63 0;
+#X restore 29 59 pd commun-radios;
+#X obj 306 527 outlet;
+#X obj 306 422 + 0;
+#X obj 334 391 r \$0-octave;
+#X obj 334 412 * 12;
+#X text 355 527 Notes;
+#X obj 287 337 OSCroute /n* /s*;
+#X text 501 505 gates;
+#X obj 586 225 prepend get;
+#X obj 586 200 makefilename /n%d;
+#X obj 29 261 r \$0-RRADICAL-OSC;
+#X obj 29 285 OSCroute /bpm;
+#X obj 29 304 s \$0-bpm;
+#X obj 287 359 moses 13;
+#X obj 586 121 t f f;
+#X obj 629 13 r \$0-last;
+#X obj 476 199 s \$0-show;
+#X obj 733 29 print mod;
+#X obj 192 179 r \$0-copy;
+#X msg 192 200 copy;
+#X obj 195 234 r \$0-paste;
+#X msg 195 255 paste;
+#X obj 629 35 + 1;
+#X obj 585 52 mod 32;
+#X obj 306 474 + 0;
+#X obj 341 441 r \$0-transpose;
+#X obj 476 167 spigot;
+#X obj 561 405 loadbang;
+#X obj 448 141 r \$0-blinkenlights;
+#X msg 561 423 1;
+#X obj 561 449 s \$0-blinkenlights;
+#X obj 586 101 + 1;
+#X obj 345 211 r \$0-originator;
+#X obj 164 20 loadbang;
+#X obj 164 46 symbol \$1;
+#X obj 164 68 s \$0-memento-name-r;
+#X obj 334 39 r \$0-memento-name;
+#X msg 377 76 create \$1;
+#X obj 330 107 s \$0-originator;
+#X msg 334 76 set;
+#X obj 335 56 t b s;
+#X obj 634 606 outlet;
+#X obj 584 510 r \$0-preset;
+#X obj 668 549 symbol \$1;
+#X obj 731 511 r \$0-memento-name;
+#X obj 600 567 pack 0 s;
+#X obj 668 511 loadbang;
+#X msg 617 586 \$2/preset \$1;
+#X obj 626 536 t b s;
+#X obj 168 89 r \$0-RRADICAL-OSC;
+#X obj 168 111 OSCroute /name;
+#X obj 175 148 s \$0-memento-name-r;
+#X obj 180 130 symbol;
+#X text 416 606 Notify outlet for pattplay-ers;
+#X obj 568 548 f 0;
+#X obj 553 482 r \$0-notify;
+#N canvas 0 0 675 583 morecommuns 0;
+#X obj 133 33 r \$0-svol;
+#X obj 133 82 s \$0-svol;
+#X obj 133 59 _slider-commun /svol \$0;
+#X obj 272 188 r \$0-octave;
+#X obj 272 214 commun /oct \$0;
+#X obj 272 238 s \$0-octave;
+#X obj 138 109 r \$0-resolution;
+#X obj 138 158 s \$0-resolution;
+#X obj 138 135 commun /resol \$0;
+#X obj 256 111 r \$0-last;
+#X obj 256 137 commun /last \$0;
+#X obj 256 160 s \$0-last;
+#X obj 140 211 commun /transp \$0;
+#X obj 140 235 s \$0-transpose;
+#X obj 140 185 r \$0-transpose;
+#X obj 139 258 r \$0-resolution;
+#X obj 139 308 s \$0-resolution;
+#X obj 139 284 commun /resol \$0;
+#X obj 161 339 r \$0-shuffle-value;
+#X obj 309 341 r \$0-random-value;
+#X obj 309 394 s \$0-random-value;
+#X obj 161 392 s \$0-shuffle-value;
+#X obj 161 368 _slider-commun /s \$0;
+#X obj 309 367 commun /rand \$0;
+#X obj 531 341 r \$0-mute;
+#X obj 531 395 s \$0-mute;
+#X obj 531 367 commun /play \$0;
+#X obj 442 364 s \$0-notify;
+#X obj 129 414 s \$0-notify;
+#X obj 383 215 s \$0-notify;
+#X obj 374 136 s \$0-notify;
+#X obj 49 329 s \$0-notify;
+#X obj 244 83 s \$0-notify;
+#X connect 0 0 2 0;
+#X connect 0 0 32 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 3 0 29 0;
+#X connect 4 0 5 0;
+#X connect 6 0 8 0;
+#X connect 6 0 32 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 9 0 30 0;
+#X connect 10 0 11 0;
+#X connect 12 0 13 0;
+#X connect 12 0 31 0;
+#X connect 14 0 12 0;
+#X connect 14 0 31 0;
+#X connect 15 0 17 0;
+#X connect 15 0 31 0;
+#X connect 17 0 16 0;
+#X connect 17 0 31 0;
+#X connect 18 0 22 0;
+#X connect 18 0 28 0;
+#X connect 19 0 23 0;
+#X connect 19 0 27 0;
+#X connect 22 0 21 0;
+#X connect 23 0 20 0;
+#X connect 24 0 26 0;
+#X connect 24 0 27 0;
+#X connect 26 0 25 0;
+#X restore 34 147 pd morecommuns;
+#X obj 553 511 t b;
+#X obj 621 300 * 8;
+#X obj 586 72 t f f;
+#X obj 818 574 outlet;
+#X text 816 596 OSC outlet;
+#X obj 308 277 originator \$1 \$0;
+#X obj 415 303 s \$0-osc-outlet;
+#X obj 787 542 r \$0-osc-outlet;
+#X obj 137 514 bag;
+#X obj 137 488 pack 0 0;
+#X obj 154 389 r \$0-mute;
+#X msg 90 461 flush;
+#X msg 140 460 clear;
+#X obj 134 437 select 0 1;
+#X obj 137 538 pack 0 0;
+#X obj 148 562 unpack 0 0;
+#X obj 306 503 spigot;
+#X obj 456 481 spigot;
+#X obj 154 410 t f f;
+#X connect 0 0 83 1;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 0;
+#X connect 3 0 83 0;
+#X connect 4 0 83 0;
+#X connect 5 0 6 0;
+#X connect 7 0 5 0;
+#X connect 8 0 44 0;
+#X connect 9 0 11 0;
+#X connect 11 0 83 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 1;
+#X connect 14 0 87 1;
+#X connect 14 0 95 0;
+#X connect 15 0 17 0;
+#X connect 16 0 79 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 0;
+#X connect 18 1 17 1;
+#X connect 23 0 45 0;
+#X connect 24 0 25 0;
+#X connect 25 0 23 1;
+#X connect 27 0 34 0;
+#X connect 27 1 14 0;
+#X connect 29 0 83 0;
+#X connect 30 0 29 0;
+#X connect 31 0 32 0;
+#X connect 32 0 33 0;
+#X connect 34 0 23 0;
+#X connect 35 0 30 0;
+#X connect 35 1 9 0;
+#X connect 36 0 43 0;
+#X connect 39 0 40 0;
+#X connect 40 0 83 0;
+#X connect 41 0 42 0;
+#X connect 42 0 83 0;
+#X connect 43 0 44 1;
+#X connect 44 0 80 0;
+#X connect 45 0 87 0;
+#X connect 45 0 94 0;
+#X connect 46 0 45 1;
+#X connect 47 0 37 0;
+#X connect 48 0 50 0;
+#X connect 49 0 47 1;
+#X connect 50 0 51 0;
+#X connect 52 0 35 0;
+#X connect 53 0 83 0;
+#X connect 54 0 55 0;
+#X connect 55 0 56 0;
+#X connect 57 0 61 0;
+#X connect 58 0 59 0;
+#X connect 60 0 59 0;
+#X connect 61 0 60 0;
+#X connect 61 1 58 0;
+#X connect 63 0 66 0;
+#X connect 63 0 75 1;
+#X connect 64 0 66 1;
+#X connect 65 0 69 0;
+#X connect 66 0 68 0;
+#X connect 67 0 64 0;
+#X connect 68 0 62 0;
+#X connect 69 0 66 0;
+#X connect 69 1 64 0;
+#X connect 70 0 71 0;
+#X connect 71 0 73 0;
+#X connect 73 0 72 0;
+#X connect 75 0 66 0;
+#X connect 76 0 78 0;
+#X connect 78 0 75 0;
+#X connect 79 0 18 0;
+#X connect 80 0 47 0;
+#X connect 80 1 52 0;
+#X connect 83 1 27 0;
+#X connect 83 2 84 0;
+#X connect 85 0 81 0;
+#X connect 86 0 92 0;
+#X connect 87 0 86 0;
+#X connect 88 0 96 0;
+#X connect 89 0 86 0;
+#X connect 90 0 86 0;
+#X connect 91 0 89 0;
+#X connect 91 1 90 0;
+#X connect 92 0 93 0;
+#X connect 93 0 22 0;
+#X connect 93 1 10 0;
+#X connect 94 0 22 0;
+#X connect 95 0 10 0;
+#X connect 96 0 94 1;
+#X connect 96 0 95 1;
+#X connect 96 1 91 0;
+#X restore 1001 133 pd settings;
+#X obj 1060 35 inlet;
+#X obj 15 168 hsl 64 15 0 127 0 0 \$0-svol \$0-svol volume 4 4 1 6
+-262144 -123526 -1 5200 1;
+#X obj 963 214 outlet;
+#X obj 336 220 vsl 8 64 0 127 0 0 \$0-s9 \$0-s9 empty 0 -8 0 8 -233017
+-1 -1 6300 1;
+#X obj 352 220 vsl 8 64 0 127 0 0 \$0-s10 \$0-s10 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 368 220 vsl 8 64 0 127 0 0 \$0-s11 \$0-s11 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 384 220 vsl 8 64 0 127 0 0 \$0-s12 \$0-s12 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 401 220 vsl 8 64 0 127 0 0 \$0-s13 \$0-s13 empty 0 -8 0 8 -233017
+-1 -1 6300 1;
+#X obj 417 220 vsl 8 64 0 127 0 0 \$0-s14 \$0-s14 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 433 220 vsl 8 64 0 127 0 0 \$0-s15 \$0-s15 empty 0 -8 0 8 -262144
+-1 -1 6300 1;
+#X obj 449 220 vsl 8 64 0 127 0 0 \$0-s16 \$0-s16 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 12 145 nbx 3 10 -1e+37 1e+37 0 0 \$0-preset \$0-preset preset
+0 -6 1 8 -233017 -1 -1 0 256;
+#X obj 12 117 hradio 10 1 0 10 \$0-preset-folder \$0-preset-folder-r
+preset-folder 0 -6 0 8 -233017 -1 -1 0;
+#X obj 12 64 hradio 10 0 0 10 \$0-preset-sel \$0-preset-sel-r preset-sel
+0 -6 0 8 -233017 -1 -1 0;
+#X obj 206 46 vradio 12 1 0 14 \$0-n1 \$0-n1 empty 0 -6 0 8 -166441
+-1 -1 6;
+#X obj 222 46 vradio 12 1 0 14 \$0-n2 \$0-n2 empty 0 -6 0 8 -262144
+-1 -1 6;
+#X obj 238 46 vradio 12 1 0 14 \$0-n3 \$0-n3 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 254 46 vradio 12 1 0 14 \$0-n4 \$0-n4 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 270 46 vradio 12 1 0 14 \$0-n5 \$0-n5 empty 0 -6 0 8 -233017
+-1 -1 6;
+#X obj 286 46 vradio 12 1 0 14 \$0-n6 \$0-n6 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 302 46 vradio 12 1 0 14 \$0-n7 \$0-n7 empty 0 -6 0 8 -262144
+-1 -1 6;
+#X obj 318 46 vradio 12 1 0 14 \$0-n8 \$0-n8 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 334 46 vradio 12 1 0 14 \$0-n9 \$0-n9 empty 0 -6 0 8 -233017
+-1 -1 8;
+#X obj 350 46 vradio 12 1 0 14 \$0-n10 \$0-n10 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 366 46 vradio 12 1 0 14 \$0-n11 \$0-n11 empty 0 -6 0 8 -262144
+-1 -1 8;
+#X obj 382 46 vradio 12 1 0 14 \$0-n12 \$0-n12 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 399 46 vradio 12 1 0 14 \$0-n13 \$0-n13 empty 0 -6 0 8 -233017
+-1 -1 6;
+#X obj 415 46 vradio 12 1 0 14 \$0-n14 \$0-n14 empty 0 -6 0 8 -262144
+-1 -1 6;
+#X obj 431 46 vradio 12 1 0 14 \$0-n15 \$0-n15 empty 0 -6 0 8 -262144
+-1 -1 2;
+#X obj 447 46 vradio 12 1 0 14 \$0-n16 \$0-n16 empty 0 -6 0 8 -262144
+-1 -1 2;
+#X obj 462 46 vradio 12 1 0 14 \$0-n17 \$0-n17 empty 0 -6 0 8 -166441
+-1 -1 0;
+#X obj 478 46 vradio 12 1 0 14 \$0-n18 \$0-n18 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 494 46 vradio 12 1 0 14 \$0-n19 \$0-n19 empty 0 -6 0 8 -262144
+-1 -1 11;
+#X obj 510 46 vradio 12 1 0 14 \$0-n20 \$0-n20 empty 0 -6 0 8 -262144
+-1 -1 11;
+#X obj 525 46 vradio 12 1 0 14 \$0-n21 \$0-n21 empty 0 -6 0 8 -233017
+-1 -1 0;
+#X obj 541 46 vradio 12 1 0 14 \$0-n22 \$0-n22 empty 0 -6 0 8 -262144
+-1 -1 11;
+#X obj 557 46 vradio 12 1 0 14 \$0-n23 \$0-n23 empty 0 -6 0 8 -262144
+-1 -1 11;
+#X obj 573 46 vradio 12 1 0 14 \$0-n24 \$0-n24 empty 0 -6 0 8 -262144
+-1 -1 11;
+#X obj 589 46 vradio 12 1 0 14 \$0-n25 \$0-n25 empty 0 -6 0 8 -233017
+-1 -1 11;
+#X obj 605 46 vradio 12 1 0 14 \$0-n26 \$0-n26 empty 0 -6 0 8 -262144
+-1 -1 11;
+#X obj 621 46 vradio 12 1 0 14 \$0-n27 \$0-n27 empty 0 -6 0 8 -262144
+-1 -1 9;
+#X obj 637 46 vradio 12 1 0 14 \$0-n28 \$0-n28 empty 0 -6 0 8 -262144
+-1 -1 9;
+#X obj 653 46 vradio 12 1 0 14 \$0-n29 \$0-n29 empty 0 -6 0 8 -233017
+-1 -1 8;
+#X obj 669 46 vradio 12 1 0 14 \$0-n30 \$0-n30 empty 0 -6 0 8 -262144
+-1 -1 8;
+#X obj 685 46 vradio 12 1 0 14 \$0-n31 \$0-n31 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 701 46 vradio 12 1 0 14 \$0-n32 \$0-n32 empty 0 -6 0 8 -262144
+-1 -1 8;
+#N canvas 807 628 450 300 stuff 0;
+#X obj 74 170 s \$0-main-cnv;
+#X msg 77 89 vis_size \$1 \$2;
+#X obj 78 60 pack 0 0;
+#X obj 104 35 t b f;
+#X floatatom 76 18 5 0 0 0 - - -;
+#X floatatom 162 21 5 0 0 0 - - -;
+#X obj 75 136 spigot;
+#X obj 104 118 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 182 134 spigot;
+#X obj 218 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 181 168 s \$0-keyboard-cnv;
+#X obj 230 137 spigot;
+#X obj 266 105 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 304 168 s \$0-black-cnv;
+#X obj 304 134 spigot;
+#X obj 338 110 tgl 15 0 empty empty background 0 -6 0 8 -262144 -1
+-1 0 1;
+#X obj 328 155 s \$0-background;
+#X connect 1 0 6 0;
+#X connect 1 0 8 0;
+#X connect 1 0 11 0;
+#X connect 1 0 14 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 13 0;
+#X connect 12 0 11 1;
+#X connect 14 0 16 0;
+#X connect 15 0 14 1;
+#X restore 1001 258 pd stuff;
+#X obj 173 204 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 179 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 156 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 143 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 120 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 96 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 72 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 60 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 165 192 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 164 168 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 165 131 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 165 109 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 165 84 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 723 30 cnv 15 75 300 empty \$0-ctl-cnv ctl 20 10 0 10 -166441
+-66577 0;
+#X obj 136 66 vradio 12 1 0 10 \$0-octave \$0-octave oct 0 -6 0 8 -195568
+-1 -1 3;
+#X obj 130 199 nbx 3 10 0 9 0 0 \$0-octave \$0-octave oct 0 -6 1 8
+-233017 -1 -1 3 256;
+#N canvas 450 333 801 410 calc 0;
+#X obj 43 41 r \$0-resolution;
+#X obj 65 92 * 2;
+#X obj 38 208 s \$0-resolution-show;
+#X obj 42 66 int;
+#X obj 38 150 makefilename 1/%d;
+#X msg 35 176 label \$1;
+#X obj 72 120 expr pow(2 \, $f1);
+#X obj 361 158 s \$0-shifter;
+#X obj 358 127 f -1;
+#X obj 397 128 f 1;
+#X obj 397 50 r \$0-forward;
+#X obj 358 31 r \$0-backward;
+#X obj 318 182 s \$0-originator;
+#X msg 303 124 set;
+#X obj 399 78 t b b b;
+#X obj 446 109 s \$0-prepare-shift;
+#X obj 329 83 t b b b;
+#X connect 0 0 3 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 6 0 4 0;
+#X connect 8 0 7 0;
+#X connect 9 0 7 0;
+#X connect 10 0 14 0;
+#X connect 11 0 16 0;
+#X connect 13 0 12 0;
+#X connect 14 0 13 0;
+#X connect 14 1 9 0;
+#X connect 14 2 15 0;
+#X connect 16 0 13 0;
+#X connect 16 1 8 0;
+#X connect 16 2 15 0;
+#X restore 1008 238 pd calc;
+#X obj 737 200 cnv 15 45 15 empty \$0-resolution-show 1/4 1 8 0 10
+-233017 -66577 0;
+#X obj 464 220 vsl 8 64 0 127 0 0 \$0-s17 \$0-s17 empty 0 -8 0 8 -166441
+-1 -1 0 1;
+#X obj 479 220 vsl 8 64 0 127 0 0 \$0-s18 \$0-s18 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 496 220 vsl 8 64 0 127 0 0 \$0-s19 \$0-s19 empty 0 -8 0 8 -262144
+-1 -1 6300 1;
+#X obj 512 220 vsl 8 64 0 127 0 0 \$0-s20 \$0-s20 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 528 220 vsl 8 64 0 127 0 0 \$0-s21 \$0-s21 empty 0 -8 0 8 -233017
+-1 -1 0 1;
+#X obj 545 220 vsl 8 64 0 127 0 0 \$0-s22 \$0-s22 empty 0 -8 0 8 -262144
+-1 -1 6300 1;
+#X obj 560 220 vsl 8 64 0 127 0 0 \$0-s23 \$0-s23 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 576 220 vsl 8 64 0 127 0 0 \$0-s24 \$0-s24 empty 0 -8 0 8 -262144
+-1 -1 6300 1;
+#X obj 592 220 vsl 8 64 0 127 0 0 \$0-s25 \$0-s25 empty 0 -8 0 8 -233017
+-1 -1 6300 1;
+#X obj 608 220 vsl 8 64 0 127 0 0 \$0-s26 \$0-s26 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 624 220 vsl 8 64 0 127 0 0 \$0-s27 \$0-s27 empty 0 -8 0 8 -262144
+-1 -1 6300 1;
+#X obj 640 220 vsl 8 64 0 127 0 0 \$0-s28 \$0-s28 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 656 220 vsl 8 64 0 127 0 0 \$0-s29 \$0-s29 empty 0 -8 0 8 -233017
+-1 -1 6300 1;
+#X obj 672 220 vsl 8 64 0 127 0 0 \$0-s30 \$0-s30 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 689 220 vsl 8 64 0 127 0 0 \$0-s31 \$0-s31 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 705 220 vsl 8 64 0 127 0 0 \$0-s32 \$0-s32 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 203 45 cnv 10 516 12 empty \$0-hide-cnv empty 20 8 0 14 -232237
+-66577 0;
+#X obj 963 59 r \$0-preset;
+#X obj 734 109 bng 20 250 50 0 \$0-reset \$0-reset rst 0 -6 0 8 -233017
+-1 -1;
+#N canvas 186 185 450 300 reset 0;
+#X obj 144 16 r \$0-reset;
+#X obj 23 111 until;
+#X obj 22 181 makefilename \$0-s%d;
+#X obj 19 71 t b b;
+#X obj 30 146 f 1;
+#X msg 76 110 1;
+#X obj 62 148 + 1;
+#X msg 20 91 31;
+#X obj 162 182 makefilename \$0-n%d;
+#X msg 163 208 \; \$1 0;
+#X msg 80 211 \; \$1 0;
+#X obj 137 94 s \$0-svol;
+#X msg 131 65 127;
+#X msg 220 64 31;
+#X obj 224 93 s \$0-last;
+#X msg 291 66 0;
+#X obj 295 94 s \$0-transpose;
+#X obj 338 156 loadbang;
+#X msg 335 175 1;
+#X obj 340 203 s \$0-mute;
+#X connect 0 0 3 0;
+#X connect 0 0 13 0;
+#X connect 0 0 15 0;
+#X connect 0 0 18 0;
+#X connect 1 0 4 0;
+#X connect 2 0 10 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 12 0;
+#X connect 4 0 6 0;
+#X connect 4 0 2 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 1;
+#X connect 7 0 1 0;
+#X connect 8 0 9 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 15 0 16 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X restore 1002 277 pd reset;
+#X obj 1027 216 outlet;
+#X obj 735 72 nbx 5 14 0 400 0 0 \$0-bpm \$0-bpm bpm 0 -6 0 8 -233017
+-1 -1 0 256;
+#X obj 862 120 s \$0-beat;
+#X obj 989 36 r \$0-beat;
+#X obj 205 292 hradio 16 0 0 32 \$0-last \$0-last last 0 8 0 8 -233017
+-1 -1 31;
+#X obj 205 310 hradio 16 0 0 32 \$0-show \$0-show empty 0 -6 0 8 -233017
+-1 -1 16;
+#X obj 746 228 bng 24 250 50 0 \$0-copy \$0-copy copy 0 -6 0 8 -225271
+-1 -1;
+#X obj 746 264 bng 24 250 50 0 \$0-paste \$0-paste paste 0 -6 0 8 -257472
+-1 -1;
+#X obj 130 222 nbx 3 10 -11 11 0 0 \$0-transpose \$0-transpose transp
+0 -6 1 8 -233017 -1 -1 0 256;
+#X obj 186 310 tgl 15 0 \$0-blinkenlights \$0-blinkenlights empty 0
+-6 0 8 -233017 -1 -1 1 1;
+#N canvas 586 27 218 188 tempomap 0;
+#X obj 30 11 inlet;
+#X obj 95 164 outlet;
+#X obj 75 13 r \$0-resolution;
+#X obj 30 116 nroute b1 1;
+#X obj 76 71 makefilename b%d;
+#X msg 76 95 \$1;
+#X obj 30 140 unpack s 0;
+#X obj 75 52 expr pow(2 \, $f1);
+#X obj 75 32 int;
+#X connect 0 0 3 0;
+#X connect 2 0 8 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 1;
+#X connect 6 1 1 0;
+#X connect 7 0 4 0;
+#X connect 8 0 7 0;
+#X restore 1017 89 pd tempomap;
+#N canvas 45 266 651 594 shuffle 0;
+#X obj 73 107 mod 2;
+#X obj 73 128 select 0 1;
+#X obj 82 315 f;
+#X obj 41 315 f;
+#X obj 55 369 outlet;
+#X obj 260 171 random 10;
+#X obj 260 202 * 0.001;
+#X obj 333 172 * 0.001;
+#X obj 96 239 delay 0;
+#X obj 164 277 delay 0;
+#X obj 155 18 r \$0-shuffle-value;
+#X obj 333 130 r \$0-random-value;
+#X obj 46 67 inlet;
+#X obj 414 176 > 0;
+#X obj 260 225 spigot;
+#X obj 415 210 select 0;
+#X msg 415 233 0;
+#X obj 244 250 + 0;
+#X obj 305 5 r \$0-bpm;
+#X obj 305 29 select 0;
+#X msg 305 51 120;
+#X obj 401 19 r \$0-resolution;
+#X obj 401 40 select 0;
+#X msg 401 62 1;
+#X obj 153 69 clip 0 100;
+#X obj 452 63 int;
+#X obj 305 75 expr 60000/$f1;
+#X obj 452 84 expr 1/pow(2 \, $f1);
+#X obj 479 140 *;
+#X obj 153 96 * 0.01;
+#X obj 228 132 *;
+#X obj 473 108 t b b f;
+#X obj 228 92 f 0;
+#X floatatom 271 283 5 0 0 0 - - -;
+#X obj 292 114 t b;
+#X msg 191 243 0;
+#X obj 247 377 t b;
+#X msg 244 400 0;
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 1 1 5 0;
+#X connect 1 1 9 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 6 0 14 0;
+#X connect 7 0 6 1;
+#X connect 8 0 3 0;
+#X connect 9 0 2 0;
+#X connect 10 0 24 0;
+#X connect 11 0 7 0;
+#X connect 11 0 13 0;
+#X connect 12 0 0 0;
+#X connect 12 0 2 1;
+#X connect 12 0 3 1;
+#X connect 13 0 14 1;
+#X connect 13 0 15 0;
+#X connect 14 0 17 1;
+#X connect 15 0 16 0;
+#X connect 16 0 17 1;
+#X connect 17 0 33 0;
+#X connect 17 0 9 1;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 19 1 26 0;
+#X connect 20 0 26 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 22 1 25 0;
+#X connect 23 0 31 0;
+#X connect 24 0 29 0;
+#X connect 25 0 27 0;
+#X connect 26 0 28 0;
+#X connect 26 0 34 0;
+#X connect 27 0 31 0;
+#X connect 28 0 30 1;
+#X connect 29 0 30 0;
+#X connect 29 0 32 1;
+#X connect 30 0 17 0;
+#X connect 31 0 32 0;
+#X connect 31 1 28 0;
+#X connect 31 2 28 1;
+#X connect 32 0 30 0;
+#X connect 34 0 32 0;
+#X connect 35 0 9 1;
+#X connect 35 0 8 1;
+#X connect 36 0 37 0;
+#X connect 37 0 9 1;
+#X restore 1019 111 pd shuffle;
+#X obj 69 268 nbx 3 10 0 100 0 0 \$0-shuffle-value \$0-shuffle-value
+s 0 -6 0 8 -195568 -1 -1 0 256;
+#X obj 18 269 nbx 4 10 0 1e+37 0 0 \$0-random-value \$0-random-value
+rand 0 -6 0 8 -195568 -1 -1 0 256;
+#X obj 745 301 tgl 24 0 \$0-mute \$0-mute play 2 -6 0 8 -24198 -1 -1
+1 1;
+#X symbolatom 12 206 10 0 0 2 name #0-memento-name-r -;
+#X obj 9 225 s \$0-memento-name;
+#X obj 1073 166 outlet;
+#X obj 125 239 cnv 15 75 60 empty empty shift 14 10 0 10 -166441 -66577
+0;
+#X obj 165 265 bng 20 250 50 0 \$0-forward empty > 5 10 0 14 -262131
+-225271 -1;
+#X obj 134 265 bng 20 250 50 0 \$0-backward empty < 4 10 0 14 -262131
+-225271 -1;
+#X obj 862 90 spigot;
+#X obj 884 45 r \$0-onoff;
+#X obj 1055 66 spigot;
+#X obj 1107 24 r \$0-onoff;
+#X obj 763 109 tgl 20 1 \$0-onoff \$0-onoff on 2 -6 0 8 -258699 -1
+-1 1 1;
+#X obj 736 160 hsl 48 15 0 5 0 0 \$0-resolution \$0-resolution resol
+-2 -6 0 8 -128992 -143491 -1 2000 1;
+#X text 616 -1 look over there for logic =>;
+#X obj 1121 165 outlet;
+#X connect 13 0 121 0;
+#X connect 14 0 17 0;
+#X connect 14 1 100 0;
+#X connect 14 2 117 0;
+#X connect 14 3 128 0;
+#X connect 15 0 123 0;
+#X connect 97 0 14 0;
+#X connect 103 0 110 0;
+#X connect 110 0 111 0;
+#X connect 111 0 14 2;
+#X connect 115 0 116 0;
+#X connect 121 0 102 0;
+#X connect 122 0 121 1;
+#X connect 123 0 14 1;
+#X connect 124 0 123 1;
+#X coords 0 0 0.00121655 0.00298507 820 336 0;
diff --git a/control/rrad.pattseq.pd b/control/rrad.pattseq.pd
new file mode 100644
index 0000000..df6217c
--- /dev/null
+++ b/control/rrad.pattseq.pd
@@ -0,0 +1,1047 @@
+#N canvas 172 283 822 335 10;
+#X obj 1 16 cnv 15 820 318 empty \$0-background empty 20 12 0 14 -123526
+-262131 0;
+#X obj 2 30 cnv 15 120 205 empty empty patterns 10 8 0 12 -233017 -66577
+0;
+#X obj 125 30 cnv 15 75 205 empty \$0-keyboard-cnv keys 20 10 0 10
+-166441 -66577 0;
+#X obj 2 239 cnv 15 120 60 empty empty shuffle 10 12 0 10 -233017 -66577
+0;
+#X obj 203 30 cnv 15 516 300 empty \$0-main-cnv sequencer 20 8 0 14
+-232237 -66577 0;
+#X obj 208 220 vsl 8 64 0 127 0 0 \$0-s1 \$0-s1 empty 0 -8 0 8 -166441
+-1 -1 0 1;
+#X obj 223 220 vsl 8 64 0 127 0 0 \$0-s2 \$0-s2 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 240 220 vsl 8 64 0 127 0 0 \$0-s3 \$0-s3 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 256 220 vsl 8 64 0 127 0 0 \$0-s4 \$0-s4 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 272 220 vsl 8 64 0 127 0 0 \$0-s5 \$0-s5 empty 0 -8 0 8 -233017
+-1 -1 0 1;
+#X obj 289 220 vsl 8 64 0 127 0 0 \$0-s6 \$0-s6 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 305 220 vsl 8 64 0 127 0 0 \$0-s7 \$0-s7 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 320 220 vsl 8 64 0 127 0 0 \$0-s8 \$0-s8 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 862 27 inlet;
+#N canvas 234 129 914 629 settings 0;
+#X obj 415 251 inlet;
+#X obj 295 210 inlet;
+#X obj 295 231 t b f;
+#X msg 325 253 substate \$1;
+#X msg 293 254 set;
+#X obj 30 354 OSCroute /preset;
+#X obj 30 384 s \$0-preset;
+#X obj 30 330 r \$0-RRADICAL-OSC;
+#X obj 585 13 inlet;
+#X obj 616 147 makefilename /s%d;
+#X obj 456 558 outlet;
+#X obj 616 173 prepend get;
+#X obj 479 363 r \$0-svol;
+#X obj 472 386 * 0.007874;
+#X obj 456 414 * 1;
+#X obj 622 255 r \$0-preset-sel;
+#X obj 622 278 r \$0-preset-folder;
+#X obj 602 339 +;
+#X obj 601 319 t b f;
+#X obj 603 371 s \$0-preset;
+#N canvas 0 0 1242 860 communs-s 0;
+#X obj 250 22 s \$0-s1;
+#X obj 150 22 r \$0-s1;
+#X obj 250 44 s \$0-s2;
+#X obj 150 44 r \$0-s2;
+#X obj 250 66 s \$0-s3;
+#X obj 150 66 r \$0-s3;
+#X obj 250 88 s \$0-s4;
+#X obj 150 88 r \$0-s4;
+#X obj 250 110 s \$0-s5;
+#X obj 150 110 r \$0-s5;
+#X obj 250 132 s \$0-s6;
+#X obj 150 132 r \$0-s6;
+#X obj 250 154 s \$0-s7;
+#X obj 150 154 r \$0-s7;
+#X obj 250 176 s \$0-s8;
+#X obj 150 176 r \$0-s8;
+#X obj 250 198 s \$0-s9;
+#X obj 150 198 r \$0-s9;
+#X obj 250 220 s \$0-s10;
+#X obj 150 220 r \$0-s10;
+#X obj 250 242 s \$0-s11;
+#X obj 150 242 r \$0-s11;
+#X obj 250 264 s \$0-s12;
+#X obj 150 264 r \$0-s12;
+#X obj 250 286 s \$0-s13;
+#X obj 150 286 r \$0-s13;
+#X obj 250 308 s \$0-s14;
+#X obj 150 308 r \$0-s14;
+#X obj 0 330 _slider-commun /s15 \$0;
+#X obj 250 330 s \$0-s15;
+#X obj 150 330 r \$0-s15;
+#X obj 0 22 _slider-commun /s1 \$0;
+#X obj 0 44 _slider-commun /s2 \$0;
+#X obj 0 66 _slider-commun /s3 \$0;
+#X obj 0 88 _slider-commun /s4 \$0;
+#X obj 0 110 _slider-commun /s5 \$0;
+#X obj 0 132 _slider-commun /s6 \$0;
+#X obj 0 154 _slider-commun /s7 \$0;
+#X obj 0 176 _slider-commun /s8 \$0;
+#X obj 0 198 _slider-commun /s9 \$0;
+#X obj 0 220 _slider-commun /s10 \$0;
+#X obj 0 242 _slider-commun /s11 \$0;
+#X obj 0 264 _slider-commun /s12 \$0;
+#X obj 0 286 _slider-commun /s13 \$0;
+#X obj 0 308 _slider-commun /s14 \$0;
+#X obj 253 352 s \$0-s16;
+#X obj 152 352 r \$0-s16;
+#X obj 2 352 _slider-commun /s16 \$0;
+#X obj 0 374 _slider-commun /s17 \$0;
+#X obj 250 374 s \$0-s17;
+#X obj 150 374 r \$0-s17;
+#X obj 0 396 _slider-commun /s18 \$0;
+#X obj 250 396 s \$0-s18;
+#X obj 150 396 r \$0-s18;
+#X obj 0 418 _slider-commun /s19 \$0;
+#X obj 250 418 s \$0-s19;
+#X obj 150 418 r \$0-s19;
+#X obj 0 440 _slider-commun /s20 \$0;
+#X obj 250 440 s \$0-s20;
+#X obj 150 440 r \$0-s20;
+#X obj 0 462 _slider-commun /s21 \$0;
+#X obj 250 462 s \$0-s21;
+#X obj 150 462 r \$0-s21;
+#X obj 0 484 _slider-commun /s22 \$0;
+#X obj 250 484 s \$0-s22;
+#X obj 150 484 r \$0-s22;
+#X obj 0 506 _slider-commun /s23 \$0;
+#X obj 250 506 s \$0-s23;
+#X obj 150 506 r \$0-s23;
+#X obj 0 528 _slider-commun /s24 \$0;
+#X obj 250 528 s \$0-s24;
+#X obj 150 528 r \$0-s24;
+#X obj 0 550 _slider-commun /s25 \$0;
+#X obj 250 550 s \$0-s25;
+#X obj 150 550 r \$0-s25;
+#X obj 0 572 _slider-commun /s26 \$0;
+#X obj 250 572 s \$0-s26;
+#X obj 150 572 r \$0-s26;
+#X obj 0 594 _slider-commun /s27 \$0;
+#X obj 250 594 s \$0-s27;
+#X obj 150 594 r \$0-s27;
+#X obj 0 616 _slider-commun /s28 \$0;
+#X obj 250 616 s \$0-s28;
+#X obj 150 616 r \$0-s28;
+#X obj 0 638 _slider-commun /s29 \$0;
+#X obj 250 638 s \$0-s29;
+#X obj 150 638 r \$0-s29;
+#X obj 0 660 _slider-commun /s30 \$0;
+#X obj 250 660 s \$0-s30;
+#X obj 150 660 r \$0-s30;
+#X obj 0 682 _slider-commun /s31 \$0;
+#X obj 250 682 s \$0-s31;
+#X obj 150 682 r \$0-s31;
+#X obj 0 706 _slider-commun /s32 \$0;
+#X obj 150 706 r \$0-s32;
+#X obj 250 707 s \$0-s32;
+#X connect 1 0 31 0;
+#X connect 3 0 32 0;
+#X connect 5 0 33 0;
+#X connect 7 0 34 0;
+#X connect 9 0 35 0;
+#X connect 11 0 36 0;
+#X connect 13 0 37 0;
+#X connect 15 0 38 0;
+#X connect 17 0 39 0;
+#X connect 19 0 40 0;
+#X connect 21 0 41 0;
+#X connect 23 0 42 0;
+#X connect 25 0 43 0;
+#X connect 27 0 44 0;
+#X connect 28 0 29 0;
+#X connect 30 0 28 0;
+#X connect 31 0 0 0;
+#X connect 32 0 2 0;
+#X connect 33 0 4 0;
+#X connect 34 0 6 0;
+#X connect 35 0 8 0;
+#X connect 36 0 10 0;
+#X connect 37 0 12 0;
+#X connect 38 0 14 0;
+#X connect 39 0 16 0;
+#X connect 40 0 18 0;
+#X connect 41 0 20 0;
+#X connect 42 0 22 0;
+#X connect 43 0 24 0;
+#X connect 44 0 26 0;
+#X connect 46 0 47 0;
+#X connect 47 0 45 0;
+#X connect 48 0 49 0;
+#X connect 50 0 48 0;
+#X connect 51 0 52 0;
+#X connect 53 0 51 0;
+#X connect 54 0 55 0;
+#X connect 56 0 54 0;
+#X connect 57 0 58 0;
+#X connect 59 0 57 0;
+#X connect 60 0 61 0;
+#X connect 62 0 60 0;
+#X connect 63 0 64 0;
+#X connect 65 0 63 0;
+#X connect 66 0 67 0;
+#X connect 68 0 66 0;
+#X connect 69 0 70 0;
+#X connect 71 0 69 0;
+#X connect 72 0 73 0;
+#X connect 74 0 72 0;
+#X connect 75 0 76 0;
+#X connect 77 0 75 0;
+#X connect 78 0 79 0;
+#X connect 80 0 78 0;
+#X connect 81 0 82 0;
+#X connect 83 0 81 0;
+#X connect 84 0 85 0;
+#X connect 86 0 84 0;
+#X connect 87 0 88 0;
+#X connect 89 0 87 0;
+#X connect 90 0 91 0;
+#X connect 92 0 90 0;
+#X connect 93 0 95 0;
+#X connect 94 0 93 0;
+#X restore 31 34 pd communs-s;
+#N canvas 526 22 502 872 commun-radios 0;
+#X obj 23 62 _radio-commun /n1 \$0;
+#X obj 304 61 s \$0-n1;
+#X obj 204 61 r \$0-n1;
+#X obj 304 83 s \$0-n2;
+#X obj 204 83 r \$0-n2;
+#X obj 304 105 s \$0-n3;
+#X obj 204 105 r \$0-n3;
+#X obj 304 127 s \$0-n4;
+#X obj 204 127 r \$0-n4;
+#X obj 304 149 s \$0-n5;
+#X obj 204 149 r \$0-n5;
+#X obj 304 171 s \$0-n6;
+#X obj 204 171 r \$0-n6;
+#X obj 304 193 s \$0-n7;
+#X obj 204 193 r \$0-n7;
+#X obj 304 215 s \$0-n8;
+#X obj 204 215 r \$0-n8;
+#X obj 304 237 s \$0-n9;
+#X obj 204 237 r \$0-n9;
+#X obj 304 259 s \$0-n10;
+#X obj 204 259 r \$0-n10;
+#X obj 304 281 s \$0-n11;
+#X obj 204 281 r \$0-n11;
+#X obj 304 303 s \$0-n12;
+#X obj 204 303 r \$0-n12;
+#X obj 304 325 s \$0-n13;
+#X obj 204 325 r \$0-n13;
+#X obj 304 347 s \$0-n14;
+#X obj 204 347 r \$0-n14;
+#X obj 304 369 s \$0-n15;
+#X obj 204 369 r \$0-n15;
+#X obj 304 391 s \$0-n16;
+#X obj 204 391 r \$0-n16;
+#X obj 304 413 s \$0-n17;
+#X obj 204 413 r \$0-n17;
+#X obj 304 435 s \$0-n18;
+#X obj 204 435 r \$0-n18;
+#X obj 304 457 s \$0-n19;
+#X obj 204 457 r \$0-n19;
+#X obj 304 479 s \$0-n20;
+#X obj 204 479 r \$0-n20;
+#X obj 304 501 s \$0-n21;
+#X obj 204 501 r \$0-n21;
+#X obj 304 523 s \$0-n22;
+#X obj 204 523 r \$0-n22;
+#X obj 304 545 s \$0-n23;
+#X obj 204 545 r \$0-n23;
+#X obj 304 567 s \$0-n24;
+#X obj 204 567 r \$0-n24;
+#X obj 304 589 s \$0-n25;
+#X obj 204 589 r \$0-n25;
+#X obj 304 611 s \$0-n26;
+#X obj 204 611 r \$0-n26;
+#X obj 304 633 s \$0-n27;
+#X obj 204 633 r \$0-n27;
+#X obj 304 655 s \$0-n28;
+#X obj 204 655 r \$0-n28;
+#X obj 304 677 s \$0-n29;
+#X obj 204 677 r \$0-n29;
+#X obj 304 699 s \$0-n30;
+#X obj 204 699 r \$0-n30;
+#X obj 304 721 s \$0-n31;
+#X obj 204 721 r \$0-n31;
+#X obj 304 743 s \$0-n32;
+#X obj 204 743 r \$0-n32;
+#X obj 23 84 _radio-commun /n2 \$0;
+#X obj 23 106 _radio-commun /n3 \$0;
+#X obj 23 128 _radio-commun /n4 \$0;
+#X obj 23 150 _radio-commun /n5 \$0;
+#X obj 23 172 _radio-commun /n6 \$0;
+#X obj 23 194 _radio-commun /n7 \$0;
+#X obj 23 216 _radio-commun /n8 \$0;
+#X obj 23 238 _radio-commun /n9 \$0;
+#X obj 23 260 _radio-commun /n10 \$0;
+#X obj 23 282 _radio-commun /n11 \$0;
+#X obj 23 304 _radio-commun /n12 \$0;
+#X obj 23 326 _radio-commun /n13 \$0;
+#X obj 23 348 _radio-commun /n14 \$0;
+#X obj 23 370 _radio-commun /n15 \$0;
+#X obj 23 392 _radio-commun /n16 \$0;
+#X obj 23 414 _radio-commun /n17 \$0;
+#X obj 23 436 _radio-commun /n18 \$0;
+#X obj 23 458 _radio-commun /n19 \$0;
+#X obj 23 480 _radio-commun /n20 \$0;
+#X obj 23 502 _radio-commun /n21 \$0;
+#X obj 23 524 _radio-commun /n22 \$0;
+#X obj 23 546 _radio-commun /n23 \$0;
+#X obj 23 568 _radio-commun /n24 \$0;
+#X obj 23 590 _radio-commun /n25 \$0;
+#X obj 23 612 _radio-commun /n26 \$0;
+#X obj 23 634 _radio-commun /n27 \$0;
+#X obj 23 656 _radio-commun /n28 \$0;
+#X obj 23 678 _radio-commun /n29 \$0;
+#X obj 23 700 _radio-commun /n30 \$0;
+#X obj 23 722 _radio-commun /n31 \$0;
+#X obj 23 744 _radio-commun /n32 \$0;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 4 0 65 0;
+#X connect 6 0 66 0;
+#X connect 8 0 67 0;
+#X connect 10 0 68 0;
+#X connect 12 0 69 0;
+#X connect 14 0 70 0;
+#X connect 16 0 71 0;
+#X connect 18 0 72 0;
+#X connect 20 0 73 0;
+#X connect 22 0 74 0;
+#X connect 24 0 75 0;
+#X connect 26 0 76 0;
+#X connect 28 0 77 0;
+#X connect 30 0 78 0;
+#X connect 32 0 79 0;
+#X connect 34 0 80 0;
+#X connect 36 0 81 0;
+#X connect 38 0 82 0;
+#X connect 40 0 83 0;
+#X connect 42 0 84 0;
+#X connect 44 0 85 0;
+#X connect 46 0 86 0;
+#X connect 48 0 87 0;
+#X connect 50 0 88 0;
+#X connect 52 0 89 0;
+#X connect 54 0 90 0;
+#X connect 56 0 91 0;
+#X connect 58 0 92 0;
+#X connect 60 0 93 0;
+#X connect 62 0 94 0;
+#X connect 64 0 95 0;
+#X connect 65 0 3 0;
+#X connect 66 0 5 0;
+#X connect 67 0 7 0;
+#X connect 68 0 9 0;
+#X connect 69 0 11 0;
+#X connect 70 0 13 0;
+#X connect 71 0 15 0;
+#X connect 72 0 17 0;
+#X connect 73 0 19 0;
+#X connect 74 0 21 0;
+#X connect 75 0 23 0;
+#X connect 76 0 25 0;
+#X connect 77 0 27 0;
+#X connect 78 0 29 0;
+#X connect 79 0 31 0;
+#X connect 80 0 33 0;
+#X connect 81 0 35 0;
+#X connect 82 0 37 0;
+#X connect 83 0 39 0;
+#X connect 84 0 41 0;
+#X connect 85 0 43 0;
+#X connect 86 0 45 0;
+#X connect 87 0 47 0;
+#X connect 88 0 49 0;
+#X connect 89 0 51 0;
+#X connect 90 0 53 0;
+#X connect 91 0 55 0;
+#X connect 92 0 57 0;
+#X connect 93 0 59 0;
+#X connect 94 0 61 0;
+#X connect 95 0 63 0;
+#X restore 29 59 pd commun-radios;
+#X obj 306 547 outlet;
+#X obj 306 422 + 0;
+#X obj 334 391 r \$0-octave;
+#X obj 334 412 * 12;
+#X text 354 547 Notes;
+#X obj 287 337 OSCroute /n* /s*;
+#X text 505 559 gates;
+#X obj 586 225 prepend get;
+#X obj 586 200 makefilename /n%d;
+#X obj 29 261 r \$0-RRADICAL-OSC;
+#X obj 29 285 OSCroute /bpm;
+#X obj 29 304 s \$0-bpm;
+#X obj 287 359 moses 13;
+#X obj 586 121 t f f;
+#X obj 629 13 r \$0-last;
+#X obj 476 199 s \$0-show;
+#X obj 733 29 print mod;
+#X obj 192 179 r \$0-copy;
+#X msg 192 200 copy;
+#X obj 195 234 r \$0-paste;
+#X msg 195 255 paste;
+#X obj 629 35 + 1;
+#X obj 585 52 mod 32;
+#X obj 306 474 + 0;
+#X obj 341 441 r \$0-transpose;
+#X obj 476 167 spigot;
+#X obj 561 405 loadbang;
+#X obj 448 141 r \$0-blinkenlights;
+#X msg 561 423 1;
+#X obj 561 449 s \$0-blinkenlights;
+#X obj 586 101 + 1;
+#X obj 345 211 r \$0-originator;
+#X obj 164 20 loadbang;
+#X obj 164 46 symbol \$1;
+#X obj 164 68 s \$0-memento-name-r;
+#X obj 334 39 r \$0-memento-name;
+#X msg 377 76 create \$1;
+#X obj 330 107 s \$0-originator;
+#X msg 334 76 set;
+#X obj 335 56 t b s;
+#X obj 634 606 outlet;
+#X obj 584 510 r \$0-preset;
+#X obj 668 549 symbol \$1;
+#X obj 731 511 r \$0-memento-name;
+#X obj 600 567 pack 0 s;
+#X obj 668 511 loadbang;
+#X msg 617 586 \$2/preset \$1;
+#X obj 626 536 t b s;
+#X obj 168 89 r \$0-RRADICAL-OSC;
+#X obj 168 111 OSCroute /name;
+#X obj 175 148 s \$0-memento-name-r;
+#X obj 180 130 symbol;
+#X text 416 606 Notify outlet for pattplay-ers;
+#X obj 568 548 f 0;
+#X obj 553 482 r \$0-notify;
+#N canvas 0 0 675 583 morecommuns 0;
+#X obj 133 33 r \$0-svol;
+#X obj 133 82 s \$0-svol;
+#X obj 133 59 _slider-commun /svol \$0;
+#X obj 272 188 r \$0-octave;
+#X obj 272 214 commun /oct \$0;
+#X obj 272 238 s \$0-octave;
+#X obj 138 109 r \$0-resolution;
+#X obj 138 158 s \$0-resolution;
+#X obj 138 135 commun /resol \$0;
+#X obj 256 111 r \$0-last;
+#X obj 256 137 commun /last \$0;
+#X obj 256 160 s \$0-last;
+#X obj 140 211 commun /transp \$0;
+#X obj 140 235 s \$0-transpose;
+#X obj 140 185 r \$0-transpose;
+#X obj 139 258 r \$0-resolution;
+#X obj 139 308 s \$0-resolution;
+#X obj 139 284 commun /resol \$0;
+#X obj 161 339 r \$0-shuffle-value;
+#X obj 309 341 r \$0-random-value;
+#X obj 309 394 s \$0-random-value;
+#X obj 161 392 s \$0-shuffle-value;
+#X obj 161 368 _slider-commun /s \$0;
+#X obj 309 367 commun /rand \$0;
+#X obj 531 341 r \$0-mute;
+#X obj 531 395 s \$0-mute;
+#X obj 531 367 commun /play \$0;
+#X obj 442 364 s \$0-notify;
+#X obj 129 414 s \$0-notify;
+#X obj 383 215 s \$0-notify;
+#X obj 374 136 s \$0-notify;
+#X obj 49 329 s \$0-notify;
+#X obj 244 83 s \$0-notify;
+#X connect 0 0 2 0;
+#X connect 0 0 32 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 3 0 29 0;
+#X connect 4 0 5 0;
+#X connect 6 0 8 0;
+#X connect 6 0 32 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 9 0 30 0;
+#X connect 10 0 11 0;
+#X connect 12 0 13 0;
+#X connect 12 0 31 0;
+#X connect 14 0 12 0;
+#X connect 14 0 31 0;
+#X connect 15 0 17 0;
+#X connect 15 0 31 0;
+#X connect 17 0 16 0;
+#X connect 17 0 31 0;
+#X connect 18 0 22 0;
+#X connect 18 0 28 0;
+#X connect 19 0 23 0;
+#X connect 19 0 27 0;
+#X connect 22 0 21 0;
+#X connect 23 0 20 0;
+#X connect 24 0 26 0;
+#X connect 24 0 27 0;
+#X connect 26 0 25 0;
+#X restore 34 147 pd morecommuns;
+#X obj 553 511 t b;
+#X obj 621 300 * 8;
+#X obj 586 72 t f f;
+#X obj 818 574 outlet;
+#X text 816 596 OSC outlet;
+#X obj 308 277 originator \$1 \$0;
+#X obj 415 303 s \$0-osc-outlet;
+#X obj 787 542 r \$0-osc-outlet;
+#X obj 191 527 bag;
+#X obj 204 490 pack 0 0;
+#X obj 184 377 r \$0-mute;
+#X obj 118 450 select 0 1;
+#X msg 129 499 clear;
+#X obj 306 522 spigot;
+#X obj 456 524 spigot;
+#X obj 216 411 t f f;
+#X obj 189 558 pack 0 0;
+#X obj 187 581 unpack 0 0;
+#X connect 0 0 83 1;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 0;
+#X connect 3 0 83 0;
+#X connect 4 0 83 0;
+#X connect 5 0 6 0;
+#X connect 7 0 5 0;
+#X connect 8 0 44 0;
+#X connect 9 0 11 0;
+#X connect 11 0 83 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 1;
+#X connect 14 0 92 0;
+#X connect 14 0 87 1;
+#X connect 15 0 17 0;
+#X connect 16 0 79 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 0;
+#X connect 18 1 17 1;
+#X connect 23 0 45 0;
+#X connect 23 0 87 0;
+#X connect 24 0 25 0;
+#X connect 25 0 23 1;
+#X connect 27 0 34 0;
+#X connect 27 1 14 0;
+#X connect 29 0 83 0;
+#X connect 30 0 29 0;
+#X connect 31 0 32 0;
+#X connect 32 0 33 0;
+#X connect 34 0 23 0;
+#X connect 35 0 30 0;
+#X connect 35 1 9 0;
+#X connect 36 0 43 0;
+#X connect 39 0 40 0;
+#X connect 40 0 83 0;
+#X connect 41 0 42 0;
+#X connect 42 0 83 0;
+#X connect 43 0 44 1;
+#X connect 44 0 80 0;
+#X connect 45 0 91 0;
+#X connect 46 0 45 1;
+#X connect 47 0 37 0;
+#X connect 48 0 50 0;
+#X connect 49 0 47 1;
+#X connect 50 0 51 0;
+#X connect 52 0 35 0;
+#X connect 53 0 83 0;
+#X connect 54 0 55 0;
+#X connect 55 0 56 0;
+#X connect 57 0 61 0;
+#X connect 58 0 59 0;
+#X connect 60 0 59 0;
+#X connect 61 0 60 0;
+#X connect 61 1 58 0;
+#X connect 63 0 66 0;
+#X connect 63 0 75 1;
+#X connect 64 0 66 1;
+#X connect 65 0 69 0;
+#X connect 66 0 68 0;
+#X connect 67 0 64 0;
+#X connect 68 0 62 0;
+#X connect 69 0 66 0;
+#X connect 69 1 64 0;
+#X connect 70 0 71 0;
+#X connect 71 0 73 0;
+#X connect 73 0 72 0;
+#X connect 75 0 66 0;
+#X connect 76 0 78 0;
+#X connect 78 0 75 0;
+#X connect 79 0 18 0;
+#X connect 80 0 47 0;
+#X connect 80 1 52 0;
+#X connect 83 1 27 0;
+#X connect 83 2 84 0;
+#X connect 85 0 81 0;
+#X connect 86 0 94 0;
+#X connect 87 0 86 0;
+#X connect 88 0 93 0;
+#X connect 89 0 86 0;
+#X connect 89 1 90 0;
+#X connect 90 0 86 0;
+#X connect 91 0 22 0;
+#X connect 92 0 10 0;
+#X connect 93 0 91 1;
+#X connect 93 0 92 1;
+#X connect 93 1 89 0;
+#X connect 94 0 95 0;
+#X connect 95 0 22 0;
+#X connect 95 1 10 0;
+#X restore 1001 133 pd settings;
+#X obj 1060 35 inlet;
+#X obj 15 168 hsl 64 15 0 127 0 0 \$0-svol \$0-svol volume 4 4 1 6
+-262144 -123526 -1 0 1;
+#X obj 963 214 outlet;
+#X obj 336 220 vsl 8 64 0 127 0 0 \$0-s9 \$0-s9 empty 0 -8 0 8 -233017
+-1 -1 0 1;
+#X obj 352 220 vsl 8 64 0 127 0 0 \$0-s10 \$0-s10 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 368 220 vsl 8 64 0 127 0 0 \$0-s11 \$0-s11 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 384 220 vsl 8 64 0 127 0 0 \$0-s12 \$0-s12 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 401 220 vsl 8 64 0 127 0 0 \$0-s13 \$0-s13 empty 0 -8 0 8 -233017
+-1 -1 0 1;
+#X obj 417 220 vsl 8 64 0 127 0 0 \$0-s14 \$0-s14 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 433 220 vsl 8 64 0 127 0 0 \$0-s15 \$0-s15 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 449 220 vsl 8 64 0 127 0 0 \$0-s16 \$0-s16 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 12 145 nbx 3 10 -1e+37 1e+37 0 0 \$0-preset \$0-preset preset
+0 -6 1 8 -233017 -1 -1 0 256;
+#X obj 12 117 hradio 10 1 0 10 \$0-preset-folder \$0-preset-folder-r
+preset-folder 0 -6 0 8 -233017 -1 -1 0;
+#X obj 12 64 hradio 10 0 0 10 \$0-preset-sel \$0-preset-sel-r preset-sel
+0 -6 0 8 -233017 -1 -1 0;
+#X obj 206 46 vradio 12 1 0 14 \$0-n1 \$0-n1 empty 0 -6 0 8 -166441
+-1 -1 0;
+#X obj 222 46 vradio 12 1 0 14 \$0-n2 \$0-n2 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 238 46 vradio 12 1 0 14 \$0-n3 \$0-n3 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 254 46 vradio 12 1 0 14 \$0-n4 \$0-n4 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 270 46 vradio 12 1 0 14 \$0-n5 \$0-n5 empty 0 -6 0 8 -233017
+-1 -1 0;
+#X obj 286 46 vradio 12 1 0 14 \$0-n6 \$0-n6 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 302 46 vradio 12 1 0 14 \$0-n7 \$0-n7 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 318 46 vradio 12 1 0 14 \$0-n8 \$0-n8 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 334 46 vradio 12 1 0 14 \$0-n9 \$0-n9 empty 0 -6 0 8 -233017
+-1 -1 0;
+#X obj 350 46 vradio 12 1 0 14 \$0-n10 \$0-n10 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 366 46 vradio 12 1 0 14 \$0-n11 \$0-n11 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 382 46 vradio 12 1 0 14 \$0-n12 \$0-n12 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 399 46 vradio 12 1 0 14 \$0-n13 \$0-n13 empty 0 -6 0 8 -233017
+-1 -1 0;
+#X obj 415 46 vradio 12 1 0 14 \$0-n14 \$0-n14 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 431 46 vradio 12 1 0 14 \$0-n15 \$0-n15 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 447 46 vradio 12 1 0 14 \$0-n16 \$0-n16 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 462 46 vradio 12 1 0 14 \$0-n17 \$0-n17 empty 0 -6 0 8 -166441
+-1 -1 0;
+#X obj 478 46 vradio 12 1 0 14 \$0-n18 \$0-n18 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 494 46 vradio 12 1 0 14 \$0-n19 \$0-n19 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 510 46 vradio 12 1 0 14 \$0-n20 \$0-n20 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 525 46 vradio 12 1 0 14 \$0-n21 \$0-n21 empty 0 -6 0 8 -233017
+-1 -1 0;
+#X obj 541 46 vradio 12 1 0 14 \$0-n22 \$0-n22 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 557 46 vradio 12 1 0 14 \$0-n23 \$0-n23 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 573 46 vradio 12 1 0 14 \$0-n24 \$0-n24 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 589 46 vradio 12 1 0 14 \$0-n25 \$0-n25 empty 0 -6 0 8 -233017
+-1 -1 0;
+#X obj 605 46 vradio 12 1 0 14 \$0-n26 \$0-n26 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 621 46 vradio 12 1 0 14 \$0-n27 \$0-n27 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 637 46 vradio 12 1 0 14 \$0-n28 \$0-n28 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 653 46 vradio 12 1 0 14 \$0-n29 \$0-n29 empty 0 -6 0 8 -233017
+-1 -1 0;
+#X obj 669 46 vradio 12 1 0 14 \$0-n30 \$0-n30 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 685 46 vradio 12 1 0 14 \$0-n31 \$0-n31 empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 701 46 vradio 12 1 0 14 \$0-n32 \$0-n32 empty 0 -6 0 8 -262144
+-1 -1 0;
+#N canvas 807 628 450 300 stuff 0;
+#X obj 74 170 s \$0-main-cnv;
+#X msg 77 89 vis_size \$1 \$2;
+#X obj 78 60 pack 0 0;
+#X obj 104 35 t b f;
+#X floatatom 76 18 5 0 0 0 - - -;
+#X floatatom 162 21 5 0 0 0 - - -;
+#X obj 75 136 spigot;
+#X obj 104 118 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 182 134 spigot;
+#X obj 218 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 181 168 s \$0-keyboard-cnv;
+#X obj 230 137 spigot;
+#X obj 266 105 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 304 168 s \$0-black-cnv;
+#X obj 304 134 spigot;
+#X obj 338 110 tgl 15 0 empty empty background 0 -6 0 8 -262144 -1
+-1 0 1;
+#X obj 328 155 s \$0-background;
+#X connect 1 0 6 0;
+#X connect 1 0 8 0;
+#X connect 1 0 11 0;
+#X connect 1 0 14 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 13 0;
+#X connect 12 0 11 1;
+#X connect 14 0 16 0;
+#X connect 15 0 14 1;
+#X restore 1001 258 pd stuff;
+#X obj 173 204 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 179 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 156 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 143 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 120 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 96 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 72 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 173 60 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -262144
+-66577 0;
+#X obj 165 192 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 164 168 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 165 131 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 165 109 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 165 84 cnv 7 23 8 empty \$0-black-cnv empty 20 12 0 14 -1 -66577
+0;
+#X obj 723 30 cnv 15 75 300 empty \$0-ctl-cnv ctl 20 10 0 10 -166441
+-66577 0;
+#X obj 136 66 vradio 12 1 0 10 \$0-octave \$0-octave oct 0 -6 0 8 -195568
+-1 -1 0;
+#X obj 130 199 nbx 3 10 0 9 0 0 \$0-octave \$0-octave oct 0 -6 1 8
+-233017 -1 -1 0 256;
+#N canvas 450 333 801 410 calc 0;
+#X obj 43 41 r \$0-resolution;
+#X obj 65 92 * 2;
+#X obj 38 208 s \$0-resolution-show;
+#X obj 42 66 int;
+#X obj 38 150 makefilename 1/%d;
+#X msg 35 176 label \$1;
+#X obj 72 120 expr pow(2 \, $f1);
+#X obj 361 158 s \$0-shifter;
+#X obj 358 127 f -1;
+#X obj 397 128 f 1;
+#X obj 397 50 r \$0-forward;
+#X obj 358 31 r \$0-backward;
+#X obj 318 182 s \$0-originator;
+#X msg 303 124 set;
+#X obj 399 78 t b b b;
+#X obj 446 109 s \$0-prepare-shift;
+#X obj 329 83 t b b b;
+#X connect 0 0 3 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 6 0 4 0;
+#X connect 8 0 7 0;
+#X connect 9 0 7 0;
+#X connect 10 0 14 0;
+#X connect 11 0 16 0;
+#X connect 13 0 12 0;
+#X connect 14 0 13 0;
+#X connect 14 1 9 0;
+#X connect 14 2 15 0;
+#X connect 16 0 13 0;
+#X connect 16 1 8 0;
+#X connect 16 2 15 0;
+#X restore 1008 238 pd calc;
+#X obj 737 200 cnv 15 45 15 empty \$0-resolution-show 1/4 1 8 0 10
+-233017 -66577 0;
+#X obj 464 220 vsl 8 64 0 127 0 0 \$0-s17 \$0-s17 empty 0 -8 0 8 -166441
+-1 -1 0 1;
+#X obj 479 220 vsl 8 64 0 127 0 0 \$0-s18 \$0-s18 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 496 220 vsl 8 64 0 127 0 0 \$0-s19 \$0-s19 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 512 220 vsl 8 64 0 127 0 0 \$0-s20 \$0-s20 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 528 220 vsl 8 64 0 127 0 0 \$0-s21 \$0-s21 empty 0 -8 0 8 -233017
+-1 -1 0 1;
+#X obj 545 220 vsl 8 64 0 127 0 0 \$0-s22 \$0-s22 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 560 220 vsl 8 64 0 127 0 0 \$0-s23 \$0-s23 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 576 220 vsl 8 64 0 127 0 0 \$0-s24 \$0-s24 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 592 220 vsl 8 64 0 127 0 0 \$0-s25 \$0-s25 empty 0 -8 0 8 -233017
+-1 -1 0 1;
+#X obj 608 220 vsl 8 64 0 127 0 0 \$0-s26 \$0-s26 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 624 220 vsl 8 64 0 127 0 0 \$0-s27 \$0-s27 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 640 220 vsl 8 64 0 127 0 0 \$0-s28 \$0-s28 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 656 220 vsl 8 64 0 127 0 0 \$0-s29 \$0-s29 empty 0 -8 0 8 -233017
+-1 -1 0 1;
+#X obj 672 220 vsl 8 64 0 127 0 0 \$0-s30 \$0-s30 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 689 220 vsl 8 64 0 127 0 0 \$0-s31 \$0-s31 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 705 220 vsl 8 64 0 127 0 0 \$0-s32 \$0-s32 empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 203 45 cnv 10 516 12 empty \$0-hide-cnv empty 20 8 0 14 -232237
+-66577 0;
+#X obj 963 59 r \$0-preset;
+#X obj 734 109 bng 20 250 50 0 \$0-reset \$0-reset rst 0 -6 0 8 -233017
+-1 -1;
+#N canvas 186 185 450 300 reset 0;
+#X obj 144 16 r \$0-reset;
+#X obj 23 111 until;
+#X obj 22 181 makefilename \$0-s%d;
+#X obj 19 71 t b b;
+#X obj 30 146 f 1;
+#X msg 76 110 1;
+#X obj 62 148 + 1;
+#X msg 20 91 31;
+#X obj 162 182 makefilename \$0-n%d;
+#X msg 163 208 \; \$1 0;
+#X msg 80 211 \; \$1 0;
+#X obj 137 94 s \$0-svol;
+#X msg 131 65 127;
+#X msg 220 64 31;
+#X obj 224 93 s \$0-last;
+#X msg 291 66 0;
+#X obj 295 94 s \$0-transpose;
+#X obj 338 156 loadbang;
+#X msg 335 175 1;
+#X obj 340 203 s \$0-mute;
+#X connect 0 0 3 0;
+#X connect 0 0 13 0;
+#X connect 0 0 15 0;
+#X connect 0 0 18 0;
+#X connect 1 0 4 0;
+#X connect 2 0 10 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 12 0;
+#X connect 4 0 6 0;
+#X connect 4 0 2 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 1;
+#X connect 7 0 1 0;
+#X connect 8 0 9 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 15 0 16 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X restore 1002 277 pd reset;
+#X obj 1027 216 outlet;
+#X obj 735 72 nbx 5 14 0 400 0 0 \$0-bpm \$0-bpm bpm 0 -6 0 8 -233017
+-1 -1 0 256;
+#X obj 862 120 s \$0-beat;
+#X obj 989 36 r \$0-beat;
+#X obj 205 292 hradio 16 0 0 32 \$0-last \$0-last last 0 8 0 8 -233017
+-1 -1 0;
+#X obj 205 310 hradio 16 0 0 32 \$0-show \$0-show empty 0 -6 0 8 -233017
+-1 -1 0;
+#X obj 746 228 bng 24 250 50 0 \$0-copy \$0-copy copy 0 -6 0 8 -225271
+-1 -1;
+#X obj 746 264 bng 24 250 50 0 \$0-paste \$0-paste paste 0 -6 0 8 -257472
+-1 -1;
+#X obj 130 222 nbx 3 10 -11 11 0 0 \$0-transpose \$0-transpose transp
+0 -6 1 8 -233017 -1 -1 0 256;
+#X obj 186 310 tgl 15 0 \$0-blinkenlights \$0-blinkenlights empty 0
+-6 0 8 -233017 -1 -1 1 1;
+#N canvas 586 27 218 188 tempomap 0;
+#X obj 30 11 inlet;
+#X obj 95 164 outlet;
+#X obj 75 13 r \$0-resolution;
+#X obj 30 116 nroute b1 1;
+#X obj 76 71 makefilename b%d;
+#X msg 76 95 \$1;
+#X obj 30 140 unpack s 0;
+#X obj 75 52 expr pow(2 \, $f1);
+#X obj 75 32 int;
+#X connect 0 0 3 0;
+#X connect 2 0 8 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 1;
+#X connect 6 1 1 0;
+#X connect 7 0 4 0;
+#X connect 8 0 7 0;
+#X restore 1017 89 pd tempomap;
+#N canvas 45 266 651 594 shuffle 0;
+#X obj 73 107 mod 2;
+#X obj 73 128 select 0 1;
+#X obj 82 315 f;
+#X obj 41 315 f;
+#X obj 55 369 outlet;
+#X obj 260 171 random 10;
+#X obj 260 202 * 0.001;
+#X obj 333 172 * 0.001;
+#X obj 96 239 delay 0;
+#X obj 164 277 delay 0;
+#X obj 155 18 r \$0-shuffle-value;
+#X obj 333 130 r \$0-random-value;
+#X obj 46 67 inlet;
+#X obj 414 176 > 0;
+#X obj 260 225 spigot;
+#X obj 415 210 select 0;
+#X msg 415 233 0;
+#X obj 244 250 + 0;
+#X obj 305 5 r \$0-bpm;
+#X obj 305 29 select 0;
+#X msg 305 51 120;
+#X obj 401 19 r \$0-resolution;
+#X obj 401 40 select 0;
+#X msg 401 62 1;
+#X obj 153 69 clip 0 100;
+#X obj 452 63 int;
+#X obj 305 75 expr 60000/$f1;
+#X obj 452 84 expr 1/pow(2 \, $f1);
+#X obj 479 140 *;
+#X obj 153 96 * 0.01;
+#X obj 228 132 *;
+#X obj 473 108 t b b f;
+#X obj 228 92 f 0;
+#X floatatom 271 283 5 0 0 0 - - -;
+#X obj 292 114 t b;
+#X msg 191 243 0;
+#X obj 247 377 t b;
+#X msg 244 400 0;
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 1 1 5 0;
+#X connect 1 1 9 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 6 0 14 0;
+#X connect 7 0 6 1;
+#X connect 8 0 3 0;
+#X connect 9 0 2 0;
+#X connect 10 0 24 0;
+#X connect 11 0 7 0;
+#X connect 11 0 13 0;
+#X connect 12 0 0 0;
+#X connect 12 0 2 1;
+#X connect 12 0 3 1;
+#X connect 13 0 14 1;
+#X connect 13 0 15 0;
+#X connect 14 0 17 1;
+#X connect 15 0 16 0;
+#X connect 16 0 17 1;
+#X connect 17 0 33 0;
+#X connect 17 0 9 1;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 19 1 26 0;
+#X connect 20 0 26 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 22 1 25 0;
+#X connect 23 0 31 0;
+#X connect 24 0 29 0;
+#X connect 25 0 27 0;
+#X connect 26 0 28 0;
+#X connect 26 0 34 0;
+#X connect 27 0 31 0;
+#X connect 28 0 30 1;
+#X connect 29 0 30 0;
+#X connect 29 0 32 1;
+#X connect 30 0 17 0;
+#X connect 31 0 32 0;
+#X connect 31 1 28 0;
+#X connect 31 2 28 1;
+#X connect 32 0 30 0;
+#X connect 34 0 32 0;
+#X connect 35 0 9 1;
+#X connect 35 0 8 1;
+#X connect 36 0 37 0;
+#X connect 37 0 9 1;
+#X restore 1019 111 pd shuffle;
+#X obj 69 268 nbx 3 10 0 100 0 0 \$0-shuffle-value \$0-shuffle-value
+s 0 -6 0 8 -195568 -1 -1 0 256;
+#X obj 18 269 nbx 4 10 0 1e+37 0 0 \$0-random-value \$0-random-value
+rand 0 -6 0 8 -195568 -1 -1 0 256;
+#X obj 745 301 tgl 24 0 \$0-mute \$0-mute play 2 -6 0 8 -24198 -1 -1
+1 1;
+#X symbolatom 12 206 10 0 0 2 name #0-memento-name-r -;
+#X obj 9 225 s \$0-memento-name;
+#X obj 1073 166 outlet;
+#X obj 125 239 cnv 15 75 60 empty empty shift 14 10 0 10 -166441 -66577
+0;
+#X obj 165 265 bng 20 250 50 0 \$0-forward empty > 5 10 0 14 -262131
+-225271 -1;
+#X obj 134 265 bng 20 250 50 0 \$0-backward empty < 4 10 0 14 -262131
+-225271 -1;
+#X obj 862 90 spigot;
+#X obj 884 45 r \$0-onoff;
+#X obj 1055 66 spigot;
+#X obj 1107 24 r \$0-onoff;
+#X obj 763 109 tgl 20 1 \$0-onoff \$0-onoff on 2 -6 0 8 -258699 -1
+-1 1 1;
+#X obj 736 160 hsl 48 15 0 5 0 0 \$0-resolution \$0-resolution resol
+-2 -6 0 8 -128992 -143491 -1 0 1;
+#X text 616 -1 look over there for logic =>;
+#X obj 1121 165 outlet;
+#X connect 13 0 121 0;
+#X connect 14 0 17 0;
+#X connect 14 1 100 0;
+#X connect 14 2 117 0;
+#X connect 14 3 128 0;
+#X connect 15 0 123 0;
+#X connect 97 0 14 0;
+#X connect 103 0 110 0;
+#X connect 110 0 111 0;
+#X connect 111 0 14 2;
+#X connect 115 0 116 0;
+#X connect 121 0 102 0;
+#X connect 122 0 121 1;
+#X connect 123 0 14 1;
+#X connect 124 0 123 1;
+#X coords 0 0 1 1 820 336 1;
diff --git a/control/rrad.pattseq.png b/control/rrad.pattseq.png
new file mode 100644
index 0000000..154c579
--- /dev/null
+++ b/control/rrad.pattseq.png
Binary files differ
diff --git a/control/rrad.playlist.pd b/control/rrad.playlist.pd
new file mode 100644
index 0000000..698c8fc
--- /dev/null
+++ b/control/rrad.playlist.pd
@@ -0,0 +1,151 @@
+#N canvas 221 49 1042 656 10;
+#X obj 2 32 cnv 15 330 160 empty empty empty 20 12 0 14 -261689 -66577
+0;
+#X obj 454 127 pool \$0-playlist;
+#X symbolatom 29 57 40 0 0 0 - #0-1 #0-o;
+#X obj 9 41 vradio 16 1 0 9 \$0-select \$0-select empty 0 -6 1728 8
+-225271 -1 -1 6;
+#X symbolatom 29 73 40 0 0 0 - #0-2 #0-o;
+#X symbolatom 29 90 40 0 0 0 - #0-3 #0-o;
+#X symbolatom 29 107 40 0 0 0 - #0-4 #0-o;
+#X symbolatom 29 123 40 0 0 0 - #0-5 #0-o;
+#X symbolatom 29 139 40 0 0 0 - #0-6 #0-o;
+#X symbolatom 29 155 40 0 0 0 - #0-7 #0-o;
+#X symbolatom 29 172 40 0 0 0 - #0-8 #0-o;
+#X obj 14 266 outlet;
+#X symbolatom 29 40 40 0 0 0 - #0-0 #0-o;
+#X obj 447 39 makefilename file-%d;
+#X floatatom 433 11 5 0 0 0 - - -;
+#X obj 425 74 pack 0 s;
+#X obj 402 32 t f f;
+#X obj 429 97 prepend set;
+#X msg 520 94 printroot;
+#X obj 650 86 int 0;
+#X obj 691 86 + 1;
+#X msg 630 31 9;
+#X obj 631 54 until;
+#X obj 371 369 print num;
+#X floatatom 357 69 5 0 0 0 - - -;
+#X msg 357 91 get \$1;
+#X obj 453 242 lister;
+#X msg 139 470 cntall;
+#X msg 509 243 set \$1;
+#X obj 455 275 prepend XXXX;
+#X obj 455 299 unpack 0 s;
+#X obj 458 369 makefilename \$0-%d;
+#X obj 458 395 pack s s;
+#X msg 458 417 \; \$1 set \$2;
+#X floatatom 238 228 5 0 0 0 offset - #0-offset;
+#X obj 520 336 stripdir;
+#X msg 593 108 reset;
+#X obj 149 227 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 149 246 openpanel;
+#X obj 149 268 t s b;
+#X obj 117 317 pack s 0;
+#X obj 177 291 int 0;
+#X obj 223 291 + 1;
+#X msg 219 266 0;
+#X msg 193 321 set \$2 \$1;
+#X obj 273 320 s \$0-play;
+#X obj 526 65 r \$0-play;
+#X obj 339 127 r \$0-select;
+#X msg 135 409 1;
+#X msg 182 409 0;
+#X msg 178 429 1;
+#X msg 128 432 0;
+#X obj 137 385 t b b b;
+#X obj 134 365 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 105 499 pool \$0-playlist;
+#X obj 131 553 print count;
+#X obj 10 191 bng 15 250 50 0 \$0-next empty empty 0 -6 1152 8 -262131
+-1 -1;
+#X obj 10 21 bng 15 250 50 0 \$0-prev empty empty 0 -6 1152 8 -262131
+-1 -1;
+#X obj 714 13 r \$0-prev;
+#X obj 819 40 r \$0-next;
+#X obj 633 261 int 0;
+#X obj 674 260 + 1;
+#X obj 740 164 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
+-1;
+#X obj 742 192 t b b b;
+#X floatatom 692 62 5 0 0 0 - - -;
+#X msg 748 216 0;
+#X obj 747 62 int 0;
+#X obj 788 61 + 1;
+#X obj 847 93 int 0;
+#X msg 802 10 0;
+#X obj 888 92 - 1;
+#X msg 524 167 save playlist.dat;
+#X obj 819 59 t b b b;
+#X obj 718 38 t b b b;
+#X connect 1 0 26 0;
+#X connect 1 1 28 0;
+#X connect 13 0 15 1;
+#X connect 14 0 16 0;
+#X connect 15 0 17 0;
+#X connect 16 0 15 0;
+#X connect 16 1 13 0;
+#X connect 17 0 1 0;
+#X connect 18 0 1 0;
+#X connect 19 0 20 0;
+#X connect 19 0 24 0;
+#X connect 20 0 19 1;
+#X connect 21 0 22 0;
+#X connect 22 0 19 0;
+#X connect 22 0 60 0;
+#X connect 24 0 25 0;
+#X connect 25 0 1 0;
+#X connect 26 0 29 0;
+#X connect 27 0 54 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 1 35 0;
+#X connect 31 0 32 0;
+#X connect 32 0 23 0;
+#X connect 32 0 33 0;
+#X connect 35 0 32 1;
+#X connect 36 0 1 0;
+#X connect 37 0 38 0;
+#X connect 38 0 39 0;
+#X connect 39 0 40 0;
+#X connect 39 1 41 0;
+#X connect 40 0 44 0;
+#X connect 41 0 42 0;
+#X connect 41 0 40 1;
+#X connect 42 0 41 1;
+#X connect 43 0 41 1;
+#X connect 44 0 45 0;
+#X connect 46 0 1 0;
+#X connect 47 0 24 0;
+#X connect 52 0 51 0;
+#X connect 52 1 27 0;
+#X connect 52 2 50 0;
+#X connect 53 0 52 0;
+#X connect 54 0 55 0;
+#X connect 58 0 73 0;
+#X connect 59 0 72 0;
+#X connect 60 0 61 0;
+#X connect 60 0 31 0;
+#X connect 61 0 60 1;
+#X connect 62 0 63 0;
+#X connect 63 0 21 0;
+#X connect 63 1 65 0;
+#X connect 63 2 64 0;
+#X connect 64 0 19 1;
+#X connect 65 0 60 1;
+#X connect 66 0 67 0;
+#X connect 66 0 64 0;
+#X connect 67 0 66 1;
+#X connect 68 0 70 0;
+#X connect 68 0 66 1;
+#X connect 69 0 68 1;
+#X connect 69 0 66 1;
+#X connect 69 0 64 0;
+#X connect 70 0 68 1;
+#X connect 71 0 1 0;
+#X connect 72 1 62 0;
+#X connect 72 2 68 0;
+#X connect 73 1 62 0;
+#X connect 73 2 66 0;
diff --git a/control/rrad.split~-help.pd b/control/rrad.split~-help.pd
new file mode 100644
index 0000000..cfe49fe
--- /dev/null
+++ b/control/rrad.split~-help.pd
@@ -0,0 +1,41 @@
+#N canvas 238 281 603 365 10;
+#X obj 101 111 rrad.split~ /bl;
+#X obj 114 235 env~;
+#X floatatom 112 260 5 0 0 0 - - -;
+#X obj 159 235 env~;
+#X floatatom 157 260 5 0 0 0 - - -;
+#X obj 100 86 osc~ 333;
+#X obj 209 233 env~;
+#X floatatom 207 258 5 0 0 0 - - -;
+#X obj 254 233 env~;
+#X floatatom 252 258 5 0 0 0 - - -;
+#X obj 297 234 env~;
+#X floatatom 295 259 5 0 0 0 - - -;
+#X obj 342 234 env~;
+#X floatatom 340 259 5 0 0 0 - - -;
+#X floatatom 343 64 5 0 0 0 remote-control - -;
+#X text 33 27 rrad.split~;
+#X text 136 28 splits a signal to up to 6 output channels;
+#X text 34 43 Also see: rrad.merge~;
+#X msg 343 82 /*/s4 \$1;
+#X obj 392 201 print OSC-out;
+#X floatatom 425 66 5 0 0 1 fade-time - -;
+#X msg 425 83 /bl/fade \$1;
+#X connect 0 0 1 0;
+#X connect 0 1 3 0;
+#X connect 0 2 6 0;
+#X connect 0 3 8 0;
+#X connect 0 4 10 0;
+#X connect 0 5 12 0;
+#X connect 0 6 19 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 5 0 0 0;
+#X connect 6 0 7 0;
+#X connect 8 0 9 0;
+#X connect 10 0 11 0;
+#X connect 12 0 13 0;
+#X connect 14 0 18 0;
+#X connect 18 0 0 1;
+#X connect 20 0 21 0;
+#X connect 21 0 0 1;
diff --git a/control/rrad.split~.pd b/control/rrad.split~.pd
new file mode 100644
index 0000000..669ce28
--- /dev/null
+++ b/control/rrad.split~.pd
@@ -0,0 +1,215 @@
+#N canvas 500 433 230 75 10;
+#X obj 2 14 cnv 15 225 55 empty \$0-background-cnv empty 20 12 1 14
+-261681 -66577 0;
+#X obj 695 2 inlet OSC;
+#N canvas 0 0 981 424 saves 0;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 507 86 r \$0-s1;
+#X obj 507 110 commun /s1 \$0;
+#X obj 606 86 r \$0-s2;
+#X obj 606 110 commun /s2 \$0;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X msg 15 91 setsub \$1;
+#X msg 249 184 svdir \$1;
+#X obj 250 139 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 250 163 savepanel;
+#X msg 108 214 svdir /tmp/svdir.dat;
+#X msg 78 241 lddir /tmp/svdir.dat;
+#X obj 152 189 outlet OSC;
+#X obj 606 135 s \$0-s2;
+#X obj 507 135 s \$0-s1;
+#X obj 707 85 r \$0-s3;
+#X obj 707 109 commun /s3 \$0;
+#X obj 707 134 s \$0-s3;
+#X obj 814 82 r \$0-s4;
+#X obj 814 106 commun /s4 \$0;
+#X obj 814 131 s \$0-s4;
+#X obj 509 168 r \$0-s5;
+#X obj 509 217 s \$0-s5;
+#X obj 509 192 commun /s5 \$0;
+#X obj 617 165 r \$0-s6;
+#X obj 617 189 commun /s6 \$0;
+#X obj 617 214 s \$0-s6;
+#X obj 552 294 commun /fade \$0;
+#X obj 554 273 r \$0-fade;
+#X obj 551 317 s \$0-fade;
+#X obj 483 276 loadbang;
+#X msg 483 299 100;
+#X connect 0 2 21 0;
+#X connect 1 0 0 1;
+#X connect 2 0 3 0;
+#X connect 3 0 23 0;
+#X connect 4 0 5 0;
+#X connect 5 0 22 0;
+#X connect 6 0 15 0;
+#X connect 7 0 8 0;
+#X connect 8 0 15 0;
+#X connect 8 1 0 0;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 11 0 12 0;
+#X connect 12 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 17 0 18 0;
+#X connect 18 0 16 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
+#X connect 30 0 32 0;
+#X connect 32 0 31 0;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 36 0 38 0;
+#X connect 37 0 36 0;
+#X connect 39 0 40 0;
+#X connect 40 0 38 0;
+#X restore 654 34 pd saves;
+#N canvas 569 61 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 343 1 pd cnv.ctl;
+#X text 184 2 look! ==>;
+#X obj 654 59 outlet OSC;
+#X obj 292 2 inlet~;
+#N canvas 731 258 450 300 matrix 0;
+#X obj 41 248 outlet~;
+#X obj 99 249 outlet~;
+#X obj 62 12 inlet~;
+#X obj 103 119 r \$0-matrix;
+#X obj 123 169 s \$0-matrix-out;
+#N canvas 0 0 1131 346 set_elements 0;
+#X msg 102 137 element 1 1 \$1;
+#X msg 265 148 element 1 2 \$1;
+#X obj 236 116 t b f;
+#X obj 65 118 t b f;
+#X obj 67 88 * 0.00781;
+#X obj 236 91 * 0.00781;
+#X obj 62 62 r \$0-s1;
+#X obj 235 67 r \$0-s2;
+#X obj 66 161 s \$0-matrix;
+#X obj 223 181 s \$0-matrix;
+#X obj 418 119 t b f;
+#X obj 418 94 * 0.00781;
+#X obj 405 184 s \$0-matrix;
+#X obj 593 128 t b f;
+#X obj 593 103 * 0.00781;
+#X obj 580 193 s \$0-matrix;
+#X obj 758 134 t b f;
+#X obj 758 109 * 0.00781;
+#X obj 745 199 s \$0-matrix;
+#X msg 446 151 element 1 3 \$1;
+#X msg 622 160 element 1 4 \$1;
+#X msg 787 166 element 1 5 \$1;
+#X obj 912 135 t b f;
+#X obj 912 110 * 0.00781;
+#X obj 899 200 s \$0-matrix;
+#X msg 941 166 element 1 6 \$1;
+#X obj 911 86 r \$0-s6;
+#X obj 757 85 r \$0-s5;
+#X obj 592 79 r \$0-s4;
+#X obj 417 70 r \$0-s3;
+#X connect 0 0 8 0;
+#X connect 1 0 9 0;
+#X connect 2 0 9 0;
+#X connect 2 1 1 0;
+#X connect 3 0 8 0;
+#X connect 3 1 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 4 0;
+#X connect 7 0 5 0;
+#X connect 10 0 12 0;
+#X connect 10 1 19 0;
+#X connect 11 0 10 0;
+#X connect 13 0 15 0;
+#X connect 13 1 20 0;
+#X connect 14 0 13 0;
+#X connect 16 0 18 0;
+#X connect 16 1 21 0;
+#X connect 17 0 16 0;
+#X connect 19 0 12 0;
+#X connect 20 0 15 0;
+#X connect 21 0 18 0;
+#X connect 22 0 24 0;
+#X connect 22 1 25 0;
+#X connect 23 0 22 0;
+#X connect 25 0 24 0;
+#X connect 26 0 23 0;
+#X connect 27 0 17 0;
+#X connect 28 0 14 0;
+#X connect 29 0 11 0;
+#X restore 144 21 pd set_elements;
+#X obj 63 209 matrix~ 1 6 100;
+#X obj 103 147 matrix 1 6;
+#X obj 158 249 outlet~;
+#X obj 216 250 outlet~;
+#X obj 278 252 outlet~;
+#X obj 336 253 outlet~;
+#X obj 193 200 r \$0-fade;
+#X connect 2 0 6 0;
+#X connect 3 0 7 0;
+#X connect 6 0 0 0;
+#X connect 6 1 1 0;
+#X connect 6 2 8 0;
+#X connect 6 3 9 0;
+#X connect 6 4 10 0;
+#X connect 6 5 11 0;
+#X connect 7 0 4 0;
+#X connect 7 0 6 1;
+#X connect 12 0 6 2;
+#X restore 337 26 pd matrix;
+#X obj 276 60 outlet~;
+#X obj 334 61 outlet~;
+#X obj 16 29 vsl 15 32 0 127 0 0 \$0-s1 \$0-s1 s1 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 44 29 vsl 15 32 0 127 0 0 \$0-s2 \$0-s2 s2 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 73 29 vsl 15 32 0 127 0 0 \$0-s3 \$0-s3 s3 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 102 29 vsl 15 32 0 127 0 0 \$0-s4 \$0-s4 s4 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 133 29 vsl 15 32 0 127 0 0 \$0-s5 \$0-s5 s5 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 162 29 vsl 15 32 0 127 0 0 \$0-s6 \$0-s6 s6 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 405 63 outlet~;
+#X obj 463 64 outlet~;
+#X obj 525 66 outlet~;
+#X obj 583 67 outlet~;
+#X obj 188 40 nbx 3 12 0 1e+37 0 0 \$0-fade \$0-fade fade 0 -6 0 8
+-233017 -1 -1 0 256;
+#X connect 1 0 2 1;
+#X connect 2 0 5 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 7 2 16 0;
+#X connect 7 3 17 0;
+#X connect 7 4 18 0;
+#X connect 7 5 19 0;
+#X coords 0 0 1 1 227 70 1;
diff --git a/control/rradseq.dat b/control/rradseq.dat
new file mode 100644
index 0000000..2117301
--- /dev/null
+++ b/control/rradseq.dat
@@ -0,0 +1,422 @@
+/m 0 , /bpm , 90
+/test2 0 , /n1 , 1
+/test2 0 , /n32 , 1
+/test2 0 , /transp , 0
+/test2 0 , /oct , 5
+/test2 0 , /last , 31
+/test2 0 , /n28 , 1
+/test2 0 , /n30 , 13
+/test2 0 , /n24 , 13
+/test2 0 , /s16 , 38.3016
+/test2 0 , /n26 , 13
+/test2 0 , /s14 , 40.3175
+/test2 0 , /n20 , 13
+/test2 0 , /resol , 2.03226
+/test2 0 , /s12 , 92.7302
+/test2 0 , /n22 , 13
+/test2 0 , /s10 , 0
+/test2 0 , /n16 , 1
+/test2 0 , /s9 , 82.6508
+/test2 0 , /n18 , 13
+/test2 0 , /s7 , 78.619
+/test2 0 , /n12 , 13
+/test2 0 , /s5 , 78.619
+/test2 0 , /n14 , 1
+/test2 0 , /s3 , 80.6349
+/test2 0 , /n8 , 13
+/test2 0 , /s1 , 82.6508
+/test2 0 , /n10 , 13
+/test2 0 , /s15 , 68.5397
+/test2 0 , /svol , 127
+/test2 0 , /n4 , 13
+/test2 0 , /n6 , 1
+/test2 0 , /n2 , 13
+/test2 0 , /s29 , 0
+/test2 0 , /s28 , 62.4921
+/test2 0 , /s27 , 60.4762
+/test2 0 , /s26 , 0
+/test2 0 , /s25 , 0
+/test2 0 , /s24 , 0
+/test2 0 , /s23 , 0
+/test2 0 , /s , 32
+/test2 0 , /s22 , 0
+/test2 0 , /n31 , 1
+/test2 0 , /s21 , 0
+/test2 0 , /s20 , 0
+/test2 0 , /n27 , 1
+/test2 0 , /s19 , 0
+/test2 0 , /n29 , 13
+/test2 0 , /s18 , 0
+/test2 0 , /n23 , 13
+/test2 0 , /s17 , 60.4762
+/test2 0 , /n25 , 13
+/test2 0 , /n19 , 13
+/test2 0 , /s13 , 68.5397
+/test2 0 , /n21 , 13
+/test2 0 , /s11 , 74.5873
+/test2 0 , /n15 , 1
+/test2 0 , /rand , 97
+/test2 0 , /s8 , 0
+/test2 0 , /n17 , 1
+/test2 0 , /s6 , 46.3651
+/test2 0 , /n11 , 13
+/test2 0 , /s4 , 0
+/test2 0 , /n13 , 1
+/test2 0 , /s2 , 0
+/test2 0 , /n7 , 13
+/test2 0 , /n9 , 1
+/test2 0 , /n3 , 13
+/test2 0 , /n5 , 1
+/test2 0 , /s32 , 82.6508
+/test2 0 , /s31 , 74.5873
+/test2 0 , /play , 1
+/test2 0 , /s30 , 0
+/test2 1 , /n1 , 13
+/test2 1 , /n32 , 13
+/test2 1 , /transp , 0
+/test2 1 , /last , 31
+/test2 1 , /n28 , 13
+/test2 1 , /n30 , 13
+/test2 1 , /n24 , 13
+/test2 1 , /s16 , 0
+/test2 1 , /n26 , 13
+/test2 1 , /s14 , 0
+/test2 1 , /n20 , 13
+/test2 1 , /resol , 0
+/test2 1 , /s12 , 0
+/test2 1 , /n22 , 13
+/test2 1 , /s10 , 0
+/test2 1 , /n16 , 13
+/test2 1 , /s9 , 0
+/test2 1 , /n18 , 13
+/test2 1 , /s7 , 0
+/test2 1 , /n12 , 13
+/test2 1 , /s5 , 0
+/test2 1 , /n14 , 13
+/test2 1 , /s3 , 0
+/test2 1 , /n8 , 13
+/test2 1 , /s1 , 0
+/test2 1 , /n10 , 13
+/test2 1 , /s15 , 0
+/test2 1 , /svol , 127
+/test2 1 , /n4 , 13
+/test2 1 , /n6 , 13
+/test2 1 , /n2 , 13
+/test2 1 , /s29 , 0
+/test2 1 , /s28 , 0
+/test2 1 , /s27 , 0
+/test2 1 , /s26 , 0
+/test2 1 , /s25 , 0
+/test2 1 , /s24 , 0
+/test2 1 , /s23 , 0
+/test2 1 , /s22 , 0
+/test2 1 , /n31 , 13
+/test2 1 , /s21 , 0
+/test2 1 , /s20 , 0
+/test2 1 , /n27 , 13
+/test2 1 , /s19 , 0
+/test2 1 , /n29 , 13
+/test2 1 , /s18 , 0
+/test2 1 , /n23 , 13
+/test2 1 , /s17 , 0
+/test2 1 , /n25 , 13
+/test2 1 , /n19 , 13
+/test2 1 , /s13 , 0
+/test2 1 , /n21 , 13
+/test2 1 , /s11 , 0
+/test2 1 , /n15 , 13
+/test2 1 , /s8 , 0
+/test2 1 , /n17 , 13
+/test2 1 , /s6 , 0
+/test2 1 , /n11 , 13
+/test2 1 , /s4 , 0
+/test2 1 , /n13 , 13
+/test2 1 , /s2 , 0
+/test2 1 , /n7 , 13
+/test2 1 , /n9 , 13
+/test2 1 , /n3 , 13
+/test2 1 , /n5 , 13
+/test2 1 , /s32 , 0
+/test2 1 , /s31 , 0
+/test2 1 , /s30 , 0
+/test 0 , /n1 , 0
+/test 0 , /n32 , 0
+/test 0 , /oct , 5
+/test 0 , /last , 31
+/test 0 , /n28 , 13
+/test 0 , /n30 , 1
+/test 0 , /n24 , 2
+/test 0 , /s16 , 84.6667
+/test 0 , /n26 , 13
+/test 0 , /s14 , 118.937
+/test 0 , /n20 , 1
+/test 0 , /resol , 2.03226
+/test 0 , /s12 , 76.6032
+/test 0 , /n22 , 13
+/test 0 , /s10 , 0
+/test 0 , /n16 , 1
+/test 0 , /s9 , 122.968
+/test 0 , /n18 , 13
+/test 0 , /s7 , 96.7619
+/test 0 , /n12 , 2
+/test 0 , /s5 , 127
+/test 0 , /n14 , 0
+/test 0 , /s3 , 96.7619
+/test 0 , /n8 , 1
+/test 0 , /s1 , 120.952
+/test 0 , /n10 , 13
+/test 0 , /s15 , 76.6032
+/test 0 , /svol , 127
+/test 0 , /n4 , 1
+/test 0 , /n6 , 1
+/test 0 , /n2 , 1
+/test 0 , /s29 , 110.873
+/test 0 , /s28 , 0
+/test 0 , /s27 , 52.4127
+/test 0 , /s26 , 0
+/test 0 , /s25 , 112.889
+/test 0 , /s24 , 92.7302
+/test 0 , /s23 , 40.3175
+/test 0 , /s , 33
+/test 0 , /s22 , 0
+/test 0 , /n31 , 1
+/test 0 , /s21 , 82.6508
+/test 0 , /s20 , 70.5556
+/test 0 , /n27 , 2
+/test 0 , /s19 , 110.873
+/test 0 , /n29 , 0
+/test 0 , /s18 , 0
+/test 0 , /n23 , 1
+/test 0 , /s17 , 80.6349
+/test 0 , /n25 , 0
+/test 0 , /n19 , 1
+/test 0 , /s13 , 36.2857
+/test 0 , /n21 , 0
+/test 0 , /s11 , 114.905
+/test 0 , /n15 , 1
+/test 0 , /s8 , 46.3651
+/test 0 , /n17 , 2
+/test 0 , /s6 , 60.4762
+/test 0 , /n11 , 1
+/test 0 , /s4 , 74.5873
+/test 0 , /n13 , 0
+/test 0 , /s2 , 66.5238
+/test 0 , /n7 , 1
+/test 0 , /n9 , 0
+/test 0 , /n3 , 2
+/test 0 , /n5 , 2
+/test 0 , /s32 , 0
+/test 0 , /s31 , 64.5079
+/test 0 , /play , 1
+/test 0 , /s30 , 64.5079
+/test 2 , /n1 , 0
+/test 2 , /n32 , 13
+/test 2 , /oct , 5
+/test 2 , /last , 31
+/test 2 , /n28 , 13
+/test 2 , /n30 , 13
+/test 2 , /n24 , 13
+/test 2 , /s16 , 0
+/test 2 , /n26 , 13
+/test 2 , /s14 , 0
+/test 2 , /n20 , 13
+/test 2 , /resol , 2.25806
+/test 2 , /s12 , 0
+/test 2 , /n22 , 13
+/test 2 , /s10 , 38.3016
+/test 2 , /n16 , 13
+/test 2 , /s9 , 60.4762
+/test 2 , /n18 , 13
+/test 2 , /s7 , 0
+/test 2 , /n12 , 13
+/test 2 , /s5 , 74.5873
+/test 2 , /n14 , 13
+/test 2 , /s3 , 0
+/test 2 , /n8 , 13
+/test 2 , /s1 , 76.6032
+/test 2 , /n10 , 13
+/test 2 , /s15 , 58.4603
+/test 2 , /svol , 127
+/test 2 , /n4 , 13
+/test 2 , /n6 , 13
+/test 2 , /n2 , 13
+/test 2 , /s29 , 66.5238
+/test 2 , /s28 , 0
+/test 2 , /s27 , 80.6349
+/test 2 , /s26 , 0
+/test 2 , /s25 , 68.5397
+/test 2 , /s24 , 0
+/test 2 , /s23 , 76.6032
+/test 2 , /s , 30
+/test 2 , /s22 , 0
+/test 2 , /n31 , 13
+/test 2 , /s21 , 58.4603
+/test 2 , /s20 , 0
+/test 2 , /n27 , 13
+/test 2 , /s19 , 0
+/test 2 , /n29 , 0
+/test 2 , /s18 , 56.4444
+/test 2 , /n23 , 13
+/test 2 , /s17 , 70.5556
+/test 2 , /n25 , 0
+/test 2 , /n19 , 13
+/test 2 , /s13 , 92.7302
+/test 2 , /n21 , 0
+/test 2 , /s11 , 66.5238
+/test 2 , /n15 , 13
+/test 2 , /rand , 0
+/test 2 , /s8 , 0
+/test 2 , /n17 , 0
+/test 2 , /s6 , 0
+/test 2 , /n11 , 13
+/test 2 , /s4 , 0
+/test 2 , /n13 , 0
+/test 2 , /s2 , 0
+/test 2 , /n7 , 13
+/test 2 , /n9 , 0
+/test 2 , /n3 , 13
+/test 2 , /n5 , 0
+/test 2 , /s32 , 92.7302
+/test 2 , /s31 , 48.381
+/test 2 , /play , 1
+/test 2 , /s30 , 84.6667
+/test 3 , /n1 , 0
+/test 3 , /n32 , 0
+/test 3 , /oct , 5
+/test 3 , /last , 31
+/test 3 , /n28 , 13
+/test 3 , /n30 , 0
+/test 3 , /n24 , 13
+/test 3 , /s16 , 60.4762
+/test 3 , /n26 , 13
+/test 3 , /s14 , 0
+/test 3 , /n20 , 13
+/test 3 , /resol , 0
+/test 3 , /s12 , 0
+/test 3 , /n22 , 13
+/test 3 , /s10 , 38.3016
+/test 3 , /n16 , 1
+/test 3 , /s9 , 60.4762
+/test 3 , /n18 , 2
+/test 3 , /s7 , 70.5556
+/test 3 , /n12 , 13
+/test 3 , /s5 , 74.5873
+/test 3 , /n14 , 13
+/test 3 , /s3 , 78.619
+/test 3 , /n8 , 13
+/test 3 , /s1 , 76.6032
+/test 3 , /n10 , 1
+/test 3 , /s15 , 58.4603
+/test 3 , /svol , 127
+/test 3 , /n4 , 13
+/test 3 , /n6 , 13
+/test 3 , /n2 , 1
+/test 3 , /s29 , 66.5238
+/test 3 , /s28 , 0
+/test 3 , /s27 , 80.6349
+/test 3 , /s26 , 0
+/test 3 , /s25 , 68.5397
+/test 3 , /s24 , 0
+/test 3 , /s23 , 76.6032
+/test 3 , /s22 , 0
+/test 3 , /n31 , 0
+/test 3 , /s21 , 58.4603
+/test 3 , /s20 , 0
+/test 3 , /n27 , 1
+/test 3 , /s19 , 0
+/test 3 , /n29 , 0
+/test 3 , /s18 , 56.4444
+/test 3 , /n23 , 1
+/test 3 , /s17 , 70.5556
+/test 3 , /n25 , 0
+/test 3 , /n19 , 13
+/test 3 , /s13 , 92.7302
+/test 3 , /n21 , 0
+/test 3 , /s11 , 66.5238
+/test 3 , /n15 , 2
+/test 3 , /s8 , 0
+/test 3 , /n17 , 0
+/test 3 , /s6 , 0
+/test 3 , /n11 , 1
+/test 3 , /s4 , 0
+/test 3 , /n13 , 0
+/test 3 , /s2 , 14.1111
+/test 3 , /n7 , 1
+/test 3 , /n9 , 0
+/test 3 , /n3 , 1
+/test 3 , /n5 , 0
+/test 3 , /s32 , 92.7302
+/test 3 , /s31 , 48.381
+/test 3 , /play , 1
+/test 3 , /s30 , 84.6667
+/test 1 , /n1 , 0
+/test 1 , /n32 , 0
+/test 1 , /oct , 5
+/test 1 , /last , 31
+/test 1 , /n28 , 2
+/test 1 , /n30 , 0
+/test 1 , /n24 , 13
+/test 1 , /s16 , 28.2222
+/test 1 , /n26 , 1
+/test 1 , /s14 , 104.825
+/test 1 , /n20 , 1
+/test 1 , /resol , 2.25806
+/test 1 , /s12 , 24.1905
+/test 1 , /n22 , 13
+/test 1 , /s10 , 38.3016
+/test 1 , /n16 , 2
+/test 1 , /s9 , 60.4762
+/test 1 , /n18 , 2
+/test 1 , /s7 , 70.5556
+/test 1 , /n12 , 1
+/test 1 , /s5 , 74.5873
+/test 1 , /n14 , 0
+/test 1 , /s3 , 78.619
+/test 1 , /n8 , 0
+/test 1 , /s1 , 76.6032
+/test 1 , /n10 , 1
+/test 1 , /s15 , 54.4286
+/test 1 , /svol , 127
+/test 1 , /n4 , 1
+/test 1 , /n6 , 2
+/test 1 , /n2 , 1
+/test 1 , /s29 , 66.5238
+/test 1 , /s28 , 8.06349
+/test 1 , /s27 , 68.5397
+/test 1 , /s26 , 36.2857
+/test 1 , /s25 , 68.5397
+/test 1 , /s24 , 78.619
+/test 1 , /s23 , 68.5397
+/test 1 , /s , 33
+/test 1 , /s22 , 50.3968
+/test 1 , /n31 , 0
+/test 1 , /s21 , 68.5397
+/test 1 , /s20 , 50.3968
+/test 1 , /n27 , 1
+/test 1 , /s19 , 24.1905
+/test 1 , /n29 , 0
+/test 1 , /s18 , 14.1111
+/test 1 , /n23 , 1
+/test 1 , /s17 , 70.5556
+/test 1 , /n25 , 0
+/test 1 , /n19 , 1
+/test 1 , /s13 , 20.1587
+/test 1 , /n21 , 0
+/test 1 , /s11 , 66.5238
+/test 1 , /n15 , 2
+/test 1 , /rand , 0
+/test 1 , /s8 , 16.127
+/test 1 , /n17 , 0
+/test 1 , /s6 , 32.254
+/test 1 , /n11 , 1
+/test 1 , /s4 , 58.4603
+/test 1 , /n13 , 2
+/test 1 , /s2 , 14.1111
+/test 1 , /n7 , 1
+/test 1 , /n9 , 0
+/test 1 , /n3 , 2
+/test 1 , /n5 , 0
+/test 1 , /s32 , 92.7302
+/test 1 , /s31 , 48.381
+/test 1 , /play , 1
+/test 1 , /s30 , 84.6667
diff --git a/control/rreq-tester.pd b/control/rreq-tester.pd
new file mode 100644
index 0000000..d5e9446
--- /dev/null
+++ b/control/rreq-tester.pd
@@ -0,0 +1,105 @@
+#N canvas 120 260 1065 551 10;
+#X obj 41 6 careGUI;
+#X obj 45 479 dumpOSC 3000;
+#X msg 86 451 disconnect;
+#X msg 167 452 connect localhost 3000;
+#X obj 352 488 sendOSC;
+#X obj 233 123 r osc;
+#X obj 47 504 s osc;
+#X obj 437 124 r osc;
+#X obj 642 124 r osc;
+#X obj 512 6 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 547 35 counter 0 15;
+#X floatatom 547 92 5 0 0 0 - - -;
+#X obj 545 7 metro 200;
+#X obj 547 111 s beat;
+#X obj 40 150 rreq16 /snare;
+#N canvas 0 0 1062 593 sounds 0;
+#X obj 32 38 angriff snare.txt;
+#X obj 206 38 angriff bass.txt;
+#X obj 380 38 angriff hihat.txt;
+#X obj 284 441 outlet~;
+#X obj 38 16 inlet;
+#X obj 193 13 inlet;
+#X obj 381 13 inlet;
+#X obj 561 7 inlet;
+#X obj 550 38 angriff clap.txt;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 4 0 0 0;
+#X connect 5 0 1 0;
+#X connect 6 0 2 0;
+#X connect 7 0 8 0;
+#X connect 8 0 3 0;
+#X restore 40 273 pd sounds;
+#X obj 851 124 r osc;
+#X obj 42 296 ezdac~;
+#X floatatom 378 411 5 0 0 0 - - -;
+#X obj 376 433 modder /snare;
+#X floatatom 482 410 5 0 0 0 - - -;
+#X floatatom 627 407 5 0 0 0 - - -;
+#X floatatom 730 407 5 0 0 0 - - -;
+#X obj 480 432 modder /bassdrum;
+#X obj 625 429 modder /hihat;
+#X obj 728 429 modder /clap;
+#X obj 40 125 r beat;
+#X obj 275 123 r beat;
+#X obj 479 124 r beat;
+#X obj 685 124 r beat;
+#X obj 167 400 netcontrol /* preset;
+#X obj 449 151 rreq16 /hihat;
+#X obj 244 151 rreq16 /bassdrum;
+#X obj 658 151 rreq16 /clap;
+#X obj 546 54 swingit;
+#X obj 816 367 netcontrol /hihat;
+#X obj 817 330 makefilename s%d;
+#X floatatom 982 326 5 0 0 0 - - -;
+#X obj 721 291 ctlin;
+#X obj 719 317 pack 0 0 0;
+#X msg 717 339 \$3 \$2 \$1;
+#X obj 825 285 route 1;
+#X obj 821 311 unpack 0 0;
+#X connect 1 0 6 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 5 0 14 1;
+#X connect 7 0 32 1;
+#X connect 8 0 31 1;
+#X connect 9 0 12 0;
+#X connect 10 0 34 0;
+#X connect 11 0 13 0;
+#X connect 12 0 10 0;
+#X connect 14 0 15 0;
+#X connect 15 0 17 0;
+#X connect 15 0 17 1;
+#X connect 16 0 33 1;
+#X connect 18 0 19 0;
+#X connect 19 0 4 0;
+#X connect 20 0 23 0;
+#X connect 21 0 24 0;
+#X connect 22 0 25 0;
+#X connect 23 0 4 0;
+#X connect 24 0 4 0;
+#X connect 25 0 4 0;
+#X connect 26 0 14 0;
+#X connect 27 0 32 0;
+#X connect 28 0 31 0;
+#X connect 29 0 33 0;
+#X connect 30 0 4 0;
+#X connect 31 0 15 2;
+#X connect 32 0 15 1;
+#X connect 33 0 15 3;
+#X connect 34 0 11 0;
+#X connect 35 0 4 0;
+#X connect 36 0 35 0;
+#X connect 37 0 35 1;
+#X connect 38 0 39 0;
+#X connect 38 1 39 1;
+#X connect 38 2 39 2;
+#X connect 39 0 40 0;
+#X connect 40 0 41 0;
+#X connect 41 0 42 0;
+#X connect 42 0 36 0;
+#X connect 42 1 37 0;
diff --git a/control/rreq16.pd b/control/rreq16.pd
new file mode 100644
index 0000000..6afc78b
--- /dev/null
+++ b/control/rreq16.pd
@@ -0,0 +1,168 @@
+#N canvas 102 336 999 337 10;
+#X obj 51 103 vsl 8 64 0 127 0 0 \$0-s1 \$0-s1 empty 0 -8 1728 8 -233017
+-1 -1 2100 1;
+#X obj 100 103 vsl 8 64 0 127 0 0 \$0-s2 \$0-s2 empty 0 -8 1728 8 -262144
+-1 -1 1300 1;
+#X obj 150 103 vsl 8 64 0 127 0 0 \$0-s3 \$0-s3 empty 0 -8 1728 8 -262144
+-1 -1 600 1;
+#X obj 200 103 vsl 8 64 0 127 0 0 \$0-s4 \$0-s4 empty 0 -8 1728 8 -262144
+-1 -1 400 1;
+#X obj 252 103 vsl 8 64 0 127 0 0 \$0-s5 \$0-s5 empty 0 -8 1728 8 -233017
+-1 -1 0 1;
+#X obj 303 102 vsl 8 64 0 127 0 0 \$0-s6 \$0-s6 empty 0 -8 1728 8 -262144
+-1 -1 0 1;
+#X obj 353 103 vsl 8 64 0 127 0 0 \$0-s7 \$0-s7 empty 0 -8 1728 8 -262144
+-1 -1 0 1;
+#X obj 404 103 vsl 8 64 0 127 0 0 \$0-s8 \$0-s8 empty 0 -8 1728 8 -262144
+-1 -1 0 1;
+#X obj 837 32 inlet;
+#N canvas 56 21 801 470 settings 0;
+#X obj 250 22 s \$0-s1;
+#X obj 150 22 r \$0-s1;
+#X obj 250 44 s \$0-s2;
+#X obj 150 44 r \$0-s2;
+#X obj 250 66 s \$0-s3;
+#X obj 150 66 r \$0-s3;
+#X obj 250 88 s \$0-s4;
+#X obj 150 88 r \$0-s4;
+#X obj 250 110 s \$0-s5;
+#X obj 150 110 r \$0-s5;
+#X obj 250 132 s \$0-s6;
+#X obj 150 132 r \$0-s6;
+#X obj 250 154 s \$0-s7;
+#X obj 150 154 r \$0-s7;
+#X obj 250 176 s \$0-s8;
+#X obj 150 176 r \$0-s8;
+#X obj 250 198 s \$0-s9;
+#X obj 150 198 r \$0-s9;
+#X obj 250 220 s \$0-s10;
+#X obj 150 220 r \$0-s10;
+#X obj 250 242 s \$0-s11;
+#X obj 150 242 r \$0-s11;
+#X obj 250 264 s \$0-s12;
+#X obj 150 264 r \$0-s12;
+#X obj 250 286 s \$0-s13;
+#X obj 150 286 r \$0-s13;
+#X obj 250 308 s \$0-s14;
+#X obj 150 308 r \$0-s14;
+#X obj 0 330 commun /s15 \$0;
+#X obj 250 330 s \$0-s15;
+#X obj 150 330 r \$0-s15;
+#X obj 402 256 originator \$1 \$0;
+#X obj 509 146 inlet;
+#X obj 389 171 inlet;
+#X obj 389 210 t b f;
+#X msg 419 232 substate \$1;
+#X msg 387 233 set;
+#X obj 167 398 r \$0-svol;
+#X obj 267 398 s \$0-svol;
+#X obj 0 22 commun /s1 \$0;
+#X obj 0 44 commun /s2 \$0;
+#X obj 0 66 commun /s3 \$0;
+#X obj 0 88 commun /s4 \$0;
+#X obj 0 110 commun /s5 \$0;
+#X obj 0 132 commun /s6 \$0;
+#X obj 0 154 commun /s7 \$0;
+#X obj 0 176 commun /s8 \$0;
+#X obj 0 198 commun /s9 \$0;
+#X obj 0 220 commun /s10 \$0;
+#X obj 0 242 commun /s11 \$0;
+#X obj 0 264 commun /s12 \$0;
+#X obj 0 286 commun /s13 \$0;
+#X obj 0 308 commun /s14 \$0;
+#X obj 17 398 commun /svol \$0;
+#X obj 345 100 OSCroute /preset;
+#X obj 345 130 s \$0-preset;
+#X obj 345 76 r \$0-RRADICAL-OSC;
+#X obj 253 352 s \$0-s16;
+#X obj 152 352 r \$0-s16;
+#X obj 2 352 commun /s16 \$0;
+#X obj 592 64 inlet;
+#X obj 592 113 makefilename /s%d;
+#X obj 592 90 f;
+#X obj 406 291 outlet;
+#X obj 593 138 prepend get;
+#X connect 1 0 39 0;
+#X connect 3 0 40 0;
+#X connect 5 0 41 0;
+#X connect 7 0 42 0;
+#X connect 9 0 43 0;
+#X connect 11 0 44 0;
+#X connect 13 0 45 0;
+#X connect 15 0 46 0;
+#X connect 17 0 47 0;
+#X connect 19 0 48 0;
+#X connect 21 0 49 0;
+#X connect 23 0 50 0;
+#X connect 25 0 51 0;
+#X connect 27 0 52 0;
+#X connect 28 0 29 0;
+#X connect 30 0 28 0;
+#X connect 31 0 63 0;
+#X connect 32 0 31 1;
+#X connect 33 0 34 0;
+#X connect 34 0 36 0;
+#X connect 34 1 35 0;
+#X connect 35 0 31 0;
+#X connect 36 0 31 0;
+#X connect 37 0 53 0;
+#X connect 39 0 0 0;
+#X connect 40 0 2 0;
+#X connect 41 0 4 0;
+#X connect 42 0 6 0;
+#X connect 43 0 8 0;
+#X connect 44 0 10 0;
+#X connect 45 0 12 0;
+#X connect 46 0 14 0;
+#X connect 47 0 16 0;
+#X connect 48 0 18 0;
+#X connect 49 0 20 0;
+#X connect 50 0 22 0;
+#X connect 51 0 24 0;
+#X connect 52 0 26 0;
+#X connect 53 0 38 0;
+#X connect 54 0 55 0;
+#X connect 54 0 34 0;
+#X connect 56 0 54 0;
+#X connect 58 0 59 0;
+#X connect 59 0 57 0;
+#X connect 60 0 62 0;
+#X connect 61 0 64 0;
+#X connect 62 0 61 0;
+#X connect 64 0 31 0;
+#X restore 810 73 pd settings;
+#X obj 903 34 inlet;
+#X text 811 10 Direct load/save;
+#X obj 59 62 hsl 64 8 0 127 0 0 \$0-svol \$0-svol volume 4 4 1729 6
+-262144 -123526 -1 6300 1;
+#X obj 867 166 outlet;
+#X obj 895 92 r \$0-svol;
+#X obj 454 103 vsl 8 64 0 127 0 0 \$0-s9 \$0-s9 empty 0 -8 1728 8 -233017
+-1 -1 0 1;
+#X obj 506 104 vsl 8 64 0 127 0 0 \$0-s10 \$0-s10 empty 0 -8 1728 8
+-262144 -1 -1 0 1;
+#X obj 559 103 vsl 8 64 0 127 0 0 \$0-s11 \$0-s11 empty 0 -8 1728 8
+-262144 -1 -1 0 1;
+#X obj 612 103 vsl 8 64 0 127 0 0 \$0-s12 \$0-s12 empty 0 -8 1728 8
+-262144 -1 -1 0 1;
+#X obj 663 103 vsl 8 64 0 127 0 0 \$0-s13 \$0-s13 empty 0 -8 1728 8
+-233017 -1 -1 0 1;
+#X obj 713 103 vsl 8 64 0 127 0 0 \$0-s14 \$0-s14 empty 0 -8 1728 8
+-262144 -1 -1 0 1;
+#X obj 764 103 vsl 8 64 0 127 0 0 \$0-s15 \$0-s15 empty 0 -8 1728 8
+-262144 -1 -1 0 1;
+#X obj 814 103 vsl 8 64 0 127 0 0 \$0-s16 \$0-s16 empty 0 -8 1728 8
+-262144 -1 -1 0 1;
+#X obj 673 57 nbx 3 10 -1e+37 1e+37 0 0 \$0-preset \$0-preset preset
+0 -6 1729 8 -233017 -1 -1 0 256;
+#X obj 888 115 * 0.007874;
+#X obj 871 140 * 1;
+#X obj 833 192 print rreq;
+#X connect 8 0 9 2;
+#X connect 9 0 25 0;
+#X connect 10 0 9 1;
+#X connect 14 0 24 0;
+#X connect 23 0 9 0;
+#X connect 24 0 25 1;
+#X connect 25 0 13 0;
+#X coords 0 0 1 1 200 110 1;
diff --git a/control/tester.pd b/control/tester.pd
new file mode 100644
index 0000000..3e8b4de
--- /dev/null
+++ b/control/tester.pd
@@ -0,0 +1,2 @@
+#N canvas 0 0 450 300 10;
+#X floatatom 108 124 5 0 0 0 - #0-rec #0-send;
diff --git a/effects/rrad.adsr.pd b/effects/rrad.adsr.pd
new file mode 100644
index 0000000..ff9230f
--- /dev/null
+++ b/effects/rrad.adsr.pd
@@ -0,0 +1,202 @@
+#N canvas 500 433 157 126 10;
+#X obj 2 15 cnv 15 150 100 empty \$0-background-cnv empty 20 12 1 14
+-207850 -66577 0;
+#X obj 433 -3 inlet OSC;
+#N canvas 127 377 981 424 saves 0;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X msg 15 91 setsub \$1;
+#X msg 249 184 svdir \$1;
+#X obj 250 139 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 250 163 savepanel;
+#X obj 152 189 outlet OSC;
+#X msg 108 214 svxdir /tmp/svdir.xml;
+#X msg 78 241 ldxdir /tmp/svdir.xml;
+#X obj 538 176 s \$0-ain;
+#X obj 610 176 s \$0-din;
+#X obj 682 176 s \$0-sin;
+#X obj 776 179 s \$0-rin;
+#X obj 536 107 r \$0-a;
+#X obj 630 105 r \$0-d;
+#X obj 698 106 r \$0-s;
+#X obj 769 106 r \$0-r;
+#X obj 772 142 commun /r \$0;
+#X obj 682 142 commun /s \$0;
+#X obj 582 141 commun /d \$0;
+#X obj 496 137 commun /a \$0;
+#X connect 0 2 15 0;
+#X connect 1 0 0 1;
+#X connect 2 0 11 0;
+#X connect 3 0 4 0;
+#X connect 4 0 11 0;
+#X connect 4 1 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 22 0 29 0;
+#X connect 23 0 28 0;
+#X connect 24 0 27 0;
+#X connect 25 0 26 0;
+#X connect 26 0 21 0;
+#X connect 27 0 20 0;
+#X connect 28 0 19 0;
+#X connect 29 0 18 0;
+#X restore 371 -4 pd saves;
+#N canvas 569 61 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 296 -4 pd cnv.ctl;
+#X obj 117 34 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -225271
+-1 -1;
+#X obj 117 62 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -257472
+-1 -1;
+#X text 184 -4 look! ==>;
+#X obj 371 17 outlet OSC;
+#X obj 10 37 vsl 8 64 0 100 0 0 \$0-a \$0-ain a 0 -8 1 8 -355 -260818
+-143491 2300 1;
+#X obj 29 37 vsl 8 64 0 127 0 0 \$0-d \$0-din d 0 -8 1 8 -355 -260818
+-143491 3500 1;
+#X obj 49 37 vsl 8 64 0 127 0 0 \$0-s \$0-sin s 0 -8 1 8 -355 -260818
+-143491 1900 1;
+#X obj 69 37 vsl 8 64 0 127 0 0 \$0-r \$0-rin r 0 -8 1 8 -355 -260818
+-143491 1300 1;
+#X obj 189 21 inlet;
+#N canvas 0 0 600 400 envelope 0;
+#X obj 173 134 r \$0-level;
+#X obj 252 35 r \$0-a;
+#X obj 293 85 r \$0-d;
+#X obj 315 139 r \$0-s;
+#X obj 413 132 r \$0-r;
+#X obj 25 119 inlet;
+#N canvas 231 224 600 400 adsr 0;
+#X text 52 50 This patch is used as an abstraction in 25.envelope.pd
+;
+#X obj 95 108 inlet;
+#X obj 298 111 inlet;
+#X text 91 79 trigger;
+#X obj 95 138 sel 0;
+#X obj 144 138 t b;
+#X obj 104 359 pack 0 \$2;
+#X obj 362 112 inlet;
+#X obj 309 301 del \$2;
+#X obj 338 324 f \$4;
+#X obj 371 369 pack 0 \$3;
+#X obj 410 112 inlet;
+#X obj 459 111 inlet;
+#X obj 504 111 inlet;
+#X msg 95 191 stop;
+#X obj 517 360 pack 0 \$5;
+#X text 378 86 Traditional A \, D \, S \, R;
+#X text 296 88 level;
+#X text 32 302 ATTACK;
+#X text 7 325 recall level;
+#X text 7 345 and pack with;
+#X text 8 365 attack time;
+#X text 28 124 if zero;
+#X text 29 141 release;
+#X text 17 183 and cancel;
+#X text 17 199 decay;
+#X text 148 120 bang if attack;
+#X text 183 294 on attack \, set a;
+#X text 147 307 delay to go to sustain;
+#X text 189 324 recall sustain value;
+#X text 185 347 multiply by overall level;
+#X text 220 370 pack with decay time;
+#X text 510 386 on release ramp;
+#X text 511 403 back to zero;
+#X text 63 12 adsr - arguments: level \, attack time \, decay time
+\, sustain level \, release time;
+#X text 17 487 When you send this patch a nonzero trigger it schedules
+a line~ to do an attack and decay \, and if zero \, it starts the release
+ramp.;
+#X text 18 533 Objects such as f and pack can be given dollar sign
+arguments to initialize their contents from adsr's creation arguments.
+Inlets are supplied to update them on the fly.;
+#X obj 104 334 f;
+#X obj 364 346 * 1;
+#X obj 371 422 line 10;
+#X obj 371 449 outlet;
+#X connect 1 0 4 0;
+#X connect 2 0 37 0;
+#X connect 2 0 38 1;
+#X connect 4 0 14 0;
+#X connect 4 0 15 0;
+#X connect 4 1 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 39 0;
+#X connect 7 0 6 1;
+#X connect 7 0 8 1;
+#X connect 8 0 9 0;
+#X connect 9 0 38 0;
+#X connect 10 0 39 0;
+#X connect 11 0 10 1;
+#X connect 12 0 9 1;
+#X connect 13 0 15 1;
+#X connect 14 0 8 0;
+#X connect 15 0 39 0;
+#X connect 37 0 6 0;
+#X connect 38 0 10 0;
+#X connect 39 0 40 0;
+#X restore 174 292 pd adsr -----------;
+#X obj 100 181 s \$0-level;
+#X obj 253 62 scale 0 127 0 200;
+#X obj 308 164 scale 0 127 0 1;
+#X obj 289 119 scale 0 127 0 200;
+#X obj 172 168 scale 0 127 0 1;
+#X obj 366 202 scale 0 127 0 1000;
+#X obj 74 149 select 0;
+#X obj 174 346 outlet;
+#X connect 0 0 11 0;
+#X connect 1 0 8 0;
+#X connect 2 0 10 0;
+#X connect 3 0 9 0;
+#X connect 4 0 12 0;
+#X connect 5 0 13 0;
+#X connect 5 0 6 0;
+#X connect 6 0 14 0;
+#X connect 8 0 6 2;
+#X connect 9 0 6 4;
+#X connect 10 0 6 3;
+#X connect 11 0 6 1;
+#X connect 12 0 6 5;
+#X connect 13 1 7 0;
+#X restore 189 47 pd envelope;
+#X text 23 -1 Graphical ADSR;
+#X obj 95 37 vsl 8 64 0 127 0 0 empty \$0-level lvl 0 -8 1 8 -62784
+-262144 -258699 4261 1;
+#X obj 116 90 nbx 2 14 -1e+37 1e+37 0 0 \$0-substate \$0-parentstate
+preset 0 -6 0 8 -261681 -1 -1 0 256;
+#X obj 189 72 outlet;
+#X connect 1 0 2 1;
+#X connect 2 0 7 0;
+#X connect 12 0 13 0;
+#X connect 13 0 17 0;
+#X coords 0 0 1 1 152 115 1;
diff --git a/effects/rrad.adsr~.pd b/effects/rrad.adsr~.pd
new file mode 100644
index 0000000..ffed044
--- /dev/null
+++ b/effects/rrad.adsr~.pd
@@ -0,0 +1,202 @@
+#N canvas 500 433 157 126 10;
+#X obj 2 15 cnv 15 150 100 empty \$0-background-cnv empty 20 12 1 14
+-228905 -66577 0;
+#X obj 433 -3 inlet OSC;
+#N canvas 127 377 981 424 saves 0;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X msg 15 91 setsub \$1;
+#X msg 249 184 svdir \$1;
+#X obj 250 139 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 250 163 savepanel;
+#X obj 152 189 outlet OSC;
+#X msg 108 214 svxdir /tmp/svdir.xml;
+#X msg 78 241 ldxdir /tmp/svdir.xml;
+#X obj 538 176 s \$0-ain;
+#X obj 610 176 s \$0-din;
+#X obj 682 176 s \$0-sin;
+#X obj 776 179 s \$0-rin;
+#X obj 536 107 r \$0-a;
+#X obj 630 105 r \$0-d;
+#X obj 698 106 r \$0-s;
+#X obj 769 106 r \$0-r;
+#X obj 772 142 commun /r \$0;
+#X obj 682 142 commun /s \$0;
+#X obj 582 141 commun /d \$0;
+#X obj 496 137 commun /a \$0;
+#X connect 0 2 15 0;
+#X connect 1 0 0 1;
+#X connect 2 0 11 0;
+#X connect 3 0 4 0;
+#X connect 4 0 11 0;
+#X connect 4 1 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 22 0 29 0;
+#X connect 23 0 28 0;
+#X connect 24 0 27 0;
+#X connect 25 0 26 0;
+#X connect 26 0 21 0;
+#X connect 27 0 20 0;
+#X connect 28 0 19 0;
+#X connect 29 0 18 0;
+#X restore 371 -4 pd saves;
+#N canvas 569 61 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 296 -4 pd cnv.ctl;
+#X obj 117 34 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -225271
+-1 -1;
+#X obj 117 62 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -257472
+-1 -1;
+#X text 184 -4 look! ==>;
+#X obj 371 17 outlet OSC;
+#X obj 10 37 vsl 8 64 0 100 0 0 \$0-a \$0-ain a 0 -8 1 8 -355 -260818
+-143491 0 1;
+#X obj 29 37 vsl 8 64 0 127 0 0 \$0-d \$0-din d 0 -8 1 8 -355 -260818
+-143491 0 1;
+#X obj 49 37 vsl 8 64 0 127 0 0 \$0-s \$0-sin s 0 -8 1 8 -355 -260818
+-143491 0 1;
+#X obj 69 37 vsl 8 64 0 127 0 0 \$0-r \$0-rin r 0 -8 1 8 -355 -260818
+-143491 0 1;
+#X obj 189 21 inlet;
+#X obj 189 72 outlet~;
+#N canvas 0 0 600 400 envelope 0;
+#X obj 173 134 r \$0-level;
+#X obj 252 35 r \$0-a;
+#X obj 293 85 r \$0-d;
+#X obj 315 139 r \$0-s;
+#X obj 413 132 r \$0-r;
+#X obj 25 119 inlet;
+#X obj 174 346 outlet~;
+#N canvas 231 224 600 400 adsr 0;
+#X text 52 50 This patch is used as an abstraction in 25.envelope.pd
+;
+#X obj 95 108 inlet;
+#X obj 298 111 inlet;
+#X text 91 79 trigger;
+#X obj 95 138 sel 0;
+#X obj 144 138 t b;
+#X obj 104 359 pack 0 \$2;
+#X obj 362 112 inlet;
+#X obj 309 301 del \$2;
+#X obj 338 324 f \$4;
+#X obj 371 369 pack 0 \$3;
+#X obj 410 112 inlet;
+#X obj 459 111 inlet;
+#X obj 504 111 inlet;
+#X msg 95 191 stop;
+#X obj 517 360 pack 0 \$5;
+#X text 378 86 Traditional A \, D \, S \, R;
+#X text 296 88 level;
+#X text 32 302 ATTACK;
+#X obj 371 449 outlet~;
+#X text 7 325 recall level;
+#X text 7 345 and pack with;
+#X text 8 365 attack time;
+#X text 28 124 if zero;
+#X text 29 141 release;
+#X text 17 183 and cancel;
+#X text 17 199 decay;
+#X text 148 120 bang if attack;
+#X text 183 294 on attack \, set a;
+#X text 147 307 delay to go to sustain;
+#X text 189 324 recall sustain value;
+#X text 185 347 multiply by overall level;
+#X text 220 370 pack with decay time;
+#X text 510 386 on release ramp;
+#X text 511 403 back to zero;
+#X text 63 12 adsr - arguments: level \, attack time \, decay time
+\, sustain level \, release time;
+#X text 17 487 When you send this patch a nonzero trigger it schedules
+a line~ to do an attack and decay \, and if zero \, it starts the release
+ramp.;
+#X text 18 533 Objects such as f and pack can be given dollar sign
+arguments to initialize their contents from adsr's creation arguments.
+Inlets are supplied to update them on the fly.;
+#X obj 104 334 f;
+#X obj 371 422 vline~;
+#X obj 364 346 * 1;
+#X connect 1 0 4 0;
+#X connect 2 0 38 0;
+#X connect 2 0 40 1;
+#X connect 4 0 14 0;
+#X connect 4 0 15 0;
+#X connect 4 1 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 39 0;
+#X connect 7 0 6 1;
+#X connect 7 0 8 1;
+#X connect 8 0 9 0;
+#X connect 9 0 40 0;
+#X connect 10 0 39 0;
+#X connect 11 0 10 1;
+#X connect 12 0 9 1;
+#X connect 13 0 15 1;
+#X connect 14 0 8 0;
+#X connect 15 0 39 0;
+#X connect 38 0 6 0;
+#X connect 39 0 19 0;
+#X connect 40 0 10 0;
+#X restore 174 292 pd adsr -----------;
+#X obj 100 181 s \$0-level;
+#X obj 253 62 scale 0 127 0 200;
+#X obj 308 164 scale 0 127 0 1;
+#X obj 289 119 scale 0 127 0 200;
+#X obj 172 168 scale 0 127 0 1;
+#X obj 366 202 scale 0 127 0 1000;
+#X obj 74 149 select 0;
+#X connect 0 0 12 0;
+#X connect 1 0 9 0;
+#X connect 2 0 11 0;
+#X connect 3 0 10 0;
+#X connect 4 0 13 0;
+#X connect 5 0 14 0;
+#X connect 5 0 7 0;
+#X connect 7 0 6 0;
+#X connect 9 0 7 2;
+#X connect 10 0 7 4;
+#X connect 11 0 7 3;
+#X connect 12 0 7 1;
+#X connect 13 0 7 5;
+#X connect 14 1 8 0;
+#X restore 189 47 pd envelope;
+#X text 23 -1 Graphical ADSR;
+#X obj 95 37 vsl 8 64 0 127 0 0 empty \$0-level lvl 0 -8 1 8 -62784
+-262144 -258699 5361 1;
+#X obj 116 90 nbx 2 14 -1e+37 1e+37 0 0 \$0-substate \$0-parentstate
+preset 0 -6 0 8 -261681 -1 -1 0 256;
+#X connect 1 0 2 1;
+#X connect 2 0 7 0;
+#X connect 12 0 14 0;
+#X connect 14 0 13 0;
+#X coords 0 0 1 1 152 115 1;
diff --git a/effects/rrad.delay~.pd b/effects/rrad.delay~.pd
new file mode 100644
index 0000000..375fb4d
--- /dev/null
+++ b/effects/rrad.delay~.pd
@@ -0,0 +1,174 @@
+#N canvas 269 340 167 101 10;
+#X obj 2 20 cnv 15 160 75 empty \$0-background-cnv empty 20 12 1 14
+-233017 -66577 0;
+#X obj 434 3 inlet OSC;
+#N canvas 261 108 981 424 saves 0;
+#X msg 15 103 set;
+#X msg 45 104 substate \$1;
+#X obj 15 78 t b f;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X obj 29 261 r \$0-RRADICAL-OSC;
+#X obj 29 285 OSCroute /bpm;
+#X obj 29 304 s \$0-bpm;
+#X obj 385 228 r \$0-bpm;
+#X obj 385 286 expr 60000/$f1;
+#X obj 385 315 s \$0-beatdur;
+#X obj 507 110 commun /divider \$0;
+#X obj 507 86 r \$0-divider;
+#X obj 507 133 s \$0-divider;
+#X obj 507 160 r \$0-lop;
+#X obj 507 207 s \$0-lop;
+#X obj 507 184 commun /lop \$0;
+#X obj 617 159 r \$0-damp;
+#X obj 617 183 commun /damp \$0;
+#X obj 617 207 s \$0-damp;
+#X obj 30 354 OSCroute /preset;
+#X obj 30 330 r \$0-RRADICAL-OSC;
+#X obj 30 384 s \$0-substate;
+#X obj 528 287 r \$0-bypass;
+#X obj 528 334 s \$0-bypass;
+#X obj 528 311 commun /bypass \$0;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 10 0 11 0;
+#X connect 11 0 3 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 20 0 22 0;
+#X connect 21 0 20 0;
+#X connect 23 0 25 0;
+#X connect 25 0 24 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 29 0 31 0;
+#X connect 30 0 29 0;
+#X connect 32 0 34 0;
+#X connect 34 0 33 0;
+#X restore 372 2 pd saves;
+#N canvas 569 61 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 297 2 pd cnv.ctl;
+#X obj 98 76 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -225271 -1
+-1;
+#X obj 132 76 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -257472
+-1 -1;
+#X text 93 0 look! ==>;
+#N canvas 381 136 597 481 engine 0;
+#X obj 367 423 outlet~;
+#X msg 255 102 0.25;
+#X msg 299 102 0.333;
+#X msg 395 102 1;
+#X obj 422 125 t b f;
+#X msg 218 105 0;
+#X obj 329 29 loadbang;
+#X msg 347 103 0.666;
+#X obj 305 258 lop~ 500;
+#X obj 367 237 sig~;
+#X obj 256 258 *~ 0.3;
+#X obj 367 215 *;
+#X obj 69 216 inlet~;
+#X obj 367 259 vd~ \$0-del;
+#X obj 69 328 delwrite~ \$0-del 5000;
+#X obj 450 103 r \$0-beatdur;
+#X obj 459 263 r \$0-bypass;
+#X obj 400 43 select 0 1 2 3 4;
+#X msg 397 25 \$1;
+#X obj 397 5 r \$0-divider;
+#X obj 443 193 f;
+#X obj 492 221 t b;
+#X obj 249 211 r \$0-lop;
+#X obj 178 224 r \$0-damp;
+#X obj 369 372 gpan~;
+#X obj 206 154 s \$0-div;
+#X msg 163 127 label \$1|;
+#X obj 506 410 outlet~;
+#X connect 1 0 11 0;
+#X connect 1 0 26 0;
+#X connect 2 0 11 0;
+#X connect 2 0 26 0;
+#X connect 3 0 11 0;
+#X connect 3 0 26 0;
+#X connect 4 0 11 0;
+#X connect 4 1 11 1;
+#X connect 4 1 20 1;
+#X connect 5 0 11 0;
+#X connect 5 0 26 0;
+#X connect 6 0 3 0;
+#X connect 7 0 11 0;
+#X connect 7 0 26 0;
+#X connect 8 0 10 0;
+#X connect 9 0 13 0;
+#X connect 10 0 14 0;
+#X connect 11 0 9 0;
+#X connect 12 0 14 0;
+#X connect 12 0 24 1;
+#X connect 13 0 8 0;
+#X connect 13 0 24 0;
+#X connect 15 0 4 0;
+#X connect 16 0 24 2;
+#X connect 17 0 5 0;
+#X connect 17 1 1 0;
+#X connect 17 2 2 0;
+#X connect 17 3 7 0;
+#X connect 17 4 3 0;
+#X connect 18 0 17 0;
+#X connect 19 0 18 0;
+#X connect 19 0 21 0;
+#X connect 20 0 11 1;
+#X connect 21 0 20 0;
+#X connect 22 0 8 1;
+#X connect 23 0 10 1;
+#X connect 24 0 0 0;
+#X connect 24 1 0 0;
+#X connect 26 0 25 0;
+#X restore 251 32 pd engine;
+#X obj 252 3 inlet~;
+#X obj 252 58 outlet~;
+#X obj 131 32 tgl 15 0 \$0-bypass \$0-bypass bypass -5 -6 0 8 -24198
+-258699 -1 1 1;
+#X obj 7 33 hradio 15 1 0 5 \$0-divider \$0-divider divider 0 -6 0
+8 -261681 -1 -1 0;
+#X obj 11 58 hsl 64 12 10 22050 0 0 \$0-lop \$0-lop lop 0 6 0 8 -257472
+-1 -1 2000 1;
+#X obj 10 77 hsl 64 12 0 0.99 0 0 \$0-damp \$0-damp damp 0 6 0 8 -262131
+-1 -1 3700 1;
+#X obj 85 33 cnv 15 35 15 empty \$0-div 0| 2 9 0 8 -261681 -66577 0
+;
+#X obj 326 60 outlet~;
+#X connect 1 0 2 1;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X coords 0 0 1 1 162 95 1;
diff --git a/effects/rrad.eros~.pd b/effects/rrad.eros~.pd
new file mode 100644
index 0000000..1ba168e
--- /dev/null
+++ b/effects/rrad.eros~.pd
@@ -0,0 +1,167 @@
+#N canvas 269 340 106 131 10;
+#X obj 400 3 inlet OSC;
+#N canvas 0 0 981 424 saves 0;
+#X msg 15 103 set;
+#X msg 45 104 substate \$1;
+#X obj 15 78 t b f;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X obj 507 110 commun /Q \$0;
+#X obj 507 86 r \$0-Q;
+#X obj 507 135 s \$0-Q;
+#X obj 606 86 r \$0-no;
+#X obj 606 136 s \$0-no;
+#X obj 606 110 commun /type \$0;
+#X obj 508 165 r \$0-amnt;
+#X obj 508 215 s \$0-amnt;
+#X obj 508 189 commun /amount \$0;
+#X obj 641 165 r \$0-f;
+#X obj 641 215 s \$0-f;
+#X obj 641 189 commun /freq \$0;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 10 0 11 0;
+#X connect 11 0 3 0;
+#X connect 14 0 16 0;
+#X connect 15 0 14 0;
+#X connect 17 0 19 0;
+#X connect 19 0 18 0;
+#X connect 20 0 22 0;
+#X connect 22 0 21 0;
+#X connect 23 0 25 0;
+#X connect 25 0 24 0;
+#X restore 338 2 pd saves;
+#X text 40 1 look! ==>;
+#X obj 3 19 cnv 15 98 108 empty empty erosion~ 16 12 0 10 -225271 -250685
+0;
+#X obj 16 45 tgl 15 0 \$0-no \$0-no type 0 20 0 6 -257472 -1 -250685
+0 1;
+#X obj 17 75 hsl 64 8 0 5 0 0 \$0-amnt \$0-amnt amount 40 -6 0 8 -257472
+-250685 -1 0 1;
+#X obj 18 96 hsl 64 8 0 127 0 0 \$0-f \$0-f freq -2 -6 0 8 -257472
+-250685 -1 0 1;
+#X obj 34 45 cnv 15 50 16 empty \$0-show |||-noise 4 6 1 8 -257472
+-66577 0;
+#X obj 17 108 nbx 3 14 -1e+37 1e+37 0 0 \$0-Q \$0-Q Q -10 6 0 8 -257472
+-1 -1 0 256;
+#X obj 51 108 nbx 3 14 -1e+37 1e+37 0 0 \$0-substate \$0-substate S
+38 6 0 8 -262131 -1 -1 2 256;
+#X obj 299 119 outlet~;
+#X obj 199 6 inlet~;
+#N canvas 0 0 849 539 all 0;
+#X obj 107 59 inlet~;
+#X obj 139 390 outlet~;
+#N canvas 0 0 450 300 write 0;
+#X obj 95 118 delwrite~ \$0-delay 5000;
+#X obj 77 80 inlet~;
+#X obj 82 178 outlet~;
+#X connect 1 0 0 0;
+#X connect 1 0 2 0;
+#X restore 141 236 pd write;
+#N canvas 0 0 450 300 read 0;
+#X obj 276 165 vd~ \$0-delay;
+#X obj 131 103 inlet~;
+#X obj 125 204 outlet~;
+#X obj 278 112 inlet~;
+#X obj 269 200 env~;
+#X floatatom 273 228 5 0 0 0 - - -;
+#X connect 0 0 2 0;
+#X connect 3 0 0 0;
+#X connect 4 0 5 0;
+#X restore 140 305 pd read;
+#X obj 267 148 bp~ 440;
+#X obj 266 93 noise~;
+#X obj 346 36 mtof;
+#X obj 486 80 osc~ 0;
+#X obj 489 183 *~ 1;
+#X obj 267 245 *~ 1;
+#X obj 569 98 select 0 1;
+#X msg 333 179 0;
+#X msg 366 179 1;
+#X msg 538 215 0;
+#X msg 571 215 1;
+#X obj 348 9 r \$0-f;
+#X obj 387 105 r \$0-amnt;
+#X obj 311 120 r \$0-Q;
+#X obj 569 69 r \$0-no;
+#X msg 660 306 \; \$2-show label \$1;
+#X obj 660 262 pack s \$0;
+#X msg 703 236 symbol |||-noise;
+#X msg 660 188 symbol |||-osc;
+#X obj 443 16 inlet;
+#X obj 491 16 inlet;
+#X obj 580 20 inlet;
+#X obj 444 44 s \$0-f;
+#X obj 585 48 s \$0-no;
+#X obj 497 42 s \$0-amnt;
+#X obj 488 157 +~ 1;
+#X obj 267 182 +~ 1;
+#X floatatom 418 190 5 0 0 0 - - -;
+#X obj 268 208 *~ 0;
+#X obj 463 238 *~ 1;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 30 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 1;
+#X connect 6 0 7 0;
+#X connect 7 0 29 0;
+#X connect 8 0 33 0;
+#X connect 9 0 3 1;
+#X connect 10 0 11 0;
+#X connect 10 0 14 0;
+#X connect 10 0 22 0;
+#X connect 10 1 12 0;
+#X connect 10 1 13 0;
+#X connect 10 1 21 0;
+#X connect 11 0 9 1;
+#X connect 12 0 9 1;
+#X connect 13 0 33 1;
+#X connect 14 0 33 1;
+#X connect 15 0 6 0;
+#X connect 16 0 8 1;
+#X connect 16 0 31 0;
+#X connect 16 0 32 1;
+#X connect 17 0 4 2;
+#X connect 18 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 20 0;
+#X connect 22 0 20 0;
+#X connect 23 0 26 0;
+#X connect 24 0 28 0;
+#X connect 25 0 27 0;
+#X connect 29 0 8 0;
+#X connect 30 0 32 0;
+#X connect 32 0 9 0;
+#X connect 33 0 3 1;
+#X restore 295 83 pd all;
+#X obj 266 42 route freq amount type;
+#X obj 128 72 r \$0-parentstate;
+#X connect 0 0 1 1;
+#X connect 11 0 12 0;
+#X connect 12 0 10 0;
+#X connect 13 0 12 1;
+#X connect 13 1 12 2;
+#X connect 13 2 12 3;
+#X connect 14 0 9 0;
+#X coords 0 0 1 1 102 130 1;
diff --git a/effects/rrad.filt~.pd b/effects/rrad.filt~.pd
new file mode 100644
index 0000000..a591d4f
--- /dev/null
+++ b/effects/rrad.filt~.pd
@@ -0,0 +1,233 @@
+#N canvas 415 35 191 107 10;
+#N canvas 757 353 450 300 noise 0;
+#X obj 215 52 == 1;
+#X obj 151 51 == 0;
+#X obj 106 228 outlet~;
+#X obj 257 79 inlet;
+#X obj 214 4 r \$0-filt_type;
+#X obj 33 52 inlet~;
+#N canvas 358 389 450 300 hip 0;
+#X obj 130 69 inlet~;
+#X obj 130 207 outlet~;
+#X obj 251 70 inlet;
+#X obj 251 119 switch~ 0;
+#X obj 130 114 hip~ 4000;
+#X obj 188 70 inlet;
+#X obj 352 74 r \$0-Q;
+#X obj 225 157 hp2~ 4000 0.707 10;
+#X connect 0 0 4 0;
+#X connect 0 0 7 0;
+#X connect 2 0 3 0;
+#X connect 5 0 4 1;
+#X connect 5 0 7 1;
+#X connect 6 0 7 2;
+#X connect 7 0 1 0;
+#X restore 91 146 pd hip;
+#N canvas 358 389 450 300 lop 0;
+#X obj 130 69 inlet~;
+#X obj 130 168 outlet~;
+#X obj 251 70 inlet;
+#X obj 188 70 inlet;
+#X obj 130 114 lop~ 4000;
+#X obj 251 120 switch~ 1;
+#X obj 350 83 r \$0-Q;
+#X obj 172 146 lp2~ 4000 0.707 20;
+#X connect 0 0 4 0;
+#X connect 0 0 7 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 1;
+#X connect 3 0 7 1;
+#X connect 6 0 7 2;
+#X connect 7 0 1 0;
+#X restore 158 145 pd lop;
+#N canvas 201 195 450 300 bap 0;
+#X obj 130 69 inlet~;
+#X obj 130 168 outlet~;
+#X obj 251 70 inlet;
+#X obj 188 70 inlet;
+#X obj 130 114 lop~ 4000;
+#X obj 350 83 r \$0-Q;
+#X obj 172 146 bpq2~ 400 0.707 20;
+#X obj 251 120 switch~ 0;
+#X connect 0 0 4 0;
+#X connect 0 0 6 0;
+#X connect 2 0 7 0;
+#X connect 3 0 4 1;
+#X connect 3 0 6 1;
+#X connect 5 0 6 2;
+#X connect 6 0 1 0;
+#X restore 245 147 pd bap;
+#X obj 262 52 == 2;
+#X obj 215 24 unpack 0 0;
+#N canvas 0 0 450 300 off 0;
+#X obj 251 70 inlet~;
+#X obj 247 170 outlet~;
+#X obj 318 66 r \$0-wet;
+#X obj 308 120 line~;
+#X obj 260 118 *~;
+#X msg 312 93 \$1 100;
+#X connect 0 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 1;
+#X connect 4 0 1 0;
+#X connect 5 0 3 0;
+#X restore 38 146 pd off;
+#X obj 311 206 s \$0-wet;
+#X obj 313 152 f;
+#X obj 313 80 select 0 1;
+#X obj 311 183 f;
+#X obj 347 132 r \$0-wet;
+#X connect 0 0 7 2;
+#X connect 1 0 6 2;
+#X connect 3 0 6 1;
+#X connect 3 0 7 1;
+#X connect 3 0 8 1;
+#X connect 4 0 10 0;
+#X connect 5 0 7 0;
+#X connect 5 0 6 0;
+#X connect 5 0 8 0;
+#X connect 5 0 11 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 0;
+#X connect 8 0 2 0;
+#X connect 9 0 8 2;
+#X connect 10 0 1 0;
+#X connect 10 0 0 0;
+#X connect 10 0 9 0;
+#X connect 11 0 2 0;
+#X connect 13 0 15 1;
+#X connect 14 0 13 0;
+#X connect 14 1 15 0;
+#X connect 15 0 12 0;
+#X connect 16 0 13 1;
+#X restore 199 133 pd noise;
+#X obj 250 110 r \$0-filt_freq;
+#X obj 144 101 inlet~;
+#X obj 163 170 outlet~;
+#X obj 232 77 s \$0-filt_type;
+#X obj 42 76 hradio 15 1 0 3 \$0-filt_type \$0-filt_type hip/lop/bp
+0 -6 0 8 -262144 -1 -1 2;
+#X obj 232 36 loadbang;
+#X obj 14 40 hsl 64 15 0 127 0 0 \$0-freq \$0-freq freq -2 -6 0 8 -262144
+-1 -1 5100 1;
+#X obj 317 -4 r \$0-freq;
+#X obj 317 21 mtof;
+#X obj 317 43 s \$0-filt_freq;
+#X obj 353 68 inlet;
+#X obj 356 89 s \$0-freq;
+#X obj 102 40 hsl 64 15 0 1 0 0 \$0-wet \$0-wet dry-level -2 -6 0 8
+-262144 -1 -1 6300 1;
+#N canvas 803 359 450 300 noise 0;
+#X obj 215 52 == 1;
+#X obj 151 51 == 0;
+#X obj 106 228 outlet~;
+#X obj 257 79 inlet;
+#X obj 214 4 r \$0-filt_type;
+#X obj 33 52 inlet~;
+#N canvas 358 389 450 300 hip 0;
+#X obj 130 69 inlet~;
+#X obj 130 207 outlet~;
+#X obj 251 70 inlet;
+#X obj 251 119 switch~ 0;
+#X obj 130 114 hip~ 4000;
+#X obj 188 70 inlet;
+#X obj 352 74 r \$0-Q;
+#X obj 225 157 hp2~ 4000 0.707 10;
+#X connect 0 0 4 0;
+#X connect 0 0 7 0;
+#X connect 2 0 3 0;
+#X connect 5 0 4 1;
+#X connect 5 0 7 1;
+#X connect 6 0 7 2;
+#X connect 7 0 1 0;
+#X restore 91 146 pd hip;
+#N canvas 358 389 450 300 lop 0;
+#X obj 130 69 inlet~;
+#X obj 130 168 outlet~;
+#X obj 251 70 inlet;
+#X obj 188 70 inlet;
+#X obj 130 114 lop~ 4000;
+#X obj 251 120 switch~ 1;
+#X obj 350 83 r \$0-Q;
+#X obj 172 146 lp2~ 4000 0.707 20;
+#X connect 0 0 4 0;
+#X connect 0 0 7 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 1;
+#X connect 3 0 7 1;
+#X connect 6 0 7 2;
+#X connect 7 0 1 0;
+#X restore 158 145 pd lop;
+#N canvas 201 195 450 300 bap 0;
+#X obj 130 69 inlet~;
+#X obj 130 168 outlet~;
+#X obj 251 70 inlet;
+#X obj 188 70 inlet;
+#X obj 130 114 lop~ 4000;
+#X obj 350 83 r \$0-Q;
+#X obj 172 146 bpq2~ 400 0.707 20;
+#X obj 251 120 switch~ 0;
+#X connect 0 0 4 0;
+#X connect 0 0 6 0;
+#X connect 2 0 7 0;
+#X connect 3 0 4 1;
+#X connect 3 0 6 1;
+#X connect 5 0 6 2;
+#X connect 6 0 1 0;
+#X restore 245 147 pd bap;
+#X obj 262 52 == 2;
+#X obj 215 24 unpack 0 0;
+#N canvas 0 0 450 300 off 0;
+#X obj 251 70 inlet~;
+#X obj 247 170 outlet~;
+#X obj 318 66 r \$0-wet;
+#X obj 308 120 line~;
+#X obj 260 118 *~;
+#X msg 312 93 \$1 100;
+#X connect 0 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 1;
+#X connect 4 0 1 0;
+#X connect 5 0 3 0;
+#X restore 38 146 pd off;
+#X connect 0 0 7 2;
+#X connect 1 0 6 2;
+#X connect 3 0 6 1;
+#X connect 3 0 7 1;
+#X connect 3 0 8 1;
+#X connect 4 0 10 0;
+#X connect 5 0 7 0;
+#X connect 5 0 6 0;
+#X connect 5 0 8 0;
+#X connect 5 0 11 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 0;
+#X connect 8 0 2 0;
+#X connect 9 0 8 2;
+#X connect 10 0 1 0;
+#X connect 10 0 0 0;
+#X connect 10 0 9 0;
+#X connect 11 0 2 0;
+#X restore 339 170 pd noise;
+#X obj 390 147 r \$0-filt_freq;
+#X obj 284 138 inlet~;
+#X obj 303 207 outlet~;
+#X msg 232 57 3;
+#X msg 186 52 1;
+#X obj 181 78 s \$0-wet;
+#X obj 111 76 tgl 15 0 \$0-filt-on empty filter-on? 0 -6 0 8 -262144
+-1 -1 0 1;
+#X connect 0 0 3 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 0;
+#X connect 6 0 18 0;
+#X connect 6 0 19 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 11 0 12 0;
+#X connect 14 0 17 0;
+#X connect 15 0 14 1;
+#X connect 16 0 14 0;
+#X connect 18 0 4 0;
+#X connect 19 0 20 0;
+#X coords 0 0 1 1 180 80 1;
diff --git a/effects/rrad.lop~.pd b/effects/rrad.lop~.pd
new file mode 100644
index 0000000..881a20b
--- /dev/null
+++ b/effects/rrad.lop~.pd
@@ -0,0 +1,124 @@
+#N canvas 398 161 164 112 10;
+#X obj 2 19 cnv 15 160 89 empty \$0-background-cnv empty 20 12 1 14
+-228992 -66577 0;
+#X obj 352 1 inlet OSC;
+#N canvas 0 0 981 424 saves 0;
+#X msg 15 103 set;
+#X msg 45 104 substate \$1;
+#X obj 15 78 t b f;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 541 22 Put your commun sends here \, if you like.;
+#X obj 437 84 r \$0-freq;
+#X obj 437 108 commun /freq \$0;
+#X obj 437 131 s \$0-freq;
+#X obj 552 43 r \$0-Q;
+#X obj 554 111 commun /Q \$0;
+#X obj 555 164 s \$0-Q;
+#X obj 648 87 r \$0-interp;
+#X obj 648 112 commun /interp \$0;
+#X obj 648 134 s \$0-interp;
+#X obj 238 187 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -225271
+-1 -1;
+#X obj 238 215 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -257472
+-1 -1;
+#X obj 152 190 outlet OSC;
+#X obj 556 80 moses 0.01;
+#X obj 554 136 moses 0.01;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 3 2 25 0;
+#X connect 4 0 3 1;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 10 0 11 0;
+#X connect 11 0 3 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 17 0 26 0;
+#X connect 18 0 27 0;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 26 0 18 0;
+#X connect 27 1 19 0;
+#X restore 290 0 pd saves;
+#N canvas 609 68 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 215 0 pd cnv.ctl;
+#X obj 23 30 hsl 80 15 0 127 0 0 \$0-freq \$0-freq freq -2 -6 0 8 -261689
+-1 -1 4914 1;
+#X text 94 -1 look! ==>;
+#N canvas 547 322 450 300 effect 0;
+#X obj 66 206 outlet~;
+#X obj 70 154 lp2~ 440 0.707 200;
+#X obj 61 48 inlet~;
+#X obj 110 97 r \$0-freq;
+#X obj 188 99 r \$0-Q;
+#X obj 240 97 r \$0-interp;
+#X obj 110 125 mtof;
+#X obj 172 198 s \$0-realQ;
+#X obj 262 199 s \$0-realint;
+#X text 279 122 scale;
+#X obj 239 124 * 5;
+#X obj 173 130 * 0.3;
+#X obj 148 250 s \$0-realfreq;
+#X obj 141 220 int;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 6 0;
+#X connect 4 0 11 0;
+#X connect 5 0 10 0;
+#X connect 6 0 1 1;
+#X connect 6 0 13 0;
+#X connect 10 0 1 3;
+#X connect 10 0 8 0;
+#X connect 11 0 1 2;
+#X connect 11 0 7 0;
+#X connect 13 0 12 0;
+#X restore 173 40 pd effect;
+#X obj 172 66 outlet~;
+#X obj 173 1 inlet~;
+#X obj 290 22 outlet OSC;
+#X obj 22 60 vsl 15 32 0.01 127 0 0 \$0-Q \$0-Q Q 0 -8 0 8 -195568
+-258699 -1 400 1;
+#X obj 121 61 vsl 15 32 0 127 0 0 \$0-interp \$0-interp interp 0 -8
+0 8 -195568 -355 -1 0 1;
+#X obj 46 57 nbx 5 14 0 1e+37 0 0 \$0-substate \$0-parentstate preset
+0 -6 0 8 -233017 -1 -1 0 256;
+#X obj 47 84 nbx 3 12 -1e+37 1e+37 0 0 empty \$0-realQ Q 0 -6 0 8 -233017
+-258699 -1 4.91874 256;
+#X obj 81 84 nbx 3 12 -1e+37 1e+37 0 0 empty \$0-realint interp 0 -6
+0 8 -233017 -355 -1 0 256;
+#X obj 113 31 nbx 5 12 -1e+37 1e+37 0 0 empty \$0-realfreq freq 0 -6
+0 8 -261689 -258699 -1 783 256;
+#X connect 1 0 2 1;
+#X connect 2 0 9 0;
+#X connect 6 0 7 0;
+#X connect 8 0 6 0;
+#X coords 0 0 1 1 162 110 1;
diff --git a/effects/rrad.ms.pd b/effects/rrad.ms.pd
new file mode 100644
index 0000000..81b725f
--- /dev/null
+++ b/effects/rrad.ms.pd
@@ -0,0 +1,176 @@
+#N canvas 499 433 106 229 10;
+#X obj 2 19 cnv 15 100 200 empty \$0-background-cnv empty 20 12 1 14
+-225271 -66577 0;
+#X obj 303 -4 inlet OSC;
+#N canvas 0 0 981 424 saves 0;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 507 86 r \$0-s1;
+#X obj 507 110 commun /s1 \$0;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X msg 15 91 setsub \$1;
+#X msg 295 127 svdir \$1;
+#X obj 296 82 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 296 106 savepanel;
+#X msg 108 214 svdir /tmp/svdir.dat;
+#X msg 78 241 lddir /tmp/svdir.dat;
+#X obj 152 189 outlet OSC;
+#X obj 506 184 commun /throw \$0;
+#X obj 506 233 s \$0-throw-r;
+#X obj 506 159 r \$0-throw-s;
+#X obj 506 210 symbol;
+#X obj 507 135 s \$0-s1;
+#X obj 376 93 loadbang;
+#X msg 376 122 1;
+#X obj 376 145 s \$0-s2;
+#X obj 638 84 r \$0-s2;
+#X obj 742 109 commun /s3 \$0;
+#X obj 849 109 commun /s4 \$0;
+#X obj 639 107 commun /s2 \$0;
+#X obj 639 130 s \$0-s2;
+#X obj 849 85 r \$0-s4;
+#X obj 850 131 s \$0-s4;
+#X obj 742 85 r \$0-s3;
+#X obj 742 132 s \$0-s3;
+#X obj 428 183 loadbang;
+#X obj 428 215 symbol \$2;
+#X obj 240 266 OSCroute \$1;
+#X obj 203 333 s \$0-s1;
+#X obj 260 335 s \$0-s2;
+#X obj 406 338 s \$0-s4;
+#X obj 329 334 s \$0-s3;
+#X obj 415 274 loadbang;
+#X msg 412 296 64;
+#X obj 244 290 route /7 /13 /12 /10;
+#X connect 0 2 19 0;
+#X connect 1 0 0 1;
+#X connect 1 0 39 0;
+#X connect 2 0 3 0;
+#X connect 3 0 24 0;
+#X connect 4 0 13 0;
+#X connect 5 0 6 0;
+#X connect 6 0 13 0;
+#X connect 6 1 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 16 0;
+#X connect 16 0 14 0;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X connect 20 0 23 0;
+#X connect 22 0 20 0;
+#X connect 23 0 21 0;
+#X connect 25 0 26 0;
+#X connect 26 0 27 0;
+#X connect 28 0 31 0;
+#X connect 29 0 36 0;
+#X connect 30 0 34 0;
+#X connect 31 0 32 0;
+#X connect 33 0 30 0;
+#X connect 35 0 29 0;
+#X connect 37 0 38 0;
+#X connect 39 0 46 0;
+#X connect 44 0 45 0;
+#X connect 45 0 42 0;
+#X connect 46 0 40 0;
+#X connect 46 1 41 0;
+#X connect 46 2 43 0;
+#X connect 46 3 42 0;
+#X restore 241 -5 pd saves;
+#N canvas 569 61 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 166 -5 pd cnv.ctl;
+#X obj 37 50 hsl 48 15 0 127 0 0 \$0-s2 \$0-s2 s2 -2 -6 0 8 -228992
+-1 -1 2146 1;
+#X obj 12 188 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -262144
+-1 -1;
+#X obj 40 188 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -262144
+-1 -1;
+#X text 26 0 look! ==>;
+#X obj 241 16 outlet OSC;
+#X obj 120 -5 inlet~;
+#X obj 123 135 outlet~;
+#X symbolatom 11 128 10 0 0 0 - #0-throw-r #0-throw-s;
+#N canvas 0 0 450 300 routing 0;
+#X obj 86 50 inlet~;
+#X obj 102 269 outlet~;
+#X obj 213 82 line~;
+#X obj 177 99 *~;
+#X msg 213 58 \$1 5;
+#X obj 162 222 line~;
+#X obj 100 227 *~;
+#X msg 162 198 \$1 5;
+#X msg 297 89 set \$1;
+#X obj 330 66 r \$0-throw-r;
+#X obj 294 54 r \$0-throw-s;
+#X obj 177 124 throw~ \$1;
+#X obj 161 156 r \$0-s1;
+#X obj 217 20 r \$0-s2;
+#X obj 216 207 r \$0-s4;
+#X obj 159 271 outlet~;
+#X obj 104 248 gpans~;
+#X floatatom 295 151 5 0 0 0 - - -;
+#X obj 165 175 / 127;
+#X obj 218 38 / 127;
+#X obj 223 227 / 127;
+#X connect 0 0 3 0;
+#X connect 0 0 6 0;
+#X connect 2 0 3 1;
+#X connect 3 0 11 0;
+#X connect 4 0 2 0;
+#X connect 5 0 6 1;
+#X connect 6 0 16 0;
+#X connect 6 0 16 1;
+#X connect 7 0 5 0;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 12 0 18 0;
+#X connect 13 0 19 0;
+#X connect 14 0 20 0;
+#X connect 16 0 1 0;
+#X connect 16 1 15 0;
+#X connect 18 0 7 0;
+#X connect 18 0 17 0;
+#X connect 19 0 4 0;
+#X connect 20 0 16 2;
+#X restore 123 29 pd routing;
+#X obj 11 52 vsl 15 64 0 127 0 0 \$0-s1 \$0-s1 s1 0 -8 0 8 -262131
+-1 -1 6300 1;
+#X obj 37 77 hsl 48 15 0 127 0 0 \$0-s3 \$0-s3 s3 -2 -6 0 8 -228992
+-1 -1 3035 1;
+#X obj 37 104 hsl 48 15 0 127 0 0 \$0-s4 \$0-s4 s4 -2 -6 0 8 -228992
+-1 -1 2443 1;
+#X obj 12 160 nbx 3 12 0 1e+37 0 0 \$0-substate \$0-substate-r preset
+0 -6 0 8 -261681 -1 -1 0 256;
+#X obj 181 135 outlet~;
+#X connect 1 0 2 1;
+#X connect 2 0 8 0;
+#X connect 9 0 12 0;
+#X connect 12 0 10 0;
+#X connect 12 1 17 0;
+#X coords 0 0 1 1 102 220 1;
diff --git a/effects/rrad.reverb~.pd b/effects/rrad.reverb~.pd
new file mode 100644
index 0000000..db07e91
--- /dev/null
+++ b/effects/rrad.reverb~.pd
@@ -0,0 +1,93 @@
+#N canvas 206 337 543 94 10;
+#X obj 170 172 plugin~ tap_reverb;
+#X msg 208 114 control #8 \$1;
+#X obj 231 149 inlet~;
+#X obj 282 147 inlet~;
+#X obj 226 204 outlet~;
+#X obj 285 206 outlet~;
+#X obj 118 205 print tap.rev;
+#X obj 398 149 inlet OSC;
+#N canvas 0 0 981 424 saves 0;
+#X msg 15 103 set;
+#X msg 45 104 substate \$1;
+#X obj 15 78 t b f;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 507 86 r \$0-s1;
+#X obj 507 135 s \$0-s1-r;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X obj 507 107 commun /reverb \$0;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 16 0;
+#X connect 7 0 2 0;
+#X connect 8 0 9 0;
+#X connect 9 0 2 0;
+#X connect 9 1 3 0;
+#X connect 10 0 11 0;
+#X connect 11 0 3 0;
+#X connect 12 0 13 0;
+#X connect 13 0 3 0;
+#X connect 16 0 6 0;
+#X restore 336 148 pd saves;
+#X obj 202 94 r \$0-reverb;
+#X msg 125 124 print;
+#X msg 5 95 control #2 \$1;
+#X msg 324 101 control #3 \$1;
+#X obj 43 71 hsl 128 15 -70 10 0 0 \$0-dry \$0-dry dry -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 328 70 hsl 128 15 -70 10 0 0 \$0-wet \$0-wet wet -2 -6 0 8 -262144
+-1 -1 12100 1;
+#X obj 220 69 nbx 5 14 0 37 0 0 \$0-reverb \$0-reverb reverb 0 -6 0
+10 -262144 -1 -1 23 256;
+#X msg 372 206 control #1 \$1;
+#X msg 369 229 control #4 \$1;
+#X msg 371 252 control #5 \$1;
+#X msg 375 277 control #6 \$1;
+#X msg 372 299 control #7 \$1;
+#X obj 46 42 nbx 5 14 0 100 0 0 empty empty decay 0 -6 0 10 -262144
+-1 -1 0 256;
+#X obj 108 40 nbx 5 14 0 20 0 0 empty empty combs 0 -6 0 10 -262144
+-1 -1 0 256;
+#X obj 174 40 nbx 5 14 0 20 0 0 empty empty allpass 0 -6 0 10 -262144
+-1 -1 6 256;
+#X obj 248 42 nbx 5 14 0 20 0 0 empty empty bandpass 0 -6 0 10 -262144
+-1 -1 0 256;
+#X obj 327 43 tgl 15 0 empty empty stereo-enhance 0 -6 0 8 -262144
+-1 -1 0 1;
+#X connect 0 0 6 0;
+#X connect 0 1 4 0;
+#X connect 0 2 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
+#X connect 7 0 8 1;
+#X connect 9 0 1 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 11 0;
+#X connect 14 0 12 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
+#X connect 21 0 16 0;
+#X connect 22 0 17 0;
+#X connect 23 0 18 0;
+#X connect 24 0 19 0;
+#X connect 25 0 20 0;
+#X coords 0 0 1 1 530 100 1;
diff --git a/effects/rrad.rev~.pd b/effects/rrad.rev~.pd
new file mode 100644
index 0000000..69155e4
--- /dev/null
+++ b/effects/rrad.rev~.pd
@@ -0,0 +1,115 @@
+#N canvas 449 368 336 140 10;
+#X obj 165 235 plugin~ tap_reverb;
+#X msg 43 78 control #1 \$1;
+#X msg 83 99 control #2 \$1;
+#X msg 125 139 control #3 \$1;
+#X msg 166 161 control #8 \$1;
+#X floatatom 170 59 5 0 37 2 preset - -;
+#X floatatom 21 59 5 0 10000 2 decay - -;
+#X floatatom 69 59 5 -70 10 2 dry - -;
+#X floatatom 118 59 5 -70 10 2 wet - -;
+#X msg 218 80 control #4 \$1;
+#X msg 235 100 control #5 \$1;
+#X msg 252 121 control #6 \$1;
+#X msg 269 141 control #7 \$1;
+#X obj 217 57 tgl 15 0 empty empty c 0 -6 0 8 -262144 -1 -1 1 1;
+#X obj 243 57 tgl 15 0 empty empty a 0 -6 0 8 -262144 -1 -1 1 1;
+#X obj 268 57 tgl 15 0 empty empty b 0 -6 0 8 -262144 -1 -1 1 1;
+#X obj 295 57 tgl 15 0 empty empty stereo 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 116 31 8;
+#X text 216 28 aet these to on:;
+#X symbolatom 105 113 25 0 0 0 preset #0-reverb-preset -;
+#N canvas 0 0 450 300 names 0;
+#X obj 32 176 pool tap_reverb;
+#X msg 65 154 get \$1;
+#X obj 32 205 l2s;
+#X obj 65 130 r \$0-p;
+#X msg 32 94 load tap_reverb.dat;
+#X obj 32 70 loadbang;
+#X obj 32 231 s \$0-reverb-preset;
+#X text 162 173 Pool is in the externals cvs.;
+#X text 66 206 list2symbol is from zexy. you can bypass it.;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 6 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X restore 161 263 pd names;
+#X obj 169 80 s \$0-p;
+#X msg 84 31 10;
+#X msg 43 23 10000;
+#X msg 47 144 print;
+#X obj 226 204 inlet~;
+#X obj 287 265 outlet~;
+#X obj 225 263 outlet~;
+#X obj 287 203 inlet~;
+#X obj 401 24 inlet OSC;
+#N canvas 0 0 981 424 saves 0;
+#X msg 15 103 set;
+#X msg 45 104 substate \$1;
+#X obj 15 78 t b f;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 507 86 r \$0-s1;
+#X obj 507 110 commun /s1 \$0;
+#X obj 606 86 r \$0-s2;
+#X obj 606 110 commun /s2 \$0;
+#X obj 507 135 s \$0-s1-r;
+#X obj 606 135 s \$0-s2-r;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 6 0;
+#X connect 6 0 9 0;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 11 0 2 0;
+#X connect 12 0 13 0;
+#X connect 13 0 2 0;
+#X connect 13 1 3 0;
+#X connect 14 0 15 0;
+#X connect 15 0 3 0;
+#X connect 16 0 17 0;
+#X connect 17 0 3 0;
+#X restore 339 23 pd saves;
+#X connect 0 1 27 0;
+#X connect 0 2 26 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 5 0 21 0;
+#X connect 6 0 1 0;
+#X connect 7 0 2 0;
+#X connect 8 0 3 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 9 0;
+#X connect 14 0 10 0;
+#X connect 15 0 11 0;
+#X connect 16 0 12 0;
+#X connect 17 0 8 0;
+#X connect 22 0 7 0;
+#X connect 23 0 6 0;
+#X connect 24 0 0 0;
+#X connect 25 0 0 1;
+#X connect 28 0 0 2;
+#X connect 29 0 30 1;
+#X coords 0 0 1 1 300 90 1;
diff --git a/effects/rrad.send.pd b/effects/rrad.send.pd
new file mode 100644
index 0000000..40f54d8
--- /dev/null
+++ b/effects/rrad.send.pd
@@ -0,0 +1,94 @@
+#N canvas 310 367 255 162 10;
+#X obj 3 21 cnv 15 219 38 empty \$0-background-cnv empty 20 12 1 10
+-225271 -66577 0;
+#X obj 434 3 inlet OSC;
+#N canvas 96 554 981 424 saves 0;
+#X msg 15 103 set;
+#X msg 45 104 substate \$1;
+#X obj 15 78 t b f;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X obj 506 191 commun /throw \$0;
+#X obj 506 167 r \$0-throw;
+#X obj 506 216 s \$0-throw-r;
+#X obj 507 110 commun /level \$0;
+#X obj 507 86 r \$0-level;
+#X obj 507 135 s \$0-level;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 10 0 11 0;
+#X connect 11 0 3 0;
+#X connect 14 0 16 0;
+#X connect 15 0 14 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 0;
+#X restore 372 2 pd saves;
+#N canvas 646 240 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 0 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 298 2 pd cnv.ctl;
+#X obj 83 39 hsl 128 15 0 1 0 0 \$0-level \$0-level level -2 -6 0 8
+-262144 -1 -1 5700 1;
+#X obj 202 94 vradio 15 1 0 3 \$0-substate \$0-substate-r empty 0 -6
+0 8 -262144 -1 -1 0;
+#X obj 34 121 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -262144
+-1 -1;
+#X obj 141 123 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -262144
+-1 -1;
+#X text 185 2 look! ==>;
+#X obj 408 141 throw~ \$2;
+#X symbolatom 4 40 10 0 0 2 throw #0-throw #0-throw-r;
+#X msg 408 116 set \$1;
+#X obj 412 30 loadbang;
+#X obj 413 50 symbol \$2;
+#X obj 413 70 s \$0-throw;
+#X obj 255 3 inlet~;
+#X obj 328 91 r \$0-throw;
+#X obj 410 91 r \$0-throw-r;
+#X obj 273 35 r \$0-level;
+#X obj 273 84 line~;
+#X obj 256 110 *~;
+#X msg 273 60 \$1 15;
+#X obj 118 78 nbx 5 14 0 1e+37 0 0 \$0-preset \$0-preset preset 0 -6
+0 10 -262144 -1 -1 0 256;
+#X connect 1 0 2 1;
+#X connect 11 0 9 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 15 0 20 0;
+#X connect 16 0 11 0;
+#X connect 17 0 11 0;
+#X connect 18 0 21 0;
+#X connect 19 0 20 1;
+#X connect 20 0 9 0;
+#X connect 21 0 19 0;
+#X coords 0 0 1 1 250 160 1;
diff --git a/effects/tap_reverb.dat b/effects/tap_reverb.dat
new file mode 100644
index 0000000..7b8e581
--- /dev/null
+++ b/effects/tap_reverb.dat
@@ -0,0 +1,38 @@
+, 0 , AfterBurn (Short)
+, 1 , AfterBurn (Long)
+, 2 , Drum Chamber
+, 3 , Garage
+, 4 , Garage (Bright)
+, 5 , Gymnasium
+, 6 , Gymnasium (Bright)
+, 7 , Gymnasium (Bright) - HD
+, 8 , Hall (Small)
+, 9 , Hall (Medium)
+, 10 , Hall (Large)
+, 11 , Hall (Large) - HD
+, 12 , Plate (Small)
+, 13 , Plate (Medium)
+, 14 , Plate (Large)
+, 15 , Plate (Large) - HD
+, 16 , Pulse Chamber
+, 17 , Pulse Chamber (Reverse)
+, 18 , Resonator (96 ms)
+, 19 , Resonator (152 ms)
+, 20 , Resonator (208 ms)
+, 21 , Room (Small)
+, 22 , Room (Medium)
+, 23 , Room (Large)
+, 24 , Room (Large) - HD
+, 25 , Slap Chamber
+, 26 , Slap Chamber - HD
+, 27 , Slap Chamber (Bright)
+, 28 , Slap Chamber (Bright) - HD
+, 29 , Smooth Hall (Small)
+, 30 , Smooth Hall (Medium)
+, 31 , Smooth Hall (Large)
+, 32 , Smooth Hall (Large) - HD
+, 33 , Vocal Plate
+, 34 , Vocal Plate - HD
+, 35 , Warble Chamber
+, 36 , Warehouse
+, 37 , Warehouse - HD
diff --git a/instruments/MA_FM.pd b/instruments/MA_FM.pd
new file mode 100644
index 0000000..4d861fd
--- /dev/null
+++ b/instruments/MA_FM.pd
@@ -0,0 +1,1249 @@
+#N canvas 726 332 249 426 10;
+#X obj 13 239 vsl 15 128 0 1000 0 0 \$0-rAtt_1 \$0-sAtt_1 A 0 -8 1728
+8 -262144 -1 -1 4400 1;
+#X obj 31 239 vsl 15 128 0 1000 0 0 \$0-rRel_1 \$0-sRel_1 R 0 -8 1728
+8 -262144 -1 -1 10500 1;
+#X obj 72 241 vsl 15 128 0 1000 0 0 \$0-rAtt_2 \$0-sAtt_2 A 0 -8 1728
+8 -262144 -1 -1 5600 1;
+#X obj 90 241 vsl 15 128 0 1000 0 0 \$0-rRel_2 \$0-sRel_2 R 0 -8 1728
+8 -262144 -1 -1 600 1;
+#X obj 133 240 vsl 15 128 0 1000 0 0 \$0-rAtt_3 \$0-sAtt_3 A 0 -8 1728
+8 -262144 -1 -1 900 1;
+#X obj 151 240 vsl 15 128 0 1000 0 0 \$0-rRel_3 \$0-sRel_3 R 0 -8 1728
+8 -262144 -1 -1 6800 1;
+#X obj 430 158 s \$0-NoteVel;
+#X obj 415 179 s \$0-NotePitch;
+#X obj 446 137 s \$0-NoteChnl;
+#N canvas 0 0 1054 904 FM_Feedback 0;
+#X obj 181 178 line~;
+#X obj 181 152 pack 0 50;
+#X obj 181 126 / 100;
+#X obj 165 202 *~;
+#X obj 357 177 line~;
+#X obj 357 151 pack 0 50;
+#X obj 357 125 / 100;
+#X obj 341 201 *~;
+#X obj 532 175 line~;
+#X obj 532 149 pack 0 50;
+#X obj 532 123 / 100;
+#X obj 516 199 *~;
+#X obj 165 225 throw~ In_op1;
+#X obj 341 226 throw~ In_op1;
+#X obj 517 225 throw~ In_op1;
+#X obj 110 153 r~ \$0-Out_Op1;
+#X obj 278 134 r~ \$0-Out_Op2;
+#X obj 465 150 r~ \$0-Out_Op3;
+#X obj 110 183 z~ 1;
+#X obj 296 178 z~ 1;
+#X obj 466 176 z~ 1;
+#X obj 165 330 line~;
+#X obj 165 304 pack 0 50;
+#X obj 165 278 / 100;
+#X obj 149 354 *~;
+#X obj 341 329 line~;
+#X obj 341 303 pack 0 50;
+#X obj 341 277 / 100;
+#X obj 325 353 *~;
+#X obj 516 327 line~;
+#X obj 516 301 pack 0 50;
+#X obj 516 275 / 100;
+#X obj 500 351 *~;
+#X obj 94 305 r~ \$0-Out_Op1;
+#X obj 262 286 r~ \$0-Out_Op2;
+#X obj 449 302 r~ \$0-Out_Op3;
+#X obj 94 335 z~ 1;
+#X obj 280 330 z~ 1;
+#X obj 450 328 z~ 1;
+#X obj 152 496 line~;
+#X obj 152 470 pack 0 50;
+#X obj 152 444 / 100;
+#X obj 136 520 *~;
+#X obj 328 495 line~;
+#X obj 328 469 pack 0 50;
+#X obj 328 443 / 100;
+#X obj 312 519 *~;
+#X obj 503 493 line~;
+#X obj 503 467 pack 0 50;
+#X obj 503 441 / 100;
+#X obj 487 517 *~;
+#X obj 79 451 r~ \$0-Out_Op1;
+#X obj 249 452 r~ \$0-Out_Op2;
+#X obj 436 468 r~ \$0-Out_Op3;
+#X obj 267 496 z~ 1;
+#X obj 437 494 z~ 1;
+#X obj 136 543 throw~ In_op3;
+#X obj 311 540 throw~ In_op3;
+#X obj 488 543 throw~ In_op3;
+#X obj 149 377 throw~ In_op2;
+#X obj 325 378 throw~ In_op2;
+#X obj 503 377 throw~ In_op2;
+#X obj 79 477 z~ 1;
+#X obj 152 422 r \$0-op1->op3;
+#X obj 328 419 r \$0-op2->op3;
+#X obj 503 417 r \$0-op3->op3;
+#X obj 165 256 r \$0-op1->op2;
+#X obj 341 253 r \$0-op2->op2;
+#X obj 516 251 r \$0-op3->op2;
+#X obj 181 106 r \$0-op1->op1;
+#X obj 357 103 r \$0-op2->op1;
+#X obj 532 101 r \$0-op3->op1;
+#X connect 0 0 3 1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 12 0;
+#X connect 4 0 7 1;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 13 0;
+#X connect 8 0 11 1;
+#X connect 9 0 8 0;
+#X connect 10 0 9 0;
+#X connect 11 0 14 0;
+#X connect 15 0 18 0;
+#X connect 16 0 19 0;
+#X connect 17 0 20 0;
+#X connect 18 0 3 0;
+#X connect 19 0 7 0;
+#X connect 20 0 11 0;
+#X connect 21 0 24 1;
+#X connect 22 0 21 0;
+#X connect 23 0 22 0;
+#X connect 24 0 59 0;
+#X connect 25 0 28 1;
+#X connect 26 0 25 0;
+#X connect 27 0 26 0;
+#X connect 28 0 60 0;
+#X connect 29 0 32 1;
+#X connect 30 0 29 0;
+#X connect 31 0 30 0;
+#X connect 32 0 61 0;
+#X connect 33 0 36 0;
+#X connect 34 0 37 0;
+#X connect 35 0 38 0;
+#X connect 36 0 24 0;
+#X connect 37 0 28 0;
+#X connect 38 0 32 0;
+#X connect 39 0 42 1;
+#X connect 40 0 39 0;
+#X connect 41 0 40 0;
+#X connect 42 0 56 0;
+#X connect 43 0 46 1;
+#X connect 44 0 43 0;
+#X connect 45 0 44 0;
+#X connect 46 0 57 0;
+#X connect 47 0 50 1;
+#X connect 48 0 47 0;
+#X connect 49 0 48 0;
+#X connect 50 0 58 0;
+#X connect 51 0 62 0;
+#X connect 52 0 54 0;
+#X connect 53 0 55 0;
+#X connect 54 0 46 0;
+#X connect 55 0 50 0;
+#X connect 62 0 42 0;
+#X connect 63 0 41 0;
+#X connect 64 0 45 0;
+#X connect 65 0 49 0;
+#X connect 66 0 23 0;
+#X connect 67 0 27 0;
+#X connect 68 0 31 0;
+#X connect 69 0 2 0;
+#X connect 70 0 6 0;
+#X connect 71 0 10 0;
+#X coords 0 0 0.000952381 0.00111111 120 20 0;
+#X restore 739 301 pd FM_Feedback;
+#X obj 414 219 catch~ \$0-out;
+#X obj 0 19 cnv 30 244 180 empty empty empty 20 12 0 14 -166441 -66577
+0;
+#X obj 136 178 cnv 10 40 1 \$0-r_Op1OutCanvash \$0-s_Op1OutCanvash
+empty 20 12 1728 14 -33289 -262144 0;
+#X obj 120 172 cnv 12 38 16 empty \$0-s_Op1OutCanvash empty 4 6 576
+8 -33289 -262144 0;
+#X obj 121 173 nbx 3 14 0 100 0 0 \$0-outAmt_1 \$0-send-outAmt_1 empty
+0 -6 1728 10 -166441 -1 -1 31 256;
+#X obj 78 130 cnv 15 1 50 \$0-r_Op2OutCanvas \$0-s_Op2OutCanvas empty
+20 12 1728 14 -33289 -262144 0;
+#X obj 80 178 cnv 10 40 1 \$0-r_Op2OutCanvash \$0-s_Op2OutCanvash empty
+20 12 1728 14 -33289 -262144 0;
+#X obj 68 172 cnv 12 38 16 empty \$0-s_Op2OutCanvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 69 173 nbx 3 14 0 100 0 0 \$0-outAmt_2 \$0-send-outAmt_2 empty
+0 -6 1728 10 -166441 -1 -1 84 256;
+#X obj 28 178 cnv 10 40 1 \$0-r_Op3OutCanvash \$0-s_Op3OutCanvash empty
+20 12 1728 14 -166441 -262144 0;
+#X obj 25 30 cnv 12 40 22 empty \$0-s_Op3FBCanvas empty 4 6 576 8 -166441
+-262144 0;
+#X obj 27 32 cnv 12 36 18 empty empty empty 4 6 0 8 -166441 -262144
+0;
+#X obj 13 22 cnv 12 34 16 empty \$0-s_Op3FBCanvas empty 4 6 576 8 -166441
+-262144 0;
+#X obj 14 23 nbx 3 14 0 100 0 0 \$0-op3->op3 \$0-send-op3->op3 empty
+0 -6 1728 8 -166441 -1 -1 0 256;
+#X obj 25 42 cnv 15 1 50 \$0-r_Op3Op2 \$0-s_Op3Op2 empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 177 171 cnv 12 42 18 empty empty empty 4 6 0 8 -1 -66577 0;
+#X obj 179 173 cnv 12 38 14 empty empty Out 10 7 0 8 -195568 -66577
+0;
+#X obj 25 130 cnv 15 1 50 \$0-r_Op3OutCanvas \$0-s_Op3OutCanvas empty
+20 12 1728 14 -166441 -262144 0;
+#X obj 16 172 cnv 12 38 16 empty \$0-s_Op3OutCanvas empty 4 6 576 8
+-166441 -262144 0;
+#X obj 17 173 nbx 3 14 0 100 0 0 \$0-outAmt_3 \$0-send-outAmt_3 empty
+0 -6 1728 10 -166441 -1 -1 0 256;
+#X obj 26 87 cnv 10 40 1 \$0-r_Op3Op2h \$0-s_Op3Op2h empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 28 135 cnv 10 40 1 \$0-r_Op3Op1h \$0-s_Op3Op1h empty 20 12 1728
+14 -166441 -262144 0;
+#X obj 25 82 cnv 15 1 50 \$0-r_Op3Op2_2 \$0-s_Op3Op2_2 empty 20 12
+1728 14 -166441 -262144 0;
+#X obj 15 81 cnv 12 38 16 empty \$0-s_Op3Op2Canvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 16 82 nbx 3 14 0 100 0 0 \$0-op3->op2 \$0-send-op3->op2 empty
+0 -6 1728 10 -166441 -1 -1 87 256;
+#X obj 15 129 cnv 12 38 16 empty \$0-s_Op3Op1Canvas empty 4 6 576 8
+-166441 -262144 0;
+#X obj 16 130 nbx 3 14 0 100 0 0 \$0-op3->op1 \$0-send-op3->op1 empty
+0 -6 1728 10 -166441 -1 -1 0 256;
+#X obj 88 135 cnv 10 30 1 \$0-r_Op2Op1h \$0-s_Op2Op1h empty 20 12 1728
+14 -166441 -262144 0;
+#X obj 68 129 cnv 12 38 16 empty \$0-s_Op2Op1Canvas empty 4 6 576 8
+-166441 -262144 0;
+#X obj 69 130 nbx 3 14 0 100 0 0 \$0-op2->op1 \$0-send-op2->op1 empty
+0 -6 1728 10 -166441 -1 -1 0 256;
+#X obj 131 81 cnv 15 1 50 \$0-r_Op1Op2 \$0-s_Op1Op2 empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 120 81 cnv 12 38 16 empty \$0-s_Op1Op2Canvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 121 82 nbx 3 14 0 100 0 0 \$0-op1->op2 \$0-send-op1->op2 empty
+0 -6 1728 10 -166441 -1 -1 12 256;
+#X obj 131 131 cnv 15 1 40 \$0-r_Op1OutCanvas \$0-s_Op1OutCanvas empty
+20 12 1728 14 -33289 -262144 0;
+#X obj 131 118 cnv 12 40 22 empty \$0-s_Op1FBCanvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 133 120 cnv 12 36 18 empty empty empty 4 6 0 8 -166441 -262144
+0;
+#X obj 119 128 cnv 12 42 18 empty empty empty 4 6 0 8 -1 -66577 0;
+#X obj 121 130 cnv 12 38 14 empty empty Op_1 4 6 0 8 -233017 -66577
+0;
+#X obj 119 110 cnv 12 34 16 empty \$0-s_Op1FBCanvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 120 111 nbx 3 14 0 100 0 0 \$0-op1->op1 \$0-send-op1->op1 empty
+0 -6 1728 8 -166441 -1 -1 15 256;
+#X obj 78 70 cnv 12 40 22 empty \$0-s_Op2FBCanvas empty 4 6 576 8 -166441
+-262144 0;
+#X obj 80 72 cnv 12 36 18 empty empty empty 4 6 0 8 -166441 -262144
+0;
+#X obj 66 62 cnv 12 34 16 empty \$0-s_Op2FBCanvas empty 4 6 576 8 -166441
+-262144 0;
+#X obj 67 63 nbx 3 14 0 100 0 0 \$0-op2->op2 \$0-send-op2->op2 empty
+0 -6 1728 8 -166441 -1 -1 0 256;
+#X obj 78 82 cnv 15 1 46 \$0-r_Op2Op1 \$0-s_Op2Op1 empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 90 88 cnv 10 30 1 \$0-r_Op1Op2h \$0-s_Op1Op2h empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 66 80 cnv 12 42 18 empty empty empty 4 6 0 8 -1 -66577 0;
+#X obj 68 82 cnv 12 38 14 empty empty Op_2 4 6 0 8 -233017 -66577 0
+;
+#X obj 121 37 cnv 12 38 16 empty \$0-s_Op1Op3Canvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 131 38 cnv 15 1 42 \$0-r_Op1Op3_1 \$0-s_Op1Op3_1 empty 20 12
+1728 14 -33289 -262144 0;
+#X obj 122 38 nbx 3 14 0 100 0 0 \$0-op1->op3 \$0-send-op1->op3 empty
+0 -6 1728 10 -166441 -1 -1 7 256;
+#X obj 36 42 cnv 10 32 1 \$0-r_Op2Op3h \$0-s_Op2Op3h empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 90 42 cnv 10 30 1 \$0-r_Op1Op3h \$0-s_Op1Op3h empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 68 37 cnv 12 38 16 empty \$0-s_Op2Op3Canvas empty 4 6 576 8
+-166441 -262144 0;
+#X obj 78 37 cnv 15 1 24 \$0-r_Op2Op3 \$0-s_Op2Op3 empty 20 12 1728
+14 -166441 -262144 0;
+#X obj 69 38 nbx 3 14 0 100 0 0 \$0-op2->op3 \$0-send-op2->op3 empty
+0 -6 1728 10 -166441 -1 -1 0 256;
+#X obj 12 40 cnv 12 42 18 empty empty empty 4 6 0 8 -1 -66577 0;
+#X obj 14 42 cnv 12 38 14 empty empty Op_3 4 6 0 8 -233017 -66577 0
+;
+#X obj 178 148 bng 15 250 50 0 \$0-r_RsFB \$0-s_RsFB Reset 0 -6 1728
+8 -262144 -1 -1;
+#N canvas 536 352 858 576 feedbacksReset 0;
+#X obj 215 122 s \$0-send-op1->op1;
+#X obj 327 122 s \$0-send-op2->op1;
+#X obj 440 123 s \$0-send-op3->op1;
+#X obj 224 187 s \$0-send-op3->op3;
+#X obj 336 188 s \$0-send-op3->op2;
+#X obj 210 260 s \$0-send-op1->op3;
+#X obj 322 261 s \$0-send-op2->op2;
+#X obj 439 263 s \$0-send-op1->op2;
+#X obj 556 264 s \$0-send-op2->op3;
+#X obj 197 320 s \$0-send-outAmt_1;
+#X obj 197 349 s \$0-send-outAmt_2;
+#X obj 207 388 s \$0-send-outAmt_3;
+#X obj 421 48 r \$0-r_RsFB;
+#X msg 420 69 0;
+#X connect 12 0 13 0;
+#X connect 13 0 0 0;
+#X connect 13 0 1 0;
+#X connect 13 0 2 0;
+#X connect 13 0 4 0;
+#X connect 13 0 3 0;
+#X connect 13 0 5 0;
+#X connect 13 0 6 0;
+#X connect 13 0 7 0;
+#X connect 13 0 8 0;
+#X connect 13 0 9 0;
+#X connect 13 0 10 0;
+#X connect 13 0 11 0;
+#X restore 739 280 pd feedbacksReset;
+#N canvas 0 0 1267 910 feedback_Matrix_GUI 0;
+#X obj 30 38 moses 1;
+#X msg 30 69 color 1 0;
+#X msg 101 67 color 12 0;
+#X obj 30 97 s \$0-s_Op1FBCanvas;
+#X obj 30 9 r \$0-op1->op1;
+#X obj 173 36 moses 1;
+#X msg 173 67 color 1 0;
+#X msg 244 65 color 12 0;
+#X obj 173 6 r \$0-op2->op2;
+#X obj 173 95 s \$0-s_Op2FBCanvas;
+#X obj 314 34 moses 1;
+#X msg 314 65 color 1 0;
+#X msg 385 63 color 12 0;
+#X obj 314 4 r \$0-op3->op3;
+#X obj 314 93 s \$0-s_Op3FBCanvas;
+#X obj 727 102 s \$0-s_Op1OutCanvas;
+#X obj 607 102 s \$0-s_Op2OutCanvas;
+#X obj 476 102 s \$0-s_Op3OutCanvas;
+#X obj 476 6 r \$0-outAmt_3;
+#X obj 607 6 r \$0-outAmt_2;
+#X obj 727 5 r \$0-outAmt_1;
+#X msg 644 81 color 12 0;
+#X msg 607 59 color 1 0;
+#X obj 607 30 moses 1;
+#X msg 764 80 color 12 0;
+#X msg 727 58 color 1 0;
+#X obj 727 29 moses 1;
+#X msg 513 81 color 12 0;
+#X msg 476 59 color 1 0;
+#X obj 476 30 moses 1;
+#X msg 73 448 color 12 0;
+#X obj 315 526 s \$0-s_Op1OutCanvash;
+#X obj 78 201 r \$0-outAmt_3;
+#X obj 78 225 >= 1;
+#X obj 73 290 spigot;
+#X obj 78 260 t b f;
+#X obj 204 549 s \$0-s_Op2OutCanvash;
+#X obj 73 576 s \$0-s_Op3OutCanvash;
+#X msg 204 448 color 12 0;
+#X obj 209 225 >= 1;
+#X obj 204 290 spigot;
+#X obj 209 260 t b f;
+#X obj 209 201 r \$0-outAmt_2;
+#X msg 315 447 color 12 0;
+#X obj 320 224 >= 1;
+#X obj 315 289 spigot;
+#X obj 320 259 t b f;
+#X obj 320 200 r \$0-outAmt_1;
+#X obj 17 286 == 0;
+#X obj 17 388 spigot;
+#X obj 17 360 t b f;
+#X msg 17 411 color 1 0;
+#X obj 143 316 == 0;
+#X obj 143 363 spigot;
+#X obj 273 295 == 0;
+#X obj 273 342 spigot;
+#X obj 560 187 r \$0-outAmt_3;
+#X obj 597 376 s \$0-s_Op3Op2_2;
+#X obj 784 463 s \$0-s_Op3Op2;
+#X msg 597 332 color 12 0;
+#X msg 524 332 color 1 0;
+#X obj 530 249 == 0;
+#X obj 524 307 spigot;
+#X obj 675 187 r \$0-op3->op1;
+#X obj 530 270 t b f;
+#X obj 560 210 >= 1;
+#X obj 597 281 spigot;
+#X obj 597 245 t b f;
+#X obj 675 218 >= 1;
+#X obj 712 291 spigot;
+#X obj 712 253 t b f;
+#X obj 676 252 == 0;
+#X obj 524 359 spigot;
+#X obj 784 184 r \$0-op3->op2;
+#X obj 582 404 s \$0-s_Op3Op2;
+#X obj 784 216 >= 1;
+#X msg 784 273 color 12 0;
+#X obj 784 254 spigot;
+#X obj 784 235 t b f;
+#X obj 756 309 == 0;
+#X msg 750 429 color 1 0;
+#X obj 750 351 spigot;
+#X obj 756 330 t b f;
+#X obj 750 382 spigot;
+#X obj 750 406 spigot;
+#X obj 883 113 s \$0-s_Op3Op2h;
+#X obj 884 7 r \$0-op3->op2;
+#X msg 920 81 color 12 0;
+#X msg 883 59 color 1 0;
+#X obj 883 30 moses 1;
+#X obj 882 148 s \$0-s_Op3Op2Canvas;
+#X msg 1049 81 color 12 0;
+#X msg 1012 59 color 1 0;
+#X obj 1012 30 moses 1;
+#X obj 1013 7 r \$0-op3->op1;
+#X obj 1012 150 s \$0-s_Op3Op1Canvas;
+#X obj 1014 113 s \$0-s_Op3Op1h;
+#X msg 1318 122 color 12 0;
+#X msg 1281 87 color 1 0;
+#X obj 1281 58 moses 1;
+#X obj 1281 33 r \$0-op2->op3;
+#X obj 1281 151 s \$0-s_Op2Op3Canvas;
+#X obj 143 339 t b f;
+#X obj 273 319 t b f;
+#X msg 167 500 color 1 0;
+#X obj 143 416 spigot;
+#X obj 273 388 spigot;
+#X obj 273 418 spigot;
+#X msg 287 489 color 1 0;
+#X obj 406 598 r \$0-op3->op1;
+#X obj 112 596 r \$0-outAmt_2;
+#X obj 112 803 s \$0-s_Op2Op1;
+#X obj 262 596 r \$0-op2->op1;
+#X obj 262 628 >= 1;
+#X msg 262 705 color 12 0;
+#X obj 262 686 spigot;
+#X obj 262 667 t b f;
+#X obj 112 628 >= 1;
+#X msg 112 705 color 12 0;
+#X obj 112 686 spigot;
+#X obj 112 667 t b f;
+#X obj 262 802 s \$0-s_Op2Op1h;
+#X obj 406 631 >= 1;
+#X msg 406 708 color 12 0;
+#X obj 406 689 spigot;
+#X obj 406 670 t b f;
+#X obj 48 669 == 0;
+#X obj 207 667 == 0;
+#X obj 367 667 == 0;
+#X msg 33 778 color 1 0;
+#X obj 33 731 spigot;
+#X obj 33 755 spigot;
+#X obj 33 704 t b f;
+#X obj 207 697 t b f;
+#X msg 207 779 color 1 0;
+#X obj 207 732 spigot;
+#X obj 207 756 spigot;
+#X obj 366 699 t b f;
+#X obj 1120 638 s \$0-s_Op2Op1Canvas;
+#X obj 1120 520 r \$0-op2->op1;
+#X msg 1157 609 color 12 0;
+#X msg 1120 574 color 1 0;
+#X obj 1120 545 moses 1;
+#X obj 1005 551 r \$0-op1->op2;
+#X msg 1034 633 color 12 0;
+#X msg 1006 604 color 1 0;
+#X obj 1006 575 moses 1;
+#X obj 1005 709 s \$0-s_Op1Op2h;
+#X obj 553 519 r \$0-op1->op3;
+#X obj 766 568 r \$0-op2->op3;
+#X obj 646 518 r \$0-op1->op2;
+#X obj 588 775 s \$0-s_Op1Op2;
+#X obj 1035 679 s \$0-s_Op1Op2Canvas;
+#X msg 908 614 color 12 0;
+#X msg 875 586 color 1 0;
+#X obj 875 557 moses 1;
+#X obj 875 650 s \$0-s_Op1Op3Canvas;
+#X obj 875 532 r \$0-op1->op3;
+#X obj 901 714 s \$0-s_Op1Op3_1;
+#X obj 549 552 >= 1;
+#X msg 549 629 color 12 0;
+#X obj 549 610 spigot;
+#X obj 549 591 t b f;
+#X obj 645 554 >= 1;
+#X msg 645 631 color 12 0;
+#X obj 645 612 spigot;
+#X obj 646 593 t b f;
+#X obj 507 554 == 0;
+#X msg 588 689 color 1 0;
+#X obj 500 611 spigot;
+#X obj 588 666 spigot;
+#X obj 507 580 t b f;
+#X obj 607 582 t b f;
+#X obj 608 561 == 0;
+#X msg 799 650 color 12 0;
+#X msg 766 622 color 1 0;
+#X obj 766 593 moses 1;
+#X obj 764 686 s \$0-s_Op2Op3Canvas;
+#X obj 748 711 s \$0-s_Op2Op3;
+#X obj 1074 461 s \$0-s_Op1Op3h;
+#X obj 931 476 s \$0-s_Op2Op3h;
+#X obj 934 230 r \$0-op2->op3;
+#X obj 931 275 >= 1;
+#X msg 931 352 color 12 0;
+#X obj 931 333 spigot;
+#X obj 931 314 t b f;
+#X obj 1078 237 r \$0-op1->op3;
+#X obj 1074 270 >= 1;
+#X msg 1074 347 color 12 0;
+#X obj 1074 328 spigot;
+#X obj 1074 309 t b f;
+#X obj 1031 299 == 0;
+#X obj 1031 325 t b f;
+#X msg 1031 423 color 1 0;
+#X obj 1029 375 spigot;
+#X obj 885 303 == 0;
+#X obj 885 329 t b f;
+#X obj 883 403 spigot;
+#X msg 948 436 color 1 0;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 9 0;
+#X connect 7 0 9 0;
+#X connect 8 0 5 0;
+#X connect 10 0 11 0;
+#X connect 10 1 12 0;
+#X connect 11 0 14 0;
+#X connect 12 0 14 0;
+#X connect 13 0 10 0;
+#X connect 18 0 29 0;
+#X connect 19 0 23 0;
+#X connect 20 0 26 0;
+#X connect 21 0 16 0;
+#X connect 22 0 16 0;
+#X connect 23 0 22 0;
+#X connect 23 1 21 0;
+#X connect 24 0 15 0;
+#X connect 25 0 15 0;
+#X connect 26 0 25 0;
+#X connect 26 1 24 0;
+#X connect 27 0 17 0;
+#X connect 28 0 17 0;
+#X connect 29 0 28 0;
+#X connect 29 1 27 0;
+#X connect 30 0 31 0;
+#X connect 30 0 36 0;
+#X connect 30 0 37 0;
+#X connect 32 0 33 0;
+#X connect 33 0 35 0;
+#X connect 33 0 48 0;
+#X connect 34 0 30 0;
+#X connect 35 0 34 0;
+#X connect 35 1 34 1;
+#X connect 38 0 31 0;
+#X connect 38 0 36 0;
+#X connect 39 0 41 0;
+#X connect 39 0 52 0;
+#X connect 40 0 38 0;
+#X connect 41 0 40 0;
+#X connect 41 1 40 1;
+#X connect 42 0 39 0;
+#X connect 43 0 31 0;
+#X connect 44 0 46 0;
+#X connect 44 0 54 0;
+#X connect 45 0 43 0;
+#X connect 46 0 45 0;
+#X connect 46 1 45 1;
+#X connect 47 0 44 0;
+#X connect 48 0 50 0;
+#X connect 49 0 51 0;
+#X connect 50 0 49 0;
+#X connect 50 0 53 0;
+#X connect 50 0 55 0;
+#X connect 50 1 49 1;
+#X connect 50 1 105 1;
+#X connect 50 1 107 1;
+#X connect 51 0 37 0;
+#X connect 52 0 102 0;
+#X connect 53 0 105 0;
+#X connect 54 0 103 0;
+#X connect 55 0 106 0;
+#X connect 56 0 65 0;
+#X connect 59 0 57 0;
+#X connect 59 0 74 0;
+#X connect 60 0 72 0;
+#X connect 61 0 64 0;
+#X connect 61 0 82 0;
+#X connect 62 0 60 0;
+#X connect 63 0 68 0;
+#X connect 64 0 62 0;
+#X connect 64 1 62 1;
+#X connect 64 1 83 1;
+#X connect 65 0 67 0;
+#X connect 65 0 61 0;
+#X connect 66 0 59 0;
+#X connect 67 0 66 0;
+#X connect 67 1 66 1;
+#X connect 68 0 70 0;
+#X connect 68 0 71 0;
+#X connect 69 0 59 0;
+#X connect 70 0 69 0;
+#X connect 70 1 69 1;
+#X connect 71 0 72 1;
+#X connect 71 0 64 0;
+#X connect 71 0 84 1;
+#X connect 71 0 82 0;
+#X connect 72 0 57 0;
+#X connect 73 0 75 0;
+#X connect 75 0 78 0;
+#X connect 75 0 79 0;
+#X connect 76 0 58 0;
+#X connect 77 0 76 0;
+#X connect 78 0 77 0;
+#X connect 78 1 77 1;
+#X connect 79 0 82 0;
+#X connect 80 0 58 0;
+#X connect 81 0 83 0;
+#X connect 82 0 81 0;
+#X connect 82 1 81 1;
+#X connect 83 0 84 0;
+#X connect 84 0 80 0;
+#X connect 86 0 89 0;
+#X connect 87 0 85 0;
+#X connect 87 0 90 0;
+#X connect 88 0 85 0;
+#X connect 88 0 90 0;
+#X connect 89 0 88 0;
+#X connect 89 1 87 0;
+#X connect 91 0 95 0;
+#X connect 91 0 96 0;
+#X connect 92 0 95 0;
+#X connect 92 0 96 0;
+#X connect 93 0 92 0;
+#X connect 93 1 91 0;
+#X connect 94 0 93 0;
+#X connect 97 0 101 0;
+#X connect 98 0 101 0;
+#X connect 99 0 98 0;
+#X connect 99 1 97 0;
+#X connect 100 0 99 0;
+#X connect 102 0 53 0;
+#X connect 102 0 55 0;
+#X connect 102 1 53 1;
+#X connect 102 1 106 1;
+#X connect 103 0 55 0;
+#X connect 103 1 55 1;
+#X connect 104 0 36 0;
+#X connect 105 0 104 0;
+#X connect 106 0 107 0;
+#X connect 107 0 108 0;
+#X connect 108 0 31 0;
+#X connect 109 0 122 0;
+#X connect 110 0 117 0;
+#X connect 112 0 113 0;
+#X connect 113 0 116 0;
+#X connect 113 0 127 0;
+#X connect 114 0 111 0;
+#X connect 114 0 121 0;
+#X connect 115 0 114 0;
+#X connect 116 0 115 0;
+#X connect 116 1 115 1;
+#X connect 117 0 120 0;
+#X connect 117 0 126 0;
+#X connect 118 0 111 0;
+#X connect 119 0 118 0;
+#X connect 120 0 119 0;
+#X connect 120 1 119 1;
+#X connect 122 0 125 0;
+#X connect 122 0 128 0;
+#X connect 123 0 121 0;
+#X connect 124 0 123 0;
+#X connect 125 0 124 0;
+#X connect 125 1 124 1;
+#X connect 126 0 132 0;
+#X connect 127 0 133 0;
+#X connect 128 0 137 0;
+#X connect 129 0 111 0;
+#X connect 130 0 131 0;
+#X connect 131 0 129 0;
+#X connect 132 0 130 0;
+#X connect 132 1 130 1;
+#X connect 133 0 130 0;
+#X connect 133 0 135 0;
+#X connect 133 1 131 1;
+#X connect 133 1 135 1;
+#X connect 134 0 121 0;
+#X connect 135 0 136 0;
+#X connect 136 0 134 0;
+#X connect 137 0 135 0;
+#X connect 137 1 136 1;
+#X connect 139 0 142 0;
+#X connect 140 0 138 0;
+#X connect 141 0 138 0;
+#X connect 142 0 141 0;
+#X connect 142 1 140 0;
+#X connect 143 0 146 0;
+#X connect 144 0 147 0;
+#X connect 144 0 152 0;
+#X connect 145 0 147 0;
+#X connect 145 0 152 0;
+#X connect 146 0 145 0;
+#X connect 146 1 144 0;
+#X connect 148 0 159 0;
+#X connect 149 0 176 0;
+#X connect 150 0 163 0;
+#X connect 153 0 156 0;
+#X connect 153 0 158 0;
+#X connect 154 0 156 0;
+#X connect 154 0 158 0;
+#X connect 155 0 154 0;
+#X connect 155 1 153 0;
+#X connect 157 0 155 0;
+#X connect 159 0 162 0;
+#X connect 159 0 167 0;
+#X connect 160 0 151 0;
+#X connect 161 0 160 0;
+#X connect 162 0 161 0;
+#X connect 162 1 161 1;
+#X connect 163 0 166 0;
+#X connect 163 0 173 0;
+#X connect 164 0 151 0;
+#X connect 165 0 164 0;
+#X connect 166 0 165 0;
+#X connect 166 1 165 1;
+#X connect 167 0 171 0;
+#X connect 168 0 151 0;
+#X connect 169 0 170 0;
+#X connect 170 0 168 0;
+#X connect 171 0 169 0;
+#X connect 171 1 169 1;
+#X connect 172 0 169 0;
+#X connect 172 1 170 1;
+#X connect 173 0 172 0;
+#X connect 174 0 177 0;
+#X connect 174 0 178 0;
+#X connect 175 0 177 0;
+#X connect 175 0 178 0;
+#X connect 176 0 175 0;
+#X connect 176 1 174 0;
+#X connect 181 0 182 0;
+#X connect 182 0 185 0;
+#X connect 182 0 195 0;
+#X connect 183 0 180 0;
+#X connect 184 0 183 0;
+#X connect 185 0 184 0;
+#X connect 185 1 184 1;
+#X connect 186 0 187 0;
+#X connect 187 0 190 0;
+#X connect 187 0 191 0;
+#X connect 188 0 179 0;
+#X connect 188 0 180 0;
+#X connect 189 0 188 0;
+#X connect 190 0 189 0;
+#X connect 190 1 189 1;
+#X connect 191 0 192 0;
+#X connect 192 0 194 0;
+#X connect 192 1 194 1;
+#X connect 193 0 179 0;
+#X connect 194 0 193 0;
+#X connect 194 0 197 0;
+#X connect 195 0 196 0;
+#X connect 196 0 194 0;
+#X connect 196 1 197 1;
+#X connect 197 0 198 0;
+#X connect 198 0 180 0;
+#X restore 740 259 pd feedback_Matrix_GUI;
+#N canvas 0 0 452 302 FM_Pitch 0;
+#X floatatom 278 194 5 0 0 0 Op2_Pitch - -;
+#X floatatom 452 182 5 0 0 0 Op3_Pitch - -;
+#X obj 452 129 line;
+#X obj 453 108 pack \$1 f;
+#X obj 454 67 bang;
+#X floatatom 502 67 5 0 0 0 - - -;
+#X obj 453 88 random 500;
+#X obj 279 145 line;
+#X obj 280 124 pack \$1 f;
+#X obj 281 83 bang;
+#X floatatom 378 116 5 0 0 0 - - -;
+#X obj 280 104 random 500;
+#X floatatom 372 92 5 0 0 0 - - -;
+#X floatatom 537 108 5 0 0 0 - - -;
+#X obj 20 70 mtof;
+#X obj 19 238 line;
+#X obj 21 216 pack \$1 f;
+#X obj 21 196 random 500;
+#X obj 21 95 t b f;
+#X floatatom 95 179 5 0 0 0 - - -;
+#X obj 5 269 s \$0-pitch_Op1;
+#X obj 258 238 s \$0-pitch_Op2;
+#X obj 422 221 s \$0-pitch_Op3;
+#X obj 452 47 r \$0-NoteVel;
+#X obj 283 63 r \$0-NoteVel;
+#X obj 35 16 r \$0-NotePitch;
+#X floatatom 126 243 5 0 0 0 - - -;
+#X obj 452 152 + 2000;
+#X obj 76 156 / 5;
+#X obj 38 44 moses 1;
+#X obj 278 171 + 30;
+#X floatatom 239 99 5 0 0 0 - - -;
+#X floatatom 161 102 5 0 0 0 - - -;
+#X connect 2 0 27 0;
+#X connect 3 0 2 0;
+#X connect 4 0 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 0;
+#X connect 7 0 30 0;
+#X connect 8 0 7 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 1;
+#X connect 11 0 8 0;
+#X connect 12 0 11 1;
+#X connect 13 0 6 1;
+#X connect 13 0 27 1;
+#X connect 14 0 18 0;
+#X connect 14 0 20 0;
+#X connect 15 0 26 0;
+#X connect 16 0 15 0;
+#X connect 17 0 16 0;
+#X connect 18 0 17 0;
+#X connect 18 1 28 0;
+#X connect 19 0 16 1;
+#X connect 23 0 4 0;
+#X connect 23 0 22 0;
+#X connect 24 0 9 0;
+#X connect 24 0 21 0;
+#X connect 25 0 29 0;
+#X connect 27 0 1 0;
+#X connect 28 0 17 1;
+#X connect 29 1 14 0;
+#X connect 29 1 32 0;
+#X connect 30 0 0 0;
+#X restore 740 325 pd FM_Pitch;
+#X obj 768 39 loadbang;
+#X obj 768 77 s \$0-s_RsFB;
+#X text 463 291 And Envelopes (op1 \, op2 \, op3) -->;
+#N canvas 0 0 1102 748 sound-engine 0;
+#X obj 56 190 cos~;
+#X obj 56 166 +~;
+#X obj 56 121 phasor~;
+#X obj 226 191 cos~;
+#X obj 227 171 +~;
+#X obj 228 128 phasor~;
+#X obj 422 190 cos~;
+#X obj 423 170 +~;
+#X obj 424 122 phasor~;
+#X obj 66 242 sig~;
+#X obj 54 269 vcf~;
+#X floatatom 76 215 5 0 0 0 op1_FiltFeq - -;
+#X floatatom 116 224 5 0 0 0 op1_filtQ - -;
+#X obj 235 240 sig~;
+#X obj 226 265 vcf~;
+#X floatatom 235 211 5 0 0 0 op1_FiltFeq - -;
+#X floatatom 295 223 5 0 5 0 op1_filtQ - -;
+#X obj 432 240 sig~;
+#X obj 423 265 vcf~;
+#X floatatom 432 211 5 0 0 0 op1_FiltFeq - -;
+#X floatatom 494 224 5 0 0 0 op1_filtQ - -;
+#X obj 68 141 catch~ In_op1;
+#X obj 240 148 catch~ In_op2;
+#X obj 436 142 catch~ In_op3;
+#X obj 53 399 send~ \$0-Out_Op1;
+#X obj 225 395 send~ \$0-Out_Op2;
+#X obj 422 396 send~ \$0-Out_Op3;
+#N canvas 0 107 1011 691 AD 0;
+#X obj 432 149 inlet;
+#X obj 430 629 outlet~;
+#X obj 597 145 inlet;
+#X obj 818 164 inlet;
+#X obj 432 192 t b f;
+#X obj 432 399 t3_bpe;
+#X obj 432 334 t b b;
+#X obj 432 429 t3_line~ 0;
+#X obj 432 367 f 0.04;
+#X floatatom 469 283 5 0 0 0 - - -;
+#X obj 488 381 pack 0 0 1 1.5 1 0.5 0 1.5;
+#X text 525 268 pre-delay;
+#X floatatom 597 282 5 0 0 0 - - -;
+#X text 653 267 attack;
+#X floatatom 705 281 5 0 0 0 - - -;
+#X text 748 283 Samples;
+#X text 761 266 sustain;
+#X floatatom 818 278 5 0 0 0 - - -;
+#X text 861 280 Samples;
+#X text 874 263 release;
+#X msg 548 412 set _lin;
+#X msg 548 433 set _linsqrt;
+#X msg 548 454 set _sqrt;
+#X msg 548 474 set _sin;
+#X msg 549 495 set _sinhann;
+#X msg 549 517 set _hann;
+#X msg 350 346 stop;
+#X obj 432 534 fade~ _sin;
+#X connect 0 0 4 0;
+#X connect 2 0 12 0;
+#X connect 3 0 17 0;
+#X connect 4 0 6 0;
+#X connect 4 1 14 0;
+#X connect 5 0 7 0;
+#X connect 5 1 7 1;
+#X connect 6 0 8 0;
+#X connect 6 1 10 0;
+#X connect 7 0 27 0;
+#X connect 8 0 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 5 0;
+#X connect 12 0 10 3;
+#X connect 14 0 10 5;
+#X connect 17 0 10 7;
+#X connect 20 0 27 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 0;
+#X connect 24 0 27 0;
+#X connect 25 0 27 0;
+#X connect 26 0 5 0;
+#X connect 27 0 1 0;
+#X restore 735 295 pd AD;
+#X floatatom 823 231 5 0 0 0 - - -;
+#X obj 54 317 *~;
+#X obj 226 312 *~;
+#X obj 422 318 *~;
+#X obj 67 291 r~ \$0-env_1;
+#X obj 735 314 s~ \$0-env_1;
+#X obj 824 314 s~ \$0-env_2;
+#X obj 924 315 s~ \$0-env_3;
+#X obj 253 288 r~ \$0-env_2;
+#X obj 457 294 r~ \$0-env_3;
+#X obj 787 169 moses 1;
+#X obj 55 98 sig~;
+#N canvas 0 107 1011 691 AD 0;
+#X obj 432 149 inlet;
+#X obj 430 629 outlet~;
+#X obj 597 145 inlet;
+#X obj 818 164 inlet;
+#X obj 432 192 t b f;
+#X obj 432 399 t3_bpe;
+#X obj 432 334 t b b;
+#X obj 432 429 t3_line~ 0;
+#X obj 432 367 f 0.04;
+#X floatatom 469 283 5 0 0 0 - - -;
+#X obj 488 381 pack 0 0 1 1.5 1 0.5 0 1.5;
+#X text 525 268 pre-delay;
+#X floatatom 597 282 5 0 0 0 - - -;
+#X text 653 267 attack;
+#X floatatom 705 281 5 0 0 0 - - -;
+#X text 748 283 Samples;
+#X text 761 266 sustain;
+#X floatatom 818 278 5 0 0 0 - - -;
+#X text 861 280 Samples;
+#X text 874 263 release;
+#X msg 548 412 set _lin;
+#X msg 548 433 set _linsqrt;
+#X msg 548 454 set _sqrt;
+#X msg 548 474 set _sin;
+#X msg 549 495 set _sinhann;
+#X msg 549 517 set _hann;
+#X msg 350 346 stop;
+#X obj 432 534 fade~ _sin;
+#X connect 0 0 4 0;
+#X connect 2 0 12 0;
+#X connect 3 0 17 0;
+#X connect 4 0 6 0;
+#X connect 4 1 14 0;
+#X connect 5 0 7 0;
+#X connect 5 1 7 1;
+#X connect 6 0 8 0;
+#X connect 6 1 10 0;
+#X connect 7 0 27 0;
+#X connect 8 0 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 5 0;
+#X connect 12 0 10 3;
+#X connect 14 0 10 5;
+#X connect 17 0 10 7;
+#X connect 20 0 27 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 0;
+#X connect 24 0 27 0;
+#X connect 25 0 27 0;
+#X connect 26 0 5 0;
+#X connect 27 0 1 0;
+#X restore 824 295 pd AD;
+#X obj 823 211 * 100;
+#X obj 824 190 / 127;
+#N canvas 0 107 1011 691 AD 0;
+#X obj 432 149 inlet;
+#X obj 430 629 outlet~;
+#X obj 597 145 inlet;
+#X obj 818 164 inlet;
+#X obj 432 192 t b f;
+#X obj 432 399 t3_bpe;
+#X obj 432 334 t b b;
+#X obj 432 429 t3_line~ 0;
+#X obj 432 367 f 0.04;
+#X floatatom 469 283 5 0 0 0 - - -;
+#X obj 488 381 pack 0 0 1 1.5 1 0.5 0 1.5;
+#X text 525 268 pre-delay;
+#X floatatom 597 282 5 0 0 0 - - -;
+#X text 653 267 attack;
+#X floatatom 705 281 5 0 0 0 - - -;
+#X text 748 283 Samples;
+#X text 761 266 sustain;
+#X floatatom 818 278 5 0 0 0 - - -;
+#X text 861 280 Samples;
+#X text 874 263 release;
+#X msg 548 412 set _lin;
+#X msg 548 433 set _linsqrt;
+#X msg 548 454 set _sqrt;
+#X msg 548 474 set _sin;
+#X msg 549 495 set _sinhann;
+#X msg 549 517 set _hann;
+#X msg 350 346 stop;
+#X obj 432 534 fade~ _sin;
+#X connect 0 0 4 0;
+#X connect 2 0 12 0;
+#X connect 3 0 17 0;
+#X connect 4 0 6 0;
+#X connect 4 1 14 0;
+#X connect 5 0 7 0;
+#X connect 5 1 7 1;
+#X connect 6 0 8 0;
+#X connect 6 1 10 0;
+#X connect 7 0 27 0;
+#X connect 8 0 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 5 0;
+#X connect 12 0 10 3;
+#X connect 14 0 10 5;
+#X connect 17 0 10 7;
+#X connect 20 0 27 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 0;
+#X connect 24 0 27 0;
+#X connect 25 0 27 0;
+#X connect 26 0 5 0;
+#X connect 27 0 1 0;
+#X restore 924 296 pd AD;
+#X obj 747 252 r \$0-rAtt_1;
+#X obj 760 272 r \$0-rRel_1;
+#X obj 836 251 r \$0-rAtt_2;
+#X obj 849 270 r \$0-rRel_2;
+#X obj 936 256 r \$0-rAtt_3;
+#X obj 949 275 r \$0-rRel_3;
+#X obj 116 203 / 100;
+#X obj 55 76 r \$0-pitch_Op1;
+#X obj 227 104 sig~;
+#X obj 227 82 r \$0-pitch_Op2;
+#X obj 424 102 sig~;
+#X obj 424 80 r \$0-pitch_Op3;
+#X obj 787 148 r \$0-NoteVel;
+#X obj 525 292 r \$0-outAmt_3;
+#X obj 510 374 *~;
+#X obj 525 312 / 100;
+#X obj 309 371 *~;
+#X obj 324 312 / 100;
+#X obj 324 289 r \$0-outAmt_2;
+#X obj 112 352 *~;
+#X obj 127 293 / 100;
+#X obj 127 270 r \$0-outAmt_1;
+#X obj 112 374 throw~ \$0-out;
+#X obj 310 392 throw~ \$0-out;
+#X obj 510 396 throw~ \$0-out;
+#X obj 525 333 pack 0 50;
+#X obj 525 353 line~;
+#X obj 324 332 pack 0 50;
+#X obj 324 352 line~;
+#X obj 127 312 pack 0 50;
+#X obj 127 332 line~;
+#X connect 0 0 10 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 14 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 18 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 1;
+#X connect 10 0 29 0;
+#X connect 11 0 9 0;
+#X connect 12 0 10 2;
+#X connect 13 0 14 1;
+#X connect 14 0 30 0;
+#X connect 15 0 13 0;
+#X connect 16 0 14 2;
+#X connect 17 0 18 1;
+#X connect 18 0 31 0;
+#X connect 19 0 17 0;
+#X connect 20 0 18 2;
+#X connect 21 0 1 1;
+#X connect 22 0 4 1;
+#X connect 23 0 7 1;
+#X connect 27 0 33 0;
+#X connect 28 0 27 0;
+#X connect 28 0 40 0;
+#X connect 28 0 43 0;
+#X connect 29 0 24 0;
+#X connect 29 0 63 0;
+#X connect 30 0 25 0;
+#X connect 30 0 60 0;
+#X connect 31 0 26 0;
+#X connect 31 0 58 0;
+#X connect 32 0 29 1;
+#X connect 36 0 30 1;
+#X connect 37 0 31 1;
+#X connect 38 1 42 0;
+#X connect 39 0 2 0;
+#X connect 40 0 34 0;
+#X connect 41 0 28 0;
+#X connect 42 0 41 0;
+#X connect 43 0 35 0;
+#X connect 44 0 27 1;
+#X connect 45 0 27 2;
+#X connect 46 0 40 1;
+#X connect 47 0 40 2;
+#X connect 48 0 43 1;
+#X connect 49 0 43 2;
+#X connect 50 0 12 0;
+#X connect 51 0 39 0;
+#X connect 52 0 5 0;
+#X connect 53 0 52 0;
+#X connect 54 0 8 0;
+#X connect 55 0 54 0;
+#X connect 56 0 38 0;
+#X connect 57 0 59 0;
+#X connect 58 0 68 0;
+#X connect 59 0 69 0;
+#X connect 60 0 67 0;
+#X connect 61 0 71 0;
+#X connect 62 0 61 0;
+#X connect 63 0 66 0;
+#X connect 64 0 73 0;
+#X connect 65 0 64 0;
+#X connect 69 0 70 0;
+#X connect 70 0 58 1;
+#X connect 71 0 72 0;
+#X connect 72 0 60 1;
+#X connect 73 0 74 0;
+#X connect 74 0 63 1;
+#X restore 741 236 pd sound-engine;
+#N canvas 384 294 748 517 saves 0;
+#X obj 564 140 originator \$1 \$0;
+#X obj 564 117 r \$0-originator;
+#X obj 56 96 r \$0-outAmt_1;
+#X obj 56 147 s \$0-send-outAmt_1;
+#X obj 191 97 r \$0-outAmt_2;
+#X obj 191 148 s \$0-send-outAmt_2;
+#X obj 328 97 r \$0-outAmt_3;
+#X obj 328 148 s \$0-send-outAmt_3;
+#X text 54 65 OUT AMOUNTS;
+#X text 56 182 ENVELOPES;
+#X obj 57 210 r \$0-rAtt_1;
+#X obj 173 209 r \$0-rAtt_2;
+#X obj 292 208 r \$0-rAtt_3;
+#X obj 58 283 r \$0-rRel_1;
+#X obj 58 308 commun /Rel_1 \$0;
+#X obj 56 121 commun /outAmt_1 \$0;
+#X obj 191 122 commun /outAmt_2 \$0;
+#X obj 328 122 commun /outAmt_3 \$0;
+#X obj 57 234 commun /Att_1 \$0;
+#X obj 173 233 commun /Att_2 \$0;
+#X obj 292 232 commun /Att_3 \$0;
+#X obj 177 283 r \$0-rRel_2;
+#X obj 177 308 commun /Rel_2 \$0;
+#X obj 302 283 r \$0-rRel_3;
+#X obj 302 308 commun /Rel_3 \$0;
+#X obj 600 39 inlet;
+#X obj 58 330 s \$0-sRel_1;
+#X obj 57 257 s \$0-sAtt_1;
+#X obj 173 256 s \$0-sAtt_2;
+#X obj 292 255 s \$0-sAtt_3;
+#X obj 302 330 s \$0-sRel_3;
+#X obj 177 330 s \$0-sRel_2;
+#X obj 600 65 s \$0-originator;
+#X msg 545 217 substate \$1;
+#X obj 545 243 s \$0-originator;
+#X obj 467 223 t b f;
+#X obj 523 178 r \$0-preset-out;
+#X msg 474 248 set;
+#N canvas 358 497 899 308 ops 0;
+#X obj 15 54 commun /op3-op3 \$0;
+#X obj 153 54 commun /op3-op2 \$0;
+#X obj 296 54 commun /op3-op1 \$0;
+#X obj 14 151 commun /op2-op1 \$0;
+#X obj 152 149 commun /op2-op2 \$0;
+#X obj 290 150 commun /op2-op3 \$0;
+#X obj 12 242 commun /op1-op1 \$0;
+#X obj 150 240 commun /op1-op2 \$0;
+#X obj 288 241 commun /op1-op3 \$0;
+#X obj 15 82 s \$0-send-op3->op3;
+#X obj 15 29 r \$0-op3->op3;
+#X obj 153 24 s \$0-send-op3->op2;
+#X obj 153 84 r \$0-op3->op2;
+#X obj 296 26 s \$0-send-op3->op1;
+#X obj 296 84 r \$0-op3->op1;
+#X obj 14 121 s \$0-send-op2->op1;
+#X obj 14 181 r \$0-op2->op1;
+#X obj 152 179 r \$0-op2->op2;
+#X obj 152 119 s \$0-send-op2->op2;
+#X obj 290 120 s \$0-send-op2->op3;
+#X obj 288 211 s \$0-send-op1->op3;
+#X obj 150 210 s \$0-send-op1->op2;
+#X obj 12 212 s \$0-send-op1->op1;
+#X obj 290 180 r \$0-op2->op3;
+#X obj 288 271 r \$0-op1->op3;
+#X obj 150 270 r \$0-op1->op2;
+#X obj 12 272 r \$0-op1->op1;
+#X connect 0 0 9 0;
+#X connect 1 0 11 0;
+#X connect 2 0 13 0;
+#X connect 3 0 15 0;
+#X connect 4 0 18 0;
+#X connect 5 0 19 0;
+#X connect 6 0 22 0;
+#X connect 7 0 21 0;
+#X connect 8 0 20 0;
+#X connect 10 0 0 0;
+#X connect 12 0 1 0;
+#X connect 14 0 2 0;
+#X connect 16 0 3 0;
+#X connect 17 0 4 0;
+#X connect 23 0 5 0;
+#X connect 24 0 8 0;
+#X connect 25 0 7 0;
+#X connect 26 0 6 0;
+#X restore 60 370 pd ops;
+#X connect 1 0 0 0;
+#X connect 2 0 15 0;
+#X connect 4 0 16 0;
+#X connect 6 0 17 0;
+#X connect 10 0 18 0;
+#X connect 11 0 19 0;
+#X connect 12 0 20 0;
+#X connect 13 0 14 0;
+#X connect 14 0 26 0;
+#X connect 15 0 3 0;
+#X connect 16 0 5 0;
+#X connect 17 0 7 0;
+#X connect 18 0 27 0;
+#X connect 19 0 28 0;
+#X connect 20 0 29 0;
+#X connect 21 0 22 0;
+#X connect 22 0 31 0;
+#X connect 23 0 24 0;
+#X connect 24 0 30 0;
+#X connect 25 0 0 1;
+#X connect 33 0 34 0;
+#X connect 35 0 37 0;
+#X connect 35 1 33 0;
+#X connect 36 0 35 0;
+#X connect 37 0 34 0;
+#X restore 741 213 pd saves;
+#X obj 414 239 outlet~;
+#X obj 417 97 inlet;
+#X obj 460 96 inlet;
+#X obj 516 96 inlet;
+#X obj 741 190 inlet;
+#X floatatom 174 237 5 0 0 2 preset #0-preset-in #0-preset-out;
+#X connect 10 0 77 0;
+#X connect 72 0 73 0;
+#X connect 78 0 7 0;
+#X connect 79 0 6 0;
+#X connect 80 0 8 0;
+#X connect 81 0 76 0;
+#X coords 0 0 1 1 248 380 1;
diff --git a/instruments/adsr-engine.pd b/instruments/adsr-engine.pd
new file mode 100644
index 0000000..bcafca6
--- /dev/null
+++ b/instruments/adsr-engine.pd
@@ -0,0 +1,16 @@
+#N canvas 572 515 450 300 10;
+#X obj 128 132 madsr ------;
+#X obj 122 62 route level adsr;
+#X obj 131 32 inlet;
+#X obj 157 91 unpack 0 0 0 0;
+#X obj 127 169 outlet~;
+#X obj 276 152 print adsr;
+#X connect 0 0 4 0;
+#X connect 1 0 0 0;
+#X connect 1 0 0 1;
+#X connect 1 1 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 2;
+#X connect 3 1 0 3;
+#X connect 3 2 0 4;
+#X connect 3 3 0 5;
diff --git a/instruments/analogue-engine.pd b/instruments/analogue-engine.pd
new file mode 100644
index 0000000..fac15a1
--- /dev/null
+++ b/instruments/analogue-engine.pd
@@ -0,0 +1,25 @@
+#N canvas 507 128 450 300 10;
+#X obj 92 244 analogue;
+#X obj 58 21 inlet;
+#X obj 193 101 unpack 0 0 0;
+#X obj 105 272 outlet~;
+#X obj 66 54 route freq analosc lfo;
+#X obj 66 199 + 0;
+#X obj 82 102 osc~ 0;
+#X obj 82 126 snapshot~;
+#X obj 131 101 bang~;
+#X obj 82 152 t b f;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 2 1 0 2;
+#X connect 2 2 0 3;
+#X connect 4 0 5 0;
+#X connect 4 1 2 0;
+#X connect 4 2 6 0;
+#X connect 5 0 0 1;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 5 0;
+#X connect 9 1 5 1;
diff --git a/instruments/analogue.pd b/instruments/analogue.pd
new file mode 100644
index 0000000..0a8ca00
--- /dev/null
+++ b/instruments/analogue.pd
@@ -0,0 +1,48 @@
+#N canvas 200 196 781 405 10;
+#X obj 198 233 plugin~ analogueOsc;
+#X msg 66 209 print;
+#X obj 289 109 mtof;
+#X msg 168 179 control #1 \$1;
+#X floatatom 177 91 5 0 0 0 waveform - -;
+#X floatatom 311 77 5 0 0 0 frequency - -;
+#X floatatom 470 91 5 0 0 0 warmth - -;
+#X floatatom 579 94 5 0 0 0 instabil - -;
+#X msg 289 166 control #2 \$1;
+#X msg 463 166 control #3 \$1;
+#X msg 572 170 control #4 \$1;
+#X obj 286 135 clip 0.0441 22005;
+#X obj 460 135 clip 0 1;
+#X obj 458 111 scale 0 127 0 1;
+#X obj 567 114 scale 0 127 0 1;
+#X obj 569 138 clip 0 1;
+#X obj 325 271 outlet~;
+#X obj 164 36 inlet waveform;
+#X obj 289 34 inlet frequency;
+#X obj 456 37 inlet warmth;
+#X obj 589 36 inlet instabil;
+#X obj 417 272 outlet;
+#X obj 162 133 int;
+#X obj 162 69 clip 1 4;
+#X connect 0 0 21 0;
+#X connect 0 1 16 0;
+#X connect 1 0 0 0;
+#X connect 2 0 11 0;
+#X connect 3 0 0 0;
+#X connect 4 0 22 0;
+#X connect 5 0 2 0;
+#X connect 6 0 13 0;
+#X connect 7 0 14 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 8 0;
+#X connect 12 0 9 0;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 15 0 10 0;
+#X connect 17 0 23 0;
+#X connect 18 0 2 0;
+#X connect 19 0 13 0;
+#X connect 20 0 14 0;
+#X connect 22 0 3 0;
+#X connect 23 0 22 0;
diff --git a/instruments/analosc.pd b/instruments/analosc.pd
new file mode 100644
index 0000000..c8b7900
--- /dev/null
+++ b/instruments/analosc.pd
@@ -0,0 +1,101 @@
+#N canvas 235 299 385 151 10;
+#X obj 2 14 cnv 15 382 130 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 37 548 782 304 interna 0;
+#X obj 55 37 r \$0-wave-out;
+#X obj 57 108 s \$0-wave-in;
+#X obj 172 42 r \$0-warm-out;
+#X obj 177 109 s \$0-warm-in;
+#X obj 310 61 r \$0-inst-out;
+#X obj 310 109 s \$0-inst-in;
+#X obj 528 241 originator \$1 \$0;
+#X obj 425 143 inlet;
+#X msg 487 189 substate \$1;
+#X obj 424 165 t b f;
+#X msg 424 189 set mem;
+#X obj 29 105 + 1;
+#X obj 424 244 outlet;
+#X obj 307 86 commun /inst \$0;
+#X obj 628 114 s \$0-OSC;
+#X obj 628 39 inlet;
+#X obj 628 88 OSCroute \$1;
+#X obj 625 194 OSCroute /preset;
+#X obj 625 167 r \$0-OSC;
+#X obj 625 218 s \$0-preset;
+#X text 392 265 Preset the ADSR \, too;
+#X obj 174 86 commun /warm \$0;
+#X obj 54 85 commun /wave \$0;
+#X obj 134 196 pack 0 0 0;
+#X obj 157 162 t b f;
+#X obj 204 163 t b f;
+#X msg 116 217 analosc \$1 \$2 \$3;
+#X obj 98 250 outlet;
+#X obj 433 59 r \$0-lfo;
+#X obj 433 113 s \$0-lfo;
+#X msg 293 217 lfo \$1;
+#X obj 433 86 commun /lfo \$0;
+#X connect 0 0 11 0;
+#X connect 0 0 22 0;
+#X connect 2 0 21 0;
+#X connect 2 0 24 0;
+#X connect 4 0 13 0;
+#X connect 4 0 25 0;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 8 0 12 0;
+#X connect 9 0 10 0;
+#X connect 9 1 8 0;
+#X connect 10 0 6 0;
+#X connect 10 0 12 0;
+#X connect 11 0 23 0;
+#X connect 13 0 5 0;
+#X connect 15 0 16 0;
+#X connect 16 0 14 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 0;
+#X connect 21 0 3 0;
+#X connect 22 0 1 0;
+#X connect 23 0 26 0;
+#X connect 24 0 23 0;
+#X connect 24 1 23 1;
+#X connect 25 0 23 0;
+#X connect 25 1 23 2;
+#X connect 26 0 27 0;
+#X connect 28 0 30 0;
+#X connect 28 0 31 0;
+#X connect 30 0 27 0;
+#X connect 31 0 29 0;
+#X restore 191 2 pd interna;
+#X obj 10 33 cnv 15 105 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 24 52 vradio 18 0 0 4 \$0-wave-out \$0-wave-in Wave. 10 -10
+1 10 -166441 -1 -1 0;
+#X obj 44 51 cnv 15 40 16 empty empty Sin 9 10 1 10 -233017 -66577
+0;
+#X obj 44 69 cnv 15 40 16 empty empty Tri 9 10 1 10 -233017 -66577
+0;
+#X obj 44 87 cnv 15 40 16 empty empty Square 9 10 1 10 -233017 -66577
+0;
+#X obj 43 105 cnv 15 40 16 empty empty Saw 9 10 1 10 -233017 -66577
+0;
+#X obj 330 44 vradio 10 0 0 8 empty \$0-preset preset 0 -6 0 8 -261681
+-1 -1 0;
+#X obj 345 46 nbx 3 14 -1e+37 1e+37 0 0 empty \$0-preset empty 0 -6
+0 10 -261681 -1 -1 0 256;
+#X obj 222 40 mgadsr \$1-adsr;
+#X obj 307 2 inlet OSC;
+#X obj 329 127 outlet;
+#X obj 146 42 hsl 48 15 0 127 0 0 \$0-warm-in \$0-warm-out warm -2
+-6 1 8 -261689 -258699 -1 800 1;
+#X obj 147 80 hsl 48 15 0 127 0 0 \$0-inst-in \$0-inst-out inst -2
+-6 1 8 -261689 -62784 -1 700 1;
+#X obj 147 116 hsl 48 15 0 127 0 0 \$0-lfo-in \$0-lfo-out lfo -2 -6
+1 8 -261689 -35591 -1 800 1;
+#X connect 1 0 12 0;
+#X connect 1 1 10 0;
+#X connect 8 0 9 0;
+#X connect 9 0 1 0;
+#X connect 10 0 12 0;
+#X connect 11 0 1 1;
+#X connect 11 0 10 1;
+#X coords 0 0 1 1 384 145 1;
diff --git a/instruments/d-drumcenter.pd b/instruments/d-drumcenter.pd
new file mode 100644
index 0000000..8226835
--- /dev/null
+++ b/instruments/d-drumcenter.pd
@@ -0,0 +1,232 @@
+#N canvas 16 88 1206 681 10;
+#X obj 265 117 inlet;
+#X obj 316 117 inlet;
+#X obj 362 117 inlet;
+#X obj 265 212 mtof;
+#X obj 362 191 mtof;
+#X text 360 84 To-freq;
+#X text 263 84 From-freq;
+#X text 321 97 time;
+#X obj 406 532 *~;
+#X obj 509 117 inlet;
+#X obj 560 117 inlet;
+#X text 551 98 att_time;
+#X text 602 85 release;
+#X obj 43 48 inlet;
+#X text 40 25 trigger;
+#X obj 43 125 f 1;
+#X obj 43 151 s \$0-trigger;
+#X obj 111 270 r \$0-trigger;
+#X obj 416 298 r \$0-trigger;
+#X obj 406 598 outlet~;
+#X obj 501 364 *~;
+#X obj 492 387 *~;
+#X obj 757 120 inlet;
+#X obj 808 120 inlet;
+#X obj 856 120 inlet;
+#X obj 713 301 r \$0-trigger;
+#X obj 817 364 *~;
+#X obj 808 387 *~;
+#X obj 609 441 *~;
+#X text 753 83 attack_level;
+#X text 806 100 att_time;
+#X text 849 84 release;
+#X obj 926 121 inlet;
+#N canvas 379 248 450 300 noise 0;
+#X obj 215 52 == 1;
+#X obj 151 51 == 0;
+#X obj 106 228 outlet~;
+#X obj 257 79 inlet;
+#X obj 214 4 r \$0-filt_type;
+#X obj 92 73 inlet~;
+#N canvas 358 389 450 300 hip 0;
+#X obj 130 69 inlet~;
+#X obj 130 207 outlet~;
+#X obj 251 70 inlet;
+#X obj 251 119 switch~ 0;
+#X obj 130 114 hip~ 4000;
+#X obj 188 70 inlet;
+#X obj 352 74 r \$0-Q;
+#X obj 225 157 hp2~ 4000 0.707 10;
+#X connect 0 0 4 0;
+#X connect 0 0 7 0;
+#X connect 2 0 3 0;
+#X connect 5 0 4 1;
+#X connect 5 0 7 1;
+#X connect 6 0 7 2;
+#X connect 7 0 1 0;
+#X restore 91 146 pd hip;
+#N canvas 358 389 450 300 lop 0;
+#X obj 130 69 inlet~;
+#X obj 130 168 outlet~;
+#X obj 251 70 inlet;
+#X obj 188 70 inlet;
+#X obj 130 114 lop~ 4000;
+#X obj 251 120 switch~ 1;
+#X obj 350 83 r \$0-Q;
+#X obj 172 146 lp2~ 4000 0.707 20;
+#X connect 0 0 4 0;
+#X connect 0 0 7 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 1;
+#X connect 3 0 7 1;
+#X connect 6 0 7 2;
+#X connect 7 0 1 0;
+#X restore 158 145 pd lop;
+#N canvas 201 195 450 300 bap 0;
+#X obj 130 69 inlet~;
+#X obj 130 168 outlet~;
+#X obj 251 70 inlet;
+#X obj 188 70 inlet;
+#X obj 130 114 lop~ 4000;
+#X obj 350 83 r \$0-Q;
+#X obj 172 146 bpq2~ 400 0.707 20;
+#X obj 251 120 switch~ 0;
+#X connect 0 0 4 0;
+#X connect 0 0 6 0;
+#X connect 2 0 7 0;
+#X connect 3 0 4 1;
+#X connect 3 0 6 1;
+#X connect 5 0 6 2;
+#X connect 6 0 1 0;
+#X restore 245 147 pd bap;
+#X obj 262 52 == 2;
+#X obj 215 24 unpack 0 0;
+#X connect 0 0 7 2;
+#X connect 1 0 6 2;
+#X connect 3 0 6 1;
+#X connect 3 0 7 1;
+#X connect 3 0 8 1;
+#X connect 4 0 10 0;
+#X connect 5 0 7 0;
+#X connect 5 0 6 0;
+#X connect 5 0 8 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 0;
+#X connect 8 0 2 0;
+#X connect 9 0 8 2;
+#X connect 10 0 1 0;
+#X connect 10 0 0 0;
+#X connect 10 0 9 0;
+#X restore 609 382 pd noise;
+#X obj 190 474 osc~;
+#X obj 43 101 bang;
+#X obj 105 82 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 111 322 t b;
+#X text 812 41 NOISE;
+#X text 537 71 OSC AMPLITUTE;
+#X text 307 57 OSC FREQUENCIES;
+#X obj 981 120 inlet;
+#X obj 926 147 s \$0-filt_type;
+#X obj 928 184 s \$0-filt_freq;
+#X obj 660 359 r \$0-filt_freq;
+#X obj 560 166 f;
+#X obj 362 168 f;
+#X obj 265 166 f;
+#X obj 757 169 f;
+#X obj 808 169 f;
+#X obj 856 169 f;
+#X obj 609 117 inlet;
+#X obj 609 166 f;
+#X text 500 86 attack_level;
+#X obj 509 166 f 1;
+#X obj 227 475 osc~;
+#X floatatom 271 408 5 0 0;
+#X obj 226 515 *~ 0.3;
+#X obj 267 476 osc~;
+#X obj 608 356 noise~;
+#X obj 111 346 f 0.5;
+#X obj 824 330 2lineseg~;
+#X obj 507 336 2lineseg~;
+#X obj 188 382 line~;
+#X obj 303 250 pack 0 0;
+#X msg 303 273 set \$1 \$2;
+#X obj 316 190 t b f;
+#X msg 226 310 369.994;
+#X msg 233 358 55 9;
+#X obj 232 334 bang;
+#X msg 251 274 set \$1;
+#X obj 44 74 select 0;
+#X obj 287 443 -~ 0.3;
+#X obj 227 441 +~ 0.3;
+#X obj 1041 117 inlet;
+#X obj 1040 146 s \$0-detune;
+#X obj 324 406 r \$0-detune;
+#X obj 1124 122 inlet;
+#X obj 1124 151 s \$0-Q;
+#X text 1036 94 osc detune;
+#X text 1119 92 filter Q;
+#X connect 0 0 47 0;
+#X connect 1 0 66 0;
+#X connect 2 0 46 0;
+#X connect 3 0 70 0;
+#X connect 4 0 64 0;
+#X connect 8 0 19 0;
+#X connect 9 0 54 0;
+#X connect 10 0 45 0;
+#X connect 13 0 71 0;
+#X connect 15 0 16 0;
+#X connect 17 0 37 0;
+#X connect 17 0 67 0;
+#X connect 18 0 62 0;
+#X connect 20 0 21 0;
+#X connect 20 0 21 1;
+#X connect 21 0 8 1;
+#X connect 22 0 48 0;
+#X connect 23 0 49 0;
+#X connect 24 0 50 0;
+#X connect 25 0 61 0;
+#X connect 26 0 27 0;
+#X connect 26 0 27 1;
+#X connect 27 0 28 1;
+#X connect 28 0 19 0;
+#X connect 32 0 42 0;
+#X connect 33 0 28 0;
+#X connect 34 0 57 0;
+#X connect 35 0 15 0;
+#X connect 36 0 35 0;
+#X connect 37 0 60 0;
+#X connect 41 0 43 0;
+#X connect 44 0 33 1;
+#X connect 45 0 62 2;
+#X connect 46 0 4 0;
+#X connect 47 0 3 0;
+#X connect 48 0 61 1;
+#X connect 49 0 61 2;
+#X connect 50 0 61 4;
+#X connect 51 0 52 0;
+#X connect 52 0 62 4;
+#X connect 54 0 62 1;
+#X connect 55 0 57 0;
+#X connect 56 0 72 1;
+#X connect 56 0 73 1;
+#X connect 57 0 8 0;
+#X connect 58 0 57 0;
+#X connect 59 0 33 0;
+#X connect 60 0 34 1;
+#X connect 60 0 55 1;
+#X connect 60 0 58 1;
+#X connect 61 0 26 0;
+#X connect 61 0 26 1;
+#X connect 62 0 20 0;
+#X connect 62 0 20 1;
+#X connect 63 0 34 0;
+#X connect 63 0 72 0;
+#X connect 63 0 73 0;
+#X connect 64 0 65 0;
+#X connect 65 0 68 0;
+#X connect 66 0 64 0;
+#X connect 66 1 64 1;
+#X connect 67 0 63 0;
+#X connect 67 0 69 0;
+#X connect 68 0 63 0;
+#X connect 69 0 68 0;
+#X connect 70 0 67 0;
+#X connect 71 1 35 0;
+#X connect 72 0 58 0;
+#X connect 73 0 55 0;
+#X connect 74 0 75 0;
+#X connect 76 0 72 1;
+#X connect 76 0 73 1;
+#X connect 77 0 78 0;
diff --git a/instruments/example.pd b/instruments/example.pd
new file mode 100644
index 0000000..2943b7b
--- /dev/null
+++ b/instruments/example.pd
@@ -0,0 +1,153 @@
+#N canvas 126 119 893 562 10;
+#X obj 92 84 analosc /erster;
+#X obj 171 236 r \$0-notes;
+#X obj 655 479 ezdac~;
+#X obj 171 6 careGUI;
+#X obj 52 476 sendOSC;
+#X msg 70 450 connect localhost 3000;
+#X obj 110 477 loadbang;
+#X obj 60 62 dumpOSC 3000;
+#X obj 72 337 netcontrol /erster warm;
+#X obj 72 393 netcontrol /erster-adsr s;
+#N canvas 0 0 320 159 notes 0;
+#X obj 102 157 makenote 0.5 200;
+#X obj 120 187 pack 0 0;
+#X obj 120 220 s \$0-notes;
+#X floatatom 127 114 5 0 0 1 note_length - -;
+#X obj 107 284 makenote 0.5 200;
+#X obj 125 314 pack 0 0;
+#X obj 125 347 s \$0-notes;
+#X obj 99 414 makenote 0.5 200;
+#X obj 117 444 pack 0 0;
+#X obj 117 477 s \$0-notes;
+#X obj 31 112 unpack 0 0 0;
+#X msg 26 87 34 51 58;
+#X obj 26 62 metro 200;
+#X obj 11 112 tgl 15 0 empty empty autoplay 0 -6 0 8 -262144 -1 -1
+1 1;
+#X obj 136 76 pack 0 0 0;
+#X obj 126 96 prepend set;
+#X floatatom 83 40 5 0 0 2 Notes - -;
+#X floatatom 156 40 5 0 0 0 - - -;
+#X floatatom 254 41 5 0 0 0 - - -;
+#X obj 155 56 t b f;
+#X obj 209 55 t b f;
+#X connect 0 0 1 0;
+#X connect 0 1 1 1;
+#X connect 1 0 2 0;
+#X connect 3 0 0 2;
+#X connect 3 0 4 2;
+#X connect 3 0 7 2;
+#X connect 3 0 12 1;
+#X connect 4 0 5 0;
+#X connect 4 1 5 1;
+#X connect 5 0 6 0;
+#X connect 7 0 8 0;
+#X connect 7 1 8 1;
+#X connect 8 0 9 0;
+#X connect 10 0 7 0;
+#X connect 10 1 4 0;
+#X connect 10 2 0 0;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 15 0 11 0;
+#X connect 16 0 14 0;
+#X connect 17 0 19 0;
+#X connect 18 0 20 0;
+#X connect 19 0 14 0;
+#X connect 19 1 14 1;
+#X connect 20 0 14 0;
+#X connect 20 1 14 2;
+#X coords 0 0 1 1 200 140 1;
+#X restore 279 240 pd notes;
+#X obj 635 441 catch~ finalout;
+#X obj 64 280 throw~ finalout;
+#X obj 483 238 polyengines;
+#X obj 487 287 throw~ finalout;
+#N canvas 0 0 320 159 notes2 0;
+#X obj 102 157 makenote 0.5 200;
+#X obj 120 187 pack 0 0;
+#X obj 120 220 s \$0-notes;
+#X floatatom 127 114 5 0 0 1 note_length - -;
+#X obj 107 284 makenote 0.5 200;
+#X obj 125 314 pack 0 0;
+#X obj 125 347 s \$0-notes;
+#X obj 99 414 makenote 0.5 200;
+#X obj 117 444 pack 0 0;
+#X obj 31 112 unpack 0 0 0;
+#X msg 26 87 52 46 31;
+#X obj 26 62 metro 200;
+#X obj 11 112 tgl 15 0 empty empty autoplay 0 -6 0 8 -262144 -1 -1
+1 1;
+#X obj 136 76 pack 0 0 0;
+#X obj 126 96 prepend set;
+#X floatatom 83 40 5 0 0 2 Notes - -;
+#X floatatom 156 40 5 0 0 0 - - -;
+#X floatatom 254 41 5 0 0 0 - - -;
+#X obj 155 56 t b f;
+#X obj 209 55 t b f;
+#X obj 117 477 outlet;
+#X connect 0 0 1 0;
+#X connect 0 1 1 1;
+#X connect 1 0 2 0;
+#X connect 3 0 0 2;
+#X connect 3 0 4 2;
+#X connect 3 0 7 2;
+#X connect 3 0 11 1;
+#X connect 4 0 5 0;
+#X connect 4 1 5 1;
+#X connect 5 0 6 0;
+#X connect 7 0 8 0;
+#X connect 7 1 8 1;
+#X connect 8 0 20 0;
+#X connect 9 0 7 0;
+#X connect 9 1 4 0;
+#X connect 9 2 0 0;
+#X connect 10 0 9 0;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 14 0 10 0;
+#X connect 15 0 13 0;
+#X connect 16 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 13 0;
+#X connect 18 1 13 1;
+#X connect 19 0 13 0;
+#X connect 19 1 13 2;
+#X coords 0 0 1 1 200 140 1;
+#X restore 670 243 pd notes2;
+#X obj 670 389 s \$0-zweiter;
+#X obj 570 238 r \$0-zweiter;
+#X obj 688 459 catch~ finaloutr;
+#X obj 83 299 throw~ finaloutr;
+#X obj 515 314 throw~ finaloutr;
+#X obj 90 257 gpans~;
+#X obj 485 264 gpans~;
+#X obj 278 393 netcontrol /zweiter warm;
+#X obj 92 235 polyengines;
+#X obj 483 87 analosc /zweiter;
+#X connect 0 0 24 1;
+#X connect 1 0 24 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 0 0;
+#X connect 7 0 25 0;
+#X connect 8 0 4 0;
+#X connect 9 0 4 0;
+#X connect 11 0 2 0;
+#X connect 13 0 22 0;
+#X connect 13 0 22 1;
+#X connect 15 0 16 0;
+#X connect 17 0 13 0;
+#X connect 18 0 2 1;
+#X connect 21 0 12 0;
+#X connect 21 1 19 0;
+#X connect 22 0 14 0;
+#X connect 22 1 20 0;
+#X connect 23 0 4 0;
+#X connect 24 0 21 0;
+#X connect 24 0 21 1;
+#X connect 25 0 13 1;
diff --git a/instruments/madsr.pd b/instruments/madsr.pd
new file mode 100644
index 0000000..919197e
--- /dev/null
+++ b/instruments/madsr.pd
@@ -0,0 +1,70 @@
+#N canvas 466 68 634 581 10;
+#X text 52 50 This patch is used as an abstraction in 25.envelope.pd
+;
+#X obj 95 108 inlet;
+#X obj 298 111 inlet;
+#X text 91 79 trigger;
+#X obj 95 138 sel 0;
+#X obj 144 138 t b;
+#X obj 362 112 inlet;
+#X obj 371 422 line~;
+#X obj 410 112 inlet;
+#X obj 459 111 inlet;
+#X obj 504 111 inlet;
+#X msg 95 191 stop;
+#X text 378 86 Traditional A \, D \, S \, R;
+#X text 296 88 level;
+#X text 32 302 ATTACK;
+#X obj 371 449 outlet~;
+#X text 7 325 recall level;
+#X text 7 345 and pack with;
+#X text 8 365 attack time;
+#X text 28 124 if zero;
+#X text 29 141 release;
+#X text 17 183 and cancel;
+#X text 17 199 decay;
+#X text 148 120 bang if attack;
+#X text 183 294 on attack \, set a;
+#X text 147 307 delay to go to sustain;
+#X text 189 324 recall sustain value;
+#X text 185 347 multiply by overall level;
+#X text 220 370 pack with decay time;
+#X text 510 386 on release ramp;
+#X text 511 403 back to zero;
+#X text 63 12 adsr - arguments: level \, attack time \, decay time
+\, sustain level \, release time;
+#X text 17 487 When you send this patch a nonzero trigger it schedules
+a line~ to do an attack and decay \, and if zero \, it starts the release
+ramp.;
+#X text 18 533 Objects such as f and pack can be given dollar sign
+arguments to initialize their contents from adsr's creation arguments.
+Inlets are supplied to update them on the fly.;
+#X obj 104 334 f;
+#X obj 309 301 del;
+#X obj 338 324 f;
+#X obj 364 346 *;
+#X obj 371 369 pack 0 0;
+#X obj 517 360 pack 0 0;
+#X obj 104 359 pack 0 0;
+#X connect 1 0 4 0;
+#X connect 2 0 34 1;
+#X connect 2 0 37 1;
+#X connect 4 0 11 0;
+#X connect 4 0 39 0;
+#X connect 4 1 5 0;
+#X connect 5 0 34 0;
+#X connect 5 0 35 0;
+#X connect 6 0 35 1;
+#X connect 6 0 40 1;
+#X connect 7 0 15 0;
+#X connect 8 0 38 1;
+#X connect 9 0 36 1;
+#X connect 10 0 39 1;
+#X connect 11 0 35 0;
+#X connect 34 0 40 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X connect 37 0 38 0;
+#X connect 38 0 7 0;
+#X connect 39 0 7 0;
+#X connect 40 0 7 0;
diff --git a/instruments/mafm/MA_FM.pd b/instruments/mafm/MA_FM.pd
new file mode 100644
index 0000000..4d861fd
--- /dev/null
+++ b/instruments/mafm/MA_FM.pd
@@ -0,0 +1,1249 @@
+#N canvas 726 332 249 426 10;
+#X obj 13 239 vsl 15 128 0 1000 0 0 \$0-rAtt_1 \$0-sAtt_1 A 0 -8 1728
+8 -262144 -1 -1 4400 1;
+#X obj 31 239 vsl 15 128 0 1000 0 0 \$0-rRel_1 \$0-sRel_1 R 0 -8 1728
+8 -262144 -1 -1 10500 1;
+#X obj 72 241 vsl 15 128 0 1000 0 0 \$0-rAtt_2 \$0-sAtt_2 A 0 -8 1728
+8 -262144 -1 -1 5600 1;
+#X obj 90 241 vsl 15 128 0 1000 0 0 \$0-rRel_2 \$0-sRel_2 R 0 -8 1728
+8 -262144 -1 -1 600 1;
+#X obj 133 240 vsl 15 128 0 1000 0 0 \$0-rAtt_3 \$0-sAtt_3 A 0 -8 1728
+8 -262144 -1 -1 900 1;
+#X obj 151 240 vsl 15 128 0 1000 0 0 \$0-rRel_3 \$0-sRel_3 R 0 -8 1728
+8 -262144 -1 -1 6800 1;
+#X obj 430 158 s \$0-NoteVel;
+#X obj 415 179 s \$0-NotePitch;
+#X obj 446 137 s \$0-NoteChnl;
+#N canvas 0 0 1054 904 FM_Feedback 0;
+#X obj 181 178 line~;
+#X obj 181 152 pack 0 50;
+#X obj 181 126 / 100;
+#X obj 165 202 *~;
+#X obj 357 177 line~;
+#X obj 357 151 pack 0 50;
+#X obj 357 125 / 100;
+#X obj 341 201 *~;
+#X obj 532 175 line~;
+#X obj 532 149 pack 0 50;
+#X obj 532 123 / 100;
+#X obj 516 199 *~;
+#X obj 165 225 throw~ In_op1;
+#X obj 341 226 throw~ In_op1;
+#X obj 517 225 throw~ In_op1;
+#X obj 110 153 r~ \$0-Out_Op1;
+#X obj 278 134 r~ \$0-Out_Op2;
+#X obj 465 150 r~ \$0-Out_Op3;
+#X obj 110 183 z~ 1;
+#X obj 296 178 z~ 1;
+#X obj 466 176 z~ 1;
+#X obj 165 330 line~;
+#X obj 165 304 pack 0 50;
+#X obj 165 278 / 100;
+#X obj 149 354 *~;
+#X obj 341 329 line~;
+#X obj 341 303 pack 0 50;
+#X obj 341 277 / 100;
+#X obj 325 353 *~;
+#X obj 516 327 line~;
+#X obj 516 301 pack 0 50;
+#X obj 516 275 / 100;
+#X obj 500 351 *~;
+#X obj 94 305 r~ \$0-Out_Op1;
+#X obj 262 286 r~ \$0-Out_Op2;
+#X obj 449 302 r~ \$0-Out_Op3;
+#X obj 94 335 z~ 1;
+#X obj 280 330 z~ 1;
+#X obj 450 328 z~ 1;
+#X obj 152 496 line~;
+#X obj 152 470 pack 0 50;
+#X obj 152 444 / 100;
+#X obj 136 520 *~;
+#X obj 328 495 line~;
+#X obj 328 469 pack 0 50;
+#X obj 328 443 / 100;
+#X obj 312 519 *~;
+#X obj 503 493 line~;
+#X obj 503 467 pack 0 50;
+#X obj 503 441 / 100;
+#X obj 487 517 *~;
+#X obj 79 451 r~ \$0-Out_Op1;
+#X obj 249 452 r~ \$0-Out_Op2;
+#X obj 436 468 r~ \$0-Out_Op3;
+#X obj 267 496 z~ 1;
+#X obj 437 494 z~ 1;
+#X obj 136 543 throw~ In_op3;
+#X obj 311 540 throw~ In_op3;
+#X obj 488 543 throw~ In_op3;
+#X obj 149 377 throw~ In_op2;
+#X obj 325 378 throw~ In_op2;
+#X obj 503 377 throw~ In_op2;
+#X obj 79 477 z~ 1;
+#X obj 152 422 r \$0-op1->op3;
+#X obj 328 419 r \$0-op2->op3;
+#X obj 503 417 r \$0-op3->op3;
+#X obj 165 256 r \$0-op1->op2;
+#X obj 341 253 r \$0-op2->op2;
+#X obj 516 251 r \$0-op3->op2;
+#X obj 181 106 r \$0-op1->op1;
+#X obj 357 103 r \$0-op2->op1;
+#X obj 532 101 r \$0-op3->op1;
+#X connect 0 0 3 1;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 12 0;
+#X connect 4 0 7 1;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 13 0;
+#X connect 8 0 11 1;
+#X connect 9 0 8 0;
+#X connect 10 0 9 0;
+#X connect 11 0 14 0;
+#X connect 15 0 18 0;
+#X connect 16 0 19 0;
+#X connect 17 0 20 0;
+#X connect 18 0 3 0;
+#X connect 19 0 7 0;
+#X connect 20 0 11 0;
+#X connect 21 0 24 1;
+#X connect 22 0 21 0;
+#X connect 23 0 22 0;
+#X connect 24 0 59 0;
+#X connect 25 0 28 1;
+#X connect 26 0 25 0;
+#X connect 27 0 26 0;
+#X connect 28 0 60 0;
+#X connect 29 0 32 1;
+#X connect 30 0 29 0;
+#X connect 31 0 30 0;
+#X connect 32 0 61 0;
+#X connect 33 0 36 0;
+#X connect 34 0 37 0;
+#X connect 35 0 38 0;
+#X connect 36 0 24 0;
+#X connect 37 0 28 0;
+#X connect 38 0 32 0;
+#X connect 39 0 42 1;
+#X connect 40 0 39 0;
+#X connect 41 0 40 0;
+#X connect 42 0 56 0;
+#X connect 43 0 46 1;
+#X connect 44 0 43 0;
+#X connect 45 0 44 0;
+#X connect 46 0 57 0;
+#X connect 47 0 50 1;
+#X connect 48 0 47 0;
+#X connect 49 0 48 0;
+#X connect 50 0 58 0;
+#X connect 51 0 62 0;
+#X connect 52 0 54 0;
+#X connect 53 0 55 0;
+#X connect 54 0 46 0;
+#X connect 55 0 50 0;
+#X connect 62 0 42 0;
+#X connect 63 0 41 0;
+#X connect 64 0 45 0;
+#X connect 65 0 49 0;
+#X connect 66 0 23 0;
+#X connect 67 0 27 0;
+#X connect 68 0 31 0;
+#X connect 69 0 2 0;
+#X connect 70 0 6 0;
+#X connect 71 0 10 0;
+#X coords 0 0 0.000952381 0.00111111 120 20 0;
+#X restore 739 301 pd FM_Feedback;
+#X obj 414 219 catch~ \$0-out;
+#X obj 0 19 cnv 30 244 180 empty empty empty 20 12 0 14 -166441 -66577
+0;
+#X obj 136 178 cnv 10 40 1 \$0-r_Op1OutCanvash \$0-s_Op1OutCanvash
+empty 20 12 1728 14 -33289 -262144 0;
+#X obj 120 172 cnv 12 38 16 empty \$0-s_Op1OutCanvash empty 4 6 576
+8 -33289 -262144 0;
+#X obj 121 173 nbx 3 14 0 100 0 0 \$0-outAmt_1 \$0-send-outAmt_1 empty
+0 -6 1728 10 -166441 -1 -1 31 256;
+#X obj 78 130 cnv 15 1 50 \$0-r_Op2OutCanvas \$0-s_Op2OutCanvas empty
+20 12 1728 14 -33289 -262144 0;
+#X obj 80 178 cnv 10 40 1 \$0-r_Op2OutCanvash \$0-s_Op2OutCanvash empty
+20 12 1728 14 -33289 -262144 0;
+#X obj 68 172 cnv 12 38 16 empty \$0-s_Op2OutCanvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 69 173 nbx 3 14 0 100 0 0 \$0-outAmt_2 \$0-send-outAmt_2 empty
+0 -6 1728 10 -166441 -1 -1 84 256;
+#X obj 28 178 cnv 10 40 1 \$0-r_Op3OutCanvash \$0-s_Op3OutCanvash empty
+20 12 1728 14 -166441 -262144 0;
+#X obj 25 30 cnv 12 40 22 empty \$0-s_Op3FBCanvas empty 4 6 576 8 -166441
+-262144 0;
+#X obj 27 32 cnv 12 36 18 empty empty empty 4 6 0 8 -166441 -262144
+0;
+#X obj 13 22 cnv 12 34 16 empty \$0-s_Op3FBCanvas empty 4 6 576 8 -166441
+-262144 0;
+#X obj 14 23 nbx 3 14 0 100 0 0 \$0-op3->op3 \$0-send-op3->op3 empty
+0 -6 1728 8 -166441 -1 -1 0 256;
+#X obj 25 42 cnv 15 1 50 \$0-r_Op3Op2 \$0-s_Op3Op2 empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 177 171 cnv 12 42 18 empty empty empty 4 6 0 8 -1 -66577 0;
+#X obj 179 173 cnv 12 38 14 empty empty Out 10 7 0 8 -195568 -66577
+0;
+#X obj 25 130 cnv 15 1 50 \$0-r_Op3OutCanvas \$0-s_Op3OutCanvas empty
+20 12 1728 14 -166441 -262144 0;
+#X obj 16 172 cnv 12 38 16 empty \$0-s_Op3OutCanvas empty 4 6 576 8
+-166441 -262144 0;
+#X obj 17 173 nbx 3 14 0 100 0 0 \$0-outAmt_3 \$0-send-outAmt_3 empty
+0 -6 1728 10 -166441 -1 -1 0 256;
+#X obj 26 87 cnv 10 40 1 \$0-r_Op3Op2h \$0-s_Op3Op2h empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 28 135 cnv 10 40 1 \$0-r_Op3Op1h \$0-s_Op3Op1h empty 20 12 1728
+14 -166441 -262144 0;
+#X obj 25 82 cnv 15 1 50 \$0-r_Op3Op2_2 \$0-s_Op3Op2_2 empty 20 12
+1728 14 -166441 -262144 0;
+#X obj 15 81 cnv 12 38 16 empty \$0-s_Op3Op2Canvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 16 82 nbx 3 14 0 100 0 0 \$0-op3->op2 \$0-send-op3->op2 empty
+0 -6 1728 10 -166441 -1 -1 87 256;
+#X obj 15 129 cnv 12 38 16 empty \$0-s_Op3Op1Canvas empty 4 6 576 8
+-166441 -262144 0;
+#X obj 16 130 nbx 3 14 0 100 0 0 \$0-op3->op1 \$0-send-op3->op1 empty
+0 -6 1728 10 -166441 -1 -1 0 256;
+#X obj 88 135 cnv 10 30 1 \$0-r_Op2Op1h \$0-s_Op2Op1h empty 20 12 1728
+14 -166441 -262144 0;
+#X obj 68 129 cnv 12 38 16 empty \$0-s_Op2Op1Canvas empty 4 6 576 8
+-166441 -262144 0;
+#X obj 69 130 nbx 3 14 0 100 0 0 \$0-op2->op1 \$0-send-op2->op1 empty
+0 -6 1728 10 -166441 -1 -1 0 256;
+#X obj 131 81 cnv 15 1 50 \$0-r_Op1Op2 \$0-s_Op1Op2 empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 120 81 cnv 12 38 16 empty \$0-s_Op1Op2Canvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 121 82 nbx 3 14 0 100 0 0 \$0-op1->op2 \$0-send-op1->op2 empty
+0 -6 1728 10 -166441 -1 -1 12 256;
+#X obj 131 131 cnv 15 1 40 \$0-r_Op1OutCanvas \$0-s_Op1OutCanvas empty
+20 12 1728 14 -33289 -262144 0;
+#X obj 131 118 cnv 12 40 22 empty \$0-s_Op1FBCanvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 133 120 cnv 12 36 18 empty empty empty 4 6 0 8 -166441 -262144
+0;
+#X obj 119 128 cnv 12 42 18 empty empty empty 4 6 0 8 -1 -66577 0;
+#X obj 121 130 cnv 12 38 14 empty empty Op_1 4 6 0 8 -233017 -66577
+0;
+#X obj 119 110 cnv 12 34 16 empty \$0-s_Op1FBCanvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 120 111 nbx 3 14 0 100 0 0 \$0-op1->op1 \$0-send-op1->op1 empty
+0 -6 1728 8 -166441 -1 -1 15 256;
+#X obj 78 70 cnv 12 40 22 empty \$0-s_Op2FBCanvas empty 4 6 576 8 -166441
+-262144 0;
+#X obj 80 72 cnv 12 36 18 empty empty empty 4 6 0 8 -166441 -262144
+0;
+#X obj 66 62 cnv 12 34 16 empty \$0-s_Op2FBCanvas empty 4 6 576 8 -166441
+-262144 0;
+#X obj 67 63 nbx 3 14 0 100 0 0 \$0-op2->op2 \$0-send-op2->op2 empty
+0 -6 1728 8 -166441 -1 -1 0 256;
+#X obj 78 82 cnv 15 1 46 \$0-r_Op2Op1 \$0-s_Op2Op1 empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 90 88 cnv 10 30 1 \$0-r_Op1Op2h \$0-s_Op1Op2h empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 66 80 cnv 12 42 18 empty empty empty 4 6 0 8 -1 -66577 0;
+#X obj 68 82 cnv 12 38 14 empty empty Op_2 4 6 0 8 -233017 -66577 0
+;
+#X obj 121 37 cnv 12 38 16 empty \$0-s_Op1Op3Canvas empty 4 6 576 8
+-33289 -262144 0;
+#X obj 131 38 cnv 15 1 42 \$0-r_Op1Op3_1 \$0-s_Op1Op3_1 empty 20 12
+1728 14 -33289 -262144 0;
+#X obj 122 38 nbx 3 14 0 100 0 0 \$0-op1->op3 \$0-send-op1->op3 empty
+0 -6 1728 10 -166441 -1 -1 7 256;
+#X obj 36 42 cnv 10 32 1 \$0-r_Op2Op3h \$0-s_Op2Op3h empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 90 42 cnv 10 30 1 \$0-r_Op1Op3h \$0-s_Op1Op3h empty 20 12 1728
+14 -33289 -262144 0;
+#X obj 68 37 cnv 12 38 16 empty \$0-s_Op2Op3Canvas empty 4 6 576 8
+-166441 -262144 0;
+#X obj 78 37 cnv 15 1 24 \$0-r_Op2Op3 \$0-s_Op2Op3 empty 20 12 1728
+14 -166441 -262144 0;
+#X obj 69 38 nbx 3 14 0 100 0 0 \$0-op2->op3 \$0-send-op2->op3 empty
+0 -6 1728 10 -166441 -1 -1 0 256;
+#X obj 12 40 cnv 12 42 18 empty empty empty 4 6 0 8 -1 -66577 0;
+#X obj 14 42 cnv 12 38 14 empty empty Op_3 4 6 0 8 -233017 -66577 0
+;
+#X obj 178 148 bng 15 250 50 0 \$0-r_RsFB \$0-s_RsFB Reset 0 -6 1728
+8 -262144 -1 -1;
+#N canvas 536 352 858 576 feedbacksReset 0;
+#X obj 215 122 s \$0-send-op1->op1;
+#X obj 327 122 s \$0-send-op2->op1;
+#X obj 440 123 s \$0-send-op3->op1;
+#X obj 224 187 s \$0-send-op3->op3;
+#X obj 336 188 s \$0-send-op3->op2;
+#X obj 210 260 s \$0-send-op1->op3;
+#X obj 322 261 s \$0-send-op2->op2;
+#X obj 439 263 s \$0-send-op1->op2;
+#X obj 556 264 s \$0-send-op2->op3;
+#X obj 197 320 s \$0-send-outAmt_1;
+#X obj 197 349 s \$0-send-outAmt_2;
+#X obj 207 388 s \$0-send-outAmt_3;
+#X obj 421 48 r \$0-r_RsFB;
+#X msg 420 69 0;
+#X connect 12 0 13 0;
+#X connect 13 0 0 0;
+#X connect 13 0 1 0;
+#X connect 13 0 2 0;
+#X connect 13 0 4 0;
+#X connect 13 0 3 0;
+#X connect 13 0 5 0;
+#X connect 13 0 6 0;
+#X connect 13 0 7 0;
+#X connect 13 0 8 0;
+#X connect 13 0 9 0;
+#X connect 13 0 10 0;
+#X connect 13 0 11 0;
+#X restore 739 280 pd feedbacksReset;
+#N canvas 0 0 1267 910 feedback_Matrix_GUI 0;
+#X obj 30 38 moses 1;
+#X msg 30 69 color 1 0;
+#X msg 101 67 color 12 0;
+#X obj 30 97 s \$0-s_Op1FBCanvas;
+#X obj 30 9 r \$0-op1->op1;
+#X obj 173 36 moses 1;
+#X msg 173 67 color 1 0;
+#X msg 244 65 color 12 0;
+#X obj 173 6 r \$0-op2->op2;
+#X obj 173 95 s \$0-s_Op2FBCanvas;
+#X obj 314 34 moses 1;
+#X msg 314 65 color 1 0;
+#X msg 385 63 color 12 0;
+#X obj 314 4 r \$0-op3->op3;
+#X obj 314 93 s \$0-s_Op3FBCanvas;
+#X obj 727 102 s \$0-s_Op1OutCanvas;
+#X obj 607 102 s \$0-s_Op2OutCanvas;
+#X obj 476 102 s \$0-s_Op3OutCanvas;
+#X obj 476 6 r \$0-outAmt_3;
+#X obj 607 6 r \$0-outAmt_2;
+#X obj 727 5 r \$0-outAmt_1;
+#X msg 644 81 color 12 0;
+#X msg 607 59 color 1 0;
+#X obj 607 30 moses 1;
+#X msg 764 80 color 12 0;
+#X msg 727 58 color 1 0;
+#X obj 727 29 moses 1;
+#X msg 513 81 color 12 0;
+#X msg 476 59 color 1 0;
+#X obj 476 30 moses 1;
+#X msg 73 448 color 12 0;
+#X obj 315 526 s \$0-s_Op1OutCanvash;
+#X obj 78 201 r \$0-outAmt_3;
+#X obj 78 225 >= 1;
+#X obj 73 290 spigot;
+#X obj 78 260 t b f;
+#X obj 204 549 s \$0-s_Op2OutCanvash;
+#X obj 73 576 s \$0-s_Op3OutCanvash;
+#X msg 204 448 color 12 0;
+#X obj 209 225 >= 1;
+#X obj 204 290 spigot;
+#X obj 209 260 t b f;
+#X obj 209 201 r \$0-outAmt_2;
+#X msg 315 447 color 12 0;
+#X obj 320 224 >= 1;
+#X obj 315 289 spigot;
+#X obj 320 259 t b f;
+#X obj 320 200 r \$0-outAmt_1;
+#X obj 17 286 == 0;
+#X obj 17 388 spigot;
+#X obj 17 360 t b f;
+#X msg 17 411 color 1 0;
+#X obj 143 316 == 0;
+#X obj 143 363 spigot;
+#X obj 273 295 == 0;
+#X obj 273 342 spigot;
+#X obj 560 187 r \$0-outAmt_3;
+#X obj 597 376 s \$0-s_Op3Op2_2;
+#X obj 784 463 s \$0-s_Op3Op2;
+#X msg 597 332 color 12 0;
+#X msg 524 332 color 1 0;
+#X obj 530 249 == 0;
+#X obj 524 307 spigot;
+#X obj 675 187 r \$0-op3->op1;
+#X obj 530 270 t b f;
+#X obj 560 210 >= 1;
+#X obj 597 281 spigot;
+#X obj 597 245 t b f;
+#X obj 675 218 >= 1;
+#X obj 712 291 spigot;
+#X obj 712 253 t b f;
+#X obj 676 252 == 0;
+#X obj 524 359 spigot;
+#X obj 784 184 r \$0-op3->op2;
+#X obj 582 404 s \$0-s_Op3Op2;
+#X obj 784 216 >= 1;
+#X msg 784 273 color 12 0;
+#X obj 784 254 spigot;
+#X obj 784 235 t b f;
+#X obj 756 309 == 0;
+#X msg 750 429 color 1 0;
+#X obj 750 351 spigot;
+#X obj 756 330 t b f;
+#X obj 750 382 spigot;
+#X obj 750 406 spigot;
+#X obj 883 113 s \$0-s_Op3Op2h;
+#X obj 884 7 r \$0-op3->op2;
+#X msg 920 81 color 12 0;
+#X msg 883 59 color 1 0;
+#X obj 883 30 moses 1;
+#X obj 882 148 s \$0-s_Op3Op2Canvas;
+#X msg 1049 81 color 12 0;
+#X msg 1012 59 color 1 0;
+#X obj 1012 30 moses 1;
+#X obj 1013 7 r \$0-op3->op1;
+#X obj 1012 150 s \$0-s_Op3Op1Canvas;
+#X obj 1014 113 s \$0-s_Op3Op1h;
+#X msg 1318 122 color 12 0;
+#X msg 1281 87 color 1 0;
+#X obj 1281 58 moses 1;
+#X obj 1281 33 r \$0-op2->op3;
+#X obj 1281 151 s \$0-s_Op2Op3Canvas;
+#X obj 143 339 t b f;
+#X obj 273 319 t b f;
+#X msg 167 500 color 1 0;
+#X obj 143 416 spigot;
+#X obj 273 388 spigot;
+#X obj 273 418 spigot;
+#X msg 287 489 color 1 0;
+#X obj 406 598 r \$0-op3->op1;
+#X obj 112 596 r \$0-outAmt_2;
+#X obj 112 803 s \$0-s_Op2Op1;
+#X obj 262 596 r \$0-op2->op1;
+#X obj 262 628 >= 1;
+#X msg 262 705 color 12 0;
+#X obj 262 686 spigot;
+#X obj 262 667 t b f;
+#X obj 112 628 >= 1;
+#X msg 112 705 color 12 0;
+#X obj 112 686 spigot;
+#X obj 112 667 t b f;
+#X obj 262 802 s \$0-s_Op2Op1h;
+#X obj 406 631 >= 1;
+#X msg 406 708 color 12 0;
+#X obj 406 689 spigot;
+#X obj 406 670 t b f;
+#X obj 48 669 == 0;
+#X obj 207 667 == 0;
+#X obj 367 667 == 0;
+#X msg 33 778 color 1 0;
+#X obj 33 731 spigot;
+#X obj 33 755 spigot;
+#X obj 33 704 t b f;
+#X obj 207 697 t b f;
+#X msg 207 779 color 1 0;
+#X obj 207 732 spigot;
+#X obj 207 756 spigot;
+#X obj 366 699 t b f;
+#X obj 1120 638 s \$0-s_Op2Op1Canvas;
+#X obj 1120 520 r \$0-op2->op1;
+#X msg 1157 609 color 12 0;
+#X msg 1120 574 color 1 0;
+#X obj 1120 545 moses 1;
+#X obj 1005 551 r \$0-op1->op2;
+#X msg 1034 633 color 12 0;
+#X msg 1006 604 color 1 0;
+#X obj 1006 575 moses 1;
+#X obj 1005 709 s \$0-s_Op1Op2h;
+#X obj 553 519 r \$0-op1->op3;
+#X obj 766 568 r \$0-op2->op3;
+#X obj 646 518 r \$0-op1->op2;
+#X obj 588 775 s \$0-s_Op1Op2;
+#X obj 1035 679 s \$0-s_Op1Op2Canvas;
+#X msg 908 614 color 12 0;
+#X msg 875 586 color 1 0;
+#X obj 875 557 moses 1;
+#X obj 875 650 s \$0-s_Op1Op3Canvas;
+#X obj 875 532 r \$0-op1->op3;
+#X obj 901 714 s \$0-s_Op1Op3_1;
+#X obj 549 552 >= 1;
+#X msg 549 629 color 12 0;
+#X obj 549 610 spigot;
+#X obj 549 591 t b f;
+#X obj 645 554 >= 1;
+#X msg 645 631 color 12 0;
+#X obj 645 612 spigot;
+#X obj 646 593 t b f;
+#X obj 507 554 == 0;
+#X msg 588 689 color 1 0;
+#X obj 500 611 spigot;
+#X obj 588 666 spigot;
+#X obj 507 580 t b f;
+#X obj 607 582 t b f;
+#X obj 608 561 == 0;
+#X msg 799 650 color 12 0;
+#X msg 766 622 color 1 0;
+#X obj 766 593 moses 1;
+#X obj 764 686 s \$0-s_Op2Op3Canvas;
+#X obj 748 711 s \$0-s_Op2Op3;
+#X obj 1074 461 s \$0-s_Op1Op3h;
+#X obj 931 476 s \$0-s_Op2Op3h;
+#X obj 934 230 r \$0-op2->op3;
+#X obj 931 275 >= 1;
+#X msg 931 352 color 12 0;
+#X obj 931 333 spigot;
+#X obj 931 314 t b f;
+#X obj 1078 237 r \$0-op1->op3;
+#X obj 1074 270 >= 1;
+#X msg 1074 347 color 12 0;
+#X obj 1074 328 spigot;
+#X obj 1074 309 t b f;
+#X obj 1031 299 == 0;
+#X obj 1031 325 t b f;
+#X msg 1031 423 color 1 0;
+#X obj 1029 375 spigot;
+#X obj 885 303 == 0;
+#X obj 885 329 t b f;
+#X obj 883 403 spigot;
+#X msg 948 436 color 1 0;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 9 0;
+#X connect 7 0 9 0;
+#X connect 8 0 5 0;
+#X connect 10 0 11 0;
+#X connect 10 1 12 0;
+#X connect 11 0 14 0;
+#X connect 12 0 14 0;
+#X connect 13 0 10 0;
+#X connect 18 0 29 0;
+#X connect 19 0 23 0;
+#X connect 20 0 26 0;
+#X connect 21 0 16 0;
+#X connect 22 0 16 0;
+#X connect 23 0 22 0;
+#X connect 23 1 21 0;
+#X connect 24 0 15 0;
+#X connect 25 0 15 0;
+#X connect 26 0 25 0;
+#X connect 26 1 24 0;
+#X connect 27 0 17 0;
+#X connect 28 0 17 0;
+#X connect 29 0 28 0;
+#X connect 29 1 27 0;
+#X connect 30 0 31 0;
+#X connect 30 0 36 0;
+#X connect 30 0 37 0;
+#X connect 32 0 33 0;
+#X connect 33 0 35 0;
+#X connect 33 0 48 0;
+#X connect 34 0 30 0;
+#X connect 35 0 34 0;
+#X connect 35 1 34 1;
+#X connect 38 0 31 0;
+#X connect 38 0 36 0;
+#X connect 39 0 41 0;
+#X connect 39 0 52 0;
+#X connect 40 0 38 0;
+#X connect 41 0 40 0;
+#X connect 41 1 40 1;
+#X connect 42 0 39 0;
+#X connect 43 0 31 0;
+#X connect 44 0 46 0;
+#X connect 44 0 54 0;
+#X connect 45 0 43 0;
+#X connect 46 0 45 0;
+#X connect 46 1 45 1;
+#X connect 47 0 44 0;
+#X connect 48 0 50 0;
+#X connect 49 0 51 0;
+#X connect 50 0 49 0;
+#X connect 50 0 53 0;
+#X connect 50 0 55 0;
+#X connect 50 1 49 1;
+#X connect 50 1 105 1;
+#X connect 50 1 107 1;
+#X connect 51 0 37 0;
+#X connect 52 0 102 0;
+#X connect 53 0 105 0;
+#X connect 54 0 103 0;
+#X connect 55 0 106 0;
+#X connect 56 0 65 0;
+#X connect 59 0 57 0;
+#X connect 59 0 74 0;
+#X connect 60 0 72 0;
+#X connect 61 0 64 0;
+#X connect 61 0 82 0;
+#X connect 62 0 60 0;
+#X connect 63 0 68 0;
+#X connect 64 0 62 0;
+#X connect 64 1 62 1;
+#X connect 64 1 83 1;
+#X connect 65 0 67 0;
+#X connect 65 0 61 0;
+#X connect 66 0 59 0;
+#X connect 67 0 66 0;
+#X connect 67 1 66 1;
+#X connect 68 0 70 0;
+#X connect 68 0 71 0;
+#X connect 69 0 59 0;
+#X connect 70 0 69 0;
+#X connect 70 1 69 1;
+#X connect 71 0 72 1;
+#X connect 71 0 64 0;
+#X connect 71 0 84 1;
+#X connect 71 0 82 0;
+#X connect 72 0 57 0;
+#X connect 73 0 75 0;
+#X connect 75 0 78 0;
+#X connect 75 0 79 0;
+#X connect 76 0 58 0;
+#X connect 77 0 76 0;
+#X connect 78 0 77 0;
+#X connect 78 1 77 1;
+#X connect 79 0 82 0;
+#X connect 80 0 58 0;
+#X connect 81 0 83 0;
+#X connect 82 0 81 0;
+#X connect 82 1 81 1;
+#X connect 83 0 84 0;
+#X connect 84 0 80 0;
+#X connect 86 0 89 0;
+#X connect 87 0 85 0;
+#X connect 87 0 90 0;
+#X connect 88 0 85 0;
+#X connect 88 0 90 0;
+#X connect 89 0 88 0;
+#X connect 89 1 87 0;
+#X connect 91 0 95 0;
+#X connect 91 0 96 0;
+#X connect 92 0 95 0;
+#X connect 92 0 96 0;
+#X connect 93 0 92 0;
+#X connect 93 1 91 0;
+#X connect 94 0 93 0;
+#X connect 97 0 101 0;
+#X connect 98 0 101 0;
+#X connect 99 0 98 0;
+#X connect 99 1 97 0;
+#X connect 100 0 99 0;
+#X connect 102 0 53 0;
+#X connect 102 0 55 0;
+#X connect 102 1 53 1;
+#X connect 102 1 106 1;
+#X connect 103 0 55 0;
+#X connect 103 1 55 1;
+#X connect 104 0 36 0;
+#X connect 105 0 104 0;
+#X connect 106 0 107 0;
+#X connect 107 0 108 0;
+#X connect 108 0 31 0;
+#X connect 109 0 122 0;
+#X connect 110 0 117 0;
+#X connect 112 0 113 0;
+#X connect 113 0 116 0;
+#X connect 113 0 127 0;
+#X connect 114 0 111 0;
+#X connect 114 0 121 0;
+#X connect 115 0 114 0;
+#X connect 116 0 115 0;
+#X connect 116 1 115 1;
+#X connect 117 0 120 0;
+#X connect 117 0 126 0;
+#X connect 118 0 111 0;
+#X connect 119 0 118 0;
+#X connect 120 0 119 0;
+#X connect 120 1 119 1;
+#X connect 122 0 125 0;
+#X connect 122 0 128 0;
+#X connect 123 0 121 0;
+#X connect 124 0 123 0;
+#X connect 125 0 124 0;
+#X connect 125 1 124 1;
+#X connect 126 0 132 0;
+#X connect 127 0 133 0;
+#X connect 128 0 137 0;
+#X connect 129 0 111 0;
+#X connect 130 0 131 0;
+#X connect 131 0 129 0;
+#X connect 132 0 130 0;
+#X connect 132 1 130 1;
+#X connect 133 0 130 0;
+#X connect 133 0 135 0;
+#X connect 133 1 131 1;
+#X connect 133 1 135 1;
+#X connect 134 0 121 0;
+#X connect 135 0 136 0;
+#X connect 136 0 134 0;
+#X connect 137 0 135 0;
+#X connect 137 1 136 1;
+#X connect 139 0 142 0;
+#X connect 140 0 138 0;
+#X connect 141 0 138 0;
+#X connect 142 0 141 0;
+#X connect 142 1 140 0;
+#X connect 143 0 146 0;
+#X connect 144 0 147 0;
+#X connect 144 0 152 0;
+#X connect 145 0 147 0;
+#X connect 145 0 152 0;
+#X connect 146 0 145 0;
+#X connect 146 1 144 0;
+#X connect 148 0 159 0;
+#X connect 149 0 176 0;
+#X connect 150 0 163 0;
+#X connect 153 0 156 0;
+#X connect 153 0 158 0;
+#X connect 154 0 156 0;
+#X connect 154 0 158 0;
+#X connect 155 0 154 0;
+#X connect 155 1 153 0;
+#X connect 157 0 155 0;
+#X connect 159 0 162 0;
+#X connect 159 0 167 0;
+#X connect 160 0 151 0;
+#X connect 161 0 160 0;
+#X connect 162 0 161 0;
+#X connect 162 1 161 1;
+#X connect 163 0 166 0;
+#X connect 163 0 173 0;
+#X connect 164 0 151 0;
+#X connect 165 0 164 0;
+#X connect 166 0 165 0;
+#X connect 166 1 165 1;
+#X connect 167 0 171 0;
+#X connect 168 0 151 0;
+#X connect 169 0 170 0;
+#X connect 170 0 168 0;
+#X connect 171 0 169 0;
+#X connect 171 1 169 1;
+#X connect 172 0 169 0;
+#X connect 172 1 170 1;
+#X connect 173 0 172 0;
+#X connect 174 0 177 0;
+#X connect 174 0 178 0;
+#X connect 175 0 177 0;
+#X connect 175 0 178 0;
+#X connect 176 0 175 0;
+#X connect 176 1 174 0;
+#X connect 181 0 182 0;
+#X connect 182 0 185 0;
+#X connect 182 0 195 0;
+#X connect 183 0 180 0;
+#X connect 184 0 183 0;
+#X connect 185 0 184 0;
+#X connect 185 1 184 1;
+#X connect 186 0 187 0;
+#X connect 187 0 190 0;
+#X connect 187 0 191 0;
+#X connect 188 0 179 0;
+#X connect 188 0 180 0;
+#X connect 189 0 188 0;
+#X connect 190 0 189 0;
+#X connect 190 1 189 1;
+#X connect 191 0 192 0;
+#X connect 192 0 194 0;
+#X connect 192 1 194 1;
+#X connect 193 0 179 0;
+#X connect 194 0 193 0;
+#X connect 194 0 197 0;
+#X connect 195 0 196 0;
+#X connect 196 0 194 0;
+#X connect 196 1 197 1;
+#X connect 197 0 198 0;
+#X connect 198 0 180 0;
+#X restore 740 259 pd feedback_Matrix_GUI;
+#N canvas 0 0 452 302 FM_Pitch 0;
+#X floatatom 278 194 5 0 0 0 Op2_Pitch - -;
+#X floatatom 452 182 5 0 0 0 Op3_Pitch - -;
+#X obj 452 129 line;
+#X obj 453 108 pack \$1 f;
+#X obj 454 67 bang;
+#X floatatom 502 67 5 0 0 0 - - -;
+#X obj 453 88 random 500;
+#X obj 279 145 line;
+#X obj 280 124 pack \$1 f;
+#X obj 281 83 bang;
+#X floatatom 378 116 5 0 0 0 - - -;
+#X obj 280 104 random 500;
+#X floatatom 372 92 5 0 0 0 - - -;
+#X floatatom 537 108 5 0 0 0 - - -;
+#X obj 20 70 mtof;
+#X obj 19 238 line;
+#X obj 21 216 pack \$1 f;
+#X obj 21 196 random 500;
+#X obj 21 95 t b f;
+#X floatatom 95 179 5 0 0 0 - - -;
+#X obj 5 269 s \$0-pitch_Op1;
+#X obj 258 238 s \$0-pitch_Op2;
+#X obj 422 221 s \$0-pitch_Op3;
+#X obj 452 47 r \$0-NoteVel;
+#X obj 283 63 r \$0-NoteVel;
+#X obj 35 16 r \$0-NotePitch;
+#X floatatom 126 243 5 0 0 0 - - -;
+#X obj 452 152 + 2000;
+#X obj 76 156 / 5;
+#X obj 38 44 moses 1;
+#X obj 278 171 + 30;
+#X floatatom 239 99 5 0 0 0 - - -;
+#X floatatom 161 102 5 0 0 0 - - -;
+#X connect 2 0 27 0;
+#X connect 3 0 2 0;
+#X connect 4 0 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 0;
+#X connect 7 0 30 0;
+#X connect 8 0 7 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 1;
+#X connect 11 0 8 0;
+#X connect 12 0 11 1;
+#X connect 13 0 6 1;
+#X connect 13 0 27 1;
+#X connect 14 0 18 0;
+#X connect 14 0 20 0;
+#X connect 15 0 26 0;
+#X connect 16 0 15 0;
+#X connect 17 0 16 0;
+#X connect 18 0 17 0;
+#X connect 18 1 28 0;
+#X connect 19 0 16 1;
+#X connect 23 0 4 0;
+#X connect 23 0 22 0;
+#X connect 24 0 9 0;
+#X connect 24 0 21 0;
+#X connect 25 0 29 0;
+#X connect 27 0 1 0;
+#X connect 28 0 17 1;
+#X connect 29 1 14 0;
+#X connect 29 1 32 0;
+#X connect 30 0 0 0;
+#X restore 740 325 pd FM_Pitch;
+#X obj 768 39 loadbang;
+#X obj 768 77 s \$0-s_RsFB;
+#X text 463 291 And Envelopes (op1 \, op2 \, op3) -->;
+#N canvas 0 0 1102 748 sound-engine 0;
+#X obj 56 190 cos~;
+#X obj 56 166 +~;
+#X obj 56 121 phasor~;
+#X obj 226 191 cos~;
+#X obj 227 171 +~;
+#X obj 228 128 phasor~;
+#X obj 422 190 cos~;
+#X obj 423 170 +~;
+#X obj 424 122 phasor~;
+#X obj 66 242 sig~;
+#X obj 54 269 vcf~;
+#X floatatom 76 215 5 0 0 0 op1_FiltFeq - -;
+#X floatatom 116 224 5 0 0 0 op1_filtQ - -;
+#X obj 235 240 sig~;
+#X obj 226 265 vcf~;
+#X floatatom 235 211 5 0 0 0 op1_FiltFeq - -;
+#X floatatom 295 223 5 0 5 0 op1_filtQ - -;
+#X obj 432 240 sig~;
+#X obj 423 265 vcf~;
+#X floatatom 432 211 5 0 0 0 op1_FiltFeq - -;
+#X floatatom 494 224 5 0 0 0 op1_filtQ - -;
+#X obj 68 141 catch~ In_op1;
+#X obj 240 148 catch~ In_op2;
+#X obj 436 142 catch~ In_op3;
+#X obj 53 399 send~ \$0-Out_Op1;
+#X obj 225 395 send~ \$0-Out_Op2;
+#X obj 422 396 send~ \$0-Out_Op3;
+#N canvas 0 107 1011 691 AD 0;
+#X obj 432 149 inlet;
+#X obj 430 629 outlet~;
+#X obj 597 145 inlet;
+#X obj 818 164 inlet;
+#X obj 432 192 t b f;
+#X obj 432 399 t3_bpe;
+#X obj 432 334 t b b;
+#X obj 432 429 t3_line~ 0;
+#X obj 432 367 f 0.04;
+#X floatatom 469 283 5 0 0 0 - - -;
+#X obj 488 381 pack 0 0 1 1.5 1 0.5 0 1.5;
+#X text 525 268 pre-delay;
+#X floatatom 597 282 5 0 0 0 - - -;
+#X text 653 267 attack;
+#X floatatom 705 281 5 0 0 0 - - -;
+#X text 748 283 Samples;
+#X text 761 266 sustain;
+#X floatatom 818 278 5 0 0 0 - - -;
+#X text 861 280 Samples;
+#X text 874 263 release;
+#X msg 548 412 set _lin;
+#X msg 548 433 set _linsqrt;
+#X msg 548 454 set _sqrt;
+#X msg 548 474 set _sin;
+#X msg 549 495 set _sinhann;
+#X msg 549 517 set _hann;
+#X msg 350 346 stop;
+#X obj 432 534 fade~ _sin;
+#X connect 0 0 4 0;
+#X connect 2 0 12 0;
+#X connect 3 0 17 0;
+#X connect 4 0 6 0;
+#X connect 4 1 14 0;
+#X connect 5 0 7 0;
+#X connect 5 1 7 1;
+#X connect 6 0 8 0;
+#X connect 6 1 10 0;
+#X connect 7 0 27 0;
+#X connect 8 0 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 5 0;
+#X connect 12 0 10 3;
+#X connect 14 0 10 5;
+#X connect 17 0 10 7;
+#X connect 20 0 27 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 0;
+#X connect 24 0 27 0;
+#X connect 25 0 27 0;
+#X connect 26 0 5 0;
+#X connect 27 0 1 0;
+#X restore 735 295 pd AD;
+#X floatatom 823 231 5 0 0 0 - - -;
+#X obj 54 317 *~;
+#X obj 226 312 *~;
+#X obj 422 318 *~;
+#X obj 67 291 r~ \$0-env_1;
+#X obj 735 314 s~ \$0-env_1;
+#X obj 824 314 s~ \$0-env_2;
+#X obj 924 315 s~ \$0-env_3;
+#X obj 253 288 r~ \$0-env_2;
+#X obj 457 294 r~ \$0-env_3;
+#X obj 787 169 moses 1;
+#X obj 55 98 sig~;
+#N canvas 0 107 1011 691 AD 0;
+#X obj 432 149 inlet;
+#X obj 430 629 outlet~;
+#X obj 597 145 inlet;
+#X obj 818 164 inlet;
+#X obj 432 192 t b f;
+#X obj 432 399 t3_bpe;
+#X obj 432 334 t b b;
+#X obj 432 429 t3_line~ 0;
+#X obj 432 367 f 0.04;
+#X floatatom 469 283 5 0 0 0 - - -;
+#X obj 488 381 pack 0 0 1 1.5 1 0.5 0 1.5;
+#X text 525 268 pre-delay;
+#X floatatom 597 282 5 0 0 0 - - -;
+#X text 653 267 attack;
+#X floatatom 705 281 5 0 0 0 - - -;
+#X text 748 283 Samples;
+#X text 761 266 sustain;
+#X floatatom 818 278 5 0 0 0 - - -;
+#X text 861 280 Samples;
+#X text 874 263 release;
+#X msg 548 412 set _lin;
+#X msg 548 433 set _linsqrt;
+#X msg 548 454 set _sqrt;
+#X msg 548 474 set _sin;
+#X msg 549 495 set _sinhann;
+#X msg 549 517 set _hann;
+#X msg 350 346 stop;
+#X obj 432 534 fade~ _sin;
+#X connect 0 0 4 0;
+#X connect 2 0 12 0;
+#X connect 3 0 17 0;
+#X connect 4 0 6 0;
+#X connect 4 1 14 0;
+#X connect 5 0 7 0;
+#X connect 5 1 7 1;
+#X connect 6 0 8 0;
+#X connect 6 1 10 0;
+#X connect 7 0 27 0;
+#X connect 8 0 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 5 0;
+#X connect 12 0 10 3;
+#X connect 14 0 10 5;
+#X connect 17 0 10 7;
+#X connect 20 0 27 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 0;
+#X connect 24 0 27 0;
+#X connect 25 0 27 0;
+#X connect 26 0 5 0;
+#X connect 27 0 1 0;
+#X restore 824 295 pd AD;
+#X obj 823 211 * 100;
+#X obj 824 190 / 127;
+#N canvas 0 107 1011 691 AD 0;
+#X obj 432 149 inlet;
+#X obj 430 629 outlet~;
+#X obj 597 145 inlet;
+#X obj 818 164 inlet;
+#X obj 432 192 t b f;
+#X obj 432 399 t3_bpe;
+#X obj 432 334 t b b;
+#X obj 432 429 t3_line~ 0;
+#X obj 432 367 f 0.04;
+#X floatatom 469 283 5 0 0 0 - - -;
+#X obj 488 381 pack 0 0 1 1.5 1 0.5 0 1.5;
+#X text 525 268 pre-delay;
+#X floatatom 597 282 5 0 0 0 - - -;
+#X text 653 267 attack;
+#X floatatom 705 281 5 0 0 0 - - -;
+#X text 748 283 Samples;
+#X text 761 266 sustain;
+#X floatatom 818 278 5 0 0 0 - - -;
+#X text 861 280 Samples;
+#X text 874 263 release;
+#X msg 548 412 set _lin;
+#X msg 548 433 set _linsqrt;
+#X msg 548 454 set _sqrt;
+#X msg 548 474 set _sin;
+#X msg 549 495 set _sinhann;
+#X msg 549 517 set _hann;
+#X msg 350 346 stop;
+#X obj 432 534 fade~ _sin;
+#X connect 0 0 4 0;
+#X connect 2 0 12 0;
+#X connect 3 0 17 0;
+#X connect 4 0 6 0;
+#X connect 4 1 14 0;
+#X connect 5 0 7 0;
+#X connect 5 1 7 1;
+#X connect 6 0 8 0;
+#X connect 6 1 10 0;
+#X connect 7 0 27 0;
+#X connect 8 0 5 0;
+#X connect 9 0 8 1;
+#X connect 10 0 5 0;
+#X connect 12 0 10 3;
+#X connect 14 0 10 5;
+#X connect 17 0 10 7;
+#X connect 20 0 27 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 0;
+#X connect 24 0 27 0;
+#X connect 25 0 27 0;
+#X connect 26 0 5 0;
+#X connect 27 0 1 0;
+#X restore 924 296 pd AD;
+#X obj 747 252 r \$0-rAtt_1;
+#X obj 760 272 r \$0-rRel_1;
+#X obj 836 251 r \$0-rAtt_2;
+#X obj 849 270 r \$0-rRel_2;
+#X obj 936 256 r \$0-rAtt_3;
+#X obj 949 275 r \$0-rRel_3;
+#X obj 116 203 / 100;
+#X obj 55 76 r \$0-pitch_Op1;
+#X obj 227 104 sig~;
+#X obj 227 82 r \$0-pitch_Op2;
+#X obj 424 102 sig~;
+#X obj 424 80 r \$0-pitch_Op3;
+#X obj 787 148 r \$0-NoteVel;
+#X obj 525 292 r \$0-outAmt_3;
+#X obj 510 374 *~;
+#X obj 525 312 / 100;
+#X obj 309 371 *~;
+#X obj 324 312 / 100;
+#X obj 324 289 r \$0-outAmt_2;
+#X obj 112 352 *~;
+#X obj 127 293 / 100;
+#X obj 127 270 r \$0-outAmt_1;
+#X obj 112 374 throw~ \$0-out;
+#X obj 310 392 throw~ \$0-out;
+#X obj 510 396 throw~ \$0-out;
+#X obj 525 333 pack 0 50;
+#X obj 525 353 line~;
+#X obj 324 332 pack 0 50;
+#X obj 324 352 line~;
+#X obj 127 312 pack 0 50;
+#X obj 127 332 line~;
+#X connect 0 0 10 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 14 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 18 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 1;
+#X connect 10 0 29 0;
+#X connect 11 0 9 0;
+#X connect 12 0 10 2;
+#X connect 13 0 14 1;
+#X connect 14 0 30 0;
+#X connect 15 0 13 0;
+#X connect 16 0 14 2;
+#X connect 17 0 18 1;
+#X connect 18 0 31 0;
+#X connect 19 0 17 0;
+#X connect 20 0 18 2;
+#X connect 21 0 1 1;
+#X connect 22 0 4 1;
+#X connect 23 0 7 1;
+#X connect 27 0 33 0;
+#X connect 28 0 27 0;
+#X connect 28 0 40 0;
+#X connect 28 0 43 0;
+#X connect 29 0 24 0;
+#X connect 29 0 63 0;
+#X connect 30 0 25 0;
+#X connect 30 0 60 0;
+#X connect 31 0 26 0;
+#X connect 31 0 58 0;
+#X connect 32 0 29 1;
+#X connect 36 0 30 1;
+#X connect 37 0 31 1;
+#X connect 38 1 42 0;
+#X connect 39 0 2 0;
+#X connect 40 0 34 0;
+#X connect 41 0 28 0;
+#X connect 42 0 41 0;
+#X connect 43 0 35 0;
+#X connect 44 0 27 1;
+#X connect 45 0 27 2;
+#X connect 46 0 40 1;
+#X connect 47 0 40 2;
+#X connect 48 0 43 1;
+#X connect 49 0 43 2;
+#X connect 50 0 12 0;
+#X connect 51 0 39 0;
+#X connect 52 0 5 0;
+#X connect 53 0 52 0;
+#X connect 54 0 8 0;
+#X connect 55 0 54 0;
+#X connect 56 0 38 0;
+#X connect 57 0 59 0;
+#X connect 58 0 68 0;
+#X connect 59 0 69 0;
+#X connect 60 0 67 0;
+#X connect 61 0 71 0;
+#X connect 62 0 61 0;
+#X connect 63 0 66 0;
+#X connect 64 0 73 0;
+#X connect 65 0 64 0;
+#X connect 69 0 70 0;
+#X connect 70 0 58 1;
+#X connect 71 0 72 0;
+#X connect 72 0 60 1;
+#X connect 73 0 74 0;
+#X connect 74 0 63 1;
+#X restore 741 236 pd sound-engine;
+#N canvas 384 294 748 517 saves 0;
+#X obj 564 140 originator \$1 \$0;
+#X obj 564 117 r \$0-originator;
+#X obj 56 96 r \$0-outAmt_1;
+#X obj 56 147 s \$0-send-outAmt_1;
+#X obj 191 97 r \$0-outAmt_2;
+#X obj 191 148 s \$0-send-outAmt_2;
+#X obj 328 97 r \$0-outAmt_3;
+#X obj 328 148 s \$0-send-outAmt_3;
+#X text 54 65 OUT AMOUNTS;
+#X text 56 182 ENVELOPES;
+#X obj 57 210 r \$0-rAtt_1;
+#X obj 173 209 r \$0-rAtt_2;
+#X obj 292 208 r \$0-rAtt_3;
+#X obj 58 283 r \$0-rRel_1;
+#X obj 58 308 commun /Rel_1 \$0;
+#X obj 56 121 commun /outAmt_1 \$0;
+#X obj 191 122 commun /outAmt_2 \$0;
+#X obj 328 122 commun /outAmt_3 \$0;
+#X obj 57 234 commun /Att_1 \$0;
+#X obj 173 233 commun /Att_2 \$0;
+#X obj 292 232 commun /Att_3 \$0;
+#X obj 177 283 r \$0-rRel_2;
+#X obj 177 308 commun /Rel_2 \$0;
+#X obj 302 283 r \$0-rRel_3;
+#X obj 302 308 commun /Rel_3 \$0;
+#X obj 600 39 inlet;
+#X obj 58 330 s \$0-sRel_1;
+#X obj 57 257 s \$0-sAtt_1;
+#X obj 173 256 s \$0-sAtt_2;
+#X obj 292 255 s \$0-sAtt_3;
+#X obj 302 330 s \$0-sRel_3;
+#X obj 177 330 s \$0-sRel_2;
+#X obj 600 65 s \$0-originator;
+#X msg 545 217 substate \$1;
+#X obj 545 243 s \$0-originator;
+#X obj 467 223 t b f;
+#X obj 523 178 r \$0-preset-out;
+#X msg 474 248 set;
+#N canvas 358 497 899 308 ops 0;
+#X obj 15 54 commun /op3-op3 \$0;
+#X obj 153 54 commun /op3-op2 \$0;
+#X obj 296 54 commun /op3-op1 \$0;
+#X obj 14 151 commun /op2-op1 \$0;
+#X obj 152 149 commun /op2-op2 \$0;
+#X obj 290 150 commun /op2-op3 \$0;
+#X obj 12 242 commun /op1-op1 \$0;
+#X obj 150 240 commun /op1-op2 \$0;
+#X obj 288 241 commun /op1-op3 \$0;
+#X obj 15 82 s \$0-send-op3->op3;
+#X obj 15 29 r \$0-op3->op3;
+#X obj 153 24 s \$0-send-op3->op2;
+#X obj 153 84 r \$0-op3->op2;
+#X obj 296 26 s \$0-send-op3->op1;
+#X obj 296 84 r \$0-op3->op1;
+#X obj 14 121 s \$0-send-op2->op1;
+#X obj 14 181 r \$0-op2->op1;
+#X obj 152 179 r \$0-op2->op2;
+#X obj 152 119 s \$0-send-op2->op2;
+#X obj 290 120 s \$0-send-op2->op3;
+#X obj 288 211 s \$0-send-op1->op3;
+#X obj 150 210 s \$0-send-op1->op2;
+#X obj 12 212 s \$0-send-op1->op1;
+#X obj 290 180 r \$0-op2->op3;
+#X obj 288 271 r \$0-op1->op3;
+#X obj 150 270 r \$0-op1->op2;
+#X obj 12 272 r \$0-op1->op1;
+#X connect 0 0 9 0;
+#X connect 1 0 11 0;
+#X connect 2 0 13 0;
+#X connect 3 0 15 0;
+#X connect 4 0 18 0;
+#X connect 5 0 19 0;
+#X connect 6 0 22 0;
+#X connect 7 0 21 0;
+#X connect 8 0 20 0;
+#X connect 10 0 0 0;
+#X connect 12 0 1 0;
+#X connect 14 0 2 0;
+#X connect 16 0 3 0;
+#X connect 17 0 4 0;
+#X connect 23 0 5 0;
+#X connect 24 0 8 0;
+#X connect 25 0 7 0;
+#X connect 26 0 6 0;
+#X restore 60 370 pd ops;
+#X connect 1 0 0 0;
+#X connect 2 0 15 0;
+#X connect 4 0 16 0;
+#X connect 6 0 17 0;
+#X connect 10 0 18 0;
+#X connect 11 0 19 0;
+#X connect 12 0 20 0;
+#X connect 13 0 14 0;
+#X connect 14 0 26 0;
+#X connect 15 0 3 0;
+#X connect 16 0 5 0;
+#X connect 17 0 7 0;
+#X connect 18 0 27 0;
+#X connect 19 0 28 0;
+#X connect 20 0 29 0;
+#X connect 21 0 22 0;
+#X connect 22 0 31 0;
+#X connect 23 0 24 0;
+#X connect 24 0 30 0;
+#X connect 25 0 0 1;
+#X connect 33 0 34 0;
+#X connect 35 0 37 0;
+#X connect 35 1 33 0;
+#X connect 36 0 35 0;
+#X connect 37 0 34 0;
+#X restore 741 213 pd saves;
+#X obj 414 239 outlet~;
+#X obj 417 97 inlet;
+#X obj 460 96 inlet;
+#X obj 516 96 inlet;
+#X obj 741 190 inlet;
+#X floatatom 174 237 5 0 0 2 preset #0-preset-in #0-preset-out;
+#X connect 10 0 77 0;
+#X connect 72 0 73 0;
+#X connect 78 0 7 0;
+#X connect 79 0 6 0;
+#X connect 80 0 8 0;
+#X connect 81 0 76 0;
+#X coords 0 0 1 1 248 380 1;
diff --git a/instruments/mafm/dollars.txt b/instruments/mafm/dollars.txt
new file mode 100644
index 0000000..15d7522
--- /dev/null
+++ b/instruments/mafm/dollars.txt
@@ -0,0 +1,152 @@
+#X obj 460 183 vsl 15 128 0 1000 0 0 \$0-rAtt_1 \$0-sAtt_1 A 0 -8 1728
+#X obj 478 183 vsl 15 128 0 1000 0 0 \$0-rRel_1 \$0-sRel_1 R 0 -8 1728
+#X obj 519 185 vsl 15 128 0 1000 0 0 \$0-rAtt_2 \$0-sAtt_2 A 0 -8 1728
+#X obj 537 185 vsl 15 128 0 1000 0 0 \$0-rRel_2 \$0-sRel_2 R 0 -8 1728
+#X obj 580 184 vsl 15 128 0 1000 0 0 \$0-rAtt_3 \$0-sAtt_3 A 0 -8 1728
+#X obj 598 184 vsl 15 128 0 1000 0 0 \$0-rRel_3 \$0-sRel_3 R 0 -8 1728
+#X obj 180 143 s \$0-NoteVel;
+#X obj 165 164 s \$0-NotePitch;
+#X obj 196 122 s \$0-NoteChnl;
+#X obj 152 422 r \$0-op1->op3;
+#X obj 328 419 r \$0-op2->op3;
+#X obj 503 417 r \$0-op3->op3;
+#X obj 165 256 r \$0-op1->op2;
+#X obj 341 253 r \$0-op2->op2;
+#X obj 516 251 r \$0-op3->op2;
+#X obj 181 106 r \$0-op1->op1;
+#X obj 357 103 r \$0-op2->op1;
+#X obj 532 101 r \$0-op3->op1;
+#X obj 578 146 cnv 10 40 1 \$0-r_Op1OutCanvash \$0-s_Op1OutCanvash
+#X obj 562 140 cnv 12 38 16 empty \$0-s_Op1OutCanvash empty 4 6 576
+#X obj 563 141 nbx 3 14 0 100 0 0 \$0-outAmt_1 \$0-send-outAmt_1 empty
+#X obj 520 98 cnv 15 1 50 \$0-r_Op2OutCanvas \$0-s_Op2OutCanvas empty
+#X obj 522 146 cnv 10 40 1 \$0-r_Op2OutCanvash \$0-s_Op2OutCanvash
+#X obj 510 140 cnv 12 38 16 empty \$0-s_Op2OutCanvas empty 4 6 576
+#X obj 511 141 nbx 3 14 0 100 0 0 \$0-outAmt_2 \$0-send-outAmt_2 empty
+#X obj 470 146 cnv 10 40 1 \$0-r_Op3OutCanvash \$0-s_Op3OutCanvash
+#X obj 467 -2 cnv 12 40 22 empty \$0-s_Op3FBCanvas empty 4 6 576 8
+#X obj 455 -10 cnv 12 34 16 empty \$0-s_Op3FBCanvas empty 4 6 576 8
+#X obj 456 -9 nbx 3 14 0 100 0 0 \$0-op3->op3 \$0-send-op3->op3 empty
+#X obj 467 10 cnv 15 1 50 \$0-r_Op3Op2 \$0-s_Op3Op2 empty 20 12 1728
+#X obj 467 98 cnv 15 1 50 \$0-r_Op3OutCanvas \$0-s_Op3OutCanvas empty
+#X obj 458 140 cnv 12 38 16 empty \$0-s_Op3OutCanvas empty 4 6 576
+#X obj 459 141 nbx 3 14 0 100 0 0 \$0-outAmt_3 \$0-send-outAmt_3 empty
+#X obj 468 55 cnv 10 40 1 \$0-r_Op3Op2h \$0-s_Op3Op2h empty 20 12 1728
+#X obj 470 103 cnv 10 40 1 \$0-r_Op3Op1h \$0-s_Op3Op1h empty 20 12
+#X obj 467 50 cnv 15 1 50 \$0-r_Op3Op2_2 \$0-s_Op3Op2_2 empty 20 12
+#X obj 457 49 cnv 12 38 16 empty \$0-s_Op3Op2Canvas empty 4 6 576 8
+#X obj 458 50 nbx 3 14 0 100 0 0 \$0-op3->op2 \$0-send-op3->op2 empty
+#X obj 457 97 cnv 12 38 16 empty \$0-s_Op3Op1Canvas empty 4 6 576 8
+#X obj 458 98 nbx 3 14 0 100 0 0 \$0-op3->op1 \$0-send-op3->op1 empty
+#X obj 530 103 cnv 10 30 1 \$0-r_Op2Op1h \$0-s_Op2Op1h empty 20 12
+#X obj 510 97 cnv 12 38 16 empty \$0-s_Op2Op1Canvas empty 4 6 576 8
+#X obj 511 98 nbx 3 14 0 100 0 0 \$0-op2->op1 \$0-send-op2->op1 empty
+#X obj 573 49 cnv 15 1 50 \$0-r_Op1Op2 \$0-s_Op1Op2 empty 20 12 1728
+#X obj 562 49 cnv 12 38 16 empty \$0-s_Op1Op2Canvas empty 4 6 576 8
+#X obj 563 50 nbx 3 14 0 100 0 0 \$0-op1->op2 \$0-send-op1->op2 empty
+#X obj 573 99 cnv 15 1 40 \$0-r_Op1OutCanvas \$0-s_Op1OutCanvas empty
+#X obj 573 86 cnv 12 40 22 empty \$0-s_Op1FBCanvas empty 4 6 576 8
+#X obj 561 78 cnv 12 34 16 empty \$0-s_Op1FBCanvas empty 4 6 576 8
+#X obj 562 79 nbx 3 14 0 100 0 0 \$0-op1->op1 \$0-send-op1->op1 empty
+#X obj 520 38 cnv 12 40 22 empty \$0-s_Op2FBCanvas empty 4 6 576 8
+#X obj 508 30 cnv 12 34 16 empty \$0-s_Op2FBCanvas empty 4 6 576 8
+#X obj 509 31 nbx 3 14 0 100 0 0 \$0-op2->op2 \$0-send-op2->op2 empty
+#X obj 520 50 cnv 15 1 46 \$0-r_Op2Op1 \$0-s_Op2Op1 empty 20 12 1728
+#X obj 532 56 cnv 10 30 1 \$0-r_Op1Op2h \$0-s_Op1Op2h empty 20 12 1728
+#X obj 563 5 cnv 12 38 16 empty \$0-s_Op1Op3Canvas empty 4 6 576 8
+#X obj 573 6 cnv 15 1 42 \$0-r_Op1Op3_1 \$0-s_Op1Op3_1 empty 20 12
+#X obj 564 6 nbx 3 14 0 100 0 0 \$0-op1->op3 \$0-send-op1->op3 empty
+#X obj 478 10 cnv 10 32 1 \$0-r_Op2Op3h \$0-s_Op2Op3h empty 20 12 1728
+#X obj 532 10 cnv 10 30 1 \$0-r_Op1Op3h \$0-s_Op1Op3h empty 20 12 1728
+#X obj 510 5 cnv 12 38 16 empty \$0-s_Op2Op3Canvas empty 4 6 576 8
+#X obj 520 5 cnv 15 1 24 \$0-r_Op2Op3 \$0-s_Op2Op3 empty 20 12 1728
+#X obj 511 6 nbx 3 14 0 100 0 0 \$0-op2->op3 \$0-send-op2->op3 empty
+#X obj 621 120 bng 15 250 50 0 \$0-r_RsFB \$0-s_RsFB ResetFeedback
+#X obj 215 122 s \$0-send-op1->op1;
+#X obj 327 122 s \$0-send-op2->op1;
+#X obj 440 123 s \$0-send-op3->op1;
+#X obj 224 187 s \$0-send-op3->op3;
+#X obj 336 188 s \$0-send-op3->op2;
+#X obj 210 260 s \$0-send-op1->op3;
+#X obj 322 261 s \$0-send-op2->op2;
+#X obj 439 263 s \$0-send-op1->op2;
+#X obj 556 264 s \$0-send-op2->op3;
+#X obj 197 320 s \$0-send-outAmt_1;
+#X obj 197 349 s \$0-send-outAmt_2;
+#X obj 207 388 s \$0-send-outAmt_3;
+#X obj 421 48 r \$0-r_RsFB;
+#X obj 30 97 s \$0-s_Op1FBCanvas;
+#X obj 30 9 r \$0-op1->op1;
+#X obj 173 6 r \$0-op2->op2;
+#X obj 173 95 s \$0-s_Op2FBCanvas;
+#X obj 314 4 r \$0-op3->op3;
+#X obj 314 93 s \$0-s_Op3FBCanvas;
+#X obj 727 102 s \$0-s_Op1OutCanvas;
+#X obj 607 102 s \$0-s_Op2OutCanvas;
+#X obj 476 102 s \$0-s_Op3OutCanvas;
+#X obj 476 6 r \$0-outAmt_3;
+#X obj 607 6 r \$0-outAmt_2;
+#X obj 727 5 r \$0-outAmt_1;
+#X obj 315 526 s \$0-s_Op1OutCanvash;
+#X obj 78 201 r \$0-outAmt_3;
+#X obj 204 549 s \$0-s_Op2OutCanvash;
+#X obj 73 576 s \$0-s_Op3OutCanvash;
+#X obj 209 201 r \$0-outAmt_2;
+#X obj 320 200 r \$0-outAmt_1;
+#X obj 560 187 r \$0-outAmt_3;
+#X obj 597 376 s \$0-s_Op3Op2_2;
+#X obj 784 463 s \$0-s_Op3Op2;
+#X obj 675 187 r \$0-op3->op1;
+#X obj 784 184 r \$0-op3->op2;
+#X obj 582 404 s \$0-s_Op3Op2;
+#X obj 883 113 s \$0-s_Op3Op2h;
+#X obj 884 7 r \$0-op3->op2;
+#X obj 882 148 s \$0-s_Op3Op2Canvas;
+#X obj 1013 7 r \$0-op3->op1;
+#X obj 1012 150 s \$0-s_Op3Op1Canvas;
+#X obj 1014 113 s \$0-s_Op3Op1h;
+#X obj 1281 33 r \$0-op2->op3;
+#X obj 1281 151 s \$0-s_Op2Op3Canvas;
+#X obj 406 598 r \$0-op3->op1;
+#X obj 112 596 r \$0-outAmt_2;
+#X obj 112 803 s \$0-s_Op2Op1;
+#X obj 262 596 r \$0-op2->op1;
+#X obj 262 802 s \$0-s_Op2Op1h;
+#X obj 1120 638 s \$0-s_Op2Op1Canvas;
+#X obj 1120 520 r \$0-op2->op1;
+#X obj 1005 551 r \$0-op1->op2;
+#X obj 1005 709 s \$0-s_Op1Op2h;
+#X obj 553 519 r \$0-op1->op3;
+#X obj 766 568 r \$0-op2->op3;
+#X obj 646 518 r \$0-op1->op2;
+#X obj 588 775 s \$0-s_Op1Op2;
+#X obj 1035 679 s \$0-s_Op1Op2Canvas;
+#X obj 875 650 s \$0-s_Op1Op3Canvas;
+#X obj 875 532 r \$0-op1->op3;
+#X obj 901 714 s \$0-s_Op1Op3_1;
+#X obj 764 686 s \$0-s_Op2Op3Canvas;
+#X obj 748 711 s \$0-s_Op2Op3;
+#X obj 1074 461 s \$0-s_Op1Op3h;
+#X obj 931 476 s \$0-s_Op2Op3h;
+#X obj 934 230 r \$0-op2->op3;
+#X obj 1078 237 r \$0-op1->op3;
+#X obj 17 258 s \$0-pitch_Op1;
+#X obj 277 214 s \$0-pitch_Op2;
+#X obj 452 200 s \$0-pitch_Op3;
+#X obj 452 47 r \$0-NoteVel;
+#X obj 283 63 r \$0-NoteVel;
+#X obj 35 16 r \$0-NotePitch;
+#X obj 801 87 s \$0-s_RsFB;
+#X obj 747 252 r \$0-rAtt_1;
+#X obj 760 272 r \$0-rRel_1;
+#X obj 836 251 r \$0-rAtt_2;
+#X obj 849 270 r \$0-rRel_2;
+#X obj 936 256 r \$0-rAtt_3;
+#X obj 949 275 r \$0-rRel_3;
+#X obj 55 76 r \$0-pitch_Op1;
+#X obj 227 82 r \$0-pitch_Op2;
+#X obj 424 80 r \$0-pitch_Op3;
+#X obj 787 148 r \$0-NoteVel;
+#X obj 525 292 r \$0-outAmt_3;
+#X obj 324 289 r \$0-outAmt_2;
+#X obj 127 270 r \$0-outAmt_1;
diff --git a/instruments/mafm/mafm.dat b/instruments/mafm/mafm.dat
new file mode 100644
index 0000000..fc5a17c
--- /dev/null
+++ b/instruments/mafm/mafm.dat
@@ -0,0 +1,80 @@
+0 , /outAmt_3 , 0
+0 , /outAmt_2 , 0
+0 , /outAmt_1 , 0
+/fm 4 , /op3-op1 , 0
+/fm 4 , /op1-op1 , 0
+/fm 4 , /Rel_2 , 47.2441
+/fm 4 , /op1-op3 , 0
+/fm 4 , /outAmt_3 , 34
+/fm 4 , /Att_3 , 70.8661
+/fm 4 , /op3-op2 , 0
+/fm 4 , /Rel_1 , 826.772
+/fm 4 , /op2-op1 , 0
+/fm 4 , /op2-op2 , 0
+/fm 4 , /op3-op3 , 0
+/fm 4 , /op2-op3 , 0
+/fm 4 , /op1-op2 , 8
+/fm 4 , /Rel_3 , 314.961
+/fm 4 , /Att_2 , 440.945
+/fm 4 , /outAmt_2 , 46
+/fm 4 , /outAmt_1 , 38
+/fm 0 , /op3-op1 , 0
+/fm 0 , /op1-op1 , 0
+/fm 0 , /Rel_2 , 1000
+/fm 0 , /op1-op3 , 0
+/fm 0 , /outAmt_3 , 0
+/fm 0 , /Att_3 , 291.339
+/fm 0 , /Att_1 , 94.4882
+/fm 0 , /op3-op2 , 0
+/fm 0 , /Rel_1 , 1000
+/fm 0 , /op2-op1 , 0
+/fm 0 , /op2-op2 , 0
+/fm 0 , /op3-op3 , 0
+/fm 0 , /op2-op3 , 0
+/fm 0 , /op1-op2 , 0
+/fm 0 , /Rel_3 , 1000
+/fm 0 , /Att_2 , 456.693
+/fm 0 , /outAmt_2 , 0
+/fm 0 , /outAmt_1 , 0
+/fm 2 , /outAmt_3 , 0
+/fm 2 , /Att_1 , 118.11
+/fm 2 , /op2-op1 , 0
+/fm 2 , /op2-op2 , 0
+/fm 2 , /op3-op3 , 2
+/fm 2 , /op2-op3 , 6
+/fm 2 , /op1-op2 , 40
+/fm 2 , /outAmt_2 , 80
+/fm 2 , /outAmt_1 , 44
+/fm 3 , /op3-op1 , 0
+/fm 3 , /op1-op1 , 0
+/fm 3 , /op1-op3 , 0
+/fm 3 , /outAmt_3 , 0
+/fm 3 , /op3-op2 , 31
+/fm 3 , /op2-op1 , 22
+/fm 3 , /op2-op2 , 0
+/fm 3 , /op3-op3 , 0
+/fm 3 , /op2-op3 , 0
+/fm 3 , /op1-op2 , 0
+/fm 3 , /outAmt_2 , 0
+/fm 3 , /outAmt_1 , 92
+/fm 1 , /op3-op1 , 0
+/fm 1 , /op1-op1 , 0
+/fm 1 , /Rel_2 , 244.094
+/fm 1 , /op1-op3 , 0
+/fm 1 , /outAmt_3 , 100
+/fm 1 , /Att_3 , 275.591
+/fm 1 , /Att_1 , 346.457
+/fm 1 , /op3-op2 , 0
+/fm 1 , /Rel_1 , 708.661
+/fm 1 , /op2-op1 , 0
+/fm 1 , /op2-op2 , 0
+/fm 1 , /op3-op3 , 0
+/fm 1 , /op2-op3 , 0
+/fm 1 , /op1-op2 , 0
+/fm 1 , /Rel_3 , 496.063
+/fm 1 , /Att_2 , 220.472
+/fm 1 , /outAmt_2 , 0
+/fm 1 , /outAmt_1 , 0
+/one 0 , /outAmt_3 , 0
+/one 0 , /outAmt_2 , 0
+/one 0 , /outAmt_1 , 0
diff --git a/instruments/mafm/tester.pd b/instruments/mafm/tester.pd
new file mode 100644
index 0000000..ffc0af6
--- /dev/null
+++ b/instruments/mafm/tester.pd
@@ -0,0 +1,43 @@
+#N canvas 88 129 1018 578 10;
+#X obj 50 46 careGUI;
+#X obj 633 141 MA_FM /fm;
+#X obj 101 439 catch~ out;
+#X obj 84 465 ezdac~;
+#X obj 634 536 throw~ out;
+#X obj 627 44 metro 500;
+#X obj 617 90 makenote 90 300;
+#X obj 626 22 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X msg 621 67 60;
+#X obj 741 62 chordmap 60;
+#X obj 741 21 random 12;
+#X obj 743 43 + 60;
+#X obj 89 243 netcontrol /fm op1-op3;
+#X obj 298 351 sendOSC;
+#X obj 873 115 dumpOSC 3010;
+#X msg 313 314 connect localhost 3010;
+#X msg 354 334 disconnect;
+#X obj 911 168 print OSC;
+#X text 57 24 Click FILE and open mafm.dat \, then RESTORE;
+#X obj 298 242 netcontrol /fm outAmt_2;
+#X obj 745 91 notein;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 2 0 3 1;
+#X connect 5 0 8 0;
+#X connect 5 0 10 0;
+#X connect 6 0 1 0;
+#X connect 6 1 1 1;
+#X connect 7 0 5 0;
+#X connect 9 0 6 0;
+#X connect 10 0 11 0;
+#X connect 11 0 9 0;
+#X connect 12 0 13 0;
+#X connect 14 0 1 3;
+#X connect 14 0 17 0;
+#X connect 15 0 13 0;
+#X connect 16 0 13 0;
+#X connect 19 0 13 0;
+#X connect 20 0 1 0;
+#X connect 20 1 1 1;
+#X connect 20 2 1 2;
diff --git a/instruments/mgadsr.pd b/instruments/mgadsr.pd
new file mode 100644
index 0000000..c813282
--- /dev/null
+++ b/instruments/mgadsr.pd
@@ -0,0 +1,83 @@
+#N canvas 176 493 602 343 10;
+#X obj 66 99 vsl 8 64 0 100 0 0 \$0-a \$0-ain a 0 -8 1729 8 -355 -260818
+-143491 693 1;
+#X obj 209 100 vsl 8 64 0 200 0 0 \$0-d \$0-din d 0 -8 1729 8 -355
+-260818 -143491 800 1;
+#X obj 362 100 vsl 8 64 0 1 0 0 \$0-s \$0-sin s 0 -8 1729 8 -355 -260818
+-143491 1800 1;
+#X obj 498 100 vsl 8 64 0 1000 0 0 \$0-r \$0-rin r 0 -8 1729 8 -355
+-260818 -143491 1000 1;
+#X obj 36 27 inlet;
+#N canvas 0 0 600 400 envelope 0;
+#X obj 252 135 r \$0-a;
+#X obj 307 134 r \$0-d;
+#X obj 361 133 r \$0-s;
+#X obj 413 132 r \$0-r;
+#X obj 448 340 outlet;
+#X obj 508 170 t b f;
+#X obj 455 171 t b f;
+#X obj 409 172 t b f;
+#X obj 458 274 pack 0 0 0 0;
+#X obj 448 314 prepend adsr;
+#X connect 0 0 8 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 5 0 8 0;
+#X connect 5 1 8 3;
+#X connect 6 0 8 0;
+#X connect 6 1 8 2;
+#X connect 7 0 8 0;
+#X connect 7 1 8 1;
+#X connect 8 0 9 0;
+#X connect 9 0 4 0;
+#X restore 13 206 pd envelope;
+#X text 24 5 Graphical ADSR;
+#X obj 566 97 f;
+#X obj 15 80 f;
+#X obj 85 230 outlet;
+#N canvas 625 564 450 300 saves 0;
+#X obj 15 71 originator \$1 \$0;
+#X obj 250 96 r \$0-s;
+#X obj 252 150 s \$0-sin;
+#X obj 142 96 r \$0-d;
+#X obj 151 149 s \$0-din;
+#X obj 205 65 s \$0-ain;
+#X obj 202 11 r \$0-a;
+#X obj 181 201 r \$0-r;
+#X obj 183 255 s \$0-rin;
+#X obj 18 19 inlet;
+#X obj 203 38 commun /a \$0;
+#X obj 251 123 commun /s \$0;
+#X obj 147 122 commun /d \$0;
+#X obj 182 228 commun /r \$0;
+#X connect 1 0 11 0;
+#X connect 3 0 12 0;
+#X connect 6 0 10 0;
+#X connect 7 0 13 0;
+#X connect 9 0 0 0;
+#X connect 10 0 5 0;
+#X connect 11 0 2 0;
+#X connect 12 0 4 0;
+#X connect 13 0 8 0;
+#X restore 364 251 pd saves;
+#X obj 192 298 s \$0-levelin;
+#X msg 376 228 substate \$1;
+#X obj 36 51 route set substate vel;
+#X msg 315 228 set mem;
+#X obj 324 75 s \$0-OSC;
+#X obj 324 29 inlet;
+#X obj 324 49 OSCroute \$1;
+#X text 79 260 level;
+#X text 79 249 adsr as list;
+#X connect 4 0 13 0;
+#X connect 5 0 9 0;
+#X connect 8 0 7 0;
+#X connect 12 0 10 0;
+#X connect 13 0 14 0;
+#X connect 13 1 12 0;
+#X connect 13 2 11 0;
+#X connect 14 0 10 0;
+#X connect 16 0 17 0;
+#X connect 17 0 15 0;
+#X coords 0 0 1 1 80 90 1;
diff --git a/instruments/netcontrol.pd b/instruments/netcontrol.pd
new file mode 100644
index 0000000..8a45d74
--- /dev/null
+++ b/instruments/netcontrol.pd
@@ -0,0 +1,33 @@
+#N canvas 363 400 167 71 10;
+#X symbolatom 12 39 10 0 0 2 whereTo? - -;
+#X obj 65 180 pack s 0;
+#X floatatom 105 39 5 0 0 2 what? - -;
+#X msg 65 204 send \$1 \$2;
+#X obj 129 80 t b f;
+#X obj 65 230 outlet;
+#X obj 67 104 makesymbol \$1/%s;
+#X obj 260 64 loadbang;
+#X obj 264 132 route float;
+#X msg 264 157 bang;
+#X obj 260 90 any \$2;
+#X obj 301 189 symbol unknown;
+#X obj 13 7 inlet;
+#X obj 105 6 inlet;
+#X obj 54 149 symbol;
+#X connect 0 0 6 0;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 14 0;
+#X connect 4 1 1 1;
+#X connect 6 0 14 1;
+#X connect 7 0 10 0;
+#X connect 8 0 9 0;
+#X connect 8 1 11 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 2 0;
+#X connect 14 0 1 0;
+#X coords 0 0 1 1 200 50 1;
diff --git a/instruments/polyengines.pd b/instruments/polyengines.pd
new file mode 100644
index 0000000..46dd563
--- /dev/null
+++ b/instruments/polyengines.pd
@@ -0,0 +1,130 @@
+#N canvas 0 0 1242 860 10;
+#X obj 119 414 adsr-engine;
+#X obj 157 68 inlet;
+#X obj 342 67 inlet;
+#X text 146 43 note/velocity pairs;
+#X text 342 41 control data;
+#X obj 163 103 unpack 0 0;
+#X obj 154 186 route 1 2 3 4;
+#X obj 161 167 pack 0 0 0;
+#X obj 108 235 s \$0-v1;
+#X obj 285 241 s \$0-v4;
+#X obj 227 238 s \$0-v3;
+#X obj 166 237 s \$0-v2;
+#X obj 342 98 s \$0-ctldat;
+#X obj 7 415 analogue-engine;
+#X obj 17 334 unpack 0 0;
+#X msg 7 358 freq \$1;
+#X msg 125 357 level \$1;
+#X obj 135 380 r \$0-ctldat;
+#X obj 38 454 *~;
+#X obj 38 479 throw~ \$0-outanadsr;
+#X obj 357 556 catch~ \$0-outanadsr;
+#X obj 357 585 outlet~;
+#X obj 21 315 r \$0-v1;
+#X obj 335 420 adsr-engine;
+#X obj 223 421 analogue-engine;
+#X obj 233 340 unpack 0 0;
+#X msg 223 364 freq \$1;
+#X msg 341 363 level \$1;
+#X obj 351 386 r \$0-ctldat;
+#X obj 254 460 *~;
+#X obj 254 485 throw~ \$0-outanadsr;
+#X obj 537 420 adsr-engine;
+#X obj 425 421 analogue-engine;
+#X obj 435 340 unpack 0 0;
+#X msg 425 364 freq \$1;
+#X msg 543 363 level \$1;
+#X obj 553 386 r \$0-ctldat;
+#X obj 456 460 *~;
+#X obj 456 485 throw~ \$0-outanadsr;
+#X obj 748 426 adsr-engine;
+#X obj 636 427 analogue-engine;
+#X obj 646 346 unpack 0 0;
+#X msg 636 370 freq \$1;
+#X msg 754 369 level \$1;
+#X obj 764 392 r \$0-ctldat;
+#X obj 667 466 *~;
+#X obj 667 491 throw~ \$0-outanadsr;
+#X obj 237 321 r \$0-v2;
+#X obj 439 321 r \$0-v3;
+#X obj 650 327 r \$0-v4;
+#X text 512 41 polyphony is done here!;
+#X obj 173 146 poly 4 1;
+#X obj 526 444 *~;
+#X obj 528 463 *~;
+#X obj 751 451 *~;
+#X obj 753 470 *~;
+#X obj 333 441 *~;
+#X obj 335 460 *~;
+#X obj 92 437 *~;
+#X obj 94 456 *~;
+#X connect 0 0 58 0;
+#X connect 0 0 58 1;
+#X connect 1 0 5 0;
+#X connect 2 0 12 0;
+#X connect 5 0 51 0;
+#X connect 5 1 51 1;
+#X connect 6 0 8 0;
+#X connect 6 1 11 0;
+#X connect 6 2 10 0;
+#X connect 6 3 9 0;
+#X connect 7 0 6 0;
+#X connect 13 0 18 0;
+#X connect 14 0 15 0;
+#X connect 14 1 16 0;
+#X connect 15 0 13 0;
+#X connect 16 0 0 0;
+#X connect 17 0 13 0;
+#X connect 17 0 0 0;
+#X connect 18 0 19 0;
+#X connect 20 0 21 0;
+#X connect 22 0 14 0;
+#X connect 23 0 56 0;
+#X connect 23 0 56 1;
+#X connect 24 0 29 0;
+#X connect 25 0 26 0;
+#X connect 25 1 27 0;
+#X connect 26 0 24 0;
+#X connect 27 0 23 0;
+#X connect 28 0 24 0;
+#X connect 28 0 23 0;
+#X connect 29 0 30 0;
+#X connect 31 0 52 0;
+#X connect 31 0 52 1;
+#X connect 32 0 37 0;
+#X connect 33 0 34 0;
+#X connect 33 1 35 0;
+#X connect 34 0 32 0;
+#X connect 35 0 31 0;
+#X connect 36 0 32 0;
+#X connect 36 0 31 0;
+#X connect 37 0 38 0;
+#X connect 39 0 54 0;
+#X connect 39 0 54 1;
+#X connect 40 0 45 0;
+#X connect 41 0 42 0;
+#X connect 41 1 43 0;
+#X connect 42 0 40 0;
+#X connect 43 0 39 0;
+#X connect 44 0 40 0;
+#X connect 44 0 39 0;
+#X connect 45 0 46 0;
+#X connect 47 0 25 0;
+#X connect 48 0 33 0;
+#X connect 49 0 41 0;
+#X connect 51 0 7 0;
+#X connect 51 1 7 1;
+#X connect 51 2 7 2;
+#X connect 52 0 53 0;
+#X connect 52 0 53 1;
+#X connect 53 0 37 1;
+#X connect 54 0 55 0;
+#X connect 54 0 55 1;
+#X connect 55 0 45 1;
+#X connect 56 0 57 0;
+#X connect 56 0 57 1;
+#X connect 57 0 29 1;
+#X connect 58 0 59 0;
+#X connect 58 0 59 1;
+#X connect 59 0 18 1;
diff --git a/instruments/rrad.angriff~.pd b/instruments/rrad.angriff~.pd
new file mode 100644
index 0000000..19f89eb
--- /dev/null
+++ b/instruments/rrad.angriff~.pd
@@ -0,0 +1,431 @@
+#N canvas 54 514 304 148 10;
+#X obj 470 181 outlet~;
+#N canvas 0 0 472 437 hiddendrums 0;
+#X obj 36 302 inlet;
+#X obj 64 374 outlet~;
+#X obj 73 52 r \$0-fromfr;
+#X obj 103 94 r \$0-tofr;
+#X obj 89 74 r \$0-frtime;
+#X obj 133 133 r \$0-att_time;
+#X obj 148 155 r \$0-rel_time;
+#X obj 163 182 r \$0-nlevel;
+#X obj 180 204 r \$0-nattack;
+#X obj 197 227 r \$0-nrelease;
+#X obj 215 249 r \$0-filt;
+#X obj 118 112 r \$0-olevel;
+#X obj 224 271 r \$0-filt_freq;
+#X obj 234 293 r \$0-detune;
+#X obj 242 315 r \$0-filt_Q;
+#X obj 65 340 d-drumcenter _____________;
+#X connect 0 0 15 0;
+#X connect 2 0 15 1;
+#X connect 3 0 15 3;
+#X connect 4 0 15 2;
+#X connect 5 0 15 5;
+#X connect 6 0 15 6;
+#X connect 7 0 15 7;
+#X connect 8 0 15 8;
+#X connect 9 0 15 9;
+#X connect 10 0 15 10;
+#X connect 11 0 15 4;
+#X connect 12 0 15 11;
+#X connect 13 0 15 12;
+#X connect 14 0 15 13;
+#X connect 15 0 1 0;
+#X restore 470 96 pd hiddendrums;
+#X obj 419 48 inlet;
+#X obj 1 16 cnv 15 150 130 empty empty OSCILLATOR 20 12 1 8 -66577
+-233017 0;
+#X obj 152 16 cnv 15 150 100 empty empty NOISE 20 12 1 8 -195568 -33289
+0;
+#X obj 493 122 / 128;
+#X obj 470 148 *~ 1;
+#X obj 419 69 select 0;
+#N canvas 689 185 334 138 1228-labelling 0;
+#X obj 11 90 s \$0-filt_r;
+#X obj 11 37 sel 0 1 2;
+#X msg 11 65 label hip;
+#X msg 72 66 label lop;
+#X msg 137 66 label bp;
+#X obj 11 14 r \$0-filt;
+#X obj 229 87 s \$0-label_r;
+#X obj 229 47 symbol \$1;
+#X obj 229 27 loadbang;
+#X msg 229 66 label \$1;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 1 2 4 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 1 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X restore 575 91 pd \$0-labelling;
+#X obj 164 64 hsl 128 11 0 127 0 0 \$0-nrelease \$0-nrelease release
+45 6 1 8 -262144 -1 -1 3800 0;
+#X obj 164 51 hsl 128 11 0 127 0 0 \$0-nattack \$0-nattack attack 45
+6 1 8 -262144 -1 -1 2200 0;
+#X obj 164 38 hsl 128 11 0 1 0 0 \$0-nlevel \$0-nlevel nlevel 45 6
+1 8 -262144 -1 -1 8001 0;
+#X obj 164 95 hsl 128 11 0 6000 0 0 \$0-filt_freq \$0-filt_freq filt_freq
+45 6 1 8 -262144 -1 -1 3600 0;
+#X obj 164 79 hsl 48 12 0 6 0 0 \$0-filt_Q \$0-filt_Q filt_Q 14 6 1
+8 -262144 -1 -1 500 1;
+#X obj 237 79 hdl 12 0 0 3 \$0-filt \$0-filt_r hip 40 6 1729 8 -262144
+-1 -1 0;
+#X obj 12 123 hsl 128 11 0 1000 0 0 \$0-rel_time \$0-rel_time rel_time
+45 6 1 8 -262144 -1 -1 1500 0;
+#X obj 12 110 hsl 128 11 0 40 0 0 \$0-att_time \$0-att_time att_time
+45 6 1 8 -262144 -1 -1 900 0;
+#X obj 12 97 hsl 128 11 0 127 0 0 \$0-tofr \$0-tofr to_freq 45 6 1
+8 -262144 -1 -1 6300 0;
+#X obj 12 84 hsl 128 11 0 127 0 0 \$0-frtime \$0-frtime freq_time 45
+6 1 8 -262144 -1 -1 0 0;
+#X obj 12 71 hsl 128 11 0 127 0 0 \$0-fromfr \$0-fromfr from_freq 45
+6 1 8 -262144 -1 -1 0 0;
+#X obj 12 58 hsl 128 11 0 1 0 0 \$0-olevel \$0-olevel olevel 45 6 1
+8 -262144 -1 -1 12700 0;
+#X obj 50 43 hsl 48 12 0 30 0 0 \$0-detune \$0-detune detune 6 7 1
+8 -262144 -1 -1 2000 1;
+#N canvas 0 0 246 189 1228-settings 0;
+#N canvas 165 199 970 635 settings 0;
+#X obj 689 456 table \$0-settings;
+#X obj 52 11 r \$0-fromfr;
+#X obj 52 103 r \$0-tofr;
+#X obj 52 57 r \$0-frtime;
+#X obj 52 195 r \$0-att_time;
+#X obj 52 241 r \$0-rel_time;
+#X obj 52 287 r \$0-nlevel;
+#X obj 52 333 r \$0-nattack;
+#X obj 52 379 r \$0-nrelease;
+#X obj 52 425 r \$0-filt;
+#X obj 52 149 r \$0-olevel;
+#X obj 52 471 r \$0-filt_freq;
+#X obj 52 34 named_writer \$0-settings 1;
+#X obj 52 356 named_writer \$0-settings 8;
+#X obj 52 80 named_writer \$0-settings 2;
+#X obj 52 172 named_writer \$0-settings 4;
+#X obj 52 126 named_writer \$0-settings 3;
+#X obj 52 218 named_writer \$0-settings 5;
+#X obj 52 264 named_writer \$0-settings 6;
+#X obj 52 310 named_writer \$0-settings 7;
+#X obj 52 402 named_writer \$0-settings 9;
+#X obj 52 448 named_writer \$0-settings 10;
+#X obj 52 494 named_writer \$0-settings 11;
+#X obj 315 305 named_sender \$0-settings \$0-fromfr 1;
+#X obj 315 328 named_sender \$0-settings \$0-frtime 2;
+#X obj 315 351 named_sender \$0-settings \$0-tofr 3;
+#X obj 315 374 named_sender \$0-settings \$0-olevel 4;
+#X obj 315 397 named_sender \$0-settings \$0-att_time 5;
+#X obj 315 420 named_sender \$0-settings \$0-rel_time 6;
+#X obj 315 443 named_sender \$0-settings \$0-nlevel 7;
+#X obj 315 466 named_sender \$0-settings \$0-nattack 8;
+#X obj 315 489 named_sender \$0-settings \$0-nrelease 9;
+#X obj 315 534 named_sender \$0-settings \$0-filt_freq 11;
+#X obj 315 179 until;
+#X obj 345 234 + 1;
+#X obj 271 179 bang;
+#X msg 271 200 0;
+#X obj 315 234 f 0;
+#X obj 418 11 inlet;
+#X obj 418 57 select load save;
+#X obj 418 85 openpanel;
+#X obj 628 106 savepanel;
+#X msg 702 180 \; \$2-settings write \$1;
+#X obj 702 157 pack s \$0;
+#X obj 418 34 symbol;
+#X obj 418 168 pack s \$0;
+#X obj 536 118 loadbang;
+#X msg 418 237 \; \$2-settings read \$1;
+#X obj 565 227 del 2;
+#X obj 565 204 t b;
+#X obj 565 250 s \$0-sender;
+#X obj 315 121 r \$0-sender;
+#X msg 315 144 15;
+#X obj 652 23 inlet;
+#X obj 652 46 route load save;
+#X obj 315 558 named_sender \$0-settings \$0-detune 12;
+#X obj 52 517 r \$0-detune;
+#X obj 52 540 named_writer \$0-settings 12;
+#X obj 315 583 named_sender \$0-settings \$0-filt_Q 13;
+#X obj 54 584 named_writer \$0-settings 13;
+#X obj 54 561 r \$0-filt_Q;
+#X obj 315 512 named_sender \$0-settings \$0-filt_r 10;
+#X obj 536 141 symbol \$2;
+#X connect 1 0 12 0;
+#X connect 2 0 16 0;
+#X connect 3 0 14 0;
+#X connect 4 0 17 0;
+#X connect 5 0 18 0;
+#X connect 6 0 19 0;
+#X connect 7 0 13 0;
+#X connect 8 0 20 0;
+#X connect 9 0 21 0;
+#X connect 10 0 15 0;
+#X connect 11 0 22 0;
+#X connect 33 0 37 0;
+#X connect 34 0 37 1;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X connect 37 0 34 0;
+#X connect 37 0 23 0;
+#X connect 37 0 24 0;
+#X connect 37 0 25 0;
+#X connect 37 0 26 0;
+#X connect 37 0 27 0;
+#X connect 37 0 28 0;
+#X connect 37 0 29 0;
+#X connect 37 0 30 0;
+#X connect 37 0 31 0;
+#X connect 37 0 32 0;
+#X connect 37 0 55 0;
+#X connect 37 0 58 0;
+#X connect 37 0 61 0;
+#X connect 38 0 44 0;
+#X connect 39 0 40 0;
+#X connect 39 1 41 0;
+#X connect 40 0 45 0;
+#X connect 41 0 43 0;
+#X connect 43 0 42 0;
+#X connect 44 0 39 0;
+#X connect 45 0 47 0;
+#X connect 45 0 49 0;
+#X connect 46 0 62 0;
+#X connect 48 0 50 0;
+#X connect 49 0 48 0;
+#X connect 51 0 52 0;
+#X connect 52 0 33 0;
+#X connect 52 0 35 0;
+#X connect 53 0 54 0;
+#X connect 54 0 45 0;
+#X connect 54 1 43 0;
+#X connect 56 0 57 0;
+#X connect 60 0 59 0;
+#X connect 62 0 45 0;
+#X restore 28 108 pd settings;
+#X msg 28 39 save;
+#X msg 39 83 load;
+#X obj 89 86 inlet;
+#X obj 39 62 r \$0-load_s;
+#X obj 28 18 r \$0-save_s;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X restore 575 71 pd \$0-settings;
+#X obj 575 51 inlet;
+#X text 8 150 All code (99%) by Frank Barknecht at www.footils.org
+;
+#X text 6 164 Given a makeover by David McCallum \, 2003 - http//mentalfloss.ca/sintheta
+;
+#X obj 152 117 cnv 15 150 29 empty \$0-label_r /snare 10 14 1 14 -166441
+-1 0;
+#X obj 265 125 bng 15 250 50 0 \$0-load_s empty L 5 8 1 8 -24198 -1
+-1;
+#X obj 284 125 bng 15 250 50 0 \$0-save_s empty s 5 7 1 8 -258699 -1
+-1;
+#X obj 281 19 bng 15 250 50 0 \$0-random_s empty ? 5 8 1 8 -1 -262144
+-262144;
+#N canvas 796 213 505 528 1228-random! 0;
+#X obj 375 72 s \$0-fromfr;
+#X obj 198 70 s \$0-tofr;
+#X obj 287 71 s \$0-frtime;
+#X obj 208 234 s \$0-att_time;
+#X obj 17 236 s \$0-rel_time;
+#X obj 243 480 s \$0-nlevel;
+#X obj 110 69 s \$0-nattack;
+#X obj 22 69 s \$0-nrelease;
+#X obj 143 478 s \$0-olevel;
+#X obj 293 141 s \$0-filt_freq;
+#X obj 22 138 s \$0-detune;
+#X obj 314 254 s \$0-filt_Q;
+#X obj 22 30 r \$0-random_s;
+#X obj 22 50 random 128;
+#X obj 110 30 r \$0-random_s;
+#X obj 110 50 random 128;
+#X obj 198 30 r \$0-random_s;
+#X obj 198 50 random 128;
+#X obj 287 32 r \$0-random_s;
+#X obj 287 52 random 128;
+#X obj 375 30 r \$0-random_s;
+#X obj 375 50 random 128;
+#X obj 22 98 r \$0-random_s;
+#X obj 22 118 random 30;
+#X obj 143 270 r \$0-random_s;
+#X obj 143 294 random 101;
+#X obj 293 99 r \$0-random_s;
+#X obj 293 119 random 6000;
+#X obj 17 194 r \$0-random_s;
+#X obj 17 214 random 1000;
+#X obj 118 193 r \$0-random_s;
+#X obj 118 213 random 3;
+#X obj 208 193 r \$0-random_s;
+#X obj 208 213 random 40;
+#X obj 314 195 r \$0-random_s;
+#X obj 314 215 random 100;
+#X obj 314 235 * 0.06;
+#X obj 118 234 s \$0-filt_r;
+#X obj 15 307 s \$0-label_r;
+#X obj 15 268 r \$0-random_s;
+#X msg 15 288 label random!;
+#X obj 143 314 moses 50;
+#X obj 209 342 expr $f1/$f1;
+#X obj 186 368 expr (100-$f1)/$f1;
+#X obj 159 416 expr $f1/(100-$f1);
+#X obj 143 440 expr $f1/$f1;
+#X connect 12 0 13 0;
+#X connect 13 0 7 0;
+#X connect 14 0 15 0;
+#X connect 15 0 6 0;
+#X connect 16 0 17 0;
+#X connect 17 0 1 0;
+#X connect 18 0 19 0;
+#X connect 19 0 2 0;
+#X connect 20 0 21 0;
+#X connect 21 0 0 0;
+#X connect 22 0 23 0;
+#X connect 23 0 10 0;
+#X connect 24 0 25 0;
+#X connect 25 0 41 0;
+#X connect 26 0 27 0;
+#X connect 27 0 9 0;
+#X connect 28 0 29 0;
+#X connect 29 0 4 0;
+#X connect 30 0 31 0;
+#X connect 31 0 37 0;
+#X connect 32 0 33 0;
+#X connect 33 0 3 0;
+#X connect 34 0 35 0;
+#X connect 35 0 36 0;
+#X connect 36 0 11 0;
+#X connect 39 0 40 0;
+#X connect 40 0 38 0;
+#X connect 41 0 44 0;
+#X connect 41 0 45 0;
+#X connect 41 1 42 0;
+#X connect 41 1 43 0;
+#X connect 42 0 5 0;
+#X connect 43 0 8 0;
+#X connect 44 0 5 0;
+#X connect 45 0 8 0;
+#X restore 576 111 pd \$0-random!;
+#X obj 746 67 inlet;
+#N canvas 317 0 923 817 memento 0;
+#X obj 63 176 originator \$1 \$0;
+#X obj 170 148 inlet OSC;
+#X obj 65 71 r \$0-substate;
+#X obj 33 29 inlet substate;
+#X obj 33 51 route substate;
+#X obj 177 71 r \$0-copy;
+#X msg 177 92 copy;
+#X obj 261 66 r \$0-paste;
+#X msg 259 87 paste;
+#X text 172 31 This is the originator \, including some ready to use
+standard functionality.;
+#X text 525 72 Put your commun sends here \, if you like.;
+#X msg 33 107 setsub \$1;
+#X msg 267 200 svdir \$1;
+#X obj 268 155 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 268 179 savepanel;
+#X obj 170 205 outlet OSC;
+#X msg 126 230 svxdir /tmp/svdir.xml;
+#X msg 96 257 ldxdir /tmp/svdir.xml;
+#X obj 723 96 r \$0-fromfr;
+#X obj 723 188 r \$0-tofr;
+#X obj 723 142 r \$0-frtime;
+#X obj 723 280 r \$0-att_time;
+#X obj 723 326 r \$0-rel_time;
+#X obj 723 372 r \$0-nlevel;
+#X obj 723 464 r \$0-nrelease;
+#X obj 723 510 r \$0-filt;
+#X obj 723 234 r \$0-olevel;
+#X obj 723 556 r \$0-filt_freq;
+#X obj 723 602 r \$0-detune;
+#X obj 725 646 r \$0-filt_Q;
+#X obj 597 165 s \$0-fromfr;
+#X obj 597 211 s \$0-frtime;
+#X obj 597 256 s \$0-tofr;
+#X obj 597 303 s \$0-olevel;
+#X obj 597 349 s \$0-att_time;
+#X obj 597 395 s \$0-rel_time;
+#X obj 597 441 s \$0-nlevel;
+#X obj 597 487 s \$0-nattack;
+#X obj 597 533 s \$0-nrelease;
+#X obj 597 579 s \$0-filt;
+#X obj 597 625 s \$0-filt_freq;
+#X obj 598 672 s \$0-detune;
+#X obj 599 715 s \$0-filt_Q;
+#X obj 722 256 commun /olevel \$0;
+#X obj 724 301 commun /att_time \$0;
+#X obj 723 348 commun /rel_time \$0;
+#X obj 724 532 commun /filt \$0;
+#X obj 723 577 commun /filt_freq \$0;
+#X obj 726 622 commun /detune \$0;
+#X obj 723 665 commun /filt_Q \$0;
+#X obj 723 120 commun /from_freq \$0;
+#X obj 723 165 commun /freq_time \$0;
+#X obj 721 209 commun /to_freq \$0;
+#X obj 723 418 r \$0-nattack;
+#X obj 725 440 commun /attack \$0;
+#X obj 724 485 commun /release \$0;
+#X obj 723 394 commun /nlevel \$0;
+#X connect 0 2 15 0;
+#X connect 1 0 0 1;
+#X connect 2 0 11 0;
+#X connect 3 0 4 0;
+#X connect 4 0 11 0;
+#X connect 4 1 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 50 0;
+#X connect 19 0 52 0;
+#X connect 20 0 51 0;
+#X connect 21 0 44 0;
+#X connect 22 0 45 0;
+#X connect 23 0 56 0;
+#X connect 24 0 55 0;
+#X connect 25 0 46 0;
+#X connect 26 0 43 0;
+#X connect 27 0 47 0;
+#X connect 28 0 48 0;
+#X connect 29 0 49 0;
+#X connect 43 0 33 0;
+#X connect 44 0 34 0;
+#X connect 45 0 35 0;
+#X connect 46 0 39 0;
+#X connect 47 0 40 0;
+#X connect 48 0 41 0;
+#X connect 49 0 42 0;
+#X connect 50 0 30 0;
+#X connect 51 0 31 0;
+#X connect 52 0 32 0;
+#X connect 53 0 54 0;
+#X connect 54 0 37 0;
+#X connect 55 0 38 0;
+#X connect 56 0 36 0;
+#X restore 691 93 pd memento;
+#X obj 691 115 outlet;
+#X obj 695 66 inlet;
+#X connect 1 0 6 0;
+#X connect 2 0 7 0;
+#X connect 5 0 6 1;
+#X connect 6 0 0 0;
+#X connect 7 1 1 0;
+#X connect 7 1 5 0;
+#X connect 23 0 22 0;
+#X connect 31 0 32 1;
+#X connect 32 0 33 0;
+#X connect 34 0 32 0;
+#X coords 0 0 1 1 304 147 1;
diff --git a/instruments/rrad.fluid~.pd b/instruments/rrad.fluid~.pd
new file mode 100644
index 0000000..4530316
--- /dev/null
+++ b/instruments/rrad.fluid~.pd
@@ -0,0 +1,150 @@
+#N canvas 269 340 255 162 10;
+#X obj 3 21 cnv 15 247 138 empty \$0-background-cnv empty 20 12 1 14
+-195568 -66577 0;
+#X obj 254 3 inlet;
+#X obj 434 3 inlet OSC;
+#N canvas 0 0 981 424 saves 0;
+#X msg 15 103 set;
+#X msg 45 104 substate \$1;
+#X obj 15 78 t b f;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X obj 625 110 commun /soundfont \$0;
+#X obj 625 86 r \$0-soundfont;
+#X obj 625 171 s \$0-soundfont;
+#X obj 321 156 openpanel;
+#X obj 321 129 r \$0-open;
+#X obj 326 264 s \$0-fluid;
+#X msg 326 235 load \$1;
+#X obj 321 179 s \$0-soundfont;
+#X obj 326 212 r \$0-soundfont;
+#X obj 507 86 r \$0-chan;
+#X obj 507 110 commun /chan \$0;
+#X obj 507 135 s \$0-chan;
+#X obj 413 238 stripdir;
+#X obj 430 265 s \$0-soundfont-name;
+#X obj 625 140 symbol;
+#X obj 152 182 outlet;
+#X obj 622 226 r \$0-prog;
+#X obj 622 250 commun /prog \$0;
+#X obj 622 276 s \$0-prog;
+#X obj 743 226 r \$0-bank;
+#X obj 743 250 commun /bank \$0;
+#X obj 743 276 s \$0-bank;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 3 2 29 0;
+#X connect 4 0 3 1;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 10 0 11 0;
+#X connect 11 0 3 0;
+#X connect 14 0 28 0;
+#X connect 15 0 14 0;
+#X connect 17 0 21 0;
+#X connect 18 0 17 0;
+#X connect 20 0 19 0;
+#X connect 22 0 20 0;
+#X connect 22 0 26 0;
+#X connect 23 0 24 0;
+#X connect 24 0 25 0;
+#X connect 26 0 27 0;
+#X connect 28 0 16 0;
+#X connect 30 0 31 0;
+#X connect 31 0 32 0;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X restore 372 2 pd saves;
+#N canvas 569 61 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 297 2 pd cnv.ctl;
+#X obj 7 60 vradio 15 1 0 3 \$0-substate \$0-substate-r empty 0 -6
+0 8 -262144 -1 -1 0;
+#X obj 161 59 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -262144
+-1 -1;
+#X obj 191 59 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -262144
+-1 -1;
+#X text 185 2 look! ==>;
+#X obj 254 142 outlet~;
+#X obj 314 142 outlet~;
+#X obj 254 100 fluid~;
+#X obj 35 56 bng 32 250 50 0 \$0-open \$0-open Open 0 -6 0 8 -225271
+-1 -1;
+#X obj 280 72 r \$0-fluid;
+#X obj 87 59 nbx 5 14 0 1e+37 0 0 \$0-prog \$0-prog prog 0 -6 0 10
+-233017 -1 -1 0 256;
+#X obj 86 87 nbx 5 14 0 1e+37 0 0 \$0-chan \$0-chan chan 0 -6 0 10
+-262131 -1 -1 10 256;
+#N canvas 529 477 450 300 data 0;
+#X obj 122 44 r \$0-chan;
+#X obj 49 125 s \$0-fluid;
+#X msg 49 98 prog \$2 \$1;
+#X obj 49 75 pack 0 1;
+#X obj 49 45 r \$0-prog;
+#X obj 267 44 r \$0-chan;
+#X obj 194 125 s \$0-fluid;
+#X obj 194 75 pack 0 1;
+#X obj 194 45 r \$0-bank;
+#X msg 194 98 bank \$2 \$1;
+#X obj 122 168 r \$0-chan;
+#X obj 49 249 s \$0-fluid;
+#X obj 48 170 r \$0-ctl;
+#X obj 48 199 pack 0 0 1;
+#X msg 49 222 control \$3 \$1 \$2;
+#X connect 0 0 3 1;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 7 1;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X connect 10 0 13 2;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 0;
+#X restore 298 40 pd data;
+#X obj 85 125 nbx 5 14 -1e+37 1e+37 0 0 \$0-cc-num \$0-cc-num cc-num
+0 -6 0 10 -261689 -1 -1 0 256;
+#X obj 147 125 nbx 5 14 -1e+37 1e+37 0 0 \$0-cc-val \$0-cc-val cc-val
+0 -6 0 10 -261689 -1 -1 0 256;
+#X obj 21 125 nbx 5 14 0 1e+37 0 0 \$0-bank \$0-bank bank 0 -6 0 10
+-233017 -1 -1 0 256;
+#X symbolatom 148 88 10 0 0 0 - #0-soundfont-name -;
+#X obj 326 100 print 2fluid;
+#X obj 400 42 outlet;
+#X connect 1 0 11 0;
+#X connect 2 0 3 1;
+#X connect 3 0 22 0;
+#X connect 11 0 9 0;
+#X connect 11 1 10 0;
+#X connect 13 0 11 0;
+#X connect 13 0 21 0;
+#X coords 0 0 1 1 250 160 1;
diff --git a/instruments/rrad.minipli-xsample.pd b/instruments/rrad.minipli-xsample.pd
new file mode 100644
index 0000000..8697e68
--- /dev/null
+++ b/instruments/rrad.minipli-xsample.pd
@@ -0,0 +1,116 @@
+#N canvas 357 262 102 64 10;
+#N canvas 652 443 450 300 pli 0;
+#X obj 330 15 table \$0-s;
+#X obj 148 70 xgroove~ \$0-s;
+#X obj 163 198 symbol \$0-s;
+#X obj 92 226 pack s s;
+#X obj 164 39 inlet;
+#X obj 211 38 inlet;
+#X obj 270 37 inlet;
+#X obj 28 155 r \$0-file;
+#X obj 317 185 openpanel;
+#X obj 317 210 s \$0-file;
+#X obj 317 157 r \$0-open;
+#X obj 148 112 outlet~;
+#X msg 92 253 read -resize \$1 \$2;
+#X obj 92 275 soundfiler;
+#X obj 75 39 r \$0-speed;
+#X obj 55 64 r \$0-loop;
+#X msg 55 83 loop \$1;
+#X obj 180 178 s \$0-speed;
+#X msg 160 13 bang;
+#X msg 180 153 1;
+#X obj 101 153 t b b b;
+#N canvas 534 237 450 300 settings 0;
+#X obj 92 234 originator \$1 \$0;
+#X obj 163 116 commun /file \$0;
+#X obj 163 140 symbol;
+#X obj 163 165 s \$0-file;
+#X obj 163 93 r \$0-file-s;
+#X obj 56 151 loadbang;
+#X obj 56 179 t b b;
+#X msg 85 199 substate 0;
+#X msg 49 200 set;
+#X obj 31 129 r \$0-reset;
+#X symbolatom 271 164 10 0 0 0 - - -;
+#X obj 316 64 r \$0-speed;
+#X obj 314 107 s \$0-speed;
+#X obj 315 87 commun /speed \$0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 0 10 0;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 6 1 7 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 6 0;
+#X connect 11 0 13 0;
+#X connect 13 0 12 0;
+#X restore 317 128 pd settings;
+#X obj 11 226 s \$0-file-s;
+#X obj 92 198 symbol;
+#X msg 177 128 0;
+#X obj 210 154 loadbang;
+#X msg 44 121 reset;
+#X obj 26 179 t b s;
+#X obj 254 239 tabplay~;
+#X obj 333 37 inlet;
+#X obj 335 80 * 0.0078;
+#X obj 335 60 select 0;
+#X obj 249 100 vline~;
+#X obj 148 93 *~;
+#X msg 267 76 \$1 20;
+#X connect 1 0 33 0;
+#X connect 2 0 3 1;
+#X connect 3 0 12 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 1;
+#X connect 6 0 1 2;
+#X connect 7 0 27 0;
+#X connect 8 0 9 0;
+#X connect 10 0 8 0;
+#X connect 12 0 13 0;
+#X connect 14 0 1 0;
+#X connect 15 0 16 0;
+#X connect 16 0 1 0;
+#X connect 18 0 1 0;
+#X connect 19 0 17 0;
+#X connect 20 0 26 0;
+#X connect 20 0 19 0;
+#X connect 20 0 24 0;
+#X connect 20 1 23 0;
+#X connect 20 1 18 0;
+#X connect 20 2 2 0;
+#X connect 23 0 3 0;
+#X connect 23 0 22 0;
+#X connect 24 0 16 0;
+#X connect 25 0 26 0;
+#X connect 26 0 1 0;
+#X connect 27 0 20 0;
+#X connect 27 1 23 1;
+#X connect 29 0 31 0;
+#X connect 30 0 34 0;
+#X connect 31 1 30 0;
+#X connect 32 0 33 1;
+#X connect 33 0 11 0;
+#X connect 34 0 32 0;
+#X restore 116 42 pd pli;
+#X obj 116 20 inlet;
+#X obj 1 20 cnv 15 100 40 empty empty empty 20 12 0 10 -262131 -66577
+0;
+#X obj 13 34 bng 16 250 50 0 \$0-open \$0-open-r op 3 -6 1728 8 -225271
+-1 -1;
+#X obj 39 35 nbx 3 12 0 3 0 0 \$0-speed \$0-speed spd 0 -6 1728 8 -225280
+-1 -1 1 256;
+#X obj 77 34 tgl 14 0 \$0-loop \$0-loop loop 0 -6 1728 8 -261681 -1
+-1 0 1;
+#X obj 117 64 outlet~;
+#X obj 47 51 bng 8 250 50 0 \$0-reset empty empty 0 -6 1152 8 -258699
+-1 -1;
+#X obj 159 20 inlet;
+#X connect 0 0 6 0;
+#X connect 1 0 0 0;
+#X connect 8 0 0 3;
+#X coords 0 0 1 1 102 60 1;
diff --git a/instruments/rrad.minipli.pd b/instruments/rrad.minipli.pd
new file mode 100644
index 0000000..be3ddfc
--- /dev/null
+++ b/instruments/rrad.minipli.pd
@@ -0,0 +1,231 @@
+#N canvas 357 262 146 64 10;
+#N canvas 652 443 549 308 pli 0;
+#X obj 317 233 table \$0-s;
+#X obj 155 195 symbol \$0-s;
+#X obj 92 226 pack s s;
+#X obj 87 124 r \$0-file;
+#X obj 375 67 openpanel;
+#X obj 375 92 s \$0-file;
+#X obj 375 39 r \$0-open;
+#X obj 179 117 outlet~;
+#X msg 92 253 read -resize \$1 \$2;
+#X obj 92 275 soundfiler;
+#N canvas 534 237 450 300 settings 0;
+#X obj 92 234 originator \$1 \$0;
+#X obj 163 116 commun /file \$0;
+#X obj 163 140 symbol;
+#X obj 163 165 s \$0-file;
+#X obj 163 93 r \$0-file-s;
+#X obj 56 114 loadbang;
+#X msg 49 200 set;
+#X obj 200 206 inlet;
+#X obj 56 149 f 0;
+#X obj 19 91 r \$0-preset;
+#X obj 56 179 t b f;
+#X msg 85 198 substate \$1;
+#X obj 321 89 r \$0-attack;
+#X obj 321 137 s \$0-attack;
+#X obj 306 174 r \$0-rel;
+#X obj 306 222 s \$0-rel;
+#X obj 321 113 commun /att \$0;
+#X obj 306 198 commun /rel \$0;
+#X obj 266 272 outlet;
+#X connect 0 2 18 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 8 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 10 1 11 0;
+#X connect 11 0 0 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 16 0 13 0;
+#X connect 17 0 15 0;
+#X restore 456 252 pd settings;
+#X obj 7 249 s \$0-file-s;
+#X obj 92 198 symbol;
+#X obj 156 17 inlet;
+#X obj 87 148 t b b s;
+#X obj 155 172 loadbang;
+#X obj 456 231 inlet;
+#X obj 15 8 r \$0-file-s;
+#X obj 15 31 stripdir;
+#X msg 17 53 label \$1;
+#X obj 17 74 s \$0-filedisplay;
+#X obj 240 277 s \$0-filedisplay;
+#X obj 240 233 loadbang;
+#X msg 240 256 label |minipli;
+#X obj 254 27 r \$0-attack;
+#X obj 6 280 s \$0-size;
+#X obj 464 280 outlet;
+#N canvas 215 336 765 495 qsample 0;
+#X obj 425 81 inlet;
+#X obj 314 78 inlet;
+#X obj 223 42 inlet;
+#X obj 152 44 inlet;
+#X msg 250 268 0 5;
+#X floatatom 344 229 0 0 0 0 - - -;
+#X floatatom 223 60 0 0 0 0 - - -;
+#X msg 152 96 bang;
+#X text 152 28 button;
+#X obj 39 354 outlet~;
+#X text 157 14 play;
+#X obj 39 317 *~;
+#X obj 174 313 line~;
+#X obj 39 335 hip~ 5;
+#X obj 195 222 del 5;
+#X msg 169 266 0 5;
+#X floatatom 316 116 0 0 0 0 - - -;
+#X text 211 22 transpose;
+#X obj 223 78 mtof;
+#X text 425 65 length;
+#X obj 223 96 t b f;
+#X obj 224 114 8.1758;
+#X obj 223 132 /;
+#X obj 344 155 t b f;
+#X obj 250 250 del 2000;
+#X obj 344 191 * 1980;
+#X obj 344 173 f 1;
+#X text 304 52 beginning;
+#X text 314 62 point;
+#X obj 39 281 line~;
+#X obj 73 205 f;
+#X obj 22 243 + 88200;
+#X obj 22 261 pack;
+#X obj 110 261 * 2000;
+#X obj 73 223 t f f b;
+#X floatatom 110 280 0 0 0 0 - - -;
+#X obj 110 243 f 1;
+#X obj 89 182 * 44.1;
+#X obj 315 96 max 1;
+#X obj 344 210 max 6;
+#X obj 39 299 tabread4~ \$0-s;
+#X text 508 206 stolen from 7.stuff...sampler;
+#X obj 70 120 samplerate~;
+#X obj 66 66 loadbang;
+#X floatatom 57 165 5 0 0 0 - - -;
+#X msg 64 100 bang;
+#X obj 58 145 / 1000;
+#X msg 199 266 \$1 5;
+#X obj 197 242 f;
+#X obj 152 70 t b f;
+#X connect 0 0 23 0;
+#X connect 1 0 38 0;
+#X connect 2 0 6 0;
+#X connect 3 0 49 0;
+#X connect 4 0 12 0;
+#X connect 5 0 24 1;
+#X connect 6 0 18 0;
+#X connect 7 0 15 0;
+#X connect 7 0 14 0;
+#X connect 7 0 24 0;
+#X connect 11 0 13 0;
+#X connect 12 0 11 1;
+#X connect 13 0 9 0;
+#X connect 14 0 30 0;
+#X connect 14 0 48 0;
+#X connect 15 0 12 0;
+#X connect 16 0 37 0;
+#X connect 18 0 20 0;
+#X connect 20 0 21 0;
+#X connect 20 1 22 1;
+#X connect 21 0 22 0;
+#X connect 22 0 26 0;
+#X connect 22 0 36 1;
+#X connect 23 0 26 0;
+#X connect 23 1 25 1;
+#X connect 24 0 4 0;
+#X connect 25 0 39 0;
+#X connect 26 0 25 0;
+#X connect 29 0 40 0;
+#X connect 30 0 34 0;
+#X connect 31 0 32 0;
+#X connect 32 0 29 0;
+#X connect 33 0 32 1;
+#X connect 33 0 35 0;
+#X connect 34 0 31 0;
+#X connect 34 1 29 0;
+#X connect 34 2 36 0;
+#X connect 36 0 33 0;
+#X connect 37 0 30 1;
+#X connect 38 0 16 0;
+#X connect 39 0 5 0;
+#X connect 40 0 11 0;
+#X connect 42 0 46 0;
+#X connect 43 0 45 0;
+#X connect 45 0 42 0;
+#X connect 46 0 44 0;
+#X connect 46 0 37 1;
+#X connect 47 0 12 0;
+#X connect 48 0 47 0;
+#X connect 49 0 7 0;
+#X connect 49 1 48 1;
+#X restore 179 87 pd qsample;
+#X obj 267 56 r \$0-size;
+#X obj 212 18 inlet;
+#X obj 156 61 * 0.00787;
+#N canvas 0 0 750 349 help 0;
+#X obj 139 84 r \$0-help;
+#X obj 139 156 print ?;
+#X msg 139 120 __rrad..minipli__ \, inlet 1: velocity (0-127) \, inlet
+2: note (0-127) \, outlet 1: audio data;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 381 163 pd help;
+#X connect 1 0 2 1;
+#X connect 2 0 8 0;
+#X connect 3 0 14 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 8 0 9 0;
+#X connect 9 0 25 0;
+#X connect 10 0 26 0;
+#X connect 12 0 2 0;
+#X connect 12 0 11 0;
+#X connect 13 0 30 0;
+#X connect 14 0 12 0;
+#X connect 14 1 1 0;
+#X connect 14 2 12 1;
+#X connect 15 0 1 0;
+#X connect 16 0 10 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 22 0 23 0;
+#X connect 23 0 21 0;
+#X connect 24 0 27 2;
+#X connect 27 0 7 0;
+#X connect 28 0 27 3;
+#X connect 29 0 27 1;
+#X connect 30 0 27 0;
+#X restore 150 26 pd pli;
+#X obj 150 4 inlet;
+#X obj 2 20 cnv 15 140 40 empty empty empty 20 12 0 10 -262131 -66577
+0;
+#X obj 9 29 bng 16 250 50 0 \$0-open \$0-open-r op 3 -6 0 8 -225271
+-1 -1;
+#X obj 34 29 nbx 3 12 0 200 0 0 \$0-attack \$0-attack att 0 -6 0 8
+-257472 -1 -1 0 256;
+#X obj 151 48 outlet~;
+#X obj 232 5 inlet;
+#X obj 15 49 cnv 10 100 10 empty \$0-filedisplay |minipli 2 5 0 8 -261681
+-1 0;
+#X obj 106 29 nbx 3 12 0 3 0 0 \$0-preset \$0-preset preset 0 -6 0
+8 -225280 -1 -1 0 256;
+#X obj 71 29 nbx 3 12 0 999 0 0 \$0-rel \$0-rel rel 0 -6 0 8 -257472
+-1 -1 0 256;
+#X obj 225 47 outlet;
+#X obj 124 49 bng 8 250 50 0 \$0-help empty ? 10 5 0 8 -24198 -1 -1
+;
+#X obj 192 3 inlet;
+#X connect 0 0 5 0;
+#X connect 0 1 10 0;
+#X connect 1 0 0 0;
+#X connect 6 0 0 2;
+#X connect 12 0 0 1;
+#X coords 0 0 1 1 142 60 1;
diff --git a/instruments/rrad.square~.pd b/instruments/rrad.square~.pd
new file mode 100644
index 0000000..44fa95c
--- /dev/null
+++ b/instruments/rrad.square~.pd
@@ -0,0 +1,105 @@
+#N canvas 500 433 141 69 10;
+#X obj 1 14 cnv 15 140 50 empty \$0-background-cnv empty 20 12 1 14
+-225271 -66577 0;
+#X obj 432 -4 inlet OSC;
+#N canvas 183 51 981 424 saves 0;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X msg 15 91 setsub \$1;
+#X msg 249 184 svdir \$1;
+#X obj 250 139 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 250 163 savepanel;
+#X obj 152 189 outlet OSC;
+#X msg 108 214 svxdir /tmp/svdir.xml;
+#X msg 78 241 ldxdir /tmp/svdir.xml;
+#X obj 606 141 commun /width \$0;
+#X obj 606 86 r \$0-width;
+#X obj 606 192 s \$0-width;
+#X obj 606 116 clip 0.01 0.99;
+#X obj 606 169 clip 0.01 0.99;
+#X connect 0 2 15 0;
+#X connect 1 0 0 1;
+#X connect 2 0 11 0;
+#X connect 3 0 4 0;
+#X connect 4 0 11 0;
+#X connect 4 1 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 22 0;
+#X connect 19 0 21 0;
+#X connect 21 0 18 0;
+#X connect 22 0 20 0;
+#X restore 370 -5 pd saves;
+#N canvas 569 61 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 295 -5 pd cnv.ctl;
+#X obj 73 20 vradio 12 1 0 3 \$0-substate \$0-substate-r empty 0 -6
+0 8 -261689 -1 -1 1;
+#X text 183 -5 look! ==>;
+#X obj 370 16 outlet OSC;
+#X obj 253 55 outlet~;
+#N canvas 0 0 450 300 sigs 0;
+#X obj 109 136 phasor~;
+#X obj 109 193 blosc~ comparator;
+#X text 104 86 (square - pulse wave);
+#X obj 110 233 outlet~;
+#X obj 110 51 inlet;
+#X obj 239 117 r \$0-width;
+#X obj 109 165 -~;
+#X obj 167 161 line~;
+#X msg 229 152 \$1 15;
+#X obj 196 46 loadbang;
+#X msg 196 66 1 15;
+#X connect 0 0 6 0;
+#X connect 1 0 3 0;
+#X connect 4 0 0 0;
+#X connect 5 0 8 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 1;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 10 0 7 0;
+#X restore 251 30 pd sigs;
+#X obj 7 29 hsl 50 15 0.01 0.99 0 0 \$0-width \$0-width width -2 -6
+0 8 -261681 -1 -1 3493 1;
+#X obj 249 -4 inlet;
+#X obj 105 29 bng 15 250 50 0 empty empty center -5 -8 0 8 -261681
+-1 -1;
+#X msg 47 50 0.5;
+#X connect 1 0 2 1;
+#X connect 2 0 6 0;
+#X connect 8 0 7 0;
+#X connect 10 0 8 0;
+#X connect 11 0 12 0;
+#X connect 12 0 9 0;
+#X coords 0 0 1 1 142 65 1;
diff --git a/instruments/settings.dat b/instruments/settings.dat
new file mode 100644
index 0000000..1ba3a62
--- /dev/null
+++ b/instruments/settings.dat
@@ -0,0 +1,55 @@
+/zweiter-adsr 0 , /d , 85.7143
+/zweiter-adsr 0 , /a , 1.5873
+/zweiter-adsr 0 , /r , 111.111
+/zweiter-adsr 0 , /s , 0.904762
+/zweiter-adsr 2 , /d , 60.3175
+/zweiter-adsr 2 , /a , 11.1111
+/zweiter-adsr 2 , /r , 174.603
+/zweiter-adsr 2 , /s , 0.825397
+/zweiter-adsr 1 , /d , 82.5397
+/zweiter-adsr 1 , /a , 14.2857
+/zweiter-adsr 1 , /r , 253.968
+/zweiter-adsr 1 , /s , 0.460317
+/erster 4 , /wave , 2
+/erster 4 , /inst , 112.059
+/erster 4 , /warm , 98.0141
+/erster 5 , /inst , 59.0176
+/erster 0 , /wave , 1
+/erster 0 , /inst , 108.324
+/erster 0 , /warm , 125.991
+/erster 2 , /wave , 1
+/erster 2 , /inst , 90.2074
+/erster 2 , /warm , 112.059
+/erster 3 , /wave , 2
+/erster 3 , /inst , 127
+/erster 3 , /warm , 72.9876
+/erster 1 , /wave , 0
+/erster 1 , /inst , 89.9832
+/erster 1 , /warm , 107.987
+/zweiter 0 , /wave , 3
+/zweiter 0 , /warm , 101.002
+/zweiter 2 , /wave , 2
+/zweiter 2 , /inst , 127
+/zweiter 2 , /warm , 108.324
+/zweiter 1 , /wave , 1
+/zweiter 1 , /inst , 97.1176
+/zweiter 1 , /warm , 112.059
+/erster-adsr 4 , /d , 25.3968
+/erster-adsr 4 , /a , 32
+/erster-adsr 4 , /r , 490.952
+/erster-adsr 4 , /s , 0.285714
+/erster-adsr 5 , /a , 11
+/erster-adsr 0 , /a , 22.2222
+/erster-adsr 0 , /s , 0.935556
+/erster-adsr 2 , /d , 50.7937
+/erster-adsr 2 , /a , 7.93651
+/erster-adsr 2 , /r , 190.476
+/erster-adsr 2 , /s , 0.507937
+/erster-adsr 3 , /d , 120.635
+/erster-adsr 3 , /a , 28.5714
+/erster-adsr 3 , /r , 169.206
+/erster-adsr 3 , /s , 0.349206
+/erster-adsr 1 , /d , 41.2698
+/erster-adsr 1 , /a , 0
+/erster-adsr 1 , /r , 202.063
+/erster-adsr 1 , /s , 0.825397
diff --git a/instruments/speakerboxx.pd b/instruments/speakerboxx.pd
new file mode 100644
index 0000000..7477a6b
--- /dev/null
+++ b/instruments/speakerboxx.pd
@@ -0,0 +1,193 @@
+#N canvas 90 183 899 335 10;
+#X obj 2 52 cnv 15 676 40 empty empty speakerboxx 20 12 0 14 -225271
+-66577 0;
+#X obj 372 34 select 0 1 2 3 4 5 6 7;
+#X symbolatom 25 140 10 0 0 0 - - -;
+#X obj 13 197 symbol .;
+#N canvas 400 230 450 300 soundengine 0;
+#X obj 161 200 klatt~;
+#X obj 161 80 phones2holmes f;
+#X obj 161 177 holmes;
+#X obj 179 52 guessphones;
+#X obj 160 271 outlet~;
+#X obj 55 17 inlet;
+#X obj 180 24 pack s;
+#X text 232 24 make list;
+#X obj 187 118 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 189 142 metro 10;
+#X obj 304 84 inlet;
+#X text 315 63 speed;
+#X obj 364 82 inlet;
+#X text 371 59 onoff;
+#X obj 298 143 loadbang;
+#X obj 297 173 f 1;
+#X obj 74 49 t b s b;
+#X msg 110 71 clear;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 5 0 16 0;
+#X connect 6 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 2 0;
+#X connect 10 0 9 1;
+#X connect 12 0 8 0;
+#X connect 14 0 15 0;
+#X connect 15 0 8 0;
+#X connect 16 0 0 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 2 0;
+#X restore 118 305 pd soundengine;
+#X floatatom 428 287 5 0 0 0 speed - -;
+#X obj 25 246 s \$0-speak;
+#X symbolatom 124 140 10 0 0 0 - - -;
+#X obj 112 197 symbol .;
+#X obj 124 246 s \$0-speak;
+#X symbolatom 230 140 10 0 0 0 - - -;
+#X obj 218 197 symbol .;
+#X obj 230 246 s \$0-speak;
+#X symbolatom 332 141 10 0 0 0 - - -;
+#X obj 320 198 symbol .;
+#X obj 332 247 s \$0-speak;
+#X symbolatom 433 141 10 0 0 0 - - -;
+#X obj 421 198 symbol .;
+#X obj 433 247 s \$0-speak;
+#X symbolatom 530 141 10 0 0 0 - - -;
+#X obj 518 198 symbol .;
+#X obj 530 247 s \$0-speak;
+#X symbolatom 627 141 10 0 0 0 - - -;
+#X obj 615 198 symbol .;
+#X obj 627 247 s \$0-speak;
+#X symbolatom 728 140 10 0 0 0 - - -;
+#X obj 716 197 symbol .;
+#X obj 728 246 s \$0-speak;
+#X obj 118 274 r \$0-speak;
+#X obj 728 223 symbol .;
+#X obj 627 224 symbol .;
+#X obj 530 224 symbol .;
+#X obj 433 224 symbol .;
+#X obj 332 224 symbol .;
+#X obj 230 223 symbol .;
+#X obj 124 223 symbol .;
+#X obj 25 223 symbol .;
+#X obj 674 71 inlet;
+#X obj 276 8 inlet;
+#X obj 54 306 outlet~;
+#N canvas 620 454 450 300 saves 0;
+#X obj 191 184 originator \$1 \$0;
+#X obj 33 16 inlet;
+#X obj 168 107 r \$0-presets;
+#X obj 54 95 s \$0-OSC;
+#X msg 207 152 substate \$1;
+#X obj 33 56 OSCroute \$1;
+#X obj 158 139 t b f;
+#X msg 154 160 set m;
+#X obj 35 137 s \$0-presets-in;
+#X obj 12 111 OSCroute /presets;
+#X obj 289 14 inlet;
+#X obj 291 55 select copy paste;
+#X msg 245 87 symbol copy;
+#X msg 336 111 symbol paste;
+#X obj 292 35 symbol;
+#X obj 347 77 t b b;
+#X connect 1 0 0 1;
+#X connect 1 0 5 0;
+#X connect 2 0 6 0;
+#X connect 4 0 0 0;
+#X connect 5 0 9 0;
+#X connect 6 0 7 0;
+#X connect 6 1 4 0;
+#X connect 7 0 0 0;
+#X connect 9 0 8 0;
+#X connect 10 0 14 0;
+#X connect 11 0 12 0;
+#X connect 11 1 15 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 11 0;
+#X connect 15 0 7 0;
+#X connect 15 1 13 0;
+#X restore 672 98 pd saves;
+#X floatatom 245 284 5 0 0 0 presets #0-presets-in #0-presets;
+#X obj 518 171 commun /s6 \$0;
+#X symbolatom 22 285 10 0 0 0 - - -;
+#X obj 627 290 bng 15 250 50 0 empty empty copy 0 -6 0 8 -262144 -1
+-1;
+#X msg 626 312 copy;
+#X msg 675 314 paste;
+#X obj 758 290 bng 15 250 50 0 empty empty paste 0 -6 0 8 -262144 -1
+-1;
+#X obj 13 170 commun /s1 \$0;
+#X obj 112 170 commun /s2 \$0;
+#X obj 218 170 commun /s3 \$0;
+#X obj 320 171 commun /s4 \$0;
+#X obj 421 171 commun /s5 \$0;
+#X obj 615 171 commun /s7 \$0;
+#X obj 716 170 commun /s8 \$0;
+#X obj 472 286 commun /speed \$0;
+#X obj 252 316 outlet;
+#X connect 1 0 36 0;
+#X connect 1 1 35 0;
+#X connect 1 2 34 0;
+#X connect 1 3 33 0;
+#X connect 1 4 32 0;
+#X connect 1 5 31 0;
+#X connect 1 6 30 0;
+#X connect 1 7 29 0;
+#X connect 2 0 36 1;
+#X connect 2 0 48 0;
+#X connect 3 0 2 0;
+#X connect 4 0 39 0;
+#X connect 5 0 4 1;
+#X connect 5 0 55 0;
+#X connect 7 0 35 1;
+#X connect 7 0 49 0;
+#X connect 8 0 7 0;
+#X connect 10 0 34 1;
+#X connect 10 0 50 0;
+#X connect 11 0 10 0;
+#X connect 13 0 33 1;
+#X connect 13 0 51 0;
+#X connect 14 0 13 0;
+#X connect 16 0 32 1;
+#X connect 16 0 52 0;
+#X connect 17 0 16 0;
+#X connect 19 0 31 1;
+#X connect 19 0 42 0;
+#X connect 20 0 19 0;
+#X connect 22 0 30 1;
+#X connect 22 0 53 0;
+#X connect 23 0 22 0;
+#X connect 25 0 29 1;
+#X connect 25 0 54 0;
+#X connect 26 0 25 0;
+#X connect 28 0 4 0;
+#X connect 28 0 43 0;
+#X connect 28 0 56 0;
+#X connect 29 0 27 0;
+#X connect 30 0 24 0;
+#X connect 31 0 21 0;
+#X connect 32 0 18 0;
+#X connect 33 0 15 0;
+#X connect 34 0 12 0;
+#X connect 35 0 9 0;
+#X connect 36 0 6 0;
+#X connect 37 0 40 0;
+#X connect 38 0 1 0;
+#X connect 42 0 20 0;
+#X connect 44 0 45 0;
+#X connect 45 0 40 1;
+#X connect 46 0 40 1;
+#X connect 47 0 46 0;
+#X connect 48 0 3 0;
+#X connect 49 0 8 0;
+#X connect 50 0 11 0;
+#X connect 51 0 14 0;
+#X connect 52 0 17 0;
+#X connect 53 0 23 0;
+#X connect 54 0 26 0;
+#X connect 55 0 5 0;
+#X coords 0 0 1 1 680 80 1;
diff --git a/instruments/speakerboxx/ezdac~.pd b/instruments/speakerboxx/ezdac~.pd
new file mode 100644
index 0000000..9a85ed9
--- /dev/null
+++ b/instruments/speakerboxx/ezdac~.pd
@@ -0,0 +1,37 @@
+#N canvas 304 280 450 300 10;
+#X obj 224 205 dac~;
+#X obj 224 32 inlet~;
+#X obj 259 60 inlet~;
+#X obj 318 69 tgl 16 0 \$0-d \$0-d DSP 0 -6 1728 8 -260818 -123526
+-33289 1 1;
+#X msg 318 93 \; pd dsp \$1;
+#X obj 69 186 hsl 64 16 0 1 0 0 \$0-v \$0-v volume -2 -6 1728 8 -260818
+-123526 -1 0 1;
+#X obj 269 108 r \$0-v;
+#X obj 262 206 outlet~;
+#X obj 166 206 outlet~;
+#X obj 357 28 r pd;
+#X obj 357 52 route dsp;
+#X obj 269 155 line~;
+#X msg 269 132 \$1 10;
+#X obj 259 180 *~;
+#X obj 224 180 *~;
+#X obj 70 119 f \$1;
+#X obj 70 98 loadbang;
+#X obj 70 140 s \$0-v;
+#X connect 1 0 14 0;
+#X connect 2 0 13 0;
+#X connect 3 0 4 0;
+#X connect 6 0 12 0;
+#X connect 9 0 10 0;
+#X connect 10 0 3 0;
+#X connect 11 0 13 1;
+#X connect 11 0 14 1;
+#X connect 12 0 11 0;
+#X connect 13 0 0 1;
+#X connect 13 0 7 0;
+#X connect 14 0 0 0;
+#X connect 14 0 8 0;
+#X connect 15 0 17 0;
+#X connect 16 0 15 0;
+#X coords 0 0 1 1 90 55 1;
diff --git a/instruments/speakerboxx/gpans~.pd b/instruments/speakerboxx/gpans~.pd
new file mode 100644
index 0000000..586a18d
--- /dev/null
+++ b/instruments/speakerboxx/gpans~.pd
@@ -0,0 +1,29 @@
+#N canvas 0 0 450 300 10;
+#X obj 55 118 inlet~;
+#X obj 304 139 inlet~;
+#X obj 303 214 outlet~;
+#X obj 57 205 outlet~;
+#X obj 161 139 expr 1-$f1;
+#X obj 164 115 hsl 64 8 0 1 0 1 empty empty empty -2 -6 0 8 -166441
+-123526 -1 3150 1;
+#X obj 56 179 *~ 0.5;
+#X obj 303 185 *~ 0.5;
+#X msg 161 79 0.5;
+#X obj 365 140 inlet;
+#X obj 420 114 bng 8 250 50 0 empty empty empty 0 -6 0 8 -128992 -262144
+-1;
+#X obj 340 165 sqrt;
+#X obj 93 156 sqrt;
+#X connect 0 0 6 0;
+#X connect 1 0 7 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 5 0 11 0;
+#X connect 6 0 3 0;
+#X connect 7 0 2 0;
+#X connect 8 0 5 0;
+#X connect 9 0 5 0;
+#X connect 10 0 8 0;
+#X connect 11 0 7 1;
+#X connect 12 0 6 1;
+#X coords 0 0 1 1 120 12 1;
diff --git a/instruments/speakerboxx/ratts.pd_linux b/instruments/speakerboxx/ratts.pd_linux
new file mode 100755
index 0000000..034944d
--- /dev/null
+++ b/instruments/speakerboxx/ratts.pd_linux
Binary files differ
diff --git a/instruments/speakerboxx/speaker.dat b/instruments/speakerboxx/speaker.dat
new file mode 100644
index 0000000..a795138
--- /dev/null
+++ b/instruments/speakerboxx/speaker.dat
@@ -0,0 +1,92 @@
+/speak 4 , /s3 , da
+/speak 4 , /speed , 5
+/speak 4 , /s5 , goon
+/speak 4 , /s7 , da
+/speak 4 , /s1 , goon
+/speak 5 , /s6 , iii
+/speak 5 , /s2 , auod
+/speak 5 , /s4 , oooo
+/speak 0 , /s3 , yipp
+/speak 0 , /s8 ,
+/speak 0 , /s6 ,
+/speak 0 , /s2 ,
+/speak 0 , /s4 ,
+/speak 0 , /speed , 3
+/speak 0 , /s5 ,
+/speak 0 , /s7 ,
+/speak 0 , /s1 , pow
+/speak 2 , /s3 , o
+/speak 2 , /s2 ,
+/speak 2 , /s4 ,
+/speak 2 , /s5 ,
+/speak 2 , /s1 , pow
+/speak 3 , /s2 ,
+/speak 1 , /s3 , o
+/outkast 4 , /s3 , da
+/outkast 4 , /s8 ,
+/outkast 4 , /s6 ,
+/outkast 4 , /s2 ,
+/outkast 4 , /s4 ,
+/outkast 4 , /speed , 5
+/outkast 4 , /s5 , goon
+/outkast 4 , /s7 , ah
+/outkast 4 , /s1 , goon
+/outkast 5 , /s3 , di
+/outkast 5 , /s8 , high
+/outkast 5 , /s6 , high
+/outkast 5 , /s2 , high
+/outkast 5 , /s4 , high
+/outkast 0 , /s3 , ck
+/outkast 0 , /s6 , pow
+/outkast 0 , /s2 , clack
+/outkast 0 , /s4 , clap
+/outkast 0 , /speed , 3
+/outkast 0 , /s5 , bow
+/outkast 0 , /s7 , ck
+/outkast 0 , /s1 , bow
+/outkast 2 , /s8 ,
+/outkast 2 , /s2 ,
+/outkast 2 , /s4 ,
+/outkast 2 , /s7 , ck
+/outkast 1 , /s8 , u
+/outkast 1 , /s2 , list
+/outkast 1 , /speed , 3
+/outkast 1 , /s7 , a
+/outkast 1 , /s1 , pow
+/speak2 4 , /s3 ,
+/speak2 4 , /s8 , dah
+/speak2 4 , /s6 ,
+/speak2 4 , /s2 , dah
+/speak2 4 , /s4 , goon
+/speak2 4 , /speed , 5
+/speak2 4 , /s5 , dah
+/speak2 4 , /s7 , goon
+/speak2 4 , /s1 , goon
+/speak2 5 , /s3 , eeee
+/speak2 5 , /s6 , eeee
+/speak2 0 , /s3 ,
+/speak2 0 , /s8 , ss
+/speak2 0 , /s6 ,
+/speak2 0 , /s2 , ss
+/speak2 0 , /s4 ,
+/speak2 0 , /speed , 3
+/speak2 0 , /s5 , ss
+/speak2 0 , /s7 ,
+/speak2 0 , /s1 ,
+/speak2 2 , /s8 , gee
+/speak2 2 , /s6 , poo
+/speak2 2 , /s2 ,
+/speak2 2 , /s5 , pee
+/speak2 2 , /s1 , buing
+/speak2 3 , /s3 ,
+/speak2 3 , /s8 , ss
+/speak2 3 , /s6 ,
+/speak2 3 , /s2 , ss
+/speak2 3 , /s4 ,
+/speak2 3 , /speed , 3
+/speak2 3 , /s5 , ss
+/speak2 3 , /s7 ,
+/speak2 3 , /s1 ,
+/speak2 1 , /s8 , gee
+/speak2 1 , /s2 ,
+/speak2 1 , /s5 , pee
diff --git a/instruments/speakerboxx/speakerboxx.pd b/instruments/speakerboxx/speakerboxx.pd
new file mode 100644
index 0000000..5b4f2f3
--- /dev/null
+++ b/instruments/speakerboxx/speakerboxx.pd
@@ -0,0 +1,191 @@
+#N canvas 90 183 899 335 10;
+#X obj 2 52 cnv 15 676 40 empty empty speakerboxx 20 12 0 14 -225271
+-66577 0;
+#X obj 372 34 select 0 1 2 3 4 5 6 7;
+#X symbolatom 25 140 10 0 0 0 - - -;
+#X obj 13 197 symbol .;
+#N canvas 400 230 450 300 soundengine 0;
+#X obj 161 200 klatt~;
+#X obj 161 80 phones2holmes f;
+#X obj 161 177 holmes;
+#X obj 179 52 guessphones;
+#X obj 160 271 outlet~;
+#X obj 55 17 inlet;
+#X obj 180 24 pack s;
+#X text 232 24 make list;
+#X obj 187 118 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 189 142 metro 10;
+#X obj 304 84 inlet;
+#X text 315 63 speed;
+#X obj 364 82 inlet;
+#X text 371 59 onoff;
+#X obj 298 143 loadbang;
+#X obj 297 173 f 1;
+#X obj 74 49 t b s b;
+#X msg 110 71 clear;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 5 0 16 0;
+#X connect 6 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 2 0;
+#X connect 10 0 9 1;
+#X connect 12 0 8 0;
+#X connect 14 0 15 0;
+#X connect 15 0 8 0;
+#X connect 16 0 0 0;
+#X connect 16 1 6 0;
+#X connect 16 2 17 0;
+#X connect 17 0 2 0;
+#X restore 118 305 pd soundengine;
+#X floatatom 428 287 5 0 0 0 speed - -;
+#X obj 25 246 s \$0-speak;
+#X symbolatom 124 140 10 0 0 0 - - -;
+#X obj 112 197 symbol .;
+#X obj 124 246 s \$0-speak;
+#X symbolatom 230 140 10 0 0 0 - - -;
+#X obj 218 197 symbol .;
+#X obj 230 246 s \$0-speak;
+#X symbolatom 332 141 10 0 0 0 - - -;
+#X obj 320 198 symbol .;
+#X obj 332 247 s \$0-speak;
+#X symbolatom 433 141 10 0 0 0 - - -;
+#X obj 421 198 symbol .;
+#X obj 433 247 s \$0-speak;
+#X symbolatom 530 141 10 0 0 0 - - -;
+#X obj 518 198 symbol .;
+#X obj 530 247 s \$0-speak;
+#X symbolatom 627 141 10 0 0 0 - - -;
+#X obj 615 198 symbol .;
+#X obj 627 247 s \$0-speak;
+#X symbolatom 728 140 10 0 0 0 - - -;
+#X obj 716 197 symbol .;
+#X obj 728 246 s \$0-speak;
+#X obj 118 274 r \$0-speak;
+#X obj 728 223 symbol .;
+#X obj 627 224 symbol .;
+#X obj 530 224 symbol .;
+#X obj 433 224 symbol .;
+#X obj 332 224 symbol .;
+#X obj 230 223 symbol .;
+#X obj 124 223 symbol .;
+#X obj 25 223 symbol .;
+#X obj 674 71 inlet;
+#X obj 276 8 inlet;
+#X obj 54 306 outlet~;
+#N canvas 620 454 450 300 saves 0;
+#X obj 191 184 originator \$1 \$0;
+#X obj 33 16 inlet;
+#X obj 168 107 r \$0-presets;
+#X obj 54 95 s \$0-OSC;
+#X msg 207 152 substate \$1;
+#X obj 33 56 OSCroute \$1;
+#X obj 158 139 t b f;
+#X msg 154 160 set m;
+#X obj 35 137 s \$0-presets-in;
+#X obj 12 111 OSCroute /presets;
+#X obj 289 14 inlet;
+#X obj 291 55 select copy paste;
+#X msg 245 87 symbol copy;
+#X msg 336 111 symbol paste;
+#X obj 292 35 symbol;
+#X obj 347 77 t b b;
+#X connect 1 0 0 1;
+#X connect 1 0 5 0;
+#X connect 2 0 6 0;
+#X connect 4 0 0 0;
+#X connect 5 0 9 0;
+#X connect 6 0 7 0;
+#X connect 6 1 4 0;
+#X connect 7 0 0 0;
+#X connect 9 0 8 0;
+#X connect 10 0 14 0;
+#X connect 11 0 12 0;
+#X connect 11 1 15 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 11 0;
+#X connect 15 0 7 0;
+#X connect 15 1 13 0;
+#X restore 672 98 pd saves;
+#X floatatom 245 284 5 0 0 0 presets #0-presets-in #0-presets;
+#X obj 518 171 commun /s6 \$0;
+#X symbolatom 22 285 10 0 0 0 - - -;
+#X obj 627 290 bng 15 250 50 0 empty empty copy 0 -6 0 8 -262144 -1
+-1;
+#X msg 626 312 copy;
+#X msg 675 314 paste;
+#X obj 758 290 bng 15 250 50 0 empty empty paste 0 -6 0 8 -262144 -1
+-1;
+#X obj 13 170 commun /s1 \$0;
+#X obj 112 170 commun /s2 \$0;
+#X obj 218 170 commun /s3 \$0;
+#X obj 320 171 commun /s4 \$0;
+#X obj 421 171 commun /s5 \$0;
+#X obj 615 171 commun /s7 \$0;
+#X obj 716 170 commun /s8 \$0;
+#X obj 472 286 commun /speed \$0;
+#X connect 1 0 36 0;
+#X connect 1 1 35 0;
+#X connect 1 2 34 0;
+#X connect 1 3 33 0;
+#X connect 1 4 32 0;
+#X connect 1 5 31 0;
+#X connect 1 6 30 0;
+#X connect 1 7 29 0;
+#X connect 2 0 36 1;
+#X connect 2 0 48 0;
+#X connect 3 0 2 0;
+#X connect 4 0 39 0;
+#X connect 5 0 4 1;
+#X connect 5 0 55 0;
+#X connect 7 0 35 1;
+#X connect 7 0 49 0;
+#X connect 8 0 7 0;
+#X connect 10 0 34 1;
+#X connect 10 0 50 0;
+#X connect 11 0 10 0;
+#X connect 13 0 33 1;
+#X connect 13 0 51 0;
+#X connect 14 0 13 0;
+#X connect 16 0 32 1;
+#X connect 16 0 52 0;
+#X connect 17 0 16 0;
+#X connect 19 0 31 1;
+#X connect 19 0 42 0;
+#X connect 20 0 19 0;
+#X connect 22 0 30 1;
+#X connect 22 0 53 0;
+#X connect 23 0 22 0;
+#X connect 25 0 29 1;
+#X connect 25 0 54 0;
+#X connect 26 0 25 0;
+#X connect 28 0 4 0;
+#X connect 28 0 43 0;
+#X connect 29 0 27 0;
+#X connect 30 0 24 0;
+#X connect 31 0 21 0;
+#X connect 32 0 18 0;
+#X connect 33 0 15 0;
+#X connect 34 0 12 0;
+#X connect 35 0 9 0;
+#X connect 36 0 6 0;
+#X connect 37 0 40 0;
+#X connect 38 0 1 0;
+#X connect 42 0 20 0;
+#X connect 44 0 45 0;
+#X connect 45 0 40 1;
+#X connect 46 0 40 1;
+#X connect 47 0 46 0;
+#X connect 48 0 3 0;
+#X connect 49 0 8 0;
+#X connect 50 0 11 0;
+#X connect 51 0 14 0;
+#X connect 52 0 17 0;
+#X connect 53 0 23 0;
+#X connect 54 0 26 0;
+#X connect 55 0 5 0;
+#X coords 0 0 1 1 680 80 1;
diff --git a/instruments/speakerboxx/usespeaker.pd b/instruments/speakerboxx/usespeaker.pd
new file mode 100644
index 0000000..e0d01c2
--- /dev/null
+++ b/instruments/speakerboxx/usespeaker.pd
@@ -0,0 +1,99 @@
+#N canvas 119 127 1074 605 10;
+#X obj 12 525 careGUI;
+#X floatatom 146 79 5 0 0 0 - - -;
+#X obj 322 21 tgl 24 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1 1
+;
+#X obj 29 359 ezdac~;
+#X floatatom 369 34 5 0 0 0 - - -;
+#X obj 84 340 catch~ r;
+#X obj 22 341 catch~ l;
+#X obj 58 254 gpans~;
+#X obj 57 276 throw~ l;
+#X obj 115 275 throw~ r;
+#X obj 325 576 sendOSC;
+#X obj 222 352 gpans~;
+#X obj 279 373 throw~ r;
+#X obj 216 373 throw~ l;
+#X obj 183 319 r beat;
+#X obj 146 104 s beat;
+#X obj 544 538 hradio 32 0 0 15 \$0-preset empty empty 0 -6 1152 8
+-262144 -1 -1 1;
+#X obj 490 499 r \$0-preset;
+#X obj 345 452 gpans~;
+#X obj 402 473 throw~ r;
+#X obj 339 473 throw~ l;
+#X obj 306 419 r beat;
+#X obj 72 135 speakerboxx /outkast;
+#X obj 255 500 loadbang;
+#X obj 471 52 cnv 15 280 30 empty empty SPEAKERBOXX 24 14 0 24 -233017
+-66577 0;
+#X obj 334 520 netcontrol /* presets;
+#X obj 345 50 metro 200;
+#X obj 240 51 f 0;
+#X obj 272 50 + 1;
+#X obj 241 81 select 7;
+#X obj 191 80 mod 8;
+#X msg 304 81 -1;
+#X text 757 519 PRESET SELECTA;
+#X obj 26 33 ratts;
+#X msg 325 498 connect localhost 3001;
+#X msg 379 576 disconnect;
+#X obj 931 99 dumpOSC 3001;
+#X obj 236 233 speakerboxx /speak;
+#X obj 358 332 speakerboxx /speak2;
+#X obj 178 358 + 0;
+#X floatatom 204 405 5 0 0 0 - - -;
+#X obj 275 405 + 0;
+#X floatatom 225 446 5 0 0 0 - - -;
+#X obj 271 467 mod 8;
+#X obj 168 423 mod 8;
+#X obj 143 470 random 7;
+#X obj 142 447 select 7;
+#X obj 170 492 random 7;
+#X connect 1 0 15 0;
+#X connect 1 0 22 0;
+#X connect 2 0 26 0;
+#X connect 4 0 26 1;
+#X connect 5 0 3 1;
+#X connect 6 0 3 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 11 0 13 0;
+#X connect 11 1 12 0;
+#X connect 14 0 39 0;
+#X connect 14 0 46 0;
+#X connect 17 0 25 1;
+#X connect 18 0 20 0;
+#X connect 18 1 19 0;
+#X connect 21 0 41 0;
+#X connect 22 0 7 0;
+#X connect 22 0 7 1;
+#X connect 23 0 34 0;
+#X connect 25 0 10 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 27 0 30 0;
+#X connect 28 0 27 1;
+#X connect 29 0 31 0;
+#X connect 30 0 1 0;
+#X connect 30 0 29 0;
+#X connect 31 0 28 0;
+#X connect 34 0 10 0;
+#X connect 35 0 10 0;
+#X connect 36 0 22 1;
+#X connect 36 0 37 1;
+#X connect 36 0 38 1;
+#X connect 37 0 11 0;
+#X connect 37 0 11 1;
+#X connect 38 0 18 0;
+#X connect 38 0 18 1;
+#X connect 39 0 44 0;
+#X connect 40 0 39 1;
+#X connect 41 0 43 0;
+#X connect 42 0 41 1;
+#X connect 43 0 38 0;
+#X connect 44 0 37 0;
+#X connect 45 0 40 0;
+#X connect 46 0 45 0;
+#X connect 46 0 47 0;
+#X connect 47 0 42 0;
diff --git a/instruments/user.pd b/instruments/user.pd
new file mode 100644
index 0000000..673ad9a
--- /dev/null
+++ b/instruments/user.pd
@@ -0,0 +1,130 @@
+#N canvas 132 37 1005 694 10;
+#X obj 25 178 sseq16n;
+#X obj 246 85 r \$0-anal;
+#X obj 25 479 s \$0-anal;
+#X obj 292 529 ezdac~;
+#X obj 237 489 gpans~;
+#X obj 18 94 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 18 118 metro 100;
+#X obj 17 139 counter 0 15;
+#X floatatom 89 94 5 0 0 0 - - -;
+#X obj 25 439 - 12;
+#X floatatom 65 434 5 0 0 0 - - -;
+#X obj 246 142 makenote 90 100;
+#X obj 350 117 - 10;
+#X obj 492 21 sseq16;
+#X obj 627 139 makenote 90 100;
+#X obj 731 114 - 10;
+#X obj 421 488 gpans~;
+#X obj 497 142 select 0;
+#X floatatom 292 117 5 0 0 0 - - -;
+#X floatatom 720 77 5 0 0 0 - - -;
+#X obj 25 411 select 0;
+#X obj 88 182 analosc /erster;
+#X obj 124 146 dumpOSC 3000;
+#X obj 680 631 sendOSC 3000;
+#X msg 690 609 connect localhost 3000;
+#X obj 25 8 careGUI ./settings.dat;
+#X obj 241 385 adsr-engine;
+#X obj 818 431 print analout;
+#X obj 107 383 analogue-engine;
+#X obj 179 422 *~;
+#X obj 148 572 table scope;
+#X obj 81 526 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 77 552 tabwrite~ scope;
+#X msg 576 377 \; scope resize 44100;
+#X msg 513 335 level \$1;
+#X msg 220 163 freq \$1;
+#X obj 513 171 * 0.00787;
+#X obj 333 384 analogue-engine;
+#X obj 405 423 *~;
+#X msg 502 364 level \$1;
+#X msg 425 346 freq \$1;
+#X obj 695 173 * 0.00787;
+#X obj 467 386 adsr-engine;
+#X obj 810 27 rees;
+#X obj 700 14 r 1-globals;
+#X floatatom 854 585 5 0 0 0 - - -;
+#X msg 853 559 \$1;
+#X obj 636 492 int;
+#X floatatom 625 509 5 0 0 0 - - -;
+#X obj 810 488 pack 0 0;
+#X msg 809 512 \$2 \$1;
+#X floatatom 883 481 5 0 0 0 - - -;
+#X floatatom 777 489 5 0 0 0 - - -;
+#X obj 808 460 ctlin;
+#X obj 641 442 ctlin;
+#X obj 639 466 scale 0 128 1 5;
+#X obj 851 534 route 15 14;
+#X obj 424 548 netcontrol /erster inst;
+#X obj 881 620 loadbang;
+#X obj 634 547 netcontrol /erster preset;
+#X obj 322 618 netcontrol /erster-adsr a;
+#X connect 0 0 20 0;
+#X connect 1 0 11 0;
+#X connect 4 0 3 0;
+#X connect 4 1 3 1;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 0;
+#X connect 7 0 13 0;
+#X connect 8 0 6 1;
+#X connect 8 0 12 0;
+#X connect 8 0 15 0;
+#X connect 9 0 2 0;
+#X connect 10 0 9 1;
+#X connect 11 0 35 0;
+#X connect 11 1 36 0;
+#X connect 12 0 11 2;
+#X connect 13 0 17 0;
+#X connect 14 0 40 0;
+#X connect 14 1 41 0;
+#X connect 15 0 14 2;
+#X connect 16 0 3 0;
+#X connect 16 1 3 1;
+#X connect 17 1 14 0;
+#X connect 18 0 11 1;
+#X connect 19 0 14 1;
+#X connect 20 1 9 0;
+#X connect 21 0 26 0;
+#X connect 21 0 28 0;
+#X connect 21 0 37 0;
+#X connect 21 0 42 0;
+#X connect 22 0 21 0;
+#X connect 24 0 23 0;
+#X connect 26 0 29 1;
+#X connect 28 0 29 0;
+#X connect 29 0 4 0;
+#X connect 29 0 4 1;
+#X connect 29 0 32 0;
+#X connect 31 0 32 0;
+#X connect 34 0 26 0;
+#X connect 35 0 28 0;
+#X connect 36 0 34 0;
+#X connect 37 0 38 0;
+#X connect 38 0 16 0;
+#X connect 38 0 16 1;
+#X connect 39 0 42 0;
+#X connect 40 0 37 0;
+#X connect 41 0 39 0;
+#X connect 42 0 38 1;
+#X connect 44 0 13 1;
+#X connect 46 0 45 0;
+#X connect 47 0 48 0;
+#X connect 49 0 50 0;
+#X connect 50 0 56 0;
+#X connect 53 0 49 0;
+#X connect 53 0 52 0;
+#X connect 53 1 49 1;
+#X connect 53 1 51 0;
+#X connect 54 0 55 0;
+#X connect 55 0 47 0;
+#X connect 56 0 46 0;
+#X connect 56 0 59 1;
+#X connect 56 1 57 1;
+#X connect 57 0 23 0;
+#X connect 58 0 24 0;
+#X connect 59 0 23 0;
+#X connect 60 0 23 0;
diff --git a/memento/README.txt b/memento/README.txt
new file mode 100644
index 0000000..7fa3dfa
--- /dev/null
+++ b/memento/README.txt
@@ -0,0 +1,148 @@
+_ Memento _
+
+ver. 0.4
+
+This is a work-in-progress collection of a unified preset system for Pd
+patches. It tries to loosely follow the Memento [1] design pattern from the Gang of
+Four book.
+
+I propose that a Memento here is realised as a directory in a data pool inside
+a [pool] object. Currently the pool is hardcoded to be named "RRADICAL". This
+could change, but maybe it doesn't need to. Inside the Memento, several
+numbered subfolders are created to store the actual substates.
+
+The Memento is only changed or read through the [originator] abstraction.
+[originator] has two arguments:
+
+1) the name of a Memento
+2) $0
+
+Methods of [originator]:
+
+ * create Memento-name: creates a new Memento, discards the old.
+ * set anything: sets all variables to the values currently in the pool. For use
+ after loading a file with the [caretaker]
+ * substate management
+ * right inlet: OSC messages
+ * some more. Look inside.
+
+It is not allowed to bypass [originator] to change the values inside the
+RRADICAL pool, with one exception:
+
+The [caretaker] abstraction is responsible for saving and loading pool data from
+harddisk. [caretaker] takes a filename to save and load as argument. A GUI for
+it is provided in [careGUI].
+
+Methods of [caretaker]:
+
+ * file filename: set's filename to save/load.
+ * save poolname: saves the contents of the pool named "poolname". For rradical
+ patches this currently has to be "RRADICAL"
+ * load poolname: loads the contents, same as save, but the other way around.
+
+Communication between [originator] and anything that wants to save anything is
+done through the [commun] abstraction.
+
+[commun] arguments:
+
+1) the name of a variable ("key")
+2) $0
+
+[commun] accepts anything and spits out anything if [originator] tells it too
+(with [originator]'s "set" message).
+
+Both $0 arguments above are mandatory to keep Memento reusable, which is the
+first goal all in RRADical patches.
+
+_ Usage _
+
+Every abstraction, that wants to take part in saving its settings with Memento
+needs to:
+1) include an [originator /Memento $0] objects
+2) cross-wrap all variables with [commun /id $0] objects. Because of a bug,
+ for wrapping symbols a [symbol] objects has to be added after [commun]'s
+ outlet.
+3) The slash is there to allow routing of OSC-messages for remote control.
+
+A single [caretaker] or [careGUI] in the parent patch then can save and reload
+settings in the pool to disk.
+
+Please follow the tutorial to learn more about Memento-usage.
+
+_ ChangeLog _
+
+0.4
+* Wrote a tutorial, yeah.
+* Now uses Cyclone's set-able prepend for setting state.
+* originator got a OSC-inlet.
+* requires a "pool" with the mkchdir messages (available in CVS since Dec 17 2003)
+* some cleanup
+
+0.3
+* OSC remote control. Useage example is in netcontrol.pd
+* copy/paste with messages copy and past to originator.
+
+0.2
+* Use numbered subfolders as states
+* More examples, careGUI.pd
+
+0.1
+* Initial release
+
+_ Bugs _
+
+* Plenty.
+* [prepend] strips off type identifiers like "symbol", so you currently have to
+ take care of types yourself. Only lists and floats work out of the box
+ currently.
+* The "API" is is bound to change.
+* spelling errors
+
+_ Footnotes _
+
+[1] Here's a description of the Memento pattern by Kamal Patel from
+http://www.kamalpatel.net/Articles/MementoPattern.htm
+
+A look at a Design Pattern - Memento:
+
+A Design Pattern can be thought of as an architectural layout to solve a
+problem whose actual implementation could be in millions of ways. The approach
+used to solve this problem is by a Design Pattern called Memento. The intent of
+a Memento is to capture and externalize an object's internal state so
+that the object can be restored to this state later.
+
+Every Design pattern has a motivation. The Motivation behind the Memento
+Pattern arose from the need to store the objects current state and then be able
+ to restore it when requested. Let us look at an example where a Memento Pattern
+could be used. Consider that we want to implement Undo features into our
+application. We will need to keep a track of changes as the user works by
+capturing each state via a Memento object and then when the user requests an
+Undo, we will request the Memento to reset to an the last stored state. We
+would achieve this by the two general interfaces exposed by the Memento;
+GetState() and SetState().
+
+A memento pattern is constructed by three objects:
+
+Memento
+Stores internal state of the Originator object.
+Protects against access by objects other than the originator. Mementos
+effectively have two interfaces (methods).
+
+Originator
+Creates a Memento containing a snapshot of its current internal state
+Uses the Memento to restore its internal state
+
+CareTaker
+Is responsible for the Memento's safekeeping
+Never operates on or examines the state of the Memento
+
+Generally a memento is responsible for storing a snapshot of the internal state
+of another object. In our case the Memento was responsible for storing the
+state of a grid and restoring the state of the grid upon request. Mementos are
+usually dynamic in nature but we used the same concept to store persistent
+state of the grids into a VFP table. This is because it was faster an easier to
+maintain.
+
+Remember that Design Patterns provide us with a guidance to solve a problem for
+the most commonly occurring software problems. We use this as a basis for our
+design and then enhance or extend the design depending on our requirements.
diff --git a/memento/careGUI.pd b/memento/careGUI.pd
new file mode 100644
index 0000000..377231c
--- /dev/null
+++ b/memento/careGUI.pd
@@ -0,0 +1,55 @@
+#N canvas 241 224 305 88 10;
+#X obj 2 15 cnv 15 300 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 35 30 bng 40 250 50 0 empty empty SAVE 0 -6 0 8 -24198 -1 -1
+;
+#X obj 121 31 bng 40 250 50 0 empty empty RESTORE 0 -6 0 8 -258699
+-1 -1;
+#X obj 19 1 inlet;
+#X obj 203 30 bng 40 250 50 0 empty empty FILE 0 -6 0 8 -262131 -1
+-1;
+#N canvas 497 329 693 405 guts 0;
+#X obj 68 51 inlet;
+#X obj 227 43 inlet;
+#X obj 353 58 inlet;
+#X msg 77 85 save RRADICAL;
+#X msg 210 121 load RRADICAL;
+#X text 207 100 load/save file into/from pool by name;
+#X obj 196 147 t b a;
+#X text 11 131 set filename;
+#X obj 170 209 caretaker \$1;
+#X obj 105 237 outlet;
+#X text 116 255 bang after restore;
+#X obj 472 54 inlet;
+#X msg 349 172 file \$1;
+#X obj 351 139 savepanel;
+#X msg 350 242 savex bla.xml;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 2 0 13 0;
+#X connect 3 0 8 0;
+#X connect 4 0 6 0;
+#X connect 6 0 9 0;
+#X connect 6 1 8 0;
+#X connect 11 0 8 0;
+#X connect 12 0 8 0;
+#X connect 13 0 12 0;
+#X connect 14 0 8 0;
+#X restore 78 0 pd guts;
+#X obj 169 0 outlet;
+#X obj 263 47 bng 15 250 50 0 empty empty reset 0 -6 0 8 -250685 -1
+-1;
+#X msg 260 67 reset;
+#X obj 90 43 bng 15 250 50 0 empty empty print 0 -6 0 8 -261689 -1
+-1;
+#X msg 81 60 print;
+#X connect 1 0 5 0;
+#X connect 2 0 5 1;
+#X connect 3 0 5 3;
+#X connect 4 0 5 2;
+#X connect 5 0 6 0;
+#X connect 7 0 8 0;
+#X connect 8 0 5 3;
+#X connect 9 0 10 0;
+#X connect 10 0 5 3;
+#X coords 0 0 1 1 304 75 1;
diff --git a/memento/caretaker.pd b/memento/caretaker.pd
new file mode 100644
index 0000000..5571dd1
--- /dev/null
+++ b/memento/caretaker.pd
@@ -0,0 +1,41 @@
+#N canvas 0 0 450 300 10;
+#X obj 198 219 pool;
+#X obj 123 147 symbol \$1;
+#X msg 199 119 pool \$1;
+#X obj 153 89 t b s;
+#X msg 130 169 save \$1;
+#X obj 282 149 symbol \$1;
+#X msg 319 180 load \$1;
+#X msg 337 120 pool \$1;
+#X obj 150 10 inlet;
+#X obj 282 90 t b s;
+#X obj 93 67 symbol;
+#X obj 174 59 symbol;
+#X obj 259 68 symbol;
+#X msg 405 276 reset;
+#X text 257 276 DANGER! HIGH VOLTAGE!;
+#X msg 73 241 savex bla.xml;
+#X msg 326 74 printroot;
+#X obj 148 33 route file save load print;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 17 0;
+#X connect 9 0 5 0;
+#X connect 9 1 7 0;
+#X connect 10 0 1 1;
+#X connect 10 0 5 1;
+#X connect 11 0 3 0;
+#X connect 12 0 9 0;
+#X connect 13 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 17 0 10 0;
+#X connect 17 1 11 0;
+#X connect 17 2 12 0;
+#X connect 17 3 16 0;
diff --git a/memento/commun.pd b/memento/commun.pd
new file mode 100644
index 0000000..f8ca528
--- /dev/null
+++ b/memento/commun.pd
@@ -0,0 +1,18 @@
+#N canvas 329 264 450 300 10;
+#X obj 162 41 inlet;
+#X obj 161 240 outlet;
+#X obj 162 72 prepend \$1;
+#X obj 161 158 r \$2-in;
+#X obj 161 208 route \$1;
+#X obj 69 207 OSCroute \$1;
+#X text 22 262 Read \$2-OSC (== \$0-OSC) \, filter by argument \$1
+;
+#X obj 162 99 s \$2-RRADICAL-MEMENTO;
+#X text 95 123 RRADICAL_MEMENTO is also in originator;
+#X obj 69 183 r \$2-RRADICAL-OSC;
+#X connect 0 0 2 0;
+#X connect 2 0 7 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 9 0 5 0;
diff --git a/memento/examples/bla.dat b/memento/examples/bla.dat
new file mode 100644
index 0000000..b3b9114
--- /dev/null
+++ b/memento/examples/bla.dat
@@ -0,0 +1 @@
+temp 0 , list1 , 100 50 100 74
diff --git a/memento/examples/bla.xml b/memento/examples/bla.xml
new file mode 100644
index 0000000..bfccb9f
--- /dev/null
+++ b/memento/examples/bla.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE pool SYSTEM "pool.dtd">
+<pool>
+<dir key="temp">
+<dir key="0">
+<value key="list1">105 183 62 67</value>
+</dir>
+</dir>
+<dir key="0">
+<value key="list1">0 0 0 0</value>
+</dir>
+<dir key="">
+<dir key="0">
+<value key="list1">0 0 0 0</value>
+</dir>
+</dir>
+<dir key="mydir">
+<dir key="0">
+</dir>
+</dir>
+</pool>
diff --git a/memento/examples/list.dat b/memento/examples/list.dat
new file mode 100644
index 0000000..7eb6b0b
--- /dev/null
+++ b/memento/examples/list.dat
@@ -0,0 +1,24 @@
+temp1 4 , list1 , 100 100 100 100
+temp1 5 , list1 , -100 100 100 100
+temp1 6 , list1 , -100 100 100 -100
+temp1 7 , list1 , -100 100 -100 -100
+temp1 0 , list1 , 100 0 0 0
+temp1 2 , list1 , 0 100 100 0
+temp1 3 , list1 , 0 100 100 100
+temp1 1 , list1 , 0 100 0 0
+temp 4 , list1 , 0 1 0 1
+temp 4 , name , five
+temp 5 , list1 , 0 1 1 0
+temp 5 , name , six
+temp 6 , list1 , 0 1 1 1
+temp 6 , name , seven
+temp 7 , list1 , 1 0 0 0
+temp 7 , name , eight
+temp 0 , list1 , 0 0 0 1
+temp 0 , name , one
+temp 2 , list1 , 0 0 1 1
+temp 2 , name , three
+temp 3 , list1 , 0 1 0 0
+temp 3 , name , four
+temp 1 , list1 , 0 0 1 0
+temp 1 , name , two
diff --git a/memento/examples/listsymbol.pd b/memento/examples/listsymbol.pd
new file mode 100644
index 0000000..3acc013
--- /dev/null
+++ b/memento/examples/listsymbol.pd
@@ -0,0 +1,39 @@
+#N canvas 239 79 855 654 10;
+#X obj 243 432 s restore;
+#X msg 243 398 symbol restore;
+#X obj 270 85 r restore;
+#X obj 243 300 careGUI list.dat;
+#X obj 270 111 numbers temp;
+#X obj 537 87 r restore;
+#X obj 543 517 pool;
+#X obj 540 550 print value;
+#X symbolatom 462 436 10 0 0 0 - - -;
+#X symbolatom 569 588 10 0 0 0 - - -;
+#X msg 542 480 set name \$1;
+#X msg 634 480 get name;
+#X msg 633 446 save /tmp/names.dat;
+#X obj 458 509 print set;
+#X obj 537 111 numbers temp1;
+#X msg 587 309 printall;
+#X msg 587 361 printrec;
+#X text 587 341 print values in dir and subdirs;
+#X text 657 360 (depth may be given);
+#X msg 587 410 printroot;
+#X text 587 390 print values in dir and subdirs (starting from root)
+;
+#X msg 680 520 load list.dat;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 5 0 14 0;
+#X connect 6 0 7 0;
+#X connect 6 0 9 0;
+#X connect 8 0 10 0;
+#X connect 10 0 6 0;
+#X connect 10 0 13 0;
+#X connect 11 0 6 0;
+#X connect 12 0 6 0;
+#X connect 15 0 6 0;
+#X connect 16 0 6 0;
+#X connect 19 0 6 0;
+#X connect 21 0 6 0;
diff --git a/memento/examples/mainpatch.pd b/memento/examples/mainpatch.pd
new file mode 100644
index 0000000..0f7a873
--- /dev/null
+++ b/memento/examples/mainpatch.pd
@@ -0,0 +1,35 @@
+#N canvas 200 96 855 654 10;
+#X floatatom 229 20 5 0 0 0 - - -;
+#X obj 229 42 t b f;
+#X obj 89 105 rradical foo;
+#X obj 174 618 s restore;
+#X obj 415 31 r restore;
+#X obj 415 56 spigot;
+#X obj 468 53 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 89 30 r restore;
+#X obj 89 55 spigot;
+#X msg 259 71 substate \$1;
+#X floatatom 665 25 5 0 0 0 - - -;
+#X obj 665 47 t b f;
+#X msg 695 76 substate \$1;
+#X msg 89 76 restore;
+#X msg 415 77 restore;
+#X obj 174 535 careGUI bla.dat;
+#X obj 415 105 rradical bar;
+#X connect 0 0 1 0;
+#X connect 1 0 13 0;
+#X connect 1 1 9 0;
+#X connect 4 0 5 0;
+#X connect 5 0 14 0;
+#X connect 6 0 5 1;
+#X connect 7 0 8 0;
+#X connect 8 0 13 0;
+#X connect 9 0 2 0;
+#X connect 10 0 11 0;
+#X connect 11 0 14 0;
+#X connect 11 1 12 0;
+#X connect 12 0 16 0;
+#X connect 13 0 2 0;
+#X connect 14 0 16 0;
+#X connect 15 0 3 0;
diff --git a/memento/examples/memento-unittest.pd b/memento/examples/memento-unittest.pd
new file mode 100644
index 0000000..6b40615
--- /dev/null
+++ b/memento/examples/memento-unittest.pd
@@ -0,0 +1,48 @@
+#N canvas 283 408 540 387 10;
+#X obj 74 259 careGUI;
+#X obj 333 97 originator test 10;
+#X floatatom 117 60 5 0 0 0 - - -;
+#X symbolatom 156 86 10 0 0 0 - - -;
+#X obj 107 85 symbol;
+#X msg 333 66 set;
+#X msg 378 70 substate \$1;
+#X obj 343 20 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 343 46 t b f;
+#X obj 151 118 unpack 0 0 0;
+#X floatatom 152 142 5 0 0 0 - - -;
+#X floatatom 198 142 5 0 0 0 - - -;
+#X floatatom 246 143 5 0 0 0 - - -;
+#X obj 152 184 pack 0 0 0;
+#X obj 142 17 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 3;
+#X obj 20 17 commun /radio 10;
+#X obj 224 162 t b f;
+#X obj 174 162 t b f;
+#X obj 18 60 commun /a 10;
+#X obj 19 85 commun /b 10;
+#X obj 20 141 commun /lister 10;
+#X connect 2 0 18 0;
+#X connect 3 0 19 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 5 0;
+#X connect 8 1 6 0;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 9 2 12 0;
+#X connect 10 0 13 0;
+#X connect 11 0 17 0;
+#X connect 12 0 16 0;
+#X connect 13 0 20 0;
+#X connect 14 0 15 0;
+#X connect 15 0 14 0;
+#X connect 16 0 13 0;
+#X connect 16 1 13 2;
+#X connect 17 0 13 0;
+#X connect 17 1 13 1;
+#X connect 18 0 2 0;
+#X connect 19 0 4 0;
+#X connect 20 0 9 0;
diff --git a/memento/examples/memget.pd b/memento/examples/memget.pd
new file mode 100644
index 0000000..a33552d
--- /dev/null
+++ b/memento/examples/memget.pd
@@ -0,0 +1,7 @@
+#N canvas 0 0 450 300 10;
+#X obj 146 149 pool RRADICAL;
+#X obj 146 72 inlet;
+#X obj 146 184 outlet;
+#X obj 146 109 prepend get;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
diff --git a/memento/examples/numbers.pd b/memento/examples/numbers.pd
new file mode 100644
index 0000000..3bf6f0f
--- /dev/null
+++ b/memento/examples/numbers.pd
@@ -0,0 +1,62 @@
+#N canvas 319 311 450 300 10;
+#X floatatom 26 113 5 0 0 0 - - -;
+#X floatatom 337 111 5 0 0 0 - - -;
+#X obj 158 177 pack 0 0 0 0;
+#X obj 252 149 t b f;
+#X floatatom 242 112 5 0 0 0 - - -;
+#X obj 212 148 t b f;
+#X floatatom 142 113 5 0 0 0 - - -;
+#X obj 169 146 t b f;
+#X obj 207 82 unpack 0 0 0 0;
+#X obj 129 51 bng 15 250 50 0 empty empty set 0 -6 0 8 -262144 -1 -1
+;
+#X msg 41 174 set memento;
+#X obj 49 41 inlet;
+#X obj 48 73 select restore;
+#X msg 163 265 substate \$1;
+#X obj 102 229 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X obj 134 244 t b a;
+#X symbolatom 250 182 10 0 0 0 - - -;
+#X obj 330 181 commun name \$0;
+#X obj 142 206 commun list1 \$0;
+#X obj 39 266 originator \$1 \$0;
+#X obj 332 208 symbol;
+#X obj 232 53 bng 15 250 50 0 empty empty copy 0 -6 0 8 -262144 -1
+-1;
+#X obj 352 54 bng 15 250 50 0 empty empty paste 0 -6 0 8 -262144 -1
+-1;
+#X msg 272 61 copy;
+#X msg 393 71 paste;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 18 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 3;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 5 1 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 2 1;
+#X connect 8 0 0 0;
+#X connect 8 1 6 0;
+#X connect 8 2 4 0;
+#X connect 8 3 1 0;
+#X connect 9 0 10 0;
+#X connect 10 0 19 0;
+#X connect 11 0 12 0;
+#X connect 12 0 9 0;
+#X connect 13 0 19 0;
+#X connect 14 0 15 0;
+#X connect 15 0 9 0;
+#X connect 15 1 13 0;
+#X connect 16 0 17 0;
+#X connect 17 0 20 0;
+#X connect 18 0 8 0;
+#X connect 20 0 16 0;
+#X connect 21 0 23 0;
+#X connect 22 0 24 0;
+#X connect 23 0 19 0;
+#X connect 24 0 19 0;
+#X coords 0 0 1 1 200 140 1;
diff --git a/memento/examples/rradical.pd b/memento/examples/rradical.pd
new file mode 100644
index 0000000..115be3d
--- /dev/null
+++ b/memento/examples/rradical.pd
@@ -0,0 +1,46 @@
+#N canvas 314 76 305 428 10;
+#X obj 3 16 cnv 15 300 400 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X msg 67 354 set memento;
+#X obj 89 180 hsl 128 15 0 127 0 0 empty empty n1 -2 -6 0 8 -262144
+-1 -1 2400 1;
+#X obj 67 316 bng 32 250 50 0 empty empty restore 0 -6 0 8 -258699
+-1 -1;
+#X obj 31 210 inlet;
+#X msg 132 74 create \$1;
+#X symbolatom 132 51 20 0 0 0 Memento_Name - -;
+#X obj 132 101 s \$0-orig;
+#X obj 67 375 s \$0-orig;
+#X obj 86 152 commun n1 \$0;
+#X obj 89 228 hsl 128 15 0 127 0 0 empty empty n2 -2 -6 0 8 -262144
+-1 -1 8300 1;
+#X obj 86 203 commun n2 \$0;
+#X obj 132 25 symbol \$1;
+#X obj 37 23 loadbang;
+#X obj 173 345 r \$0-orig;
+#X floatatom 132 124 5 0 0 0 substate - -;
+#X obj 173 373 originator \$1 \$0;
+#X obj 67 285 select restore;
+#X obj 31 258 route memento substate;
+#X obj 203 284 symbol;
+#X msg 193 125 substate \$1;
+#X connect 1 0 8 0;
+#X connect 2 0 9 0;
+#X connect 3 0 1 0;
+#X connect 4 0 18 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 9 0 2 0;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 12 0 6 0;
+#X connect 13 0 12 0;
+#X connect 14 0 16 0;
+#X connect 15 0 20 0;
+#X connect 17 0 3 0;
+#X connect 18 0 12 0;
+#X connect 18 1 15 0;
+#X connect 18 2 19 0;
+#X connect 19 0 17 0;
+#X connect 20 0 7 0;
+#X coords 0 0 1 1 304 422 1;
diff --git a/memento/examples/settings.dat b/memento/examples/settings.dat
new file mode 100644
index 0000000..b34c749
--- /dev/null
+++ b/memento/examples/settings.dat
@@ -0,0 +1,6 @@
+/erster 0 , /warm , 44.8235
+/erster 0 , /wave , 3
+/erster-adsr 0 , /r , 301.587
+/erster-adsr 0 , /s , 0.396825
+/erster-adsr 0 , /a , 33.3333
+/erster-adsr 0 , /d , 98.4127
diff --git a/memento/examples/tester.pd b/memento/examples/tester.pd
new file mode 100644
index 0000000..f3bdbbf
--- /dev/null
+++ b/memento/examples/tester.pd
@@ -0,0 +1,32 @@
+#N canvas 314 76 305 428 10;
+#X obj 1 21 cnv 15 300 400 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X msg 216 69 set memento;
+#X obj 35 77 hsl 128 15 0 127 0 0 empty empty n1 -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 216 31 bng 32 250 50 0 empty empty restore 0 -6 0 8 -258699
+-1 -1;
+#X obj 216 3 inlet;
+#X msg 130 229 create \$1;
+#X symbolatom 131 206 20 0 0 0 create_Memento - -;
+#X obj 131 256 s \$0-orig;
+#X obj 216 90 s \$0-orig;
+#N canvas 0 0 450 300 guts 0;
+#X obj 121 157 originator \$1 \$0;
+#X obj 122 100 r \$0-orig;
+#X connect 1 0 0 0;
+#X restore 188 359 pd guts;
+#X obj 32 49 commun n1 \$0;
+#X obj 34 140 hsl 128 15 0 127 0 0 empty empty n2 -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 31 115 commun n2 \$0;
+#X connect 1 0 8 0;
+#X connect 2 0 10 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 10 0 2 0;
+#X connect 11 0 12 0;
+#X connect 12 0 11 0;
+#X coords 0 0 1 1 200 140 1;
diff --git a/memento/netcontrol.pd b/memento/netcontrol.pd
new file mode 100644
index 0000000..8a45d74
--- /dev/null
+++ b/memento/netcontrol.pd
@@ -0,0 +1,33 @@
+#N canvas 363 400 167 71 10;
+#X symbolatom 12 39 10 0 0 2 whereTo? - -;
+#X obj 65 180 pack s 0;
+#X floatatom 105 39 5 0 0 2 what? - -;
+#X msg 65 204 send \$1 \$2;
+#X obj 129 80 t b f;
+#X obj 65 230 outlet;
+#X obj 67 104 makesymbol \$1/%s;
+#X obj 260 64 loadbang;
+#X obj 264 132 route float;
+#X msg 264 157 bang;
+#X obj 260 90 any \$2;
+#X obj 301 189 symbol unknown;
+#X obj 13 7 inlet;
+#X obj 105 6 inlet;
+#X obj 54 149 symbol;
+#X connect 0 0 6 0;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 14 0;
+#X connect 4 1 1 1;
+#X connect 6 0 14 1;
+#X connect 7 0 10 0;
+#X connect 8 0 9 0;
+#X connect 8 1 11 0;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 2 0;
+#X connect 14 0 1 0;
+#X coords 0 0 1 1 200 50 1;
diff --git a/memento/originator.pd b/memento/originator.pd
new file mode 100644
index 0000000..71afcd0
--- /dev/null
+++ b/memento/originator.pd
@@ -0,0 +1,246 @@
+#N canvas 260 166 978 591 10;
+#X text 425 22 responsibilities:;
+#X text 98 10 ORIGINATOR (the mixing engineer);
+#X text 447 59 * set memento (restore settings from photo);
+#X text 448 40 * create memento (take photo);
+#N canvas 76 23 720 450 createMemento 0;
+#X obj 48 84 inlet;
+#X obj 97 117 symbol \$1;
+#X obj 97 90 loadbang;
+#X obj 97 150 s \$0-memento;
+#X text 75 49 \$1 is the default name of the memento \, that this originator
+creates \, but it can be changed later.;
+#X obj 74 179 outlet;
+#X text 292 108 What is a memento?;
+#X text 275 121 a memento is a directory in a global (data)pool;
+#X obj 305 139 r \$0-memento;
+#X msg 309 180 state \$1;
+#X obj 319 213 s \$0-pool;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X restore 122 321 pd createMemento;
+#X obj 122 104 inlet;
+#N canvas 600 185 664 406 setMemento 0;
+#X text 238 12 setMemento is responsible for restoring all registered
+variables.;
+#X obj 64 26 inlet;
+#X obj 109 286 outlet;
+#X obj 109 249 r \$0-restore;
+#X msg 64 126 getall;
+#X obj 64 183 s \$0-pool;
+#N canvas 468 415 450 300 change2substate 0;
+#X obj 92 39 inlet;
+#X obj 113 198 outlet;
+#X obj 185 93 r \$0-memento;
+#X obj 280 93 r \$0-substate;
+#X obj 113 144 pack s s 0;
+#X obj 92 93 symbol chdir;
+#X obj 92 67 t b;
+#X obj 113 167 route list;
+#X text 218 163 un-list again;
+#X connect 0 0 6 0;
+#X connect 2 0 4 1;
+#X connect 3 0 4 2;
+#X connect 4 0 7 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 0;
+#X restore 131 127 pd change2substate;
+#X text 186 104 change to dir memento substate;
+#X obj 64 52 t b b b;
+#X obj 130 75 s \$0-set-ON;
+#X connect 1 0 8 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 6 0 5 0;
+#X connect 8 0 4 0;
+#X connect 8 1 6 0;
+#X connect 8 2 9 0;
+#X restore 256 446 pd setMemento;
+#X text 431 90 What is a memento?;
+#X text 463 111 a memento is a directory in a global (data)pool;
+#X text 432 135 What is a state?;
+#X obj 563 328 r \$0-pool;
+#X symbolatom 691 374 10 0 0 3 memento - -;
+#X msg 170 103 create help;
+#X msg 261 103 set memento;
+#X obj 777 348 inlet;
+#X obj 535 300 prepend set;
+#X obj 178 297 s \$0-substate;
+#X obj 787 463 r \$0-substate;
+#X msg 787 492 substate \$1;
+#X msg 99 471 copy;
+#X msg 210 472 paste;
+#X obj 134 514 s \$0-pool;
+#X obj 309 341 symbol;
+#X obj 156 440 t b b;
+#X msg 620 389 set \$1;
+#X obj 563 460 s \$2-in;
+#X obj 197 418 r \$0-set;
+#X obj 148 472 s \$0-set;
+#X obj 787 521 s \$0-pool;
+#X obj 225 274 s \$0-pool;
+#X text 462 154 a state is the content of a memento subdirectory named
+by a number.;
+#X text 819 348 OSC inlet;
+#X obj 777 377 OSCroute \$1;
+#X text 462 154 a state is the content of a memento subdirectory named
+by a number.;
+#X obj 535 273 r \$2-RRADICAL-MEMENTO;
+#X text 443 248 \$2-RRADICAL-MEMENTO is sent by commun objects;
+#X obj 777 413 s \$2-RRADICAL-OSC;
+#X obj 563 419 prepend RRADICAL.dummy;
+#X obj 385 520 outlet;
+#X obj 235 196 prepend get;
+#N canvas 468 415 450 300 ch2subs 0;
+#X obj 92 39 inlet;
+#X obj 113 198 outlet;
+#X obj 185 93 r \$0-memento;
+#X obj 280 93 r \$0-substate;
+#X obj 113 144 pack s s 0;
+#X obj 92 67 t b;
+#X obj 113 167 route list;
+#X text 218 163 un-list again;
+#X obj 92 94 symbol chdir;
+#X connect 0 0 5 0;
+#X connect 2 0 4 1;
+#X connect 3 0 4 2;
+#X connect 4 0 6 0;
+#X connect 5 0 8 0;
+#X connect 6 0 1 0;
+#X connect 8 0 4 0;
+#X restore 255 252 pd ch2subs;
+#X obj 225 230 t a b;
+#X obj 563 382 spigot;
+#X obj 448 520 spigot;
+#N canvas 548 386 450 300 tgl 0;
+#X obj 155 198 outlet;
+#X obj 240 198 outlet;
+#X msg 151 120 0;
+#X msg 184 120 1;
+#X msg 233 120 0;
+#X msg 266 120 1;
+#X obj 295 55 r \$0-set-ON;
+#X obj 292 85 loadbang;
+#X obj 185 65 r \$0-get-ON;
+#X text 20 7 This tgl is to prevent some loops when using get and set.
+;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 2 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 7 0 2 0;
+#X connect 8 0 3 0;
+#X connect 8 0 4 0;
+#X restore 486 348 pd tgl;
+#X obj 235 177 t a b;
+#X obj 287 175 s \$0-get-ON;
+#X msg 505 463 set \$1;
+#X obj 448 493 prepend RRADICAL.dummy;
+#X obj 385 493 spigot;
+#X obj 448 544 outlet;
+#X text 353 541 Value outlet;
+#X text 494 545 Value/Key outlet;
+#X obj 370 228 s \$0-substate;
+#X obj 340 203 t b f;
+#X obj 563 351 rradical.state \$1;
+#X obj 22 197 route ldxdir svxdir;
+#X msg 23 285 ldxdir \$1;
+#X msg 102 289 svxdir \$1;
+#X obj 23 316 s \$0-pool;
+#X obj 646 494 outlet;
+#X text 641 515 OSC outlet;
+#X obj 637 461 OSCprepend \$1;
+#X msg 720 487 setsub \$1;
+#X obj 764 437 OSCroute /preset;
+#X obj 720 547 s \$0-setsub;
+#X obj 173 77 r \$0-setsub;
+#X obj 161 378 select copy paste set;
+#X obj 122 132 route create substate get setsub;
+#X obj 340 251 s \$0-set;
+#X obj 25 261 symbol;
+#X obj 101 267 symbol;
+#X obj 12 220 t b a;
+#X msg 12 360 set;
+#X text 12 382 after loadx \, set;
+#X obj 12 77 r SET_ALL_RRADICALS;
+#X text 14 47 global send to do something crazy with!;
+#X obj 818 245 r \$0-substate;
+#X text 795 218 \$2 == \$0 parent;
+#X msg 818 270 set \$1;
+#X obj 818 298 s \$2-parentstate;
+#X connect 5 0 68 0;
+#X connect 10 0 55 0;
+#X connect 11 0 62 1;
+#X connect 12 0 68 0;
+#X connect 13 0 68 0;
+#X connect 14 0 32 0;
+#X connect 15 0 55 0;
+#X connect 17 0 18 0;
+#X connect 18 0 28 0;
+#X connect 19 0 21 0;
+#X connect 20 0 21 0;
+#X connect 22 0 67 0;
+#X connect 23 0 27 0;
+#X connect 23 1 20 0;
+#X connect 24 0 37 0;
+#X connect 26 0 6 0;
+#X connect 32 0 36 0;
+#X connect 32 0 64 0;
+#X connect 34 0 15 0;
+#X connect 34 0 62 0;
+#X connect 37 0 25 0;
+#X connect 39 0 41 0;
+#X connect 40 0 29 0;
+#X connect 41 0 29 0;
+#X connect 41 1 40 0;
+#X connect 42 0 37 0;
+#X connect 43 0 50 0;
+#X connect 44 0 43 1;
+#X connect 44 0 49 1;
+#X connect 44 1 42 1;
+#X connect 45 0 39 0;
+#X connect 45 1 46 0;
+#X connect 47 0 48 0;
+#X connect 48 0 43 0;
+#X connect 49 0 38 0;
+#X connect 54 0 69 0;
+#X connect 54 1 53 0;
+#X connect 55 0 42 0;
+#X connect 55 0 48 0;
+#X connect 55 0 49 0;
+#X connect 55 1 24 0;
+#X connect 55 1 47 0;
+#X connect 55 2 11 0;
+#X connect 56 0 72 0;
+#X connect 56 1 71 0;
+#X connect 57 0 59 0;
+#X connect 58 0 59 0;
+#X connect 62 0 60 0;
+#X connect 63 0 65 0;
+#X connect 64 0 63 0;
+#X connect 66 0 68 0;
+#X connect 67 0 19 0;
+#X connect 67 1 23 0;
+#X connect 67 2 6 0;
+#X connect 68 0 4 0;
+#X connect 68 1 16 0;
+#X connect 68 2 45 0;
+#X connect 68 3 54 0;
+#X connect 68 4 22 0;
+#X connect 68 4 56 0;
+#X connect 70 0 57 0;
+#X connect 71 0 58 0;
+#X connect 72 0 73 0;
+#X connect 72 1 70 0;
+#X connect 73 0 22 0;
+#X connect 75 0 68 0;
+#X connect 77 0 79 0;
+#X connect 79 0 80 0;
diff --git a/memento/rradical.state.pd b/memento/rradical.state.pd
new file mode 100644
index 0000000..eca72b1
--- /dev/null
+++ b/memento/rradical.state.pd
@@ -0,0 +1,223 @@
+#N canvas 52 147 1104 611 10;
+#X obj 103 176 outlet;
+#X obj 24 161 outlet;
+#X obj 182 161 print attr;
+#X obj 93 104 pool RRADICAL;
+#X obj 345 56 inlet;
+#X obj 48 55 r \$0-pool;
+#X obj 519 383 s \$0-pool;
+#X obj 345 141 symbol \$1;
+#X obj 274 39 loadbang;
+#X msg 400 287 getdir;
+#X obj 168 240 outlet;
+#X obj 597 323 prepend get;
+#X msg 456 172 getall;
+#X obj 526 239 s \$0-substate;
+#X obj 510 213 t b f;
+#X msg 127 42 echodir \$1;
+#X obj 127 15 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X msg 124 71 getdir;
+#X msg 277 89 bang;
+#X msg 633 200 copyall;
+#X msg 712 202 paste;
+#X obj 651 230 s \$0-pool;
+#X obj 637 146 symbol;
+#N canvas 468 415 450 300 mkchange2substate 0;
+#X obj 92 39 inlet;
+#X obj 111 224 outlet;
+#X obj 198 93 r \$0-memento;
+#X obj 293 93 r \$0-substate;
+#X obj 111 150 pack s s 0;
+#X obj 92 93 symbol mkchdir;
+#X obj 92 67 t b;
+#X obj 111 180 route list;
+#X text 204 180 Un-List it again;
+#X connect 0 0 6 0;
+#X connect 2 0 4 1;
+#X connect 3 0 4 2;
+#X connect 4 0 7 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 0;
+#X restore 510 284 pd mkchange2substate;
+#X obj 345 177 t b b s;
+#X obj 415 201 s \$0-memento;
+#X obj 555 168 prepend set;
+#X obj 6 111 print pool;
+#X obj 345 94 route state getstate getall substate set get;
+#X obj 637 168 select copy paste;
+#X obj 846 517 s \$0-pool;
+#X obj 54 344 print svld;
+#X obj 773 301 route ldxdir svxdir;
+#X msg 656 444 ldxdir \$1;
+#X msg 839 414 svxdir \$1;
+#X obj 660 422 symbol;
+#X obj 839 390 symbol;
+#X obj 188 372 print currentDir;
+#X msg 197 73 printroot;
+#N canvas 468 415 450 300 mkchange2tmp 0;
+#X obj 92 39 inlet;
+#X obj 111 224 outlet;
+#X obj 198 93 r \$0-memento;
+#X obj 92 93 symbol mkchdir;
+#X obj 92 67 t b;
+#X obj 111 180 route list;
+#X text 204 180 Un-List it again;
+#X msg 296 94 symbol tmp;
+#X obj 111 150 pack s s s;
+#X obj 296 66 loadbang;
+#X msg 167 37 bang;
+#X connect 0 0 4 0;
+#X connect 2 0 8 1;
+#X connect 3 0 8 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 7 0 8 2;
+#X connect 8 0 5 0;
+#X connect 9 0 7 0;
+#X connect 10 0 4 0;
+#X restore 726 429 pd mkchange2tmp;
+#N canvas 468 415 450 300 mkchange2substate 0;
+#X obj 92 39 inlet;
+#X obj 111 224 outlet;
+#X obj 198 93 r \$0-memento;
+#X obj 293 93 r \$0-substate;
+#X obj 111 150 pack s s 0;
+#X obj 92 93 symbol mkchdir;
+#X obj 111 180 route list;
+#X text 204 180 Un-List it again;
+#X text 195 29 change back to substate dir;
+#X obj 92 67 t b b;
+#X msg 38 98 clrclip;
+#X connect 0 0 9 0;
+#X connect 2 0 4 1;
+#X connect 3 0 4 2;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 9 0 10 0;
+#X connect 9 1 5 0;
+#X connect 10 0 1 0;
+#X restore 806 362 pd mkchange2substate;
+#X obj 698 345 t b a b;
+#N canvas 405 362 611 326 tmp2sub 0;
+#X obj 121 12 inlet;
+#X obj 111 224 outlet;
+#X obj 198 93 r \$0-memento;
+#X obj 293 93 r \$0-substate;
+#X obj 111 150 pack s s 0;
+#X obj 92 93 symbol mkchdir;
+#X obj 111 180 route list;
+#X text 204 180 Un-List it again;
+#X msg 36 91 paste;
+#X obj 121 40 t b b b;
+#X text 191 19 copies data from "tmp" dir \, changes to current substate
+\, pastes data.;
+#X msg 406 90 copyall;
+#X connect 0 0 9 0;
+#X connect 2 0 4 1;
+#X connect 3 0 4 2;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 9 1 5 0;
+#X connect 9 2 11 0;
+#X connect 11 0 1 0;
+#X restore 574 443 pd tmp2sub;
+#N canvas 405 362 611 326 sub2tmp 0;
+#X obj 121 12 inlet;
+#X obj 111 224 outlet;
+#X obj 198 93 r \$0-memento;
+#X obj 92 93 symbol mkchdir;
+#X obj 111 180 route list;
+#X text 204 180 Un-List it again;
+#X msg 36 91 paste;
+#X obj 121 40 t b b b;
+#X msg 406 90 copyall;
+#X text 189 8 copies data from current dir \, changes to "tmp" dir
+\, pastes data.;
+#X obj 293 93 symbol tmp;
+#X msg 294 47 bang;
+#X obj 359 47 loadbang;
+#X obj 111 150 pack s s s;
+#X connect 0 0 7 0;
+#X connect 2 0 13 1;
+#X connect 3 0 13 0;
+#X connect 4 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 0;
+#X connect 7 1 3 0;
+#X connect 7 2 8 0;
+#X connect 8 0 1 0;
+#X connect 10 0 13 2;
+#X connect 11 0 10 0;
+#X connect 12 0 10 0;
+#X connect 13 0 4 0;
+#X restore 909 416 pd sub2tmp;
+#X obj 851 328 t b a b;
+#X msg 710 394 bang;
+#X obj 204 273 print currentCommand;
+#X obj 706 526 print ldx;
+#X obj 941 502 print svx;
+#X connect 3 0 1 0;
+#X connect 3 1 0 0;
+#X connect 3 2 10 0;
+#X connect 3 4 2 0;
+#X connect 4 0 28 0;
+#X connect 5 0 3 0;
+#X connect 7 0 24 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X connect 11 0 6 0;
+#X connect 12 0 6 0;
+#X connect 14 0 23 0;
+#X connect 14 1 13 0;
+#X connect 15 0 3 0;
+#X connect 16 0 15 0;
+#X connect 17 0 3 0;
+#X connect 18 0 7 0;
+#X connect 19 0 21 0;
+#X connect 20 0 21 0;
+#X connect 22 0 29 0;
+#X connect 23 0 6 0;
+#X connect 24 0 9 0;
+#X connect 24 1 23 0;
+#X connect 24 2 25 0;
+#X connect 26 0 6 0;
+#X connect 28 0 7 0;
+#X connect 28 1 9 0;
+#X connect 28 2 12 0;
+#X connect 28 3 14 0;
+#X connect 28 4 26 0;
+#X connect 28 5 11 0;
+#X connect 28 6 22 0;
+#X connect 28 6 32 0;
+#X connect 29 0 19 0;
+#X connect 29 1 20 0;
+#X connect 32 0 41 0;
+#X connect 32 1 44 0;
+#X connect 33 0 30 0;
+#X connect 33 0 47 0;
+#X connect 34 0 30 0;
+#X connect 34 0 48 0;
+#X connect 35 0 33 0;
+#X connect 36 0 34 0;
+#X connect 38 0 3 0;
+#X connect 39 0 30 0;
+#X connect 39 0 47 0;
+#X connect 40 0 30 0;
+#X connect 40 0 48 0;
+#X connect 41 0 42 0;
+#X connect 41 1 35 0;
+#X connect 41 2 39 0;
+#X connect 42 0 30 0;
+#X connect 42 0 47 0;
+#X connect 43 0 30 0;
+#X connect 43 0 48 0;
+#X connect 44 0 40 0;
+#X connect 44 1 36 0;
+#X connect 44 2 43 0;
+#X connect 45 0 35 0;
diff --git a/memento/tutorial/0-START.pd b/memento/tutorial/0-START.pd
new file mode 100644
index 0000000..c992182
--- /dev/null
+++ b/memento/tutorial/0-START.pd
@@ -0,0 +1,30 @@
+#N canvas 440 304 450 300 10;
+#X obj 124 153 hradio 15 0 0 13 part empty Goto_part 0 -6 128 8 -262144
+-1 -1 0;
+#X obj 9 7 cnv 15 100 20 empty empty Using_Memento 20 12 1 14 -262144
+-66577 0;
+#N canvas 0 0 504 355 nav 0;
+#X obj 82 38 r part;
+#X msg 99 83 \; pd open \$1-tut.pd .;
+#X obj 65 120 - 1;
+#X obj 68 168 del 10;
+#X obj 66 143 t b f;
+#X obj 71 190 f;
+#X obj 68 248 makefilename pd-%s;
+#X msg 67 219 symbol \$1-tut.pd;
+#X msg 68 280 \; pd \$1 menu_close \;;
+#X connect 0 0 1 0;
+#X connect 0 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 1 5 1;
+#X connect 5 0 7 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 0;
+#X restore 317 15 pd nav;
+#X text 19 65 This is a tutorial explaing the Memento preset system.
+To use it \, make sure \, the directory containing the memento patches
+is in you pd-path \, then navigate through the tutorial parts with
+the following radio button:;
+#X floatatom 158 192 5 0 0 0 currently_viewing part -;
diff --git a/memento/tutorial/0-tut.pd b/memento/tutorial/0-tut.pd
new file mode 100644
index 0000000..53c010d
--- /dev/null
+++ b/memento/tutorial/0-tut.pd
@@ -0,0 +1,17 @@
+#N canvas 489 406 539 307 10;
+#X obj 9 7 cnv 15 100 20 empty empty Overview 20 12 1 14 -262144 -66577
+0;
+#X text 44 168 The caretaker exists only once \, the originator exists
+for every abstraction \, that needs to save something \, and commun
+objects exists for every bit of a save.;
+#X text 46 221 Let's look at the caretaker first.;
+#X obj 349 32 s part;
+#X msg 349 8 1;
+#X text 377 7 click here \, to go on;
+#X text 44 83 Memento is divided in various parts \, where each part
+has a well defined responsibility. A single caretaker is responsible
+for saving and loading state to rsp. from disk \, [originator]s wrap
+all access to change or read out the state. The originator uses commun
+objects to communicate with the things \, that represent the state.
+;
+#X connect 4 0 3 0;
diff --git a/memento/tutorial/1-tut.pd b/memento/tutorial/1-tut.pd
new file mode 100644
index 0000000..e92f68a
--- /dev/null
+++ b/memento/tutorial/1-tut.pd
@@ -0,0 +1,22 @@
+#N canvas 328 363 557 382 10;
+#X obj 9 7 cnv 15 100 20 empty empty The_Caretaker 20 12 1 14 -262144
+-66577 0;
+#X obj 378 34 s part;
+#X msg 378 10 2;
+#X text 406 8 click here \, to go on;
+#X text 44 83 The most comfortable way to use the caretaker object
+is the careGUI GUI patch:;
+#X obj 46 122 careGUI;
+#X text 43 208 It *needs* to know a filename \, before it's functional.
+You either can provide this as an argument \, or click on FILE to select
+a state file.;
+#X obj 434 284 bng 15 250 50 0 empty empty print 0 -6 0 8 -261689 -1
+-1;
+#X text 41 305 Restore also sends a;
+#X msg 191 305 bang;
+#X text 230 306 to the careGUI outlet.;
+#X text 39 332 You can use the bang \, to do housekeeping after a state
+has been loaded from disk.;
+#X text 38 257 Save and Restore do as they say: They move the memory
+data to and from disk. To see the menory data \, you can press;
+#X connect 2 0 1 0;
diff --git a/memento/tutorial/10-tut.pd b/memento/tutorial/10-tut.pd
new file mode 100644
index 0000000..5461ad6
--- /dev/null
+++ b/memento/tutorial/10-tut.pd
@@ -0,0 +1,41 @@
+#N canvas 347 241 611 495 10;
+#X obj 9 7 cnv 15 100 20 empty empty Using_OSC 20 12 1 14 -262144 -66577
+0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X obj 59 298 OSCAbstraction /OSCState;
+#X msg 378 10 11;
+#X obj 59 249 pack s s;
+#X obj 249 245 pack s 0;
+#X obj 418 244 pack s 0;
+#X symbolatom 59 167 10 0 0 0 - - -;
+#X obj 59 189 t b s;
+#X obj 59 215 symbol /OSCState/aSymbol;
+#X floatatom 249 167 5 0 0 0 - - -;
+#X obj 418 171 hradio 15 1 0 8 empty empty aRadio 0 -6 0 8 -262144
+-1 -1 3;
+#X obj 418 218 symbol /OSCState/aRadio;
+#X obj 249 217 symbol /OSCState/aFloat;
+#X obj 249 191 t b f;
+#X obj 418 194 t b f;
+#X text 55 76 Here's an example \, how you could create the needed
+OSC-messages by hand: OSC-Selectors are like a filesystem path \, where
+/ is the directory divider. First comes the name of the state \, after
+that the thing to set and as second part of the list you give the value
+to set.;
+#X connect 4 0 1 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 9 1 5 1;
+#X connect 10 0 5 0;
+#X connect 11 0 15 0;
+#X connect 12 0 16 0;
+#X connect 13 0 7 0;
+#X connect 14 0 6 0;
+#X connect 15 0 14 0;
+#X connect 15 1 6 1;
+#X connect 16 0 13 0;
+#X connect 16 1 7 1;
diff --git a/memento/tutorial/11-tut.pd b/memento/tutorial/11-tut.pd
new file mode 100644
index 0000000..e1ebbf4
--- /dev/null
+++ b/memento/tutorial/11-tut.pd
@@ -0,0 +1,25 @@
+#N canvas 452 267 611 495 10;
+#X obj 9 7 cnv 15 100 20 empty empty Networking_with_OSC 20 12 1 14
+-262144 -66577 0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X obj 76 340 OSCAbstraction /OSCState;
+#X obj 126 291 sendOSC;
+#X obj 76 316 dumpOSC 3000;
+#X msg 282 274 connect localhost 3000;
+#X obj 282 252 loadbang;
+#X obj 76 187 netcontrol /OSCState aFloat;
+#X obj 281 187 netcontrol /OSCState aRadio;
+#X text 65 77 Memento comes with an example remote control GUI called
+netcontrol. You give it the name of a receiver and then you can send
+floats to that receiver. Doing the same for other data types like symbols
+is left as an exercise to the reader. You supply the target state as
+first argument \, the receiver as second arg (without / in the example)
+;
+#X msg 378 10 12;
+#X connect 5 0 3 0;
+#X connect 6 0 4 0;
+#X connect 7 0 6 0;
+#X connect 8 0 4 0;
+#X connect 9 0 4 0;
+#X connect 11 0 1 0;
diff --git a/memento/tutorial/12-tut.pd b/memento/tutorial/12-tut.pd
new file mode 100644
index 0000000..69ebb7e
--- /dev/null
+++ b/memento/tutorial/12-tut.pd
@@ -0,0 +1,61 @@
+#N canvas 339 60 576 798 10;
+#X obj 9 7 cnv 15 100 20 empty empty Summary_and_Conclusion 20 12 1
+14 -262144 -66577 0;
+#X text 36 95 a) Things to do inside abstractions;
+#X obj 71 240 originator \$1 \$0;
+#X obj 125 183 commun /myFloat \$0;
+#X floatatom 215 157 5 0 0 0 - - -;
+#X obj 73 367 originator \$1 \$0;
+#X obj 73 317 t b f;
+#X msg 73 342 set;
+#X msg 103 343 substate \$1;
+#X floatatom 73 299 5 0 0 1 presets - -;
+#X obj 234 300 inlet OSC;
+#X text 45 397 b) Things to do in the parent patch;
+#X text 72 419 1 create a single careGUI:;
+#X obj 73 443 careGUI;
+#X obj 74 582 miniab /one;
+#X text 70 639 3 Use the OSC-inlet for remote control as you like.
+;
+#X text 151 717 Now have fun and: Please share your patches.;
+#X text 39 37 Now you've seen in detail \, how to add a preset mechanism
+and remote control with OSC to a patch using Memento. I'd like to end
+this tutorial with a summary of what to do to memento-ize your work:
+;
+#X text 72 534 2 use your abstractions with unique identifiers as arguments
+\, starting with a slash for OSC:;
+#X text 66 124 1 X-wrap (cross-wrap) all things \, that you want to
+save \, with 'commun' objects. Use names starting with slashes for
+OSC:;
+#X text 69 220 2 create a single [originator \$1 \$0] object per abstraction
+;
+#X text 71 278 3 Create a substate selector and OSC-inlet (optional):
+;
+#N canvas 0 0 450 300 OSC 0;
+#X obj 114 56 loadbang;
+#X obj 114 124 sendOSC;
+#X msg 114 86 connect localhost 3001;
+#X obj 62 62 inlet;
+#X msg 228 107 disconnect;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X restore 75 715 pd OSC;
+#X obj 377 564 dumpOSC 3001;
+#X obj 227 581 miniab /two;
+#X obj 75 660 netcontrol /* myFloat;
+#X text 150 736 (c) Frank Barknecht <fbar@footils.org> \, free to use
+as you like.;
+#X text 286 671 (See the /*? OSC knows wildcards!);
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 5 0;
+#X connect 8 0 5 0;
+#X connect 9 0 6 0;
+#X connect 10 0 5 1;
+#X connect 23 0 14 0;
+#X connect 23 0 24 0;
+#X connect 25 0 22 0;
diff --git a/memento/tutorial/2-tut.pd b/memento/tutorial/2-tut.pd
new file mode 100644
index 0000000..fe56d09
--- /dev/null
+++ b/memento/tutorial/2-tut.pd
@@ -0,0 +1,22 @@
+#N canvas 322 395 557 382 10;
+#X obj 9 7 cnv 15 100 20 empty empty The_Originator 20 12 1 14 -262144
+-66577 0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X msg 378 10 3;
+#X text 41 68 The originator object wraps access to the data stored
+in memory. The object takes two creating argument: a symbol and a float.
+;
+#X obj 141 128 originator TheState 10;
+#X text 45 160 The first \, symbolic argument will be the name of the
+state \, that is managed. The second \, float argument is used for
+communication with the commun objects. Normally it should be unique
+to a patch \, because then you get only local communcation inside a
+patch's borders. To make it unique use \$0:;
+#X obj 139 256 originator AnotherState \$0;
+#X text 48 282 If you intend to use your patch several times \, it's
+possible to use \$1 as argument to originator \, so that the surrounding
+patch will specify the state name. So in the end \, you'll probably
+always use this:;
+#X obj 139 353 originator \$1 \$0;
+#X connect 3 0 1 0;
diff --git a/memento/tutorial/3-tut.pd b/memento/tutorial/3-tut.pd
new file mode 100644
index 0000000..083708a
--- /dev/null
+++ b/memento/tutorial/3-tut.pd
@@ -0,0 +1,30 @@
+#N canvas 322 395 781 403 10;
+#X obj 10 7 cnv 15 100 20 empty empty Originator_Methods 20 12 1 14
+-262144 -66577 0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X obj 30 301 originator aState \$0;
+#X msg 77 179 set;
+#X msg 74 214 copy;
+#X msg 72 233 paste;
+#X msg 74 270 create AnotherState;
+#X msg 77 132 substate \$1;
+#X obj 77 110 hradio 15 0 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X text 219 108 Select a substate. Substates are subdirectories \,
+that contain a set of state variables.;
+#X text 217 173 Set the managed objects to the values of the substate
+currently selected. Objects are managed with 'commun'. See later;
+#X text 215 218 Copy and paste a complete substate.;
+#X text 219 266 Create a totally new state. Overwrites the object argument.
+Instead of a state called 'aState' now everything is inside a state
+'AnotherState'.;
+#X text 42 64 Originator accepts various methods:;
+#X msg 378 10 4;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X connect 9 0 8 0;
+#X connect 15 0 1 0;
diff --git a/memento/tutorial/4-tut.pd b/memento/tutorial/4-tut.pd
new file mode 100644
index 0000000..66bb69d
--- /dev/null
+++ b/memento/tutorial/4-tut.pd
@@ -0,0 +1,41 @@
+#N canvas 318 284 611 495 10;
+#X obj 9 7 cnv 15 100 20 empty empty Commun 20 12 1 14 -262144 -66577
+0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X msg 378 10 5;
+#X obj 156 192 commun number 10;
+#X text 63 82 'commun' objects are responsible for communication between
+the 'originator' and the things you want to set. They also accept a
+symbolic argument as first and a float as second argument. The symbolic
+argument is used to uniquely identify the 'thing' that is managed.
+The second \, float arg serves the communication with the 'originator'.
+Normally you use \$0 here.;
+#X text 60 214 X-lets;
+#X floatatom 272 296 5 0 0 0 - - -;
+#X obj 139 321 commun aRadio \$0;
+#X obj 139 296 commun aFloat \$0;
+#X obj 271 322 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X text 73 346 Of course you also can use send/receives for this \,
+to keep things more readable:;
+#X obj 92 430 s \$0-something-in;
+#X obj 92 385 r \$0-something-out;
+#X obj 92 406 commun aThing 10;
+#X obj 263 432 s \$0-something-out;
+#X obj 263 387 r \$0-something-in;
+#X obj 266 410 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 69 230 The inlet of commun reads \, what should be saved \,
+continuosly. The outlet sets the managed 'thing' to the value \, that
+is currently stored in the 'originator' state. So you normally 'cross-wrap'
+things like this:;
+#X connect 3 0 1 0;
+#X connect 7 0 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 16 0 17 0;
+#X connect 17 0 15 0;
diff --git a/memento/tutorial/5-tut.pd b/memento/tutorial/5-tut.pd
new file mode 100644
index 0000000..c8061d3
--- /dev/null
+++ b/memento/tutorial/5-tut.pd
@@ -0,0 +1,51 @@
+#N canvas 318 284 611 495 10;
+#X obj 9 7 cnv 15 100 20 empty empty Commun_and_Originator 20 12 1
+14 -262144 -66577 0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X floatatom 166 253 5 0 0 0 - - -;
+#X obj 98 334 commun aRadio \$0;
+#X obj 97 282 commun aFloat \$0;
+#X obj 167 310 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 4;
+#X obj 87 421 s \$0-something-in;
+#X obj 87 376 r \$0-something-out;
+#X obj 223 422 s \$0-something-out;
+#X obj 223 375 r \$0-something-in;
+#X obj 226 400 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 3900 1;
+#X msg 378 10 6;
+#X obj 87 397 commun aThing \$0;
+#X obj 152 202 originator myState \$0;
+#X msg 152 177 set;
+#X msg 189 177 substate \$1;
+#X obj 159 126 tgl 24 0 empty empty Toggles_Between_2_Substates 0 -6
+0 10 -225280 -1 -1 0 1;
+#X obj 159 153 t b f;
+#X text 67 451 Now play with these settings and try to switch between
+substates as well.;
+#X text 66 224 And lets manage some things with commun objects. Note
+the \$0.;
+#X symbolatom 359 267 10 0 0 2 type_something_here - -;
+#X obj 323 289 commun aSymbol \$0;
+#X obj 323 313 symbol;
+#X text 284 334 Symbols need another 'symbol' object!;
+#X text 51 77 Now lets see \, how originator and commun work together.
+First create the originator and add some messages to it:;
+#X connect 3 0 5 0;
+#X connect 4 0 6 0;
+#X connect 5 0 3 0;
+#X connect 6 0 4 0;
+#X connect 8 0 13 0;
+#X connect 10 0 11 0;
+#X connect 11 0 9 0;
+#X connect 12 0 1 0;
+#X connect 13 0 7 0;
+#X connect 15 0 14 0;
+#X connect 16 0 14 0;
+#X connect 17 0 18 0;
+#X connect 18 0 15 0;
+#X connect 18 1 16 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 23 0 21 0;
diff --git a/memento/tutorial/6-tut.pd b/memento/tutorial/6-tut.pd
new file mode 100644
index 0000000..de5eb56
--- /dev/null
+++ b/memento/tutorial/6-tut.pd
@@ -0,0 +1,39 @@
+#N canvas 318 284 611 495 10;
+#X obj 9 7 cnv 15 100 20 empty empty Saving_And_Loading 20 12 1 14
+-262144 -66577 0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X floatatom 166 253 5 0 0 0 - - -;
+#X obj 98 334 commun aRadio \$0;
+#X obj 97 282 commun aFloat \$0;
+#X obj 167 310 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 7;
+#X msg 96 201 set;
+#X msg 133 201 substate \$1;
+#X obj 103 150 tgl 24 0 empty empty Toggles_Between_2_Substates 0 -6
+0 10 -225280 -1 -1 1 1;
+#X obj 103 177 t b f;
+#X symbolatom 359 267 10 0 0 2 type_something_here - -;
+#X obj 323 289 commun aSymbol \$0;
+#X obj 323 313 symbol;
+#X text 284 334 Symbols need another 'symbol' object!;
+#X msg 378 10 7;
+#X text 51 77 Now only a single change: We added a caretaker with careGUI.
+Please select a file then play with saving and restoring. You also
+can peek into the state with PRINT.;
+#X obj 98 377 careGUI;
+#X obj 96 226 originator myState-2 \$0;
+#X text 117 461 First select a FILE \, then SAVE!!!;
+#X connect 3 0 5 0;
+#X connect 4 0 6 0;
+#X connect 5 0 3 0;
+#X connect 6 0 4 0;
+#X connect 7 0 18 0;
+#X connect 8 0 18 0;
+#X connect 9 0 10 0;
+#X connect 10 0 7 0;
+#X connect 10 1 8 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 11 0;
+#X connect 15 0 1 0;
diff --git a/memento/tutorial/7-tut.pd b/memento/tutorial/7-tut.pd
new file mode 100644
index 0000000..3ad77f1
--- /dev/null
+++ b/memento/tutorial/7-tut.pd
@@ -0,0 +1,16 @@
+#N canvas 393 272 611 495 10;
+#X obj 9 7 cnv 15 100 20 empty empty Abstractions 20 12 1 14 -262144
+-66577 0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X msg 378 10 8;
+#X obj 59 187 anAbstraction TheStateName;
+#X obj 98 377 careGUI TheStateName.dat;
+#X text 57 78 Here's comes the cool part. All you've learned so far
+also works with abstractions. Abstractions are pd-files \, that are
+saved standalone and then called in another patch by name. Here we
+gave our abstraction an argument \, that gets routed to the 'originator'
+as name of the state. Play with it \, and don't forget to first select
+a caretaker-file.;
+#X text 100 461 First select a FILE \, then SAVE or RESTORE!!!;
+#X connect 3 0 1 0;
diff --git a/memento/tutorial/8-tut.pd b/memento/tutorial/8-tut.pd
new file mode 100644
index 0000000..ecb1155
--- /dev/null
+++ b/memento/tutorial/8-tut.pd
@@ -0,0 +1,13 @@
+#N canvas 393 272 611 495 10;
+#X obj 9 7 cnv 15 100 20 empty empty Multiple_Abstractions 20 12 1
+14 -262144 -66577 0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X text 100 461 First select a FILE \, then SAVE or RESTORE!!!;
+#X obj 53 91 anAbstraction oneState;
+#X obj 54 233 anAbstraction anotherState;
+#X msg 378 10 9;
+#X obj 98 377 careGUI MoreStates.dat;
+#X text 52 56 By using different arguments \, you can even reuse an
+abstraction several times \, each with its own state.;
+#X connect 6 0 1 0;
diff --git a/memento/tutorial/9-tut.pd b/memento/tutorial/9-tut.pd
new file mode 100644
index 0000000..290e703
--- /dev/null
+++ b/memento/tutorial/9-tut.pd
@@ -0,0 +1,20 @@
+#N canvas 393 272 611 495 10;
+#X obj 9 7 cnv 15 100 20 empty empty Remote_Control_with_OSC 20 12
+1 14 -262144 -66577 0;
+#X obj 378 34 s part;
+#X text 406 8 click here \, to go on;
+#X text 98 476 First select a FILE \, then SAVE or RESTORE!!!;
+#X obj 96 392 careGUI MoreStates.dat;
+#X obj 47 163 OSCAbstraction /OSCState;
+#X text 45 62 THere even is a remote control built into Memento. It
+is done using Open Sound Control OSC. OSC requires \, that send- and
+receive-names start with a slash '/'. So now our state name (the argument
+of OSCAbstration) has a slash \, and if you look inside \, you'll see
+\, that all commun objects now also start with a slash.;
+#X msg 378 10 10;
+#X text 44 314 Also the abstraction now has gotten an inlet which accepts
+OSC-messages. This needs to be connected to the originator's right
+inlet \, its 'OSC-inlet'. Those messages are always send to a receive
+called \$0-OSC. Just always use it that way. See the next part for
+an example useage.;
+#X connect 7 0 1 0;
diff --git a/memento/tutorial/MoreStates.dat b/memento/tutorial/MoreStates.dat
new file mode 100644
index 0000000..8fd6aaf
--- /dev/null
+++ b/memento/tutorial/MoreStates.dat
@@ -0,0 +1,22 @@
+myState-2 0 , aFloat , 50
+myState-2 0 , aSymbol , help
+myState-2 0 , aRadio , 3
+myState-2 1 , aFloat , 82
+myState-2 1 , aSymbol , me
+myState-2 1 , aRadio , 7
+TheStateName 0 , aFloat , 95
+TheStateName 0 , aSymbol , help
+TheStateName 0 , aRadio , 1
+TheStateName 1 , aFloat , 60
+TheStateName 1 , aSymbol , hi
+TheStateName 1 , aRadio , 4
+oneState 0 , aFloat , 30
+oneState 0 , aSymbol , ImFirst
+oneState 0 , aRadio , 4
+oneState 1 , aSymbol , hi
+anotherState 0 , aFloat , 109
+anotherState 0 , aSymbol , IamNumberTwo
+anotherState 0 , aRadio , 1
+anotherState 1 , aFloat , 144
+anotherState 1 , aSymbol , second
+anotherState 1 , aRadio , 7
diff --git a/memento/tutorial/OSCAbstraction.pd b/memento/tutorial/OSCAbstraction.pd
new file mode 100644
index 0000000..d7c3617
--- /dev/null
+++ b/memento/tutorial/OSCAbstraction.pd
@@ -0,0 +1,32 @@
+#N canvas 128 135 527 326 10;
+#X floatatom 61 224 5 0 0 1 aFloat - -;
+#X obj 258 231 hradio 15 1 0 8 empty empty aRadio 0 -6 0 8 -262144
+-1 -1 4;
+#X msg 52 137 set;
+#X msg 89 137 substate \$1;
+#X obj 59 86 tgl 24 0 empty empty Toggles_Between_2_Substates 0 -6
+0 10 -225280 -1 -1 0 1;
+#X obj 59 113 t b f;
+#X symbolatom 313 159 10 0 0 2 aSymbol - -;
+#X obj 240 152 symbol;
+#X text 201 173 Symbols need another 'symbol' object!;
+#X obj 52 162 originator \$1 \$0;
+#X obj 208 98 inlet;
+#X text 262 99 OSC-In;
+#X obj 240 128 commun /aSymbol \$0;
+#X obj 56 253 commun /aFloat \$0;
+#X obj 252 259 commun /aRadio \$0;
+#X connect 0 0 13 0;
+#X connect 1 0 14 0;
+#X connect 2 0 9 0;
+#X connect 3 0 9 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 12 0;
+#X connect 7 0 6 0;
+#X connect 10 0 9 1;
+#X connect 12 0 7 0;
+#X connect 13 0 0 0;
+#X connect 14 0 1 0;
+#X coords 0 0 1 1 400 140 1;
diff --git a/memento/tutorial/TheStateName.dat b/memento/tutorial/TheStateName.dat
new file mode 100644
index 0000000..a1c718e
--- /dev/null
+++ b/memento/tutorial/TheStateName.dat
@@ -0,0 +1,6 @@
+TheStateName 0 , aFloat , 27
+TheStateName 0 , aSymbol , help
+TheStateName 0 , aRadio , 1
+TheStateName 1 , aFloat , 60
+TheStateName 1 , aSymbol , hi
+TheStateName 1 , aRadio , 4
diff --git a/memento/tutorial/anAbstraction.pd b/memento/tutorial/anAbstraction.pd
new file mode 100644
index 0000000..3038356
--- /dev/null
+++ b/memento/tutorial/anAbstraction.pd
@@ -0,0 +1,29 @@
+#N canvas 128 135 527 326 10;
+#X floatatom 58 189 5 0 0 0 - - -;
+#X obj 54 270 commun aRadio \$0;
+#X obj 53 218 commun aFloat \$0;
+#X obj 60 242 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X msg 52 137 set;
+#X msg 89 137 substate \$1;
+#X obj 59 86 tgl 24 0 empty empty Toggles_Between_2_Substates 0 -6
+0 10 -225280 -1 -1 0 1;
+#X obj 59 113 t b f;
+#X symbolatom 305 202 10 0 0 2 type_something_here - -;
+#X obj 232 171 commun aSymbol \$0;
+#X obj 232 195 symbol;
+#X text 193 216 Symbols need another 'symbol' object!;
+#X obj 52 162 originator \$1 \$0;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 4 0 12 0;
+#X connect 5 0 12 0;
+#X connect 6 0 7 0;
+#X connect 7 0 4 0;
+#X connect 7 1 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X coords 0 0 1 1 400 140 1;
diff --git a/memento/tutorial/miniab.pd b/memento/tutorial/miniab.pd
new file mode 100644
index 0000000..f212025
--- /dev/null
+++ b/memento/tutorial/miniab.pd
@@ -0,0 +1,18 @@
+#N canvas 82 160 413 225 10;
+#X obj 27 180 originator \$1 \$0;
+#X obj 27 130 t b f;
+#X msg 27 155 set;
+#X msg 57 153 substate \$1;
+#X floatatom 27 90 5 0 0 3 presets - -;
+#X obj 150 65 inlet OSC;
+#X obj 211 124 commun /myFloat \$0;
+#X floatatom 249 91 5 0 0 3 myFloat - -;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 1;
+#X connect 6 0 7 0;
+#X connect 7 0 6 0;
+#X coords 0 0 1 1 140 50 1;
diff --git a/memento/tutorial/neu.dat b/memento/tutorial/neu.dat
new file mode 100644
index 0000000..f4e1c31
--- /dev/null
+++ b/memento/tutorial/neu.dat
@@ -0,0 +1,22 @@
+anotherState 0 , aRadio , 7
+anotherState 0 , aFloat , 9
+anotherState 0 , aSymbol , zwei
+anotherState 1 , aRadio , 0
+anotherState 1 , aFloat , 31
+anotherState 1 , aSymbol , zweieinhalb
+myState-2 0 , aRadio , 3
+myState-2 0 , aFloat , 50
+myState-2 0 , aSymbol , help
+myState-2 1 , aRadio , 7
+myState-2 1 , aFloat , 82
+myState-2 1 , aSymbol , me
+oneState 0 , aRadio , 3
+oneState 0 , aFloat , 9
+oneState 0 , aSymbol , eins
+oneState 1 , aRadio , 7
+TheStateName 0 , aRadio , 1
+TheStateName 0 , aFloat , 27
+TheStateName 0 , aSymbol , help
+TheStateName 1 , aRadio , 4
+TheStateName 1 , aFloat , 60
+TheStateName 1 , aSymbol , hi
diff --git a/memento/tutorial/savedState.dat b/memento/tutorial/savedState.dat
new file mode 100644
index 0000000..7532a60
--- /dev/null
+++ b/memento/tutorial/savedState.dat
@@ -0,0 +1,6 @@
+myState-2 0 , aFloat , 50
+myState-2 0 , aSymbol , help
+myState-2 0 , aRadio , 3
+myState-2 1 , aFloat , 82
+myState-2 1 , aSymbol , me
+myState-2 1 , aRadio , 7
diff --git a/memento/tutorial/tutorial.pd b/memento/tutorial/tutorial.pd
new file mode 100644
index 0000000..5cd436b
--- /dev/null
+++ b/memento/tutorial/tutorial.pd
@@ -0,0 +1,15 @@
+#N canvas 440 304 450 300 10;
+#X obj 124 153 hradio 15 0 0 8 part empty Goto_part 0 -6 128 8 -262144
+-1 -1 0;
+#X obj 9 7 cnv 15 100 20 empty empty Using_Memento 20 12 1 14 -262144
+-66577 0;
+#N canvas 0 0 450 300 nav 0;
+#X obj 82 38 r part;
+#X msg 79 75 \; pd open \$1-tut.pd .;
+#X connect 0 0 1 0;
+#X restore 317 15 pd nav;
+#X text 19 65 This is a tutorial explaing the Memento preset system.
+To use it \, make sure \, the directory containing the memento patches
+is in you pd-path \, then navigate through the tutorial parts with
+the following radio button:;
+#X floatatom 158 192 5 0 0 0 currently_viewing part -;
diff --git a/stuff/rotator.pd b/stuff/rotator.pd
new file mode 100644
index 0000000..063b039
--- /dev/null
+++ b/stuff/rotator.pd
@@ -0,0 +1,74 @@
+#N canvas 475 363 486 436 10;
+#X floatatom 84 281 5 0 0 0 - - -;
+#X floatatom 132 281 5 0 0 0 - - -;
+#X floatatom 183 280 5 0 0 0 - - -;
+#X obj 24 128 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 324 88 table store;
+#X obj 88 344 tabwrite store;
+#X obj 128 309 pack 0 1;
+#X obj 66 308 pack 0 0;
+#X obj 188 309 pack 0 2;
+#X obj 84 104 tabread store;
+#X floatatom 95 125 5 0 0 0 - - -;
+#X obj 101 40 + 0;
+#X obj 135 41 + 1;
+#X obj 173 42 + 2;
+#X obj 135 128 tabread store;
+#X obj 189 148 tabread store;
+#X obj 99 62 mod 3;
+#X obj 138 63 mod 3;
+#X obj 179 65 mod 3;
+#X floatatom 119 4 5 0 0 0 - - -;
+#X floatatom 201 91 5 0 0 0 - - -;
+#X floatatom 146 86 5 0 0 0 - - -;
+#X floatatom 104 84 5 0 0 0 - - -;
+#X floatatom 190 178 5 0 0 0 - - -;
+#X floatatom 134 157 5 0 0 0 - - -;
+#X obj 183 234 f;
+#X obj 128 223 f;
+#X obj 87 219 f;
+#X obj 24 215 i;
+#X obj 52 215 + 1;
+#X obj 302 203 vradio 12 1 0 4 empty empty empty 0 -6 0 8 -262144 -1
+-1 2;
+#X obj 320 204 vradio 12 1 0 4 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X obj 338 204 vradio 12 1 0 4 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X obj 26 169 t b b;
+#X connect 0 0 7 0;
+#X connect 1 0 6 0;
+#X connect 2 0 8 0;
+#X connect 3 0 33 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 8 0 5 0;
+#X connect 9 0 10 0;
+#X connect 10 0 27 1;
+#X connect 10 0 30 0;
+#X connect 11 0 16 0;
+#X connect 12 0 17 0;
+#X connect 13 0 18 0;
+#X connect 14 0 24 0;
+#X connect 15 0 23 0;
+#X connect 16 0 9 0;
+#X connect 16 0 22 0;
+#X connect 17 0 14 0;
+#X connect 17 0 21 0;
+#X connect 18 0 15 0;
+#X connect 18 0 20 0;
+#X connect 19 0 11 0;
+#X connect 19 0 12 0;
+#X connect 19 0 13 0;
+#X connect 23 0 25 1;
+#X connect 23 0 32 0;
+#X connect 24 0 26 1;
+#X connect 24 0 31 0;
+#X connect 25 0 2 0;
+#X connect 26 0 1 0;
+#X connect 27 0 0 0;
+#X connect 28 0 29 0;
+#X connect 28 0 19 0;
+#X connect 29 0 28 1;
+#X connect 33 1 28 0;
diff --git a/tests/README b/tests/README
new file mode 100644
index 0000000..408c1e2
--- /dev/null
+++ b/tests/README
@@ -0,0 +1,21 @@
+
+_ __ test __ _
+
+This is a test of network-transparent self-control in the new Memento.
+It works.
+
+Start one Pd with:
+
+pd -realtime -nogui rrad-rec.pd noguiOSC.pd
+
+and the other with
+
+pd -noaudio rrad-rec.pd guiOSC.pd
+
+Turn volume up in guiOSC.pd, and you proably need to select your own samples.
+
+Then you get one Pd running with dsp on, but no GUI to disturb audio
+computation, and the other Pd runs with GUI but without audio to disturb.
+
+You (almost) can now use the GUI-Pd as if it was a normal, audio-enabled Pd,
+although that one is running (crash-protected) in another process.
diff --git a/tests/bla.pd b/tests/bla.pd
new file mode 100644
index 0000000..3adfd7d
--- /dev/null
+++ b/tests/bla.pd
@@ -0,0 +1,44 @@
+#N canvas 246 305 651 459 10;
+#X obj 185 377 ezdac~;
+#X obj 548 116 env~;
+#X floatatom 550 141 5 0 0 0 - - -;
+#X obj 210 58 osc~ 220;
+#X obj 76 60 ctlin;
+#X floatatom 73 91 5 0 0 0 - - -;
+#X floatatom 116 95 5 0 0 0 - - -;
+#X floatatom 156 94 5 0 0 0 - - -;
+#X obj 371 74 rrad.edi /a;
+#X obj 545 70 catch~ /r2;
+#X msg 456 41 /a/which symbol /r;
+#X obj 306 119 r \$0-r;
+#X obj 370 117 s \$0-r;
+#X obj 199 117 r \$0-r;
+#X obj 133 47 osc~ 440;
+#X obj 468 71 catch~ /r1;
+#X obj 211 141 rrad.ms /r2;
+#X obj 104 139 rrad.ms /r1;
+#X obj 544 185 *~;
+#X obj 574 168 osc~ 330;
+#X obj 412 120 r \$0-r;
+#X obj 317 142 rrad.ms /r3;
+#X obj 349 392 catch~ /r3;
+#X connect 1 0 2 0;
+#X connect 3 0 16 0;
+#X connect 4 0 5 0;
+#X connect 4 1 6 0;
+#X connect 4 2 7 0;
+#X connect 8 0 12 0;
+#X connect 9 0 18 0;
+#X connect 10 0 8 1;
+#X connect 11 0 16 1;
+#X connect 13 0 17 1;
+#X connect 14 0 17 0;
+#X connect 16 0 0 0;
+#X connect 16 1 0 1;
+#X connect 17 0 0 0;
+#X connect 17 1 0 1;
+#X connect 18 0 21 0;
+#X connect 19 0 18 1;
+#X connect 20 0 21 1;
+#X connect 21 0 0 0;
+#X connect 21 1 0 1;
diff --git a/tests/guiOSC.pd b/tests/guiOSC.pd
new file mode 100644
index 0000000..70c95e7
--- /dev/null
+++ b/tests/guiOSC.pd
@@ -0,0 +1,49 @@
+#N canvas 469 424 788 361 10;
+#X obj 95 152 sendOSC;
+#X msg 194 102 connect localhost 3001;
+#X obj 88 90 r OSC-out;
+#X obj 97 113 prepend send;
+#X obj 113 32 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 10400 1;
+#X obj 525 61 ctlin;
+#X floatatom 558 94 5 0 0 0 - - -;
+#X obj 548 126 pack 0 0;
+#X msg 547 149 \$2 \$1;
+#X obj 544 182 route 1 2 3;
+#X floatatom 545 213 5 0 0 0 - - -;
+#X floatatom 582 214 5 0 0 0 - - -;
+#X floatatom 623 214 5 0 0 0 - - -;
+#X obj 503 274 s OSC;
+#X msg 497 247 /a/svol \$1;
+#X obj 577 274 s OSC;
+#X obj 573 322 s OSC;
+#X msg 571 247 /b/svol \$1;
+#X msg 567 295 /c/svol \$1;
+#X obj 293 123 dumpOSC 3000;
+#X obj 292 162 OSCroute /beat;
+#X obj 293 196 s beatOSC;
+#X msg 53 62 send /mainvol/vol \$1;
+#X obj 272 231 print beatOSC;
+#X obj 217 78 loadbang;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X connect 4 0 22 0;
+#X connect 5 0 7 0;
+#X connect 5 2 6 0;
+#X connect 5 2 7 1;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 9 2 12 0;
+#X connect 10 0 14 0;
+#X connect 11 0 17 0;
+#X connect 12 0 18 0;
+#X connect 14 0 13 0;
+#X connect 17 0 15 0;
+#X connect 18 0 16 0;
+#X connect 19 0 20 0;
+#X connect 20 0 21 0;
+#X connect 22 0 0 0;
+#X connect 24 0 1 0;
diff --git a/tests/noguiOSC.pd b/tests/noguiOSC.pd
new file mode 100644
index 0000000..725c59b
--- /dev/null
+++ b/tests/noguiOSC.pd
@@ -0,0 +1,19 @@
+#N canvas 214 96 523 348 10;
+#X obj 115 90 dumpOSC 3001;
+#X obj 152 121 print incoming;
+#X obj 112 156 s OSC;
+#X obj 291 224 sendOSC;
+#X obj 302 74 r beat;
+#X obj 329 165 loadbang;
+#X msg 309 198 connect localhost 3000;
+#X msg 404 165 disconnect;
+#X obj 289 119 prepend send;
+#X obj 290 99 prepend /beat;
+#X connect 0 0 1 0;
+#X connect 0 0 2 0;
+#X connect 4 0 9 0;
+#X connect 5 0 6 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X connect 9 0 8 0;
diff --git a/tests/rrad-rec.dat b/tests/rrad-rec.dat
new file mode 100644
index 0000000..3ff0a5f
--- /dev/null
+++ b/tests/rrad-rec.dat
@@ -0,0 +1,296 @@
+/metro 0 , /bpm , 120
+/c 0 , /n6 , 13
+/c 0 , /n4 , 13
+/c 0 , /n2 , 13
+/c 0 , /last , 15
+/c 0 , /n31 , 13
+/c 0 , /s14 , 28.2222
+/c 0 , /n29 , 13
+/c 0 , /s16 , 34.2698
+/c 0 , /n27 , 13
+/c 0 , /s10 , 0
+/c 0 , /n25 , 13
+/c 0 , /s12 , 0
+/c 0 , /n23 , 13
+/c 0 , /s6 , 0
+/c 0 , /n21 , 13
+/c 0 , /s8 , 24.1905
+/c 0 , /n19 , 13
+/c 0 , /s2 , 0
+/c 0 , /n17 , 13
+/c 0 , /s4 , 0
+/c 0 , /n15 , -0
+/c 0 , /n13 , 13
+/c 0 , /n11 , -0
+/c 0 , /n9 , 13
+/c 0 , /n7 , -0
+/c 0 , /n5 , 13
+/c 0 , /n3 , -0
+/c 0 , /s32 , 0
+/c 0 , /n1 , 13
+/c 0 , /s30 , 0
+/c 0 , /s31 , 0
+/c 0 , /play , 1
+/c 0 , /s28 , 0
+/c 0 , /s29 , 0
+/c 0 , /s26 , 0
+/c 0 , /transp , 0
+/c 0 , /resol , 2.55319
+/c 0 , /s27 , 0
+/c 0 , /s24 , 0
+/c 0 , /s25 , 0
+/c 0 , /s22 , 0
+/c 0 , /s23 , 0
+/c 0 , /s20 , 0
+/c 0 , /s21 , 0
+/c 0 , /s18 , 0
+/c 0 , /n32 , 13
+/c 0 , /s19 , 0
+/c 0 , /n30 , 13
+/c 0 , /n28 , 13
+/c 0 , /s17 , 0
+/c 0 , /svol , 125
+/c 0 , /n26 , 13
+/c 0 , /s11 , 84.6667
+/c 0 , /n24 , 13
+/c 0 , /s13 , 0
+/c 0 , /n22 , 13
+/c 0 , /s , 33
+/c 0 , /s7 , 84.6667
+/c 0 , /n20 , 13
+/c 0 , /s9 , 0
+/c 0 , /n18 , 13
+/c 0 , /s3 , 96.7619
+/c 0 , /n16 , -0
+/c 0 , /s5 , 0
+/c 0 , /n14 , -0
+/c 0 , /s15 , 54.4286
+/c 0 , /n12 , 13
+/c 0 , /s1 , 0
+/c 0 , /n10 , 13
+/c 0 , /n8 , -0
+/a 0 , /n6 , 13
+/a 0 , /n4 , 13
+/a 0 , /n2 , 13
+/a 0 , /last , 15
+/a 0 , /n31 , 13
+/a 0 , /s14 , 68.5397
+/a 0 , /n29 , 13
+/a 0 , /s16 , 54.4286
+/a 0 , /n27 , 13
+/a 0 , /s10 , 0
+/a 0 , /n25 , 13
+/a 0 , /s12 , 0
+/a 0 , /n23 , 13
+/a 0 , /s6 , 0
+/a 0 , /n21 , 13
+/a 0 , /s8 , 0
+/a 0 , /n19 , 13
+/a 0 , /s2 , 0
+/a 0 , /n17 , 13
+/a 0 , /s4 , 0
+/a 0 , /n15 , 13
+/a 0 , /n13 , 13
+/a 0 , /n11 , -0
+/a 0 , /n9 , 13
+/a 0 , /n7 , -0
+/a 0 , /n5 , 13
+/a 0 , /n3 , -0
+/a 0 , /s32 , 0
+/a 0 , /n1 , 13
+/a 0 , /s30 , 0
+/a 0 , /s31 , 0
+/a 0 , /play , 1
+/a 0 , /s28 , 0
+/a 0 , /s29 , 0
+/a 0 , /s26 , 0
+/a 0 , /transp , 0
+/a 0 , /resol , 2.23404
+/a 0 , /s27 , 0
+/a 0 , /s24 , 0
+/a 0 , /s25 , 0
+/a 0 , /s22 , 0
+/a 0 , /s23 , 0
+/a 0 , /s20 , 0
+/a 0 , /s21 , 0
+/a 0 , /s18 , 0
+/a 0 , /n32 , 13
+/a 0 , /s19 , 0
+/a 0 , /n30 , 13
+/a 0 , /n28 , 13
+/a 0 , /s17 , 0
+/a 0 , /svol , 76
+/a 0 , /n26 , 13
+/a 0 , /s11 , 80.6349
+/a 0 , /n24 , 13
+/a 0 , /s13 , 102.81
+/a 0 , /n22 , 13
+/a 0 , /s , 47
+/a 0 , /s7 , 70.5556
+/a 0 , /n20 , 13
+/a 0 , /s9 , 0
+/a 0 , /n18 , 13
+/a 0 , /s3 , 98.7778
+/a 0 , /n16 , -0
+/a 0 , /s5 , 26.2063
+/a 0 , /n14 , -0
+/a 0 , /s15 , 24.1905
+/a 0 , /n12 , 13
+/a 0 , /s1 , 0
+/a 0 , /n10 , 13
+/a 0 , /n8 , 13
+/a 1 , /n6 , 13
+/a 1 , /n4 , 13
+/a 1 , /n2 , 13
+/a 1 , /last , 31
+/a 1 , /n31 , -0
+/a 1 , /s14 , 68.5397
+/a 1 , /n29 , 13
+/a 1 , /s16 , 54.4286
+/a 1 , /n27 , 13
+/a 1 , /s10 , 0
+/a 1 , /n25 , -0
+/a 1 , /s12 , 0
+/a 1 , /n23 , 13
+/a 1 , /s6 , 0
+/a 1 , /n21 , -0
+/a 1 , /s8 , 0
+/a 1 , /n19 , -0
+/a 1 , /s2 , 0
+/a 1 , /n17 , 13
+/a 1 , /s4 , 0
+/a 1 , /n15 , 13
+/a 1 , /n13 , 13
+/a 1 , /n11 , -0
+/a 1 , /n9 , -0
+/a 1 , /n7 , -0
+/a 1 , /n5 , 13
+/a 1 , /n3 , -0
+/a 1 , /s32 , 0
+/a 1 , /n1 , 13
+/a 1 , /s30 , 0
+/a 1 , /s31 , 46.3651
+/a 1 , /play , 1
+/a 1 , /s28 , 0
+/a 1 , /s29 , 0
+/a 1 , /s26 , 0
+/a 1 , /transp , 0
+/a 1 , /resol , 2.23404
+/a 1 , /s27 , 0
+/a 1 , /s24 , 24.1905
+/a 1 , /s25 , 50.3968
+/a 1 , /s22 , 0
+/a 1 , /s23 , 0
+/a 1 , /s20 , 0
+/a 1 , /s21 , 42.3333
+/a 1 , /s18 , 0
+/a 1 , /n32 , 13
+/a 1 , /s19 , 60.4762
+/a 1 , /n30 , 13
+/a 1 , /n28 , 13
+/a 1 , /s17 , 0
+/a 1 , /svol , 54
+/a 1 , /n26 , 13
+/a 1 , /s11 , 80.6349
+/a 1 , /n24 , -0
+/a 1 , /s13 , 102.81
+/a 1 , /n22 , 13
+/a 1 , /s , 47
+/a 1 , /s7 , 70.5556
+/a 1 , /n20 , 13
+/a 1 , /s9 , 68.5397
+/a 1 , /n18 , 13
+/a 1 , /s3 , 98.7778
+/a 1 , /n16 , -0
+/a 1 , /s5 , 26.2063
+/a 1 , /n14 , -0
+/a 1 , /s15 , 24.1905
+/a 1 , /n12 , 13
+/a 1 , /s1 , 0
+/a 1 , /n10 , 13
+/a 1 , /n8 , 13
+/b 0 , /n6 , 13
+/b 0 , /n4 , 13
+/b 0 , /n2 , 13
+/b 0 , /last , 15
+/b 0 , /n31 , 13
+/b 0 , /s14 , 0
+/b 0 , /n29 , 13
+/b 0 , /s16 , 0
+/b 0 , /n27 , 13
+/b 0 , /s10 , 0
+/b 0 , /n25 , 13
+/b 0 , /s12 , 0
+/b 0 , /n23 , 13
+/b 0 , /s6 , 0
+/b 0 , /n21 , 13
+/b 0 , /s8 , 0
+/b 0 , /n19 , 13
+/b 0 , /s2 , 0
+/b 0 , /n17 , 13
+/b 0 , /s4 , 0
+/b 0 , /n15 , -0
+/b 0 , /n13 , -0
+/b 0 , /n11 , 13
+/b 0 , /n9 , -0
+/b 0 , /n7 , 13
+/b 0 , /n5 , -0
+/b 0 , /n3 , 13
+/b 0 , /s32 , 0
+/b 0 , /n1 , -0
+/b 0 , /s30 , 0
+/b 0 , /s31 , 0
+/b 0 , /play , 1
+/b 0 , /s28 , 0
+/b 0 , /s29 , 0
+/b 0 , /s26 , 0
+/b 0 , /transp , 0
+/b 0 , /resol , 2.12766
+/b 0 , /s27 , 0
+/b 0 , /s24 , 0
+/b 0 , /s25 , 0
+/b 0 , /s22 , 0
+/b 0 , /s23 , 0
+/b 0 , /s20 , 0
+/b 0 , /s21 , 0
+/b 0 , /s18 , 0
+/b 0 , /n32 , 13
+/b 0 , /s19 , 0
+/b 0 , /n30 , 13
+/b 0 , /n28 , 13
+/b 0 , /s17 , 0
+/b 0 , /svol , 90
+/b 0 , /n26 , 13
+/b 0 , /s11 , 0
+/b 0 , /n24 , 13
+/b 0 , /s13 , 88.6984
+/b 0 , /n22 , 13
+/b 0 , /s , 41
+/b 0 , /s7 , 0
+/b 0 , /n20 , 13
+/b 0 , /s9 , 88.6984
+/b 0 , /n18 , 13
+/b 0 , /s3 , 0
+/b 0 , /n16 , 13
+/b 0 , /s5 , 84.6667
+/b 0 , /n14 , 13
+/b 0 , /s15 , 88.6984
+/b 0 , /n12 , 13
+/b 0 , /s1 , 94.746
+/b 0 , /n10 , 13
+/b 0 , /n8 , 13
+/ma 0 , /file , /dos/jama/fuji/audio/pd/fbar/sampledrums/snare.wav
+/ma 2 , /file , /dos/jama/fuji/audio/samples/LM-4/dmx/DMX SN2.wav
+/ma 1 , /file , /dos/jama/fuji/audio/samples/LM-4/cr8000/crsnare.wav
+/mc 0 , /att , 0
+/mc 0 , /file , /dos/jama/fuji/audio/pd/fbar/sampledrums/hhcl.wav
+/mc 0 , /rel , 0
+/mc 2 , /att , 154
+/mc 2 , /file , /dos/jama/fuji/audio/samples/LM-4/dmx/DMX CYMBAL.wav
+/mc 2 , /rel , 147
+/mc 1 , /file , /dos/jama/fuji/audio/samples/LM-4/cr8000/crrim.wav
+/mb 0 , /file , /dos/jama/fuji/audio/pd/fbar/sampledrums/kick1.wav
+/mb 2 , /file , /dos/jama/fuji/audio/samples/LM-4/dmx/DMX KICK.wav
+/mb 1 , /file , /dos/jama/fuji/audio/samples/LM-4/cr8000/crkick.wav
+/m 0 , /bpm , 121
+/m 0 , /start , 1
diff --git a/tests/rrad-rec.pd b/tests/rrad-rec.pd
new file mode 100644
index 0000000..2742948
--- /dev/null
+++ b/tests/rrad-rec.pd
@@ -0,0 +1,122 @@
+#N canvas 0 0 1242 860 10;
+#X obj 905 80 r OSC;
+#X obj 118 105 rrad.pattseq /a;
+#X obj 117 471 rrad.pattseq /b;
+#N canvas 0 0 1085 773 more 0;
+#X obj 177 117 rrad.pattseq /c;
+#X obj 178 87 r beat;
+#X obj 161 470 pack 0 0;
+#X obj 169 546 s c;
+#X obj 990 479 s OSC-out;
+#X obj 986 83 r OSC;
+#X obj 170 516 route 0;
+#X obj 950 84 r bpm;
+#X msg 817 81 /*/preset 0;
+#X obj 813 61 r \$0-restore;
+#X connect 0 0 2 0;
+#X connect 0 1 2 1;
+#X connect 0 3 4 0;
+#X connect 1 0 0 0;
+#X connect 2 0 6 0;
+#X connect 5 0 0 1;
+#X connect 6 0 3 0;
+#X connect 7 0 0 1;
+#X connect 8 0 0 1;
+#X connect 9 0 8 0;
+#X restore 962 110 pd more;
+#X obj 930 447 r OSC;
+#X obj 50 474 s a;
+#X obj 106 57 r beat;
+#X obj 189 448 r beat;
+#X obj 990 204 rrad.mmetr /m;
+#X obj 1082 180 r OSC;
+#X obj 991 323 s beat;
+#X obj 986 513 rrad.minipli /ma;
+#X obj 268 24 careGUI;
+#X obj 973 751 throw~ out;
+#X obj 1131 489 r OSC;
+#X obj 977 444 s OSC-out;
+#X obj 928 818 s OSC-out;
+#X obj 1161 603 s OSC-out;
+#X obj 1115 335 s OSC-out;
+#X msg 1120 446 /ma/setsub 1;
+#X obj 1005 582 rrad.minipli /mb;
+#X obj 1003 658 rrad.minipli /mc;
+#X obj 980 485 r a;
+#X obj 961 584 r b;
+#X obj 957 628 r c;
+#X obj 1058 97 ezdac~;
+#X obj 1089 26 r OSC;
+#X obj 1009 71 catch~ out;
+#X obj 955 555 print;
+#X obj 45 450 route 0;
+#X obj 50 428 pack 0 0;
+#X obj 26 771 route 0;
+#X obj 31 749 pack 0 0;
+#X obj 31 795 s b;
+#X msg 1053 350 /*/bpm \$1;
+#X obj 1069 374 s bpm;
+#X obj 700 34 loadbang;
+#X msg 703 62 \; pd dsp 1 \;;
+#X obj 1090 57 OSCroute /mainvol;
+#X obj 1110 78 OSCroute /vol;
+#X msg 817 81 /*/preset 0;
+#X msg 811 448 /*/preset 0;
+#X obj 714 449 r \$0-restore;
+#X obj 813 61 r \$0-restore;
+#X msg 1024 487 /*/preset 0;
+#X obj 1020 467 r \$0-restore;
+#X msg 1131 745 /*/preset 0;
+#X obj 1127 725 r \$0-restore;
+#X obj 160 71 s \$0-restore;
+#X connect 0 0 1 1;
+#X connect 1 0 30 0;
+#X connect 1 1 30 1;
+#X connect 1 3 15 0;
+#X connect 2 0 32 0;
+#X connect 2 1 32 1;
+#X connect 2 3 16 0;
+#X connect 4 0 2 1;
+#X connect 6 0 1 0;
+#X connect 7 0 2 0;
+#X connect 8 0 10 0;
+#X connect 8 1 34 0;
+#X connect 8 2 18 0;
+#X connect 9 0 8 1;
+#X connect 11 0 13 0;
+#X connect 11 2 17 0;
+#X connect 12 0 48 0;
+#X connect 14 0 11 1;
+#X connect 14 0 20 1;
+#X connect 14 0 21 1;
+#X connect 19 0 11 1;
+#X connect 20 0 13 0;
+#X connect 20 2 17 0;
+#X connect 21 0 13 0;
+#X connect 21 2 17 0;
+#X connect 22 0 11 0;
+#X connect 23 0 20 0;
+#X connect 24 0 21 0;
+#X connect 26 0 38 0;
+#X connect 27 0 25 0;
+#X connect 27 0 25 1;
+#X connect 29 0 5 0;
+#X connect 30 0 29 0;
+#X connect 31 0 33 0;
+#X connect 32 0 31 0;
+#X connect 34 0 1 1;
+#X connect 34 0 2 1;
+#X connect 34 0 35 0;
+#X connect 34 0 18 0;
+#X connect 36 0 37 0;
+#X connect 38 0 39 0;
+#X connect 39 0 25 2;
+#X connect 40 0 1 1;
+#X connect 41 0 2 1;
+#X connect 42 0 41 0;
+#X connect 43 0 40 0;
+#X connect 44 0 11 1;
+#X connect 45 0 44 0;
+#X connect 46 0 21 1;
+#X connect 46 0 20 1;
+#X connect 47 0 46 0;
diff --git a/tpl/rrad.tpl.pd b/tpl/rrad.tpl.pd
new file mode 100644
index 0000000..b569062
--- /dev/null
+++ b/tpl/rrad.tpl.pd
@@ -0,0 +1,85 @@
+#N canvas 500 433 255 162 10;
+#X obj 3 21 cnv 15 247 138 empty \$0-background-cnv background-cnv
+20 12 1 14 -225271 -66577 0;
+#X obj 255 3 inlet;
+#X obj 434 3 inlet OSC;
+#N canvas 183 51 981 424 saves 0;
+#X obj 45 160 originator \$1 \$0;
+#X obj 152 132 inlet OSC;
+#X obj 507 86 r \$0-s1;
+#X obj 507 110 commun /s1 \$0;
+#X obj 606 86 r \$0-s2;
+#X obj 606 110 commun /s2 \$0;
+#X obj 507 135 s \$0-s1-r;
+#X obj 606 135 s \$0-s2-r;
+#X obj 47 55 r \$0-substate;
+#X obj 15 13 inlet substate;
+#X obj 15 35 route substate;
+#X obj 159 55 r \$0-copy;
+#X msg 159 76 copy;
+#X obj 243 50 r \$0-paste;
+#X msg 241 71 paste;
+#X text 154 15 This is the originator \, including some ready to use
+standard functionality.;
+#X text 507 56 Put your commun sends here \, if you like.;
+#X msg 15 91 setsub \$1;
+#X msg 249 184 svdir \$1;
+#X obj 250 139 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 250 163 savepanel;
+#X obj 152 189 outlet OSC;
+#X msg 108 214 svxdir /tmp/svdir.xml;
+#X msg 78 241 ldxdir /tmp/svdir.xml;
+#X connect 0 2 21 0;
+#X connect 1 0 0 1;
+#X connect 2 0 3 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 7 0;
+#X connect 8 0 17 0;
+#X connect 9 0 10 0;
+#X connect 10 0 17 0;
+#X connect 10 1 0 0;
+#X connect 11 0 12 0;
+#X connect 12 0 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X connect 19 0 20 0;
+#X connect 20 0 18 0;
+#X connect 22 0 0 0;
+#X connect 23 0 0 0;
+#X restore 372 2 pd saves;
+#N canvas 569 61 450 300 cnv.ctl 0;
+#X obj 90 188 s \$0-background-cnv;
+#X floatatom 108 59 5 100 1000 0 width - -;
+#X floatatom 112 83 4 50 500 0 height - -;
+#X obj 92 132 pack 0 0;
+#X msg 92 159 vis_size \$1 \$2;
+#X obj 110 106 t b f;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X restore 297 2 pd cnv.ctl;
+#X obj 36 59 hsl 128 15 0 127 0 0 \$0-s1 \$0-s1-r s1 -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 36 89 hsl 128 15 0 127 0 0 \$0-s2 \$0-s2-r s2 -2 -6 0 8 -262144
+-1 -1 12700 1;
+#X obj 193 60 vradio 15 1 0 3 \$0-substate \$0-substate-r empty 0 -6
+0 8 -262144 -1 -1 0;
+#X obj 34 121 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -262144
+-1 -1;
+#X obj 141 123 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -262144
+-1 -1;
+#X obj 254 142 outlet;
+#X text 185 2 look! ==>;
+#X obj 372 23 outlet OSC;
+#X obj 330 31 inlet;
+#X connect 2 0 3 1;
+#X connect 3 0 12 0;
+#X connect 13 0 3 0;
+#X coords 0 0 1 1 250 160 1;
diff --git a/usecases/angriff-use.pd b/usecases/angriff-use.pd
new file mode 100644
index 0000000..3958b34
--- /dev/null
+++ b/usecases/angriff-use.pd
@@ -0,0 +1,12 @@
+#N canvas 248 149 728 367 10;
+#X obj 391 43 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X msg 391 74 setsub \$1;
+#X floatatom 509 97 5 0 0 0 - - -;
+#X obj 94 122 rrad.angriff~ /snare snare.txt;
+#X obj 454 229 careGUI;
+#X msg 502 125 /snare/*level \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 3 2;
+#X connect 2 0 5 0;
+#X connect 5 0 3 3;
diff --git a/usecases/fluid-test.dat b/usecases/fluid-test.dat
new file mode 100644
index 0000000..d3f9326
--- /dev/null
+++ b/usecases/fluid-test.dat
@@ -0,0 +1,928 @@
+/basseq 0 , /play , 1
+/a 0 , /chan , 3
+/a 0 , /soundfont , /dos/ibm/hdc18/f/audio/soundfonts/drum/ruckus_acoustic_drums.sf2
+/d2 0 , /n5 , 13
+/d2 0 , /s4 , 62.4921
+/d2 0 , /n3 , 8
+/d2 0 , /s2 , 0
+/d2 0 , /n9 , 13
+/d2 0 , /n7 , 8
+/d2 0 , /n13 , 13
+/d2 0 , /n11 , 8
+/d2 0 , /n17 , 13
+/d2 0 , /s , 39
+/d2 0 , /n15 , 8
+/d2 0 , /n21 , 6
+/d2 0 , /n19 , 8
+/d2 0 , /n25 , 13
+/d2 0 , /oct , 3
+/d2 0 , /s16 , 72.5714
+/d2 0 , /n23 , 8
+/d2 0 , /s14 , 0
+/d2 0 , /n29 , 13
+/d2 0 , /s12 , 78.619
+/d2 0 , /n27 , 8
+/d2 0 , /s10 , 0
+/d2 0 , /s8 , 74.5873
+/d2 0 , /n1 , 13
+/d2 0 , /n31 , 8
+/d2 0 , /s6 , 0
+/d2 0 , /s19 , 127
+/d2 0 , /s20 , 52.4127
+/d2 0 , /s21 , 90.7143
+/d2 0 , /s22 , 70.5556
+/d2 0 , /s23 , 127
+/d2 0 , /transp , 0
+/d2 0 , /resol , 2.25806
+/d2 0 , /s24 , 78.619
+/d2 0 , /s25 , 0
+/d2 0 , /s26 , 127
+/d2 0 , /s27 , 127
+/d2 0 , /play , 1
+/d2 0 , /s28 , 70.5556
+/d2 0 , /s29 , 0
+/d2 0 , /s30 , 0
+/d2 0 , /s31 , 127
+/d2 0 , /s32 , 94.746
+/d2 0 , /n2 , 13
+/d2 0 , /n6 , 13
+/d2 0 , /s3 , 127
+/d2 0 , /n4 , 8
+/d2 0 , /s1 , 0
+/d2 0 , /n10 , 13
+/d2 0 , /s15 , 127
+/d2 0 , /n8 , 8
+/d2 0 , /n14 , 13
+/d2 0 , /n12 , 8
+/d2 0 , /n18 , 13
+/d2 0 , /rand , 4
+/d2 0 , /n16 , 8
+/d2 0 , /n22 , 6
+/d2 0 , /s18 , 0
+/d2 0 , /n20 , 8
+/d2 0 , /s17 , 0
+/d2 0 , /n26 , 6
+/d2 0 , /n24 , 6
+/d2 0 , /s13 , 0
+/d2 0 , /svol , 95
+/d2 0 , /n30 , 13
+/d2 0 , /s11 , 127
+/d2 0 , /n28 , 8
+/d2 0 , /s9 , 0
+/d2 0 , /s7 , 127
+/d2 0 , /n32 , 8
+/d2 0 , /s5 , 0
+/d2 0 , /last , 31
+/rh 0 , /chan , 1
+/rh 0 , /soundfont , /dos/ibm/hdc18/f/audio/soundfonts/rhodes/rhodes.sf2
+/d1 0 , /n5 , -0
+/d1 0 , /s4 , 92.7302
+/d1 0 , /n3 , 13
+/d1 0 , /s2 , 86.6825
+/d1 0 , /n9 , -0
+/d1 0 , /n7 , 13
+/d1 0 , /n13 , -0
+/d1 0 , /n11 , 13
+/d1 0 , /n17 , -0
+/d1 0 , /s , 31
+/d1 0 , /n15 , 13
+/d1 0 , /n21 , -0
+/d1 0 , /n19 , 13
+/d1 0 , /n25 , -0
+/d1 0 , /oct , 3
+/d1 0 , /s16 , 32.254
+/d1 0 , /n23 , 13
+/d1 0 , /s14 , 0
+/d1 0 , /n29 , -0
+/d1 0 , /s12 , 108.857
+/d1 0 , /n27 , 13
+/d1 0 , /s10 , 66.5238
+/d1 0 , /s8 , 58.4603
+/d1 0 , /n1 , -0
+/d1 0 , /n31 , 13
+/d1 0 , /s6 , 52.4127
+/d1 0 , /s19 , 0
+/d1 0 , /s20 , 0
+/d1 0 , /s21 , 90.7143
+/d1 0 , /s22 , 42.3333
+/d1 0 , /s23 , 0
+/d1 0 , /transp , 0
+/d1 0 , /resol , 2.25806
+/d1 0 , /s24 , 0
+/d1 0 , /s25 , 86.6825
+/d1 0 , /s26 , 0
+/d1 0 , /s27 , 0
+/d1 0 , /play , 1
+/d1 0 , /s28 , 0
+/d1 0 , /s29 , 102.81
+/d1 0 , /s30 , 0
+/d1 0 , /s31 , 0
+/d1 0 , /s32 , 54.4286
+/d1 0 , /n2 , 13
+/d1 0 , /n6 , 13
+/d1 0 , /s3 , 78.619
+/d1 0 , /n4 , 13
+/d1 0 , /s1 , 110.873
+/d1 0 , /n10 , 13
+/d1 0 , /s15 , 0
+/d1 0 , /n8 , 13
+/d1 0 , /n14 , 13
+/d1 0 , /n12 , 13
+/d1 0 , /n18 , 13
+/d1 0 , /rand , 0
+/d1 0 , /n16 , -0
+/d1 0 , /n22 , -0
+/d1 0 , /s18 , 0
+/d1 0 , /n20 , 13
+/d1 0 , /s17 , 96.7619
+/d1 0 , /n26 , 13
+/d1 0 , /n24 , 13
+/d1 0 , /s13 , 98.7778
+/d1 0 , /svol , 90
+/d1 0 , /n30 , 13
+/d1 0 , /s11 , 78.619
+/d1 0 , /n28 , 13
+/d1 0 , /s9 , 80.6349
+/d1 0 , /s7 , 66.5238
+/d1 0 , /n32 , -0
+/d1 0 , /s5 , 70.5556
+/d1 0 , /last , 31
+/bass 0 , /chan , 1
+/bass 0 , /soundfont , /dos/ibm/hdc18/f/audio/soundfonts/bass/JazzAccousticBass.sf2
+/d3 0 , /n5 , 13
+/d3 0 , /s4 , 0
+/d3 0 , /n3 , 13
+/d3 0 , /s2 , 0
+/d3 0 , /n9 , 13
+/d3 0 , /n7 , 1
+/d3 0 , /n13 , 13
+/d3 0 , /n11 , 13
+/d3 0 , /n17 , 13
+/d3 0 , /s , 36
+/d3 0 , /n15 , 1
+/d3 0 , /n21 , 13
+/d3 0 , /n19 , 13
+/d3 0 , /n25 , 13
+/d3 0 , /oct , 3
+/d3 0 , /s16 , 0
+/d3 0 , /n23 , 13
+/d3 0 , /s14 , 0
+/d3 0 , /n29 , 13
+/d3 0 , /s12 , 0
+/d3 0 , /n27 , 1
+/d3 0 , /s10 , 0
+/d3 0 , /s8 , 76.6032
+/d3 0 , /n1 , 13
+/d3 0 , /n31 , 13
+/d3 0 , /s6 , 60.4762
+/d3 0 , /s19 , 0
+/d3 0 , /s20 , 0
+/d3 0 , /s21 , 0
+/d3 0 , /s22 , 0
+/d3 0 , /s23 , 0
+/d3 0 , /transp , 0
+/d3 0 , /resol , 2.03226
+/d3 0 , /s24 , 70.5556
+/d3 0 , /s25 , 0
+/d3 0 , /s26 , 0
+/d3 0 , /s27 , 56.4444
+/d3 0 , /play , 1
+/d3 0 , /s28 , 0
+/d3 0 , /s29 , 0
+/d3 0 , /s30 , 0
+/d3 0 , /s31 , 0
+/d3 0 , /s32 , 46.3651
+/d3 0 , /n2 , 13
+/d3 0 , /n6 , 1
+/d3 0 , /s3 , 0
+/d3 0 , /n4 , 13
+/d3 0 , /s1 , 0
+/d3 0 , /n10 , 13
+/d3 0 , /s15 , 64.5079
+/d3 0 , /n8 , 1
+/d3 0 , /n14 , 13
+/d3 0 , /n12 , 13
+/d3 0 , /n18 , 13
+/d3 0 , /rand , 0
+/d3 0 , /n16 , 13
+/d3 0 , /n22 , 13
+/d3 0 , /s18 , 0
+/d3 0 , /n20 , 13
+/d3 0 , /s17 , 0
+/d3 0 , /n26 , 13
+/d3 0 , /n24 , 1
+/d3 0 , /s13 , 0
+/d3 0 , /svol , 102
+/d3 0 , /n30 , 13
+/d3 0 , /s11 , 0
+/d3 0 , /n28 , 13
+/d3 0 , /s9 , 0
+/d3 0 , /s7 , 30.2381
+/d3 0 , /n32 , 1
+/d3 0 , /s5 , 0
+/d3 0 , /last , 31
+/m 0 , /bpm , 120
+/d5 4 , /s27 , 60.4762
+/d5 0 , /n5 , 2
+/d5 0 , /s4 , 0
+/d5 0 , /n3 , 2
+/d5 0 , /s2 , 0
+/d5 0 , /n9 , 13
+/d5 0 , /n7 , 2
+/d5 0 , /n13 , 13
+/d5 0 , /n11 , 13
+/d5 0 , /n17 , 13
+/d5 0 , /n15 , 2
+/d5 0 , /n21 , 13
+/d5 0 , /n19 , 13
+/d5 0 , /n25 , 13
+/d5 0 , /oct , 4
+/d5 0 , /s16 , 0
+/d5 0 , /n23 , 13
+/d5 0 , /s14 , 54.4286
+/d5 0 , /n29 , 13
+/d5 0 , /s12 , 0
+/d5 0 , /n27 , 13
+/d5 0 , /s10 , 0
+/d5 0 , /s8 , 0
+/d5 0 , /n1 , 2
+/d5 0 , /n31 , 13
+/d5 0 , /s6 , 0
+/d5 0 , /s19 , 0
+/d5 0 , /s20 , 0
+/d5 0 , /s21 , 0
+/d5 0 , /s22 , 0
+/d5 0 , /s23 , 0
+/d5 0 , /transp , 0
+/d5 0 , /resol , 2.48387
+/d5 0 , /s24 , 0
+/d5 0 , /s25 , 0
+/d5 0 , /s26 , 0
+/d5 0 , /s27 , 0
+/d5 0 , /play , 1
+/d5 0 , /s28 , 0
+/d5 0 , /s29 , 0
+/d5 0 , /s30 , 0
+/d5 0 , /s31 , 0
+/d5 0 , /s32 , 0
+/d5 0 , /n2 , 13
+/d5 0 , /n6 , 13
+/d5 0 , /s3 , 0
+/d5 0 , /n4 , 13
+/d5 0 , /s1 , 56.4444
+/d5 0 , /n10 , 13
+/d5 0 , /s15 , 0
+/d5 0 , /n8 , 13
+/d5 0 , /n14 , 2
+/d5 0 , /n12 , 13
+/d5 0 , /n18 , 13
+/d5 0 , /n16 , 13
+/d5 0 , /n22 , 13
+/d5 0 , /s18 , 0
+/d5 0 , /n20 , 13
+/d5 0 , /s17 , 0
+/d5 0 , /n26 , 13
+/d5 0 , /n24 , 13
+/d5 0 , /s13 , 0
+/d5 0 , /svol , 102
+/d5 0 , /n30 , 13
+/d5 0 , /s11 , 0
+/d5 0 , /n28 , 13
+/d5 0 , /s9 , 0
+/d5 0 , /s7 , 0
+/d5 0 , /n32 , 13
+/d5 0 , /s5 , 58.4603
+/d5 0 , /last , 15
+/d5 2 , /n5 , 7
+/d5 2 , /s4 , 0
+/d5 2 , /n3 , 7
+/d5 2 , /s2 , 0
+/d5 2 , /n9 , 2
+/d5 2 , /n7 , 7
+/d5 2 , /n13 , 2
+/d5 2 , /n11 , 2
+/d5 2 , /n17 , 13
+/d5 2 , /n15 , 2
+/d5 2 , /n21 , 7
+/d5 2 , /n19 , 5
+/d5 2 , /n25 , 4
+/d5 2 , /oct , 4
+/d5 2 , /s16 , 0
+/d5 2 , /n23 , 5
+/d5 2 , /s14 , 0
+/d5 2 , /n29 , 4
+/d5 2 , /s12 , 54.4286
+/d5 2 , /n27 , 2
+/d5 2 , /s10 , 0
+/d5 2 , /s8 , 0
+/d5 2 , /n1 , 7
+/d5 2 , /n31 , 13
+/d5 2 , /s6 , 0
+/d5 2 , /s19 , 0
+/d5 2 , /s20 , 62.4921
+/d5 2 , /s21 , 0
+/d5 2 , /s22 , 0
+/d5 2 , /s23 , 58.4603
+/d5 2 , /transp , 0
+/d5 2 , /resol , 3.3871
+/d5 2 , /s24 , 0
+/d5 2 , /s25 , 60.4762
+/d5 2 , /s26 , 0
+/d5 2 , /s27 , 0
+/d5 2 , /play , 1
+/d5 2 , /s28 , 0
+/d5 2 , /s29 , 0
+/d5 2 , /s30 , 0
+/d5 2 , /s31 , 0
+/d5 2 , /s32 , 0
+/d5 2 , /n2 , 13
+/d5 2 , /n6 , 13
+/d5 2 , /s3 , 0
+/d5 2 , /n4 , 13
+/d5 2 , /s1 , 56.4444
+/d5 2 , /n10 , 13
+/d5 2 , /s15 , 0
+/d5 2 , /n8 , 13
+/d5 2 , /n14 , 13
+/d5 2 , /n12 , 5
+/d5 2 , /n18 , 13
+/d5 2 , /n16 , 5
+/d5 2 , /n22 , 13
+/d5 2 , /s18 , 0
+/d5 2 , /n20 , 7
+/d5 2 , /s17 , 0
+/d5 2 , /n26 , 13
+/d5 2 , /n24 , 5
+/d5 2 , /s13 , 54.4286
+/d5 2 , /svol , 91
+/d5 2 , /n30 , 13
+/d5 2 , /s11 , 0
+/d5 2 , /n28 , 13
+/d5 2 , /s9 , 68.5397
+/d5 2 , /s7 , 0
+/d5 2 , /n32 , 13
+/d5 2 , /s5 , 58.4603
+/d5 2 , /last , 31
+/d5 3 , /n5 , 7
+/d5 3 , /s4 , 0
+/d5 3 , /n3 , 7
+/d5 3 , /s2 , 0
+/d5 3 , /n9 , 2
+/d5 3 , /n7 , 7
+/d5 3 , /n13 , 2
+/d5 3 , /n11 , 2
+/d5 3 , /n17 , 13
+/d5 3 , /n15 , 2
+/d5 3 , /n21 , 7
+/d5 3 , /n19 , 5
+/d5 3 , /n25 , 4
+/d5 3 , /oct , 4
+/d5 3 , /s16 , 0
+/d5 3 , /n23 , 5
+/d5 3 , /s14 , 0
+/d5 3 , /n29 , 4
+/d5 3 , /s12 , 54.4286
+/d5 3 , /n27 , 2
+/d5 3 , /s10 , 0
+/d5 3 , /s8 , 0
+/d5 3 , /n1 , 7
+/d5 3 , /n31 , 13
+/d5 3 , /s6 , 0
+/d5 3 , /s19 , 0
+/d5 3 , /s20 , 62.4921
+/d5 3 , /s21 , 0
+/d5 3 , /s22 , 0
+/d5 3 , /s23 , 58.4603
+/d5 3 , /transp , 0
+/d5 3 , /resol , 3.3871
+/d5 3 , /s24 , 0
+/d5 3 , /s25 , 60.4762
+/d5 3 , /s26 , 0
+/d5 3 , /s27 , 0
+/d5 3 , /play , 1
+/d5 3 , /s28 , 0
+/d5 3 , /s29 , 0
+/d5 3 , /s30 , 0
+/d5 3 , /s31 , 0
+/d5 3 , /s32 , 0
+/d5 3 , /n2 , 13
+/d5 3 , /n6 , 13
+/d5 3 , /s3 , 0
+/d5 3 , /n4 , 13
+/d5 3 , /s1 , 56.4444
+/d5 3 , /n10 , 13
+/d5 3 , /s15 , 0
+/d5 3 , /n8 , 13
+/d5 3 , /n14 , 13
+/d5 3 , /n12 , 5
+/d5 3 , /n18 , 13
+/d5 3 , /n16 , 5
+/d5 3 , /n22 , 13
+/d5 3 , /s18 , 0
+/d5 3 , /n20 , 7
+/d5 3 , /s17 , 0
+/d5 3 , /n26 , 13
+/d5 3 , /n24 , 5
+/d5 3 , /s13 , 54.4286
+/d5 3 , /svol , 87
+/d5 3 , /n30 , 13
+/d5 3 , /s11 , 0
+/d5 3 , /n28 , 13
+/d5 3 , /s9 , 68.5397
+/d5 3 , /s7 , 0
+/d5 3 , /n32 , 13
+/d5 3 , /s5 , 58.4603
+/d5 3 , /last , 31
+/d5 1 , /n5 , 2
+/d5 1 , /s4 , 0
+/d5 1 , /n3 , 2
+/d5 1 , /s2 , 0
+/d5 1 , /n9 , 13
+/d5 1 , /n7 , 2
+/d5 1 , /n13 , 4
+/d5 1 , /n11 , 13
+/d5 1 , /n17 , 13
+/d5 1 , /n15 , 13
+/d5 1 , /n21 , 13
+/d5 1 , /n19 , 13
+/d5 1 , /n25 , 13
+/d5 1 , /oct , 4
+/d5 1 , /s16 , 0
+/d5 1 , /n23 , 13
+/d5 1 , /s14 , 0
+/d5 1 , /n29 , 13
+/d5 1 , /s12 , 70.5556
+/d5 1 , /n27 , 13
+/d5 1 , /s10 , 0
+/d5 1 , /s8 , 0
+/d5 1 , /n1 , 2
+/d5 1 , /n31 , 13
+/d5 1 , /s6 , 0
+/d5 1 , /s19 , 0
+/d5 1 , /s20 , 0
+/d5 1 , /s21 , 0
+/d5 1 , /s22 , 0
+/d5 1 , /s23 , 0
+/d5 1 , /transp , 0
+/d5 1 , /resol , 3.3871
+/d5 1 , /s24 , 0
+/d5 1 , /s25 , 0
+/d5 1 , /s26 , 0
+/d5 1 , /s27 , 0
+/d5 1 , /play , 1
+/d5 1 , /s28 , 0
+/d5 1 , /s29 , 0
+/d5 1 , /s30 , 0
+/d5 1 , /s31 , 0
+/d5 1 , /s32 , 0
+/d5 1 , /n2 , 13
+/d5 1 , /n6 , 13
+/d5 1 , /s3 , 0
+/d5 1 , /n4 , 13
+/d5 1 , /s1 , 56.4444
+/d5 1 , /n10 , 13
+/d5 1 , /s15 , 0
+/d5 1 , /n8 , 13
+/d5 1 , /n14 , 13
+/d5 1 , /n12 , 4
+/d5 1 , /n18 , 13
+/d5 1 , /n16 , 13
+/d5 1 , /n22 , 13
+/d5 1 , /s18 , 0
+/d5 1 , /n20 , 13
+/d5 1 , /s17 , 0
+/d5 1 , /n26 , 13
+/d5 1 , /n24 , 13
+/d5 1 , /s13 , 0
+/d5 1 , /svol , 91
+/d5 1 , /n30 , 13
+/d5 1 , /s11 , 0
+/d5 1 , /n28 , 13
+/d5 1 , /s9 , 0
+/d5 1 , /s7 , 0
+/d5 1 , /n32 , 13
+/d5 1 , /s5 , 58.4603
+/d5 1 , /last , 15
+/main 0 , /n5 , 4
+/main 0 , /s4 , 0
+/main 0 , /n3 , 2
+/main 0 , /s2 , 0
+/main 0 , /n9 , 13
+/main 0 , /n7 , 13
+/main 0 , /n13 , 13
+/main 0 , /n11 , 13
+/main 0 , /n17 , 13
+/main 0 , /n15 , 13
+/main 0 , /n21 , 13
+/main 0 , /n19 , 13
+/main 0 , /n25 , 13
+/main 0 , /oct , 4
+/main 0 , /s16 , 0
+/main 0 , /n23 , 13
+/main 0 , /s14 , 0
+/main 0 , /n29 , 13
+/main 0 , /s12 , 0
+/main 0 , /n27 , 13
+/main 0 , /s10 , 0
+/main 0 , /s8 , 0
+/main 0 , /n1 , -0
+/main 0 , /n31 , 13
+/main 0 , /s6 , 0
+/main 0 , /s19 , 0
+/main 0 , /s20 , 0
+/main 0 , /s21 , 0
+/main 0 , /s22 , 0
+/main 0 , /s23 , 0
+/main 0 , /transp , 0
+/main 0 , /s24 , 0
+/main 0 , /s25 , 0
+/main 0 , /s26 , 0
+/main 0 , /s27 , 0
+/main 0 , /play , 1
+/main 0 , /s28 , 0
+/main 0 , /s29 , 0
+/main 0 , /s30 , 0
+/main 0 , /s31 , 0
+/main 0 , /s32 , 0
+/main 0 , /n2 , 1
+/main 0 , /n6 , 5
+/main 0 , /s3 , 0
+/main 0 , /n4 , 3
+/main 0 , /s1 , 122.968
+/main 0 , /n10 , 13
+/main 0 , /s15 , 0
+/main 0 , /n8 , 13
+/main 0 , /n14 , 13
+/main 0 , /n12 , 13
+/main 0 , /n18 , 13
+/main 0 , /n16 , 13
+/main 0 , /n22 , 13
+/main 0 , /s18 , 0
+/main 0 , /n20 , 13
+/main 0 , /s17 , 0
+/main 0 , /n26 , 13
+/main 0 , /n24 , 13
+/main 0 , /s13 , 0
+/main 0 , /svol , 127
+/main 0 , /n30 , 13
+/main 0 , /s11 , 0
+/main 0 , /n28 , 13
+/main 0 , /s9 , 0
+/main 0 , /s7 , 0
+/main 0 , /n32 , 13
+/main 0 , /s5 , 0
+/main 0 , /last , 4
+/d0 0 , /n5 , 2
+/d0 0 , /s4 , 0
+/d0 0 , /n3 , 13
+/d0 0 , /s2 , 0
+/d0 0 , /n9 , 13
+/d0 0 , /n7 , 13
+/d0 0 , /n13 , 2
+/d0 0 , /n11 , 13
+/d0 0 , /n17 , 13
+/d0 0 , /n15 , 2
+/d0 0 , /n21 , 2
+/d0 0 , /n19 , 13
+/d0 0 , /n25 , 13
+/d0 0 , /oct , 3
+/d0 0 , /s16 , 20.1587
+/d0 0 , /n23 , 13
+/d0 0 , /s14 , 42.3333
+/d0 0 , /n29 , 2
+/d0 0 , /s12 , 0
+/d0 0 , /n27 , 13
+/d0 0 , /s10 , 0
+/d0 0 , /s8 , 0
+/d0 0 , /n1 , 13
+/d0 0 , /n31 , 2
+/d0 0 , /s6 , 0
+/d0 0 , /s19 , 0
+/d0 0 , /s20 , 0
+/d0 0 , /s21 , 82.6508
+/d0 0 , /s22 , 0
+/d0 0 , /s23 , 0
+/d0 0 , /transp , 0
+/d0 0 , /resol , 2.48387
+/d0 0 , /s24 , 0
+/d0 0 , /s25 , 0
+/d0 0 , /s26 , 0
+/d0 0 , /s27 , 0
+/d0 0 , /play , 1
+/d0 0 , /s28 , 0
+/d0 0 , /s29 , 92.7302
+/d0 0 , /s30 , 54.4286
+/d0 0 , /s31 , 0
+/d0 0 , /s32 , 0
+/d0 0 , /n2 , 13
+/d0 0 , /n6 , 13
+/d0 0 , /s3 , 0
+/d0 0 , /n4 , 13
+/d0 0 , /s1 , 0
+/d0 0 , /n10 , 13
+/d0 0 , /s15 , 0
+/d0 0 , /n8 , 13
+/d0 0 , /n14 , 2
+/d0 0 , /n12 , 13
+/d0 0 , /n18 , 13
+/d0 0 , /rand , 7
+/d0 0 , /n16 , 2
+/d0 0 , /n22 , 2
+/d0 0 , /s18 , 0
+/d0 0 , /n20 , 13
+/d0 0 , /s17 , 0
+/d0 0 , /n26 , 13
+/d0 0 , /n24 , 13
+/d0 0 , /s13 , 88.6984
+/d0 0 , /svol , 36
+/d0 0 , /n30 , 2
+/d0 0 , /s11 , 0
+/d0 0 , /n28 , 13
+/d0 0 , /s9 , 0
+/d0 0 , /s7 , 0
+/d0 0 , /n32 , 13
+/d0 0 , /s5 , 94.746
+/d0 0 , /last , 31
+/d6 0 , /n5 , 13
+/d6 0 , /s4 , 76.6032
+/d6 0 , /n3 , 13
+/d6 0 , /s2 , 0
+/d6 0 , /n9 , 2
+/d6 0 , /n7 , 13
+/d6 0 , /n13 , 13
+/d6 0 , /n11 , 7
+/d6 0 , /n17 , 13
+/d6 0 , /n15 , 7
+/d6 0 , /n21 , 13
+/d6 0 , /n19 , 13
+/d6 0 , /n25 , 13
+/d6 0 , /oct , 3
+/d6 0 , /s16 , 0
+/d6 0 , /n23 , 13
+/d6 0 , /s14 , 70.5556
+/d6 0 , /n29 , 13
+/d6 0 , /s12 , 0
+/d6 0 , /n27 , 13
+/d6 0 , /s10 , 0
+/d6 0 , /s8 , 0
+/d6 0 , /n1 , 2
+/d6 0 , /n31 , 13
+/d6 0 , /s6 , 0
+/d6 0 , /s19 , 0
+/d6 0 , /s20 , 0
+/d6 0 , /s21 , 0
+/d6 0 , /s22 , 0
+/d6 0 , /s23 , 0
+/d6 0 , /transp , 0
+/d6 0 , /resol , 2.03226
+/d6 0 , /s24 , 0
+/d6 0 , /s25 , 0
+/d6 0 , /s26 , 0
+/d6 0 , /s27 , 0
+/d6 0 , /play , 1
+/d6 0 , /s28 , 0
+/d6 0 , /s29 , 0
+/d6 0 , /s30 , 0
+/d6 0 , /s31 , 0
+/d6 0 , /s32 , 0
+/d6 0 , /n2 , 2
+/d6 0 , /n6 , 13
+/d6 0 , /s3 , 0
+/d6 0 , /n4 , 2
+/d6 0 , /s1 , 92.7302
+/d6 0 , /n10 , 13
+/d6 0 , /s15 , 0
+/d6 0 , /n8 , 13
+/d6 0 , /n14 , 7
+/d6 0 , /n12 , 7
+/d6 0 , /n18 , 13
+/d6 0 , /n16 , 13
+/d6 0 , /n22 , 13
+/d6 0 , /s18 , 0
+/d6 0 , /n20 , 13
+/d6 0 , /s17 , 0
+/d6 0 , /n26 , 13
+/d6 0 , /n24 , 13
+/d6 0 , /s13 , 0
+/d6 0 , /svol , 96.7619
+/d6 0 , /n30 , 13
+/d6 0 , /s11 , 62.4921
+/d6 0 , /n28 , 13
+/d6 0 , /s9 , 0
+/d6 0 , /s7 , 0
+/d6 0 , /n32 , 13
+/d6 0 , /s5 , 0
+/d6 0 , /last , 15
+/d6 3 , /n5 , 13
+/d6 3 , /s4 , 76.6032
+/d6 3 , /n3 , 13
+/d6 3 , /s2 , 0
+/d6 3 , /n9 , 2
+/d6 3 , /n7 , 13
+/d6 3 , /n13 , 13
+/d6 3 , /n11 , 7
+/d6 3 , /n17 , 13
+/d6 3 , /n15 , 7
+/d6 3 , /n21 , 13
+/d6 3 , /n19 , 13
+/d6 3 , /n25 , 13
+/d6 3 , /oct , 3
+/d6 3 , /s16 , 0
+/d6 3 , /n23 , 13
+/d6 3 , /s14 , 70.5556
+/d6 3 , /n29 , 13
+/d6 3 , /s12 , 0
+/d6 3 , /n27 , 13
+/d6 3 , /s10 , 0
+/d6 3 , /s8 , 0
+/d6 3 , /n1 , 2
+/d6 3 , /n31 , 13
+/d6 3 , /s6 , 0
+/d6 3 , /s19 , 0
+/d6 3 , /s20 , 0
+/d6 3 , /s21 , 0
+/d6 3 , /s22 , 0
+/d6 3 , /s23 , 0
+/d6 3 , /transp , 0
+/d6 3 , /resol , 2.03226
+/d6 3 , /s24 , 0
+/d6 3 , /s25 , 0
+/d6 3 , /s26 , 0
+/d6 3 , /s27 , 0
+/d6 3 , /play , 1
+/d6 3 , /s28 , 0
+/d6 3 , /s29 , 0
+/d6 3 , /s30 , 0
+/d6 3 , /s31 , 0
+/d6 3 , /s32 , 0
+/d6 3 , /n2 , 2
+/d6 3 , /n6 , 13
+/d6 3 , /s3 , 0
+/d6 3 , /n4 , 2
+/d6 3 , /s1 , 92.7302
+/d6 3 , /n10 , 13
+/d6 3 , /s15 , 0
+/d6 3 , /n8 , 13
+/d6 3 , /n14 , 7
+/d6 3 , /n12 , 7
+/d6 3 , /n18 , 13
+/d6 3 , /n16 , 13
+/d6 3 , /n22 , 13
+/d6 3 , /s18 , 0
+/d6 3 , /n20 , 13
+/d6 3 , /s17 , 0
+/d6 3 , /n26 , 13
+/d6 3 , /n24 , 13
+/d6 3 , /s13 , 0
+/d6 3 , /svol , 115
+/d6 3 , /n30 , 13
+/d6 3 , /s11 , 62.4921
+/d6 3 , /n28 , 13
+/d6 3 , /s9 , 0
+/d6 3 , /s7 , 0
+/d6 3 , /n32 , 13
+/d6 3 , /s5 , 0
+/d6 3 , /last , 15
+/d6 1 , /n5 , 13
+/d6 1 , /s4 , 76.6032
+/d6 1 , /n3 , 13
+/d6 1 , /s2 , 0
+/d6 1 , /n9 , 2
+/d6 1 , /n7 , 13
+/d6 1 , /n13 , 13
+/d6 1 , /n11 , 7
+/d6 1 , /n17 , 10
+/d6 1 , /n15 , 7
+/d6 1 , /n21 , 7
+/d6 1 , /n19 , 13
+/d6 1 , /n25 , 13
+/d6 1 , /oct , 3
+/d6 1 , /s16 , 0
+/d6 1 , /n23 , 2
+/d6 1 , /s14 , 70.5556
+/d6 1 , /n29 , 13
+/d6 1 , /s12 , 0
+/d6 1 , /n27 , 9
+/d6 1 , /s10 , 0
+/d6 1 , /s8 , 0
+/d6 1 , /n1 , 2
+/d6 1 , /n31 , 9
+/d6 1 , /s6 , 0
+/d6 1 , /s19 , 0
+/d6 1 , /s20 , 0
+/d6 1 , /s21 , 66.5238
+/d6 1 , /s22 , 0
+/d6 1 , /s23 , 66.5238
+/d6 1 , /transp , 0
+/d6 1 , /resol , 2.03226
+/d6 1 , /s24 , 0
+/d6 1 , /s25 , 0
+/d6 1 , /s26 , 0
+/d6 1 , /s27 , 68.5397
+/d6 1 , /play , 1
+/d6 1 , /s28 , 0
+/d6 1 , /s29 , 0
+/d6 1 , /s30 , 0
+/d6 1 , /s31 , 0
+/d6 1 , /s32 , 0
+/d6 1 , /n2 , 2
+/d6 1 , /n6 , 13
+/d6 1 , /s3 , 0
+/d6 1 , /n4 , 2
+/d6 1 , /s1 , 92.7302
+/d6 1 , /n10 , 13
+/d6 1 , /s15 , 0
+/d6 1 , /n8 , 13
+/d6 1 , /n14 , 7
+/d6 1 , /n12 , 7
+/d6 1 , /n18 , 10
+/d6 1 , /n16 , 13
+/d6 1 , /n22 , 7
+/d6 1 , /s18 , 0
+/d6 1 , /n20 , 13
+/d6 1 , /s17 , 84.6667
+/d6 1 , /n26 , 2
+/d6 1 , /n24 , 13
+/d6 1 , /s13 , 0
+/d6 1 , /svol , 0
+/d6 1 , /n30 , 13
+/d6 1 , /s11 , 62.4921
+/d6 1 , /n28 , 13
+/d6 1 , /s9 , 0
+/d6 1 , /s7 , 0
+/d6 1 , /n32 , 13
+/d6 1 , /s5 , 0
+/d6 1 , /last , 31
+/d4 0 , /n5 , 8
+/d4 0 , /s4 , 0
+/d4 0 , /n3 , 5
+/d4 0 , /s2 , 0
+/d4 0 , /n9 , 13
+/d4 0 , /n7 , 13
+/d4 0 , /n13 , 13
+/d4 0 , /n11 , 13
+/d4 0 , /n17 , 13
+/d4 0 , /s , 35
+/d4 0 , /n15 , 8
+/d4 0 , /n21 , 13
+/d4 0 , /n19 , 13
+/d4 0 , /n25 , 13
+/d4 0 , /oct , 4
+/d4 0 , /s16 , 0
+/d4 0 , /n23 , 13
+/d4 0 , /s14 , 20.1587
+/d4 0 , /n29 , 13
+/d4 0 , /s12 , 30.2381
+/d4 0 , /n27 , 13
+/d4 0 , /s10 , 0
+/d4 0 , /s8 , 0
+/d4 0 , /n1 , 13
+/d4 0 , /n31 , 13
+/d4 0 , /s6 , 52.4127
+/d4 0 , /s19 , 0
+/d4 0 , /s20 , 0
+/d4 0 , /s21 , 0
+/d4 0 , /s22 , 0
+/d4 0 , /s23 , 0
+/d4 0 , /transp , 0
+/d4 0 , /resol , 2.03226
+/d4 0 , /s24 , 0
+/d4 0 , /s25 , 0
+/d4 0 , /s26 , 0
+/d4 0 , /s27 , 0
+/d4 0 , /play , 1
+/d4 0 , /s28 , 0
+/d4 0 , /s29 , 0
+/d4 0 , /s30 , 0
+/d4 0 , /s31 , 0
+/d4 0 , /s32 , 0
+/d4 0 , /n2 , 13
+/d4 0 , /n6 , 8
+/d4 0 , /s3 , 24.1905
+/d4 0 , /n4 , 13
+/d4 0 , /s1 , 0
+/d4 0 , /n10 , 13
+/d4 0 , /s15 , 64.5079
+/d4 0 , /n8 , 13
+/d4 0 , /n14 , 8
+/d4 0 , /n12 , 5
+/d4 0 , /n18 , 13
+/d4 0 , /n16 , 13
+/d4 0 , /n22 , 13
+/d4 0 , /s18 , 0
+/d4 0 , /n20 , 13
+/d4 0 , /s17 , 0
+/d4 0 , /n26 , 13
+/d4 0 , /n24 , 13
+/d4 0 , /s13 , 0
+/d4 0 , /svol , 97
+/d4 0 , /n30 , 13
+/d4 0 , /s11 , 0
+/d4 0 , /n28 , 13
+/d4 0 , /s9 , 0
+/d4 0 , /s7 , 0
+/d4 0 , /n32 , 13
+/d4 0 , /s5 , 18.1429
+/d4 0 , /last , 15
+/d4 3 , /svol , 9
+/d4 1 , /svol , 90
diff --git a/usecases/fluid-test.pd b/usecases/fluid-test.pd
new file mode 100644
index 0000000..0d06eaa
--- /dev/null
+++ b/usecases/fluid-test.pd
@@ -0,0 +1,204 @@
+#N canvas 22 4 1154 788 10;
+#X obj 132 666 ezdac~;
+#X obj 338 697 careGUI;
+#X obj 157 438 pack 0 0 1;
+#X msg 155 458 note \$3 \$1 \$2;
+#X obj 13 24 rrad.pattseq /main;
+#X obj 281 382 r \$0-preset;
+#X obj 887 116 rrad.mmetr /m;
+#X obj 984 267 s \$0-preset;
+#X floatatom 982 227 5 0 0 0 - - -;
+#X msg 983 245 /*/bpm \$1;
+#X obj 738 1 r \$0-preset;
+#X obj 153 393 r \$0-beat;
+#X obj 887 225 s \$0-beat;
+#X obj 19 2 r \$0-beat;
+#X floatatom 322 437 5 0 0 0 - - -;
+#X msg 323 463 /a/chan \$1;
+#X msg 402 464 /a/prog 0;
+#X msg 516 482 note \$3 \$1 \$2;
+#X obj 642 406 r \$0-preset;
+#X obj 514 417 r \$0-beat;
+#X obj 518 462 pack 0 0 3;
+#X obj 794 453 rrad.pattplay /d3;
+#X obj 926 414 r \$0-preset;
+#X obj 798 425 r \$0-beat;
+#X msg 864 495 note \$3 \$1 \$2;
+#X obj 866 475 pack 0 0 3;
+#X msg 905 47 /main/name \$1;
+#X obj 903 26 makefilename /d%d;
+#X obj 906 6 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1
+-1 5;
+#X obj 157 414 rrad.pattplay /d1;
+#X obj 518 438 rrad.pattplay /d2;
+#X obj 941 456 rrad.pattplay /d4;
+#X obj 19 415 rrad.pattplay /d0;
+#X obj 147 370 r \$0-preset;
+#X obj 19 381 r \$0-beat;
+#X obj 667 691 throw~ l;
+#X obj 736 692 throw~ r;
+#X obj 10 587 catch~ l;
+#X obj 72 587 catch~ r;
+#X obj 900 573 chordmap 60;
+#X msg 747 488 note 1 \$1 \$2;
+#X obj 896 540 rrad.pattplay /d5;
+#X obj 868 677 print;
+#X floatatom 1036 531 5 0 0 0 - - -;
+#N canvas 577 451 450 300 keya 0;
+#X obj 145 48 inlet;
+#X obj 108 102 spigot;
+#X obj 71 44 key;
+#X obj 111 217 outlet;
+#X obj 105 161 - 49;
+#X msg 109 189 /*/preset \$1;
+#X obj 108 132 clip 49 52;
+#X obj 71 75 moses 48;
+#X connect 0 0 1 1;
+#X connect 1 0 6 0;
+#X connect 2 0 7 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 6 0 4 0;
+#X connect 7 1 1 0;
+#X restore 1006 651 pd keya;
+#X obj 1015 624 tgl 24 0 empty empty empty 0 -6 0 8 -261681 -1 -1 0
+1;
+#N canvas 137 134 450 300 midi 0;
+#X obj 84 35 ctlin;
+#X msg 73 139 \$2 \$1;
+#X obj 75 116 pack 0 s;
+#X obj 77 171 s \$0-preset;
+#X obj 139 82 makefilename /d%d/svol;
+#X obj 66 221 print midi;
+#X msg 192 193 /main/svol \$1;
+#X floatatom 169 219 5 0 0 0 - - -;
+#X obj 192 164 route /d5/svol;
+#X connect 0 0 2 0;
+#X connect 0 1 4 0;
+#X connect 1 0 3 0;
+#X connect 1 0 5 0;
+#X connect 1 0 8 0;
+#X connect 2 0 1 0;
+#X connect 4 0 2 1;
+#X connect 6 0 3 0;
+#X connect 8 0 7 0;
+#X restore 876 636 pd midi;
+#X obj 133 726 oggrecorder;
+#X obj 1009 564 / 20;
+#X obj 133 480 rrad.fluid~ /a;
+#X obj 570 529 rrad.fluid~ /rh;
+#N canvas 537 232 561 497 bass 0;
+#X obj 93 132 rrad.fluid~ /bass;
+#X obj 211 15 inlet;
+#X obj 93 304 outlet~;
+#X obj 330 298 outlet~;
+#X obj 238 41 r \$0-preset;
+#X obj 140 41 r \$0-beat;
+#X obj 97 89 pack 0 0 1;
+#X msg 95 109 note \$3 \$1 \$2;
+#X obj 96 68 rrad.pattplay /d6;
+#X floatatom 228 92 5 0 0 0 - - -;
+#X connect 0 0 2 0;
+#X connect 0 1 3 0;
+#X connect 1 0 8 1;
+#X connect 4 0 8 1;
+#X connect 5 0 8 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 0;
+#X connect 8 0 6 0;
+#X connect 8 1 6 1;
+#X connect 9 0 6 2;
+#X restore 943 317 pd bass;
+#X obj 935 344 throw~ l;
+#X obj 1004 345 throw~ r;
+#X obj 1075 44 vu 15 120 \$0-mainvu empty -1 -8 0 8 -66577 -1 1 0;
+#X obj 229 722 prvu~;
+#X obj 22 630 *~ 1;
+#X obj 297 643 throw~ l;
+#X obj 366 644 throw~ r;
+#X obj 46 618 *~ 1;
+#X obj 231 745 s \$0-mainvu;
+#X obj 19 554 hsl 80 15 1 2 0 0 empty empty input-boost -2 -6 0 8 -262144
+-1 -1 5200 1;
+#X msg 377 423 3;
+#X obj 413 424 loadbang;
+#X obj 677 695 rrad.rev~ /rev;
+#X connect 0 0 47 0;
+#X connect 0 0 55 0;
+#X connect 0 1 47 1;
+#X connect 0 1 55 0;
+#X connect 2 0 3 0;
+#X connect 3 0 49 0;
+#X connect 4 2 21 1;
+#X connect 4 2 29 1;
+#X connect 4 2 30 1;
+#X connect 4 2 31 1;
+#X connect 4 2 32 1;
+#X connect 4 2 41 1;
+#X connect 4 2 51 0;
+#X connect 5 0 29 1;
+#X connect 6 0 12 0;
+#X connect 6 1 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 4 1;
+#X connect 11 0 29 0;
+#X connect 13 0 4 0;
+#X connect 14 0 2 2;
+#X connect 14 0 15 0;
+#X connect 14 0 16 0;
+#X connect 15 0 49 1;
+#X connect 16 0 49 1;
+#X connect 17 0 49 0;
+#X connect 18 0 30 1;
+#X connect 19 0 30 0;
+#X connect 20 0 17 0;
+#X connect 21 0 25 0;
+#X connect 21 1 25 1;
+#X connect 22 0 21 1;
+#X connect 22 0 31 1;
+#X connect 22 0 41 1;
+#X connect 23 0 21 0;
+#X connect 23 0 31 0;
+#X connect 23 0 41 0;
+#X connect 24 0 49 0;
+#X connect 25 0 24 0;
+#X connect 26 0 4 1;
+#X connect 27 0 26 0;
+#X connect 28 0 27 0;
+#X connect 29 0 2 0;
+#X connect 29 1 2 1;
+#X connect 30 0 20 0;
+#X connect 30 1 20 1;
+#X connect 31 0 25 0;
+#X connect 31 1 25 1;
+#X connect 32 0 2 0;
+#X connect 32 1 2 1;
+#X connect 33 0 32 1;
+#X connect 34 0 32 0;
+#X connect 37 0 56 0;
+#X connect 38 0 59 0;
+#X connect 39 0 40 0;
+#X connect 40 0 50 0;
+#X connect 41 0 39 0;
+#X connect 41 1 48 0;
+#X connect 43 0 48 1;
+#X connect 44 0 41 1;
+#X connect 44 0 4 1;
+#X connect 45 0 44 0;
+#X connect 48 0 39 1;
+#X connect 49 0 57 0;
+#X connect 49 1 58 0;
+#X connect 50 0 35 0;
+#X connect 50 1 36 0;
+#X connect 51 0 52 0;
+#X connect 51 1 53 0;
+#X connect 55 0 60 0;
+#X connect 56 0 64 0;
+#X connect 59 0 64 1;
+#X connect 61 0 56 1;
+#X connect 61 0 59 1;
+#X connect 62 0 14 0;
+#X connect 63 0 62 0;
+#X connect 64 0 0 0;
+#X connect 64 1 0 1;
diff --git a/usecases/hiphopdrum.dat b/usecases/hiphopdrum.dat
new file mode 100644
index 0000000..c0df528
--- /dev/null
+++ b/usecases/hiphopdrum.dat
@@ -0,0 +1,510 @@
+/hip 0 , /soundfont , /dos/ibm/hdc18/f/audio/soundfonts/drum/jeremyhiphop.sf2
+/hip 0 , /chan , 10
+/patt 0 , /n7 , 2
+/patt 0 , /s17 , 0
+/patt 0 , /n25 , 13
+/patt 0 , /s13 , 0
+/patt 0 , /n23 , 13
+/patt 0 , /n32 , 13
+/patt 0 , /n26 , 13
+/patt 0 , /oct , 3
+/patt 0 , /n30 , 13
+/patt 0 , /s5 , 62.4921
+/patt 0 , /n28 , 13
+/patt 0 , /n9 , 2
+/patt 0 , /s30 , 0
+/patt 0 , /s26 , 0
+/patt 0 , /n11 , 2
+/patt 0 , /s11 , 0
+/patt 0 , /n14 , 1
+/patt 0 , /play , 1
+/patt 0 , /s9 , 98.7778
+/patt 0 , /n5 , 1
+/patt 0 , /s24 , 0
+/patt 0 , /n3 , 2
+/patt 0 , /s25 , 0
+/patt 0 , /s7 , 0
+/patt 0 , /n20 , 13
+/patt 0 , /n18 , 13
+/patt 0 , /s28 , 0
+/patt 0 , /s32 , 0
+/patt 0 , /n16 , 2
+/patt 0 , /n2 , 2
+/patt 0 , /s29 , 0
+/patt 0 , /n21 , 13
+/patt 0 , /last , 15
+/patt 0 , /s2 , 0
+/patt 0 , /s31 , 0
+/patt 0 , /s4 , 80.6349
+/patt 0 , /s18 , 0
+/patt 0 , /s23 , 0
+/patt 0 , /s21 , 0
+/patt 0 , /n24 , 13
+/patt 0 , /s14 , 86.6825
+/patt 0 , /s27 , 0
+/patt 0 , /n22 , 13
+/patt 0 , /n31 , 13
+/patt 0 , /n27 , 13
+/patt 0 , /svol , 86.6825
+/patt 0 , /n10 , 1
+/patt 0 , /s6 , 72.5714
+/patt 0 , /n29 , 13
+/patt 0 , /n8 , 13
+/patt 0 , /n1 , 2
+/patt 0 , /n12 , 1
+/patt 0 , /s12 , 76.6032
+/patt 0 , /n13 , 13
+/patt 0 , /s , 60
+/patt 0 , /s10 , 84.6667
+/patt 0 , /s20 , 0
+/patt 0 , /n15 , 2
+/patt 0 , /s19 , 0
+/patt 0 , /s16 , 56.4444
+/patt 0 , /n6 , 2
+/patt 0 , /n4 , 1
+/patt 0 , /s15 , 86.6825
+/patt 0 , /s8 , 0
+/patt 0 , /n19 , 13
+/patt 0 , /n17 , 13
+/patt 0 , /s1 , 74.5873
+/patt 0 , /s22 , 0
+/patt 0 , /s3 , 76.6032
+/patt 0 , /transp , 0
+/patt 0 , /resol , 2.55319
+/patt 1 , /n7 , 2
+/patt 1 , /s17 , 0
+/patt 1 , /n25 , 13
+/patt 1 , /s13 , 0
+/patt 1 , /n23 , 13
+/patt 1 , /n32 , 13
+/patt 1 , /n26 , 13
+/patt 1 , /oct , 3
+/patt 1 , /n30 , 13
+/patt 1 , /s5 , 0
+/patt 1 , /n28 , 13
+/patt 1 , /n9 , 1
+/patt 1 , /s30 , 0
+/patt 1 , /s26 , 0
+/patt 1 , /n11 , 2
+/patt 1 , /s11 , 0
+/patt 1 , /n14 , 1
+/patt 1 , /play , 1
+/patt 1 , /s9 , 82.6508
+/patt 1 , /n5 , 13
+/patt 1 , /s24 , 0
+/patt 1 , /n3 , 2
+/patt 1 , /s25 , 0
+/patt 1 , /s7 , 0
+/patt 1 , /n20 , 13
+/patt 1 , /n18 , 13
+/patt 1 , /s28 , 0
+/patt 1 , /s32 , 0
+/patt 1 , /n16 , 2
+/patt 1 , /n2 , 2
+/patt 1 , /s29 , 0
+/patt 1 , /n21 , 13
+/patt 1 , /last , 15
+/patt 1 , /s2 , 74.5873
+/patt 1 , /s31 , 0
+/patt 1 , /s4 , 0
+/patt 1 , /s18 , 0
+/patt 1 , /s23 , 0
+/patt 1 , /s21 , 0
+/patt 1 , /n24 , 13
+/patt 1 , /s14 , 86.6825
+/patt 1 , /s27 , 0
+/patt 1 , /n22 , 13
+/patt 1 , /n31 , 13
+/patt 1 , /n27 , 13
+/patt 1 , /svol , 127
+/patt 1 , /n10 , 2
+/patt 1 , /s6 , 72.5714
+/patt 1 , /n29 , 13
+/patt 1 , /n8 , 13
+/patt 1 , /n1 , 2
+/patt 1 , /n12 , 2
+/patt 1 , /s12 , 76.6032
+/patt 1 , /n13 , 13
+/patt 1 , /s10 , 100.794
+/patt 1 , /s20 , 0
+/patt 1 , /n15 , 2
+/patt 1 , /s19 , 0
+/patt 1 , /s16 , 56.4444
+/patt 1 , /n6 , 2
+/patt 1 , /n4 , 13
+/patt 1 , /s15 , 86.6825
+/patt 1 , /s8 , 0
+/patt 1 , /n19 , 13
+/patt 1 , /n17 , 13
+/patt 1 , /s1 , 0
+/patt 1 , /s22 , 0
+/patt 1 , /s3 , 0
+/patt 1 , /transp , 0
+/patt 1 , /resol , 2.44681
+/bass 0 , /n7 , 13
+/bass 0 , /s17 , 102.81
+/bass 0 , /n25 , -0
+/bass 0 , /s13 , 78.619
+/bass 0 , /n23 , 13
+/bass 0 , /n32 , 13
+/bass 0 , /n26 , 13
+/bass 0 , /oct , 3
+/bass 0 , /n30 , 13
+/bass 0 , /s5 , 80.6349
+/bass 0 , /n28 , -0
+/bass 0 , /n9 , -0
+/bass 0 , /s30 , 0
+/bass 0 , /s26 , 0
+/bass 0 , /n11 , 13
+/bass 0 , /s11 , 0
+/bass 0 , /n14 , 13
+/bass 0 , /play , 1
+/bass 0 , /s9 , 108.857
+/bass 0 , /n5 , -0
+/bass 0 , /s24 , 0
+/bass 0 , /n3 , 13
+/bass 0 , /s25 , 100.794
+/bass 0 , /s7 , 0
+/bass 0 , /n20 , 13
+/bass 0 , /n18 , 13
+/bass 0 , /s28 , 40.3175
+/bass 0 , /s32 , 0
+/bass 0 , /n16 , 13
+/bass 0 , /n2 , 13
+/bass 0 , /s29 , 100.794
+/bass 0 , /n21 , -0
+/bass 0 , /last , 31
+/bass 0 , /s2 , 0
+/bass 0 , /s31 , 76.6032
+/bass 0 , /s4 , 0
+/bass 0 , /s18 , 0
+/bass 0 , /s23 , 0
+/bass 0 , /s21 , 80.6349
+/bass 0 , /n24 , 13
+/bass 0 , /s14 , 0
+/bass 0 , /s27 , 0
+/bass 0 , /n22 , 13
+/bass 0 , /n31 , -0
+/bass 0 , /n27 , 13
+/bass 0 , /svol , 90.7143
+/bass 0 , /n10 , 13
+/bass 0 , /s6 , 0
+/bass 0 , /n29 , -0
+/bass 0 , /n8 , 13
+/bass 0 , /n1 , -0
+/bass 0 , /n12 , 13
+/bass 0 , /s12 , 0
+/bass 0 , /n13 , -0
+/bass 0 , /s10 , 0
+/bass 0 , /s20 , 0
+/bass 0 , /n15 , 13
+/bass 0 , /s19 , 0
+/bass 0 , /s16 , 0
+/bass 0 , /n6 , 13
+/bass 0 , /n4 , 13
+/bass 0 , /s15 , 0
+/bass 0 , /s8 , 0
+/bass 0 , /n19 , 13
+/bass 0 , /n17 , -0
+/bass 0 , /s1 , 127
+/bass 0 , /s22 , 0
+/bass 0 , /s3 , 0
+/bass 0 , /transp , 0
+/bass 0 , /resol , 2.55319
+/boxx 0 , /s5 , M
+/boxx 0 , /s7 , 7b9
+/boxx 0 , /s2 , m7
+/boxx 0 , /s4 , b7
+/boxx 0 , /s6 , 9b5
+/boxx 0 , /s8 , dim7
+/boxx 0 , /s1 , m7
+/boxx 0 , /s3 , m7b5
+0 , /bpm , 120
+/piano 0 , /n7 , 13
+/piano 0 , /s17 , 52.4127
+/piano 0 , /n25 , 6
+/piano 0 , /s13 , 60.4762
+/piano 0 , /n23 , 5
+/piano 0 , /n32 , 5
+/piano 0 , /n26 , 6
+/piano 0 , /oct , 4
+/piano 0 , /n30 , 6
+/piano 0 , /s5 , 0
+/piano 0 , /n28 , 13
+/piano 0 , /n9 , 5
+/piano 0 , /s30 , 0
+/piano 0 , /s26 , 0
+/piano 0 , /n11 , 13
+/piano 0 , /s11 , 0
+/piano 0 , /n14 , 5
+/piano 0 , /soundfont , /dos/ibm/hdc18/f/audio/soundfonts/GortMiniPiano.sf2
+/piano 0 , /play , 1
+/piano 0 , /s9 , 0
+/piano 0 , /n5 , 5
+/piano 0 , /s24 , 0
+/piano 0 , /n3 , 5
+/piano 0 , /s25 , 58.4603
+/piano 0 , /s7 , 0
+/piano 0 , /n20 , 13
+/piano 0 , /n18 , 5
+/piano 0 , /s28 , 0
+/piano 0 , /s32 , 0
+/piano 0 , /n16 , 13
+/piano 0 , /n2 , 13
+/piano 0 , /s29 , 50.3968
+/piano 0 , /n21 , 5
+/piano 0 , /last , 31
+/piano 0 , /s2 , 0
+/piano 0 , /s31 , 66.5238
+/piano 0 , /s4 , 48.381
+/piano 0 , /s18 , 0
+/piano 0 , /s23 , 58.4603
+/piano 0 , /s21 , 58.4603
+/piano 0 , /n24 , 5
+/piano 0 , /s14 , 0
+/piano 0 , /s27 , 0
+/piano 0 , /n22 , 5
+/piano 0 , /n31 , 5
+/piano 0 , /n27 , 13
+/piano 0 , /svol , 56.4444
+/piano 0 , /n10 , 13
+/piano 0 , /s6 , 0
+/piano 0 , /n29 , 6
+/piano 0 , /n8 , 5
+/piano 0 , /n1 , 5
+/piano 0 , /n12 , 5
+/piano 0 , /s12 , 0
+/piano 0 , /n13 , 5
+/piano 0 , /s10 , 0
+/piano 0 , /s20 , 0
+/piano 0 , /n15 , 13
+/piano 0 , /s19 , 0
+/piano 0 , /chan , 1
+/piano 0 , /s16 , 0
+/piano 0 , /n6 , 13
+/piano 0 , /n4 , 5
+/piano 0 , /s15 , 0
+/piano 0 , /s8 , 60.4762
+/piano 0 , /n19 , 13
+/piano 0 , /n17 , 5
+/piano 0 , /s1 , 68.5397
+/piano 0 , /s22 , 22.1746
+/piano 0 , /s3 , 0
+/piano 0 , /transp , 0
+/piano 0 , /resol , 2.44681
+/piano 1 , /n7 , 4
+/piano 1 , /s17 , 70.5556
+/piano 1 , /n25 , 4
+/piano 1 , /s13 , 70.5556
+/piano 1 , /n23 , 13
+/piano 1 , /n32 , -0
+/piano 1 , /n26 , 13
+/piano 1 , /oct , 4
+/piano 1 , /n30 , -0
+/piano 1 , /s5 , 78.619
+/piano 1 , /n28 , 13
+/piano 1 , /n9 , 2
+/piano 1 , /s30 , 0
+/piano 1 , /s26 , 0
+/piano 1 , /n11 , 2
+/piano 1 , /s11 , 0
+/piano 1 , /n14 , 13
+/piano 1 , /soundfont , /dos/ibm/hdc18/f/audio/soundfonts/GortMiniPiano.sf2
+/piano 1 , /play , 1
+/piano 1 , /s9 , 80.6349
+/piano 1 , /n5 , 4
+/piano 1 , /s24 , 0
+/piano 1 , /n3 , 13
+/piano 1 , /s25 , 66.5238
+/piano 1 , /s7 , 0
+/piano 1 , /n20 , 4
+/piano 1 , /n18 , 4
+/piano 1 , /s28 , 0
+/piano 1 , /s32 , 0
+/piano 1 , /n16 , 13
+/piano 1 , /n2 , 13
+/piano 1 , /s29 , 62.4921
+/piano 1 , /n21 , 13
+/piano 1 , /last , 31
+/piano 1 , /s2 , 0
+/piano 1 , /s31 , 76.6032
+/piano 1 , /s4 , 0
+/piano 1 , /s18 , 0
+/piano 1 , /s23 , 50.3968
+/piano 1 , /s21 , 0
+/piano 1 , /n24 , 13
+/piano 1 , /s14 , 0
+/piano 1 , /s27 , 0
+/piano 1 , /n22 , 4
+/piano 1 , /n31 , -0
+/piano 1 , /n27 , 13
+/piano 1 , /svol , 48.381
+/piano 1 , /n10 , 13
+/piano 1 , /s6 , 0
+/piano 1 , /n29 , -0
+/piano 1 , /n8 , 13
+/piano 1 , /n1 , 4
+/piano 1 , /n12 , 13
+/piano 1 , /s12 , 0
+/piano 1 , /n13 , 5
+/piano 1 , /s10 , 0
+/piano 1 , /s20 , 0
+/piano 1 , /n15 , 5
+/piano 1 , /s19 , 66.5238
+/piano 1 , /chan , 1
+/piano 1 , /s16 , 0
+/piano 1 , /n6 , 13
+/piano 1 , /n4 , 13
+/piano 1 , /s15 , 0
+/piano 1 , /s8 , 0
+/piano 1 , /n19 , 4
+/piano 1 , /n17 , 4
+/piano 1 , /s1 , 72.5714
+/piano 1 , /s22 , 68.5397
+/piano 1 , /s3 , 0
+/piano 1 , /transp , 0
+/piano 1 , /resol , 2.44681
+/doublebass 0 , /soundfont , /dos/ibm/hdc18/f/audio/soundfonts/bass/JazzAccousticBass.sf2
+/doublebass 0 , /chan , 1
+/double 0 , /n7 , 7
+/double 0 , /s17 , 0
+/double 0 , /n25 , 2
+/double 0 , /s13 , 127
+/double 0 , /n23 , 2
+/double 0 , /n32 , 5
+/double 0 , /n26 , 2
+/double 0 , /oct , 3
+/double 0 , /n30 , 5
+/double 0 , /s5 , 127
+/double 0 , /n28 , 4
+/double 0 , /n9 , 5
+/double 0 , /s30 , 0
+/double 0 , /s26 , 0
+/double 0 , /n11 , 5
+/double 0 , /s11 , 0
+/double 0 , /n14 , 7
+/double 0 , /play , 1
+/double 0 , /s9 , 127
+/double 0 , /n5 , 7
+/double 0 , /s24 , 127
+/double 0 , /n3 , 13
+/double 0 , /s25 , 127
+/double 0 , /s7 , 0
+/double 0 , /n20 , 2
+/double 0 , /n18 , 13
+/double 0 , /s28 , 0
+/double 0 , /s32 , 0
+/double 0 , /n16 , 11
+/double 0 , /n2 , 7
+/double 0 , /s29 , 127
+/double 0 , /n21 , 13
+/double 0 , /last , 31
+/double 0 , /s2 , 0
+/double 0 , /s31 , 0
+/double 0 , /s4 , 0
+/double 0 , /s18 , 0
+/double 0 , /s23 , 0
+/double 0 , /s21 , 0
+/double 0 , /n24 , 2
+/double 0 , /s14 , 0
+/double 0 , /s27 , 127
+/double 0 , /n22 , 2
+/double 0 , /n31 , 13
+/double 0 , /n27 , 4
+/double 0 , /svol , 104.825
+/double 0 , /n10 , 13
+/double 0 , /s6 , 0
+/double 0 , /n29 , 5
+/double 0 , /n8 , 13
+/double 0 , /n1 , 7
+/double 0 , /n12 , 13
+/double 0 , /s12 , 0
+/double 0 , /n13 , 7
+/double 0 , /s10 , 0
+/double 0 , /s20 , 0
+/double 0 , /n15 , 11
+/double 0 , /s19 , 127
+/double 0 , /s16 , 0
+/double 0 , /n6 , 13
+/double 0 , /n4 , 13
+/double 0 , /s15 , 127
+/double 0 , /s8 , 0
+/double 0 , /n19 , 2
+/double 0 , /n17 , 13
+/double 0 , /s1 , 127
+/double 0 , /s22 , 127
+/double 0 , /s3 , 0
+/double 0 , /transp , 0
+/double 0 , /resol , 2.12766
+/m 0 , /bpm , 142
+/m 0 , /start , 1
+/hh 0 , /n7 , 10
+/hh 0 , /s17 , 0
+/hh 0 , /n25 , 13
+/hh 0 , /s13 , 88.6984
+/hh 0 , /n23 , 13
+/hh 0 , /n32 , 13
+/hh 0 , /n26 , 13
+/hh 0 , /oct , 3
+/hh 0 , /n30 , 13
+/hh 0 , /s5 , 86.6825
+/hh 0 , /n28 , 13
+/hh 0 , /n9 , 13
+/hh 0 , /s30 , 0
+/hh 0 , /s26 , 0
+/hh 0 , /n11 , 10
+/hh 0 , /s11 , 92.7302
+/hh 0 , /n14 , 13
+/hh 0 , /play , 1
+/hh 0 , /s9 , 0
+/hh 0 , /n5 , 13
+/hh 0 , /s24 , 0
+/hh 0 , /n3 , 10
+/hh 0 , /s25 , 0
+/hh 0 , /s7 , 108.857
+/hh 0 , /n20 , 13
+/hh 0 , /n18 , 13
+/hh 0 , /s28 , 0
+/hh 0 , /s32 , 0
+/hh 0 , /n16 , 10
+/hh 0 , /n2 , 13
+/hh 0 , /s29 , 0
+/hh 0 , /n21 , 13
+/hh 0 , /last , 15
+/hh 0 , /s2 , 0
+/hh 0 , /s31 , 0
+/hh 0 , /s4 , 0
+/hh 0 , /s18 , 0
+/hh 0 , /s23 , 0
+/hh 0 , /s21 , 0
+/hh 0 , /n24 , 13
+/hh 0 , /s14 , 0
+/hh 0 , /s27 , 0
+/hh 0 , /n22 , 13
+/hh 0 , /n31 , 13
+/hh 0 , /n27 , 13
+/hh 0 , /svol , 60.4762
+/hh 0 , /n10 , 13
+/hh 0 , /s6 , 0
+/hh 0 , /n29 , 13
+/hh 0 , /n8 , 10
+/hh 0 , /n1 , 10
+/hh 0 , /n12 , 10
+/hh 0 , /s12 , 0
+/hh 0 , /n13 , 8
+/hh 0 , /s10 , 80.6349
+/hh 0 , /s20 , 0
+/hh 0 , /n15 , 10
+/hh 0 , /s19 , 0
+/hh 0 , /s16 , 0
+/hh 0 , /n6 , 13
+/hh 0 , /n4 , 10
+/hh 0 , /s15 , 84.6667
+/hh 0 , /s8 , 0
+/hh 0 , /n19 , 13
+/hh 0 , /n17 , 13
+/hh 0 , /s1 , 84.6667
+/hh 0 , /s22 , 0
+/hh 0 , /s3 , 90.7143
+/hh 0 , /transp , 0
+/hh 0 , /resol , 2.44681
diff --git a/usecases/hiphopdrum.pd b/usecases/hiphopdrum.pd
new file mode 100644
index 0000000..9638e49
--- /dev/null
+++ b/usecases/hiphopdrum.pd
@@ -0,0 +1,173 @@
+#N canvas 105 0 969 872 10;
+#X obj 591 808 ezdac~;
+#X obj 101 133 rrad.pattseq /patt;
+#X floatatom 250 517 5 0 0 0 - - -;
+#X obj 146 522 pack 0 0 10;
+#X msg 170 561 note \$3 \$1 \$2;
+#X obj 657 3 rrad.mmetr /m;
+#X msg 754 105 /*/bpm \$1;
+#X obj 102 564 print;
+#X obj 316 477 int;
+#X obj 348 625 rrad.fluid~ /hip;
+#X obj 379 503 careGUI;
+#N canvas 144 40 830 399 more 0;
+#X obj 218 52 inlet;
+#X obj 58 235 outlet;
+#X obj 44 59 inlet;
+#X obj 160 228 outlet;
+#X obj 44 125 rrad.pattseq-ng /bass;
+#X obj 219 121 rrad.pattseq-ng /hh;
+#X obj 401 118 rrad.pattseq-ng /patt;
+#X connect 0 0 4 1;
+#X connect 0 0 5 1;
+#X connect 0 0 6 1;
+#X connect 2 0 4 0;
+#X connect 2 0 5 0;
+#X connect 2 0 6 0;
+#X connect 4 0 1 0;
+#X connect 4 1 3 0;
+#X connect 5 0 1 0;
+#X connect 5 1 3 0;
+#X connect 6 0 1 0;
+#X connect 6 1 3 0;
+#X restore 852 81 pd more;
+#X msg 148 94 /patt/name \$1;
+#X obj 145 63 symbol /patt;
+#X obj 239 62 symbol /hh;
+#X obj 332 62 symbol /bass;
+#X obj 108 12 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X obj 233 28 select 0 1 2;
+#X msg 172 15 \$1;
+#X obj 703 533 chordpool;
+#X obj 677 637 rrad.fluid~ /piano;
+#X obj 695 604 prepend note;
+#X obj 707 486 r beat;
+#X obj 626 106 s beat;
+#X symbolatom 837 572 10 0 0 0 - - -;
+#X obj 794 594 prepend get;
+#X obj 134 716 unpack 0 0 0 0;
+#X obj 700 579 prepend 1;
+#X obj 145 811 pack 0 0;
+#X obj 617 639 print n;
+#X msg 143 752 \$1;
+#N canvas 73 450 931 365 symbols 0;
+#X obj 48 126 speakerboxx /boxx;
+#X obj 52 30 r beat;
+#X obj 54 92 print;
+#X obj 178 94 mod 8;
+#X obj 721 220 outlet;
+#X obj 53 59 route b2;
+#X obj 54 240 outlet~;
+#X obj 160 240 gpans~;
+#X obj 160 270 throw~ left;
+#X obj 245 270 throw~ right;
+#X connect 0 0 6 0;
+#X connect 0 0 7 0;
+#X connect 0 0 7 1;
+#X connect 0 1 4 0;
+#X connect 1 0 5 0;
+#X connect 3 0 0 0;
+#X connect 5 0 3 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X restore 811 613 pd symbols;
+#X obj 783 544 symbol;
+#X obj 837 535 t b b;
+#X obj 143 777 makenote 60 500;
+#X floatatom 257 710 5 0 0 0 - - -;
+#N canvas 457 357 461 328 bass 0;
+#X obj 69 35 r beat;
+#X obj 240 48 inlet;
+#X obj 59 132 rrad.fluid~ /doublebass;
+#X obj 69 89 pack 0 0 1;
+#X msg 62 110 note \$3 \$1 \$2;
+#X obj 61 301 outlet~;
+#X obj 160 303 outlet~;
+#X obj 76 67 rrad.pattseq-ng /double;
+#X connect 0 0 7 0;
+#X connect 1 0 7 1;
+#X connect 2 0 5 0;
+#X connect 2 1 6 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 7 0 3 0;
+#X connect 7 1 3 1;
+#X restore 885 819 pd bass;
+#X obj 406 823 catch~ left;
+#X obj 491 823 catch~ right;
+#X msg 795 489 /*/preset \$1;
+#X obj 797 469 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 430 478 r beat;
+#X obj 477 477 route b1;
+#X obj 616 479 select 0;
+#X obj 559 484 mod 32;
+#X msg 368 589 set;
+#X obj 409 595 s SET_ALL_RRADICALS;
+#X msg 224 666 10;
+#X msg 266 664 200;
+#X obj 704 510 rrad.pattseq-ng /piano;
+#X connect 1 3 11 1;
+#X connect 1 3 36 0;
+#X connect 1 3 49 1;
+#X connect 2 0 3 2;
+#X connect 3 0 4 0;
+#X connect 4 0 9 0;
+#X connect 5 0 1 0;
+#X connect 5 0 11 0;
+#X connect 5 0 23 0;
+#X connect 5 2 6 0;
+#X connect 6 0 1 1;
+#X connect 6 0 11 1;
+#X connect 8 0 3 1;
+#X connect 9 0 0 0;
+#X connect 9 1 0 1;
+#X connect 10 0 45 0;
+#X connect 11 0 3 0;
+#X connect 11 1 3 1;
+#X connect 12 0 1 1;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 12 0;
+#X connect 16 0 17 0;
+#X connect 17 0 13 0;
+#X connect 17 1 14 0;
+#X connect 17 2 15 0;
+#X connect 19 1 26 0;
+#X connect 20 0 0 0;
+#X connect 20 1 0 1;
+#X connect 21 0 20 0;
+#X connect 22 0 49 0;
+#X connect 25 0 19 0;
+#X connect 26 0 30 0;
+#X connect 26 1 30 0;
+#X connect 26 2 30 0;
+#X connect 26 3 30 0;
+#X connect 27 0 21 0;
+#X connect 28 0 27 0;
+#X connect 30 0 34 0;
+#X connect 31 1 32 1;
+#X connect 32 0 24 0;
+#X connect 32 0 25 0;
+#X connect 33 0 24 0;
+#X connect 33 1 32 0;
+#X connect 34 0 28 0;
+#X connect 34 1 28 1;
+#X connect 35 0 34 2;
+#X connect 36 0 0 0;
+#X connect 36 1 0 1;
+#X connect 37 0 0 0;
+#X connect 38 0 0 1;
+#X connect 39 0 49 1;
+#X connect 40 0 39 0;
+#X connect 41 0 42 0;
+#X connect 42 0 44 0;
+#X connect 43 0 40 0;
+#X connect 44 0 43 0;
+#X connect 45 0 46 0;
+#X connect 47 0 35 0;
+#X connect 48 0 35 0;
+#X connect 49 0 19 1;
+#X connect 49 0 33 0;
+#X connect 49 1 34 1;
diff --git a/usecases/loptest.dat b/usecases/loptest.dat
new file mode 100644
index 0000000..3b8bc4a
--- /dev/null
+++ b/usecases/loptest.dat
@@ -0,0 +1,102 @@
+/ms 0 , /s3 , 70
+/ms 0 , /s1 , 127
+/ms 0 , /s4 , 59
+/ms 0 , /s2 , 46
+/adsr 0 , /s , 82.6508
+/adsr 0 , /a , 12.6984
+/adsr 0 , /r , 44.3492
+/adsr 0 , /d , 50.3968
+/bla 0 , /width , 0.27
+/bla 0 , /bpm , 120
+/bla 0 , /start , 1
+/bla 2 , /width , 0.8
+/bla 1 , /width , 0.724409
+/blads 0 , /s , 38.3016
+/blads 0 , /a , 36.5079
+/blads 0 , /r , 26.2063
+/blads 0 , /d , 70.5556
+0 , /throw ,
+/sdf 0 , /throw ,
+/bass 0 , /s29 , 102.81
+/bass 0 , /s28 , 106.841
+/bass 0 , /s27 , 102.81
+/bass 0 , /s26 , 0
+/bass 0 , /s32 , 0
+/bass 0 , /s25 , 96.7619
+/bass 0 , /s24 , 0
+/bass 0 , /s23 , 0
+/bass 0 , /s22 , 98.7778
+/bass 0 , /last , 31
+/bass 0 , /s31 , 98.7778
+/bass 0 , /s30 , 36.2857
+/bass 0 , /n31 , 10
+/bass 0 , /s9 , 0
+/bass 0 , /s7 , 0
+/bass 0 , /n27 , 7
+/bass 0 , /s5 , 82.6508
+/bass 0 , /n29 , 10
+/bass 0 , /s3 , 86.6825
+/bass 0 , /n23 , 13
+/bass 0 , /oct , 4
+/bass 0 , /s1 , 82.6508
+/bass 0 , /n25 , 7
+/bass 0 , /s15 , 0
+/bass 0 , /n19 , 13
+/bass 0 , /n21 , 13
+/bass 0 , /n15 , 13
+/bass 0 , /rand , 84
+/bass 0 , /s21 , 0
+/bass 0 , /n17 , 2
+/bass 0 , /play , 1
+/bass 0 , /s20 , 0
+/bass 0 , /n11 , 13
+/bass 0 , /s19 , 0
+/bass 0 , /n13 , 5
+/bass 0 , /s18 , 96.7619
+/bass 0 , /n7 , 13
+/bass 0 , /s17 , 108.857
+/bass 0 , /n9 , 13
+/bass 0 , /n3 , 4
+/bass 0 , /s13 , 90.7143
+/bass 0 , /n5 , 5
+/bass 0 , /s , 90
+/bass 0 , /s11 , 0
+/bass 0 , /n2 , 13
+/bass 0 , /resol , 2.23404
+/bass 0 , /n1 , 2
+/bass 0 , /n32 , 13
+/bass 0 , /s8 , 82.6508
+/bass 0 , /s6 , 110.873
+/bass 0 , /n28 , 8
+/bass 0 , /s4 , 0
+/bass 0 , /n30 , 10
+/bass 0 , /s2 , 0
+/bass 0 , /n24 , 13
+/bass 0 , /svol , 127
+/bass 0 , /n26 , 13
+/bass 0 , /n20 , 13
+/bass 0 , /n22 , 4
+/bass 0 , /n16 , -0
+/bass 0 , /n18 , 2
+/bass 0 , /n12 , 6
+/bass 0 , /n14 , 4
+/bass 0 , /n8 , 2
+/bass 0 , /s16 , 86.6825
+/bass 0 , /n10 , 4
+/bass 0 , /s14 , 64.5079
+/bass 0 , /n4 , 13
+/bass 0 , /s12 , 100.794
+/bass 0 , /n6 , -0
+/bass 0 , /s10 , 86.6825
+/tmp 0 , /which , /bla/width/
+/an 0 , /which , /ms/
+/es2 0 , /interp , 64
+/es2 0 , /Q , 1e-04
+/es2 0 , /freq , 68.937
+/es2 2 , /Q , 32.9381
+/es2 2 , /freq , 102
+/es2 3 , /interp , 16.3871
+/es2 3 , /freq , 96
+/es2 1 , /interp , 98.3226
+/es2 1 , /Q , 16.551
+/es2 1 , /freq , 100
diff --git a/usecases/loptest.pd b/usecases/loptest.pd
new file mode 100644
index 0000000..4880ae2
--- /dev/null
+++ b/usecases/loptest.pd
@@ -0,0 +1,88 @@
+#N canvas 93 9 979 764 10;
+#X obj 146 491 rrad.lop~ /es2;
+#X obj 537 646 careGUI;
+#X obj 230 648 ezdac~;
+#X obj 315 486 rrad.adsr~ /adsr;
+#X obj 240 616 *~;
+#X floatatom 418 346 5 0 0 0 - - -;
+#X msg 248 393 \$1;
+#X obj 322 429 makenote 100 500;
+#X msg 493 328 50;
+#X floatatom 488 360 5 0 0 0 - - -;
+#X obj 347 618 *~;
+#X obj 348 642 *~;
+#X obj 497 487 rrad.adsr /blads;
+#X obj 303 307 rrad.pattseq-ng /bass;
+#X floatatom 442 399 5 0 0 0 - - -;
+#X msg 283 364 /*/freq \$1;
+#X obj 238 339 + 32;
+#X floatatom 198 237 5 0 0 0 - - -;
+#X obj 146 156 route b2;
+#X obj 197 288 + 24;
+#X obj 130 184 bang;
+#X obj 429 111 rrad.metro /bla;
+#X obj 628 198 rrad.ms /ms;
+#X obj 791 196 catch~ /ms;
+#X obj 640 83 rrad.edi /an;
+#X floatatom 633 58 5 0 0 0 - - -;
+#X obj 706 153 print;
+#X msg 535 727 set;
+#X obj 580 732 s SET_ALL_RRADICALS;
+#X obj 753 439 ctlin;
+#X obj 58 272 ctlin 7 2;
+#X msg 65 336 /bla/width \$1;
+#X obj 48 311 / 127;
+#X obj 146 424 rrad.square~ /bla;
+#X obj 24 449 ctlin 10 2;
+#X msg 26 509 /es2/Q \$1;
+#X floatatom 48 479 5 0 0 0 - - -;
+#X obj 250 108 ctlin 12 2;
+#X obj 244 147 scale 0 127 -10 30;
+#X obj 178 200 random 6;
+#X floatatom 55 585 5 0 0 0 - - -;
+#X obj 31 554 ctlin 13 2;
+#X msg 32 615 /es2/interp \$1;
+#X connect 0 0 4 0;
+#X connect 1 0 27 0;
+#X connect 3 0 10 0;
+#X connect 3 0 10 1;
+#X connect 4 0 22 0;
+#X connect 5 0 7 0;
+#X connect 6 0 33 0;
+#X connect 7 0 6 0;
+#X connect 7 1 3 0;
+#X connect 8 0 5 0;
+#X connect 9 0 7 1;
+#X connect 10 0 11 0;
+#X connect 10 0 11 1;
+#X connect 11 0 4 1;
+#X connect 13 0 7 0;
+#X connect 13 0 16 0;
+#X connect 13 1 7 1;
+#X connect 14 0 7 2;
+#X connect 15 0 0 1;
+#X connect 16 0 15 0;
+#X connect 17 0 19 0;
+#X connect 18 0 20 0;
+#X connect 19 0 16 1;
+#X connect 20 0 39 0;
+#X connect 21 0 13 0;
+#X connect 21 0 18 0;
+#X connect 22 0 2 0;
+#X connect 22 1 2 1;
+#X connect 24 0 22 1;
+#X connect 24 0 26 0;
+#X connect 27 0 28 0;
+#X connect 30 0 32 0;
+#X connect 31 0 33 1;
+#X connect 32 0 31 0;
+#X connect 33 0 0 0;
+#X connect 34 0 35 0;
+#X connect 34 0 36 0;
+#X connect 35 0 0 1;
+#X connect 37 0 38 0;
+#X connect 38 0 19 1;
+#X connect 39 0 17 0;
+#X connect 41 0 42 0;
+#X connect 41 0 40 0;
+#X connect 42 0 0 1;
diff --git a/usecases/minipli-test.pd b/usecases/minipli-test.pd
new file mode 100644
index 0000000..9f0f49a
--- /dev/null
+++ b/usecases/minipli-test.pd
@@ -0,0 +1,39 @@
+#N canvas 471 219 788 386 10;
+#X obj 139 275 ezdac~;
+#X obj 118 61 metro 500;
+#X obj 118 38 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 141 246 catch~ out;
+#X obj 117 203 throw~ out;
+#X obj 210 85 del 250;
+#X msg 279 90 100;
+#X obj 258 208 throw~ out;
+#X obj 116 135 rrad.minipli /t;
+#X msg 446 107 100;
+#X obj 365 100 del 375;
+#X obj 408 208 throw~ out;
+#X msg 116 86 100;
+#X obj 150 87 del 10;
+#X msg 151 107 0;
+#X obj 268 136 rrad.minipli /t2;
+#X obj 421 135 rrad.minipli /t3;
+#X msg 279 51 /t/att \$1;
+#X floatatom 273 20 5 0 0 0 - - -;
+#X connect 1 0 12 0;
+#X connect 1 0 13 0;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 3 0 0 1;
+#X connect 5 0 6 0;
+#X connect 6 0 15 0;
+#X connect 8 0 4 0;
+#X connect 9 0 16 0;
+#X connect 10 0 9 0;
+#X connect 12 0 8 0;
+#X connect 13 0 14 0;
+#X connect 14 0 8 0;
+#X connect 15 0 7 0;
+#X connect 16 0 11 0;
+#X connect 17 0 8 1;
+#X connect 18 0 17 0;
diff --git a/usecases/minipliseq-test.dat b/usecases/minipliseq-test.dat
new file mode 100644
index 0000000..cf39156
--- /dev/null
+++ b/usecases/minipliseq-test.dat
@@ -0,0 +1,1896 @@
+/4 0 , /play , 1
+/anal 0 , /wave , 3
+/anal 0 , /inst , 89.6471
+/anal 0 , /warm , 59.7647
+/anal 1 , /wave , 0
+/main 0 , /s18 , 0
+/main 0 , /s23 , 0
+/main 0 , /s19 , 0
+/main 0 , /s24 , 0
+/main 0 , /s17 , 0
+/main 0 , /s22 , 0
+/main 0 , /n9 , 13
+/main 0 , /s11 , 0
+/main 0 , /s13 , 0
+/main 0 , /s7 , 0
+/main 0 , /s9 , 0
+/main 0 , /n17 , 13
+/main 0 , /s31 , 0
+/main 0 , /n15 , 13
+/main 0 , /s32 , 0
+/main 0 , /n13 , 13
+/main 0 , /play , 1
+/main 0 , /s29 , 0
+/main 0 , /n11 , 13
+/main 0 , /s30 , 0
+/main 0 , /n25 , 13
+/main 0 , /s27 , 0
+/main 0 , /n23 , 13
+/main 0 , /s28 , 0
+/main 0 , /n21 , 13
+/main 0 , /s20 , 0
+/main 0 , /s25 , 0
+/main 0 , /n19 , 13
+/main 0 , /s21 , 0
+/main 0 , /s26 , 0
+/main 0 , /n31 , 13
+/main 0 , /n29 , 13
+/main 0 , /n27 , 13
+/main 0 , /n6 , 13
+/main 0 , /svol , 127
+/main 0 , /n4 , 13
+/main 0 , /n2 , 13
+/main 0 , /s4 , 0
+/main 0 , /s6 , 0
+/main 0 , /s2 , 0
+/main 0 , /transp , 0
+/main 0 , /s16 , 0
+/main 0 , /n8 , 13
+/main 0 , /s12 , 0
+/main 0 , /s14 , 0
+/main 0 , /n1 , 13
+/main 0 , /s8 , 0
+/main 0 , /s10 , 0
+/main 0 , /n16 , 13
+/main 0 , /n14 , 13
+/main 0 , /n12 , 13
+/main 0 , /n10 , 13
+/main 0 , /n24 , 13
+/main 0 , /n22 , 13
+/main 0 , /n20 , 13
+/main 0 , /n18 , 13
+/main 0 , /n32 , 13
+/main 0 , /n30 , 13
+/main 0 , /n28 , 13
+/main 0 , /n26 , 13
+/main 0 , /n7 , 13
+/main 0 , /n5 , 13
+/main 0 , /n3 , 13
+/main 0 , /s3 , 0
+/main 0 , /s5 , 0
+/main 0 , /s15 , 0
+/main 0 , /s1 , 0
+/main 0 , /last , 31
+0 , /freq , 86.6825
+0 , /Q , 14
+0 , /amount , 1.26984
+0 , /type , 1
+0 , /bpm , 120
+0 , /file ,
+0 , /cc , 0 1
+/test 0 , /play , 1
+2 0 , /s18 , 0
+2 0 , /s23 , 0
+2 0 , /s19 , 0
+2 0 , /s24 , 0
+2 0 , /s17 , 48.381
+2 0 , /s22 , 0
+2 0 , /n9 , 0
+2 0 , /s11 , 0
+2 0 , /s13 , 0
+2 0 , /s7 , 0
+2 0 , /s9 , 0
+2 0 , /n17 , 0
+2 0 , /s31 , 0
+2 0 , /n15 , 13
+2 0 , /s32 , 0
+2 0 , /n13 , 0
+2 0 , /play , 1
+2 0 , /s29 , 0
+2 0 , /n11 , 13
+2 0 , /s30 , 0
+2 0 , /n25 , 0
+2 0 , /s27 , 0
+2 0 , /n23 , 13
+2 0 , /s28 , 0
+2 0 , /n21 , 0
+2 0 , /s20 , 0
+2 0 , /s25 , 56.4444
+2 0 , /n19 , 13
+2 0 , /s21 , 46.3651
+2 0 , /s26 , 0
+2 0 , /n31 , 13
+2 0 , /n29 , 13
+2 0 , /n27 , 13
+2 0 , /n6 , 13
+2 0 , /svol , 127
+2 0 , /n4 , 13
+2 0 , /n2 , 13
+2 0 , /s4 , 0
+2 0 , /s6 , 0
+2 0 , /s2 , 0
+2 0 , /resol , 1.58065
+2 0 , /transp , 0
+2 0 , /s16 , 0
+2 0 , /n8 , 13
+2 0 , /s12 , 0
+2 0 , /s14 , 0
+2 0 , /n1 , 0
+2 0 , /s8 , 0
+2 0 , /s10 , 0
+2 0 , /n16 , 13
+2 0 , /n14 , 13
+2 0 , /n12 , 13
+2 0 , /n10 , 13
+2 0 , /n24 , 13
+2 0 , /n22 , 13
+2 0 , /n20 , 13
+2 0 , /n18 , 13
+2 0 , /n32 , 13
+2 0 , /n30 , 13
+2 0 , /n28 , 13
+2 0 , /n26 , 13
+2 0 , /n7 , 13
+2 0 , /n5 , 0
+2 0 , /n3 , 13
+2 0 , /s3 , 0
+2 0 , /s5 , 0
+2 0 , /s15 , 0
+2 0 , /s1 , 0
+2 0 , /last , 31
+/x 0 , /n8 , 13
+/lop-play 4 , /s18 , 14.1111
+/lop-play 4 , /s23 , 112.889
+/lop-play 4 , /s19 , 64.5079
+/lop-play 4 , /s24 , 102.81
+/lop-play 4 , /s17 , 26.2063
+/lop-play 4 , /s22 , 100.794
+/lop-play 4 , /n9 , 7
+/lop-play 4 , /s11 , 54.4286
+/lop-play 4 , /s13 , 54.4286
+/lop-play 4 , /s7 , 60.4762
+/lop-play 4 , /s9 , 46.3651
+/lop-play 4 , /n17 , 8
+/lop-play 4 , /s31 , 20.1587
+/lop-play 4 , /n15 , 7
+/lop-play 4 , /s32 , 32.254
+/lop-play 4 , /n13 , 13
+/lop-play 4 , /play , 1
+/lop-play 4 , /s29 , 88.6984
+/lop-play 4 , /n11 , 7
+/lop-play 4 , /s30 , 32.254
+/lop-play 4 , /n25 , 10
+/lop-play 4 , /s27 , 84.6667
+/lop-play 4 , /n23 , 7
+/lop-play 4 , /s28 , 116.921
+/lop-play 4 , /n21 , 10
+/lop-play 4 , /s20 , 24.1905
+/lop-play 4 , /s25 , 40.3175
+/lop-play 4 , /n19 , 9
+/lop-play 4 , /s21 , 60.4762
+/lop-play 4 , /s26 , 62.4921
+/lop-play 4 , /n31 , 13
+/lop-play 4 , /n29 , 1
+/lop-play 4 , /n27 , 1
+/lop-play 4 , /n6 , 13
+/lop-play 4 , /svol , 127
+/lop-play 4 , /n4 , 13
+/lop-play 4 , /oct , 6
+/lop-play 4 , /n2 , 5
+/lop-play 4 , /s4 , 30.2381
+/lop-play 4 , /s6 , 52.4127
+/lop-play 4 , /s2 , 68.5397
+/lop-play 4 , /resol , 2.70968
+/lop-play 4 , /transp , 0
+/lop-play 4 , /s16 , 56.4444
+/lop-play 4 , /n8 , 13
+/lop-play 4 , /s12 , 60.4762
+/lop-play 4 , /s14 , 64.5079
+/lop-play 4 , /n1 , 5
+/lop-play 4 , /s8 , 102.81
+/lop-play 4 , /s10 , 62.4921
+/lop-play 4 , /n16 , 13
+/lop-play 4 , /n14 , 13
+/lop-play 4 , /n12 , 13
+/lop-play 4 , /n10 , 13
+/lop-play 4 , /n24 , 9
+/lop-play 4 , /n22 , 9
+/lop-play 4 , /n20 , 13
+/lop-play 4 , /n18 , 13
+/lop-play 4 , /n32 , 11
+/lop-play 4 , /n30 , 13
+/lop-play 4 , /n28 , 12
+/lop-play 4 , /n26 , 12
+/lop-play 4 , /n7 , 7
+/lop-play 4 , /n5 , 7
+/lop-play 4 , /n3 , 7
+/lop-play 4 , /s3 , 52.4127
+/lop-play 4 , /s5 , 60.4762
+/lop-play 4 , /s15 , 96.7619
+/lop-play 4 , /s1 , 98.7778
+/lop-play 4 , /last , 31
+/lop-play 0 , /s18 , 14.1111
+/lop-play 0 , /s23 , 112.889
+/lop-play 0 , /s19 , 64.5079
+/lop-play 0 , /s24 , 102.81
+/lop-play 0 , /s17 , 26.2063
+/lop-play 0 , /s22 , 100.794
+/lop-play 0 , /n9 , 7
+/lop-play 0 , /s11 , 54.4286
+/lop-play 0 , /s13 , 54.4286
+/lop-play 0 , /s7 , 60.4762
+/lop-play 0 , /s9 , 46.3651
+/lop-play 0 , /n17 , 8
+/lop-play 0 , /s31 , 20.1587
+/lop-play 0 , /n15 , 7
+/lop-play 0 , /s32 , 32.254
+/lop-play 0 , /n13 , 13
+/lop-play 0 , /play , 1
+/lop-play 0 , /s29 , 88.6984
+/lop-play 0 , /n11 , 7
+/lop-play 0 , /s30 , 32.254
+/lop-play 0 , /n25 , 10
+/lop-play 0 , /s27 , 84.6667
+/lop-play 0 , /n23 , 7
+/lop-play 0 , /s28 , 116.921
+/lop-play 0 , /n21 , 10
+/lop-play 0 , /s20 , 24.1905
+/lop-play 0 , /s25 , 40.3175
+/lop-play 0 , /n19 , 9
+/lop-play 0 , /s21 , 60.4762
+/lop-play 0 , /s26 , 62.4921
+/lop-play 0 , /n31 , 13
+/lop-play 0 , /n29 , 1
+/lop-play 0 , /n27 , 1
+/lop-play 0 , /n6 , 13
+/lop-play 0 , /svol , 127
+/lop-play 0 , /n4 , 13
+/lop-play 0 , /oct , 7
+/lop-play 0 , /n2 , 5
+/lop-play 0 , /s4 , 30.2381
+/lop-play 0 , /s6 , 52.4127
+/lop-play 0 , /s2 , 68.5397
+/lop-play 0 , /resol , 2.70968
+/lop-play 0 , /transp , 0
+/lop-play 0 , /s16 , 56.4444
+/lop-play 0 , /n8 , 13
+/lop-play 0 , /s12 , 60.4762
+/lop-play 0 , /s14 , 64.5079
+/lop-play 0 , /n1 , 5
+/lop-play 0 , /s8 , 102.81
+/lop-play 0 , /s10 , 62.4921
+/lop-play 0 , /n16 , 13
+/lop-play 0 , /n14 , 13
+/lop-play 0 , /n12 , 13
+/lop-play 0 , /n10 , 13
+/lop-play 0 , /n24 , 9
+/lop-play 0 , /n22 , 9
+/lop-play 0 , /n20 , 13
+/lop-play 0 , /n18 , 13
+/lop-play 0 , /n32 , 11
+/lop-play 0 , /n30 , 13
+/lop-play 0 , /n28 , 12
+/lop-play 0 , /n26 , 12
+/lop-play 0 , /n7 , 7
+/lop-play 0 , /n5 , 7
+/lop-play 0 , /n3 , 7
+/lop-play 0 , /s3 , 52.4127
+/lop-play 0 , /s5 , 60.4762
+/lop-play 0 , /s15 , 96.7619
+/lop-play 0 , /s1 , 98.7778
+/lop-play 0 , /last , 31
+/lop-play 2 , /s18 , 14.1111
+/lop-play 2 , /s23 , 112.889
+/lop-play 2 , /s19 , 64.5079
+/lop-play 2 , /s24 , 102.81
+/lop-play 2 , /s17 , 26.2063
+/lop-play 2 , /s22 , 100.794
+/lop-play 2 , /n9 , 7
+/lop-play 2 , /s11 , 54.4286
+/lop-play 2 , /s13 , 54.4286
+/lop-play 2 , /s7 , 60.4762
+/lop-play 2 , /s9 , 46.3651
+/lop-play 2 , /n17 , 8
+/lop-play 2 , /s31 , 20.1587
+/lop-play 2 , /n15 , 7
+/lop-play 2 , /s32 , 32.254
+/lop-play 2 , /n13 , 13
+/lop-play 2 , /play , 0
+/lop-play 2 , /s29 , 88.6984
+/lop-play 2 , /n11 , 7
+/lop-play 2 , /s30 , 32.254
+/lop-play 2 , /n25 , 10
+/lop-play 2 , /s27 , 84.6667
+/lop-play 2 , /n23 , 7
+/lop-play 2 , /s28 , 116.921
+/lop-play 2 , /n21 , 10
+/lop-play 2 , /s20 , 24.1905
+/lop-play 2 , /s25 , 40.3175
+/lop-play 2 , /n19 , 9
+/lop-play 2 , /s21 , 60.4762
+/lop-play 2 , /s26 , 62.4921
+/lop-play 2 , /n31 , 13
+/lop-play 2 , /n29 , 1
+/lop-play 2 , /n27 , 1
+/lop-play 2 , /n6 , 13
+/lop-play 2 , /svol , 127
+/lop-play 2 , /n4 , 13
+/lop-play 2 , /oct , 6
+/lop-play 2 , /n2 , 5
+/lop-play 2 , /s4 , 30.2381
+/lop-play 2 , /s6 , 52.4127
+/lop-play 2 , /s2 , 68.5397
+/lop-play 2 , /resol , 2.70968
+/lop-play 2 , /transp , 0
+/lop-play 2 , /s16 , 56.4444
+/lop-play 2 , /n8 , 13
+/lop-play 2 , /s12 , 60.4762
+/lop-play 2 , /s14 , 64.5079
+/lop-play 2 , /n1 , 3
+/lop-play 2 , /s8 , 102.81
+/lop-play 2 , /s10 , 62.4921
+/lop-play 2 , /n16 , 13
+/lop-play 2 , /n14 , 13
+/lop-play 2 , /n12 , 13
+/lop-play 2 , /n10 , 13
+/lop-play 2 , /n24 , 9
+/lop-play 2 , /n22 , 9
+/lop-play 2 , /n20 , 13
+/lop-play 2 , /n18 , 13
+/lop-play 2 , /n32 , 11
+/lop-play 2 , /n30 , 13
+/lop-play 2 , /n28 , 12
+/lop-play 2 , /n26 , 12
+/lop-play 2 , /n7 , 7
+/lop-play 2 , /n5 , 7
+/lop-play 2 , /n3 , 7
+/lop-play 2 , /s3 , 52.4127
+/lop-play 2 , /s5 , 60.4762
+/lop-play 2 , /s15 , 96.7619
+/lop-play 2 , /s1 , 98.7778
+/lop-play 2 , /last , 31
+/lop-play 3 , /s18 , 14.1111
+/lop-play 3 , /s23 , 112.889
+/lop-play 3 , /s19 , 64.5079
+/lop-play 3 , /s24 , 102.81
+/lop-play 3 , /s17 , 26.2063
+/lop-play 3 , /s22 , 100.794
+/lop-play 3 , /n9 , 7
+/lop-play 3 , /s11 , 54.4286
+/lop-play 3 , /s13 , 54.4286
+/lop-play 3 , /s7 , 60.4762
+/lop-play 3 , /s9 , 46.3651
+/lop-play 3 , /n17 , 8
+/lop-play 3 , /s31 , 20.1587
+/lop-play 3 , /n15 , 7
+/lop-play 3 , /s32 , 32.254
+/lop-play 3 , /n13 , 13
+/lop-play 3 , /play , 1
+/lop-play 3 , /s29 , 88.6984
+/lop-play 3 , /n11 , 7
+/lop-play 3 , /s30 , 32.254
+/lop-play 3 , /n25 , 10
+/lop-play 3 , /s27 , 84.6667
+/lop-play 3 , /n23 , 7
+/lop-play 3 , /s28 , 116.921
+/lop-play 3 , /n21 , 10
+/lop-play 3 , /s20 , 24.1905
+/lop-play 3 , /s25 , 40.3175
+/lop-play 3 , /n19 , 9
+/lop-play 3 , /s21 , 60.4762
+/lop-play 3 , /s26 , 62.4921
+/lop-play 3 , /n31 , 13
+/lop-play 3 , /n29 , 1
+/lop-play 3 , /n27 , 1
+/lop-play 3 , /n6 , 13
+/lop-play 3 , /svol , 127
+/lop-play 3 , /n4 , 13
+/lop-play 3 , /oct , 5
+/lop-play 3 , /n2 , 5
+/lop-play 3 , /s4 , 30.2381
+/lop-play 3 , /s6 , 52.4127
+/lop-play 3 , /s2 , 68.5397
+/lop-play 3 , /resol , 2.70968
+/lop-play 3 , /transp , 0
+/lop-play 3 , /s16 , 56.4444
+/lop-play 3 , /n8 , 13
+/lop-play 3 , /s12 , 60.4762
+/lop-play 3 , /s14 , 64.5079
+/lop-play 3 , /n1 , 3
+/lop-play 3 , /s8 , 102.81
+/lop-play 3 , /s10 , 62.4921
+/lop-play 3 , /n16 , 13
+/lop-play 3 , /n14 , 13
+/lop-play 3 , /n12 , 13
+/lop-play 3 , /n10 , 13
+/lop-play 3 , /n24 , 9
+/lop-play 3 , /n22 , 9
+/lop-play 3 , /n20 , 13
+/lop-play 3 , /n18 , 13
+/lop-play 3 , /n32 , 11
+/lop-play 3 , /n30 , 13
+/lop-play 3 , /n28 , 12
+/lop-play 3 , /n26 , 12
+/lop-play 3 , /n7 , 7
+/lop-play 3 , /n5 , 7
+/lop-play 3 , /n3 , 7
+/lop-play 3 , /s3 , 52.4127
+/lop-play 3 , /s5 , 60.4762
+/lop-play 3 , /s15 , 96.7619
+/lop-play 3 , /s1 , 98.7778
+/lop-play 3 , /last , 31
+/lop-play 1 , /oct , 8
+/lop-play 1 , /n1 , 5
+/analpatt 4 , /s18 , 127
+/analpatt 4 , /s23 , 0
+/analpatt 4 , /s19 , 0
+/analpatt 4 , /s24 , 116.921
+/analpatt 4 , /s17 , 0
+/analpatt 4 , /s22 , 0
+/analpatt 4 , /n9 , 13
+/analpatt 4 , /s11 , 0
+/analpatt 4 , /s13 , 124.984
+/analpatt 4 , /s7 , 0
+/analpatt 4 , /s9 , 0
+/analpatt 4 , /n17 , 13
+/analpatt 4 , /s31 , 0
+/analpatt 4 , /n15 , 13
+/analpatt 4 , /s32 , 0
+/analpatt 4 , /n13 , 2
+/analpatt 4 , /play , 1
+/analpatt 4 , /s29 , 118.937
+/analpatt 4 , /n11 , 13
+/analpatt 4 , /s30 , 0
+/analpatt 4 , /n25 , 9
+/analpatt 4 , /s27 , 112.889
+/analpatt 4 , /n23 , 13
+/analpatt 4 , /s28 , 0
+/analpatt 4 , /n21 , 13
+/analpatt 4 , /s20 , 0
+/analpatt 4 , /s25 , 0
+/analpatt 4 , /n19 , 13
+/analpatt 4 , /s21 , 0
+/analpatt 4 , /s26 , 0
+/analpatt 4 , /n31 , 13
+/analpatt 4 , /n29 , 2
+/analpatt 4 , /n27 , 9
+/analpatt 4 , /n6 , 13
+/analpatt 4 , /svol , 127
+/analpatt 4 , /n4 , 13
+/analpatt 4 , /oct , 3
+/analpatt 4 , /n2 , 13
+/analpatt 4 , /s4 , 0
+/analpatt 4 , /s6 , 0
+/analpatt 4 , /s2 , 0
+/analpatt 4 , /resol , 2.93548
+/analpatt 4 , /transp , 0
+/analpatt 4 , /s16 , 0
+/analpatt 4 , /n8 , 7
+/analpatt 4 , /s12 , 0
+/analpatt 4 , /s14 , 0
+/analpatt 4 , /n1 , 5
+/analpatt 4 , /s8 , 112.889
+/analpatt 4 , /s10 , 0
+/analpatt 4 , /n16 , 13
+/analpatt 4 , /n14 , 13
+/analpatt 4 , /n12 , 13
+/analpatt 4 , /n10 , 13
+/analpatt 4 , /n24 , 7
+/analpatt 4 , /n22 , 13
+/analpatt 4 , /n20 , 13
+/analpatt 4 , /n18 , 5
+/analpatt 4 , /n32 , 13
+/analpatt 4 , /n30 , 13
+/analpatt 4 , /n28 , 13
+/analpatt 4 , /n26 , 13
+/analpatt 4 , /n7 , 13
+/analpatt 4 , /n5 , 13
+/analpatt 4 , /n3 , 13
+/analpatt 4 , /s3 , 0
+/analpatt 4 , /s5 , 0
+/analpatt 4 , /s15 , 0
+/analpatt 4 , /s1 , 116.921
+/analpatt 4 , /last , 31
+/analpatt 0 , /s18 , 127
+/analpatt 0 , /s23 , 0
+/analpatt 0 , /s19 , 0
+/analpatt 0 , /s24 , 116.921
+/analpatt 0 , /s17 , 0
+/analpatt 0 , /s22 , 0
+/analpatt 0 , /n9 , 13
+/analpatt 0 , /s11 , 0
+/analpatt 0 , /s13 , 124.984
+/analpatt 0 , /s7 , 0
+/analpatt 0 , /s9 , 0
+/analpatt 0 , /n17 , 13
+/analpatt 0 , /s31 , 0
+/analpatt 0 , /n15 , 13
+/analpatt 0 , /s32 , 0
+/analpatt 0 , /n13 , -0
+/analpatt 0 , /play , 1
+/analpatt 0 , /s29 , 118.937
+/analpatt 0 , /n11 , 13
+/analpatt 0 , /s30 , 0
+/analpatt 0 , /n25 , 7
+/analpatt 0 , /s27 , 112.889
+/analpatt 0 , /n23 , 13
+/analpatt 0 , /s28 , 0
+/analpatt 0 , /n21 , 13
+/analpatt 0 , /s20 , 0
+/analpatt 0 , /s25 , 0
+/analpatt 0 , /n19 , 13
+/analpatt 0 , /s21 , 0
+/analpatt 0 , /s26 , 0
+/analpatt 0 , /n31 , 13
+/analpatt 0 , /n29 , -0
+/analpatt 0 , /n27 , 7
+/analpatt 0 , /n6 , 13
+/analpatt 0 , /svol , 127
+/analpatt 0 , /n4 , 13
+/analpatt 0 , /oct , 3
+/analpatt 0 , /n2 , 13
+/analpatt 0 , /s4 , 0
+/analpatt 0 , /s6 , 0
+/analpatt 0 , /s2 , 0
+/analpatt 0 , /resol , 2.48387
+/analpatt 0 , /transp , 0
+/analpatt 0 , /s16 , 0
+/analpatt 0 , /n8 , 5
+/analpatt 0 , /s12 , 0
+/analpatt 0 , /s14 , 0
+/analpatt 0 , /n1 , 4
+/analpatt 0 , /s8 , 112.889
+/analpatt 0 , /s10 , 0
+/analpatt 0 , /n16 , 13
+/analpatt 0 , /n14 , 13
+/analpatt 0 , /n12 , 13
+/analpatt 0 , /n10 , 13
+/analpatt 0 , /n24 , 6
+/analpatt 0 , /n22 , 13
+/analpatt 0 , /n20 , 13
+/analpatt 0 , /n18 , 4
+/analpatt 0 , /n32 , 13
+/analpatt 0 , /n30 , 13
+/analpatt 0 , /n28 , 13
+/analpatt 0 , /n26 , 13
+/analpatt 0 , /n7 , 13
+/analpatt 0 , /n5 , 13
+/analpatt 0 , /n3 , 13
+/analpatt 0 , /s3 , 0
+/analpatt 0 , /s5 , 0
+/analpatt 0 , /s15 , 0
+/analpatt 0 , /s1 , 116.921
+/analpatt 0 , /last , 31
+/analpatt 2 , /s18 , 127
+/analpatt 2 , /s23 , 0
+/analpatt 2 , /s19 , 0
+/analpatt 2 , /s24 , 116.921
+/analpatt 2 , /s17 , 0
+/analpatt 2 , /s22 , 0
+/analpatt 2 , /n9 , 13
+/analpatt 2 , /s11 , 0
+/analpatt 2 , /s13 , 124.984
+/analpatt 2 , /s7 , 0
+/analpatt 2 , /s9 , 0
+/analpatt 2 , /n17 , 13
+/analpatt 2 , /s31 , 0
+/analpatt 2 , /n15 , 13
+/analpatt 2 , /s32 , 0
+/analpatt 2 , /n13 , 2
+/analpatt 2 , /play , 1
+/analpatt 2 , /s29 , 118.937
+/analpatt 2 , /n11 , 13
+/analpatt 2 , /s30 , 0
+/analpatt 2 , /n25 , 9
+/analpatt 2 , /s27 , 112.889
+/analpatt 2 , /n23 , 13
+/analpatt 2 , /s28 , 0
+/analpatt 2 , /n21 , 13
+/analpatt 2 , /s20 , 0
+/analpatt 2 , /s25 , 0
+/analpatt 2 , /n19 , 13
+/analpatt 2 , /s21 , 0
+/analpatt 2 , /s26 , 0
+/analpatt 2 , /n31 , 13
+/analpatt 2 , /n29 , 2
+/analpatt 2 , /n27 , 9
+/analpatt 2 , /n6 , 13
+/analpatt 2 , /svol , 127
+/analpatt 2 , /n4 , 13
+/analpatt 2 , /oct , 3
+/analpatt 2 , /n2 , 13
+/analpatt 2 , /s4 , 0
+/analpatt 2 , /s6 , 0
+/analpatt 2 , /s2 , 0
+/analpatt 2 , /resol , 2.93548
+/analpatt 2 , /transp , 0
+/analpatt 2 , /s16 , 0
+/analpatt 2 , /n8 , 7
+/analpatt 2 , /s12 , 0
+/analpatt 2 , /s14 , 0
+/analpatt 2 , /n1 , 5
+/analpatt 2 , /s8 , 112.889
+/analpatt 2 , /s10 , 0
+/analpatt 2 , /n16 , 13
+/analpatt 2 , /n14 , 13
+/analpatt 2 , /n12 , 13
+/analpatt 2 , /n10 , 13
+/analpatt 2 , /n24 , 7
+/analpatt 2 , /n22 , 13
+/analpatt 2 , /n20 , 13
+/analpatt 2 , /n18 , 5
+/analpatt 2 , /n32 , 13
+/analpatt 2 , /n30 , 13
+/analpatt 2 , /n28 , 13
+/analpatt 2 , /n26 , 13
+/analpatt 2 , /n7 , 13
+/analpatt 2 , /n5 , 13
+/analpatt 2 , /n3 , 13
+/analpatt 2 , /s3 , 0
+/analpatt 2 , /s5 , 0
+/analpatt 2 , /s15 , 0
+/analpatt 2 , /s1 , 116.921
+/analpatt 2 , /last , 31
+/analpatt 3 , /s18 , 127
+/analpatt 3 , /s23 , 0
+/analpatt 3 , /s19 , 0
+/analpatt 3 , /s24 , 116.921
+/analpatt 3 , /s17 , 0
+/analpatt 3 , /s22 , 0
+/analpatt 3 , /n9 , 13
+/analpatt 3 , /s11 , 0
+/analpatt 3 , /s13 , 124.984
+/analpatt 3 , /s7 , 0
+/analpatt 3 , /s9 , 0
+/analpatt 3 , /n17 , 13
+/analpatt 3 , /s31 , 0
+/analpatt 3 , /n15 , 13
+/analpatt 3 , /s32 , 0
+/analpatt 3 , /n13 , 2
+/analpatt 3 , /play , 1
+/analpatt 3 , /s29 , 118.937
+/analpatt 3 , /n11 , 13
+/analpatt 3 , /s30 , 0
+/analpatt 3 , /n25 , 9
+/analpatt 3 , /s27 , 112.889
+/analpatt 3 , /n23 , 13
+/analpatt 3 , /s28 , 0
+/analpatt 3 , /n21 , 13
+/analpatt 3 , /s20 , 0
+/analpatt 3 , /s25 , 0
+/analpatt 3 , /n19 , 13
+/analpatt 3 , /s21 , 0
+/analpatt 3 , /s26 , 0
+/analpatt 3 , /n31 , 13
+/analpatt 3 , /n29 , 2
+/analpatt 3 , /n27 , 9
+/analpatt 3 , /n6 , 13
+/analpatt 3 , /svol , 127
+/analpatt 3 , /n4 , 13
+/analpatt 3 , /oct , 3
+/analpatt 3 , /n2 , 13
+/analpatt 3 , /s4 , 0
+/analpatt 3 , /s6 , 0
+/analpatt 3 , /s2 , 0
+/analpatt 3 , /resol , 2.93548
+/analpatt 3 , /transp , 0
+/analpatt 3 , /s16 , 0
+/analpatt 3 , /n8 , 7
+/analpatt 3 , /s12 , 0
+/analpatt 3 , /s14 , 0
+/analpatt 3 , /n1 , 5
+/analpatt 3 , /s8 , 112.889
+/analpatt 3 , /s10 , 0
+/analpatt 3 , /n16 , 13
+/analpatt 3 , /n14 , 13
+/analpatt 3 , /n12 , 13
+/analpatt 3 , /n10 , 13
+/analpatt 3 , /n24 , 7
+/analpatt 3 , /n22 , 13
+/analpatt 3 , /n20 , 13
+/analpatt 3 , /n18 , 5
+/analpatt 3 , /n32 , 13
+/analpatt 3 , /n30 , 13
+/analpatt 3 , /n28 , 13
+/analpatt 3 , /n26 , 13
+/analpatt 3 , /n7 , 13
+/analpatt 3 , /n5 , 13
+/analpatt 3 , /n3 , 13
+/analpatt 3 , /s3 , 0
+/analpatt 3 , /s5 , 0
+/analpatt 3 , /s15 , 0
+/analpatt 3 , /s1 , 116.921
+/analpatt 3 , /last , 31
+/analpatt 1 , /s18 , 127
+/analpatt 1 , /s23 , 0
+/analpatt 1 , /s19 , 0
+/analpatt 1 , /s24 , 116.921
+/analpatt 1 , /s17 , 0
+/analpatt 1 , /s22 , 0
+/analpatt 1 , /n9 , 13
+/analpatt 1 , /s11 , 0
+/analpatt 1 , /s13 , 124.984
+/analpatt 1 , /s7 , 0
+/analpatt 1 , /s9 , 0
+/analpatt 1 , /n17 , 13
+/analpatt 1 , /s31 , 0
+/analpatt 1 , /n15 , 13
+/analpatt 1 , /s32 , 0
+/analpatt 1 , /n13 , -0
+/analpatt 1 , /play , 1
+/analpatt 1 , /s29 , 118.937
+/analpatt 1 , /n11 , 13
+/analpatt 1 , /s30 , 0
+/analpatt 1 , /n25 , 7
+/analpatt 1 , /s27 , 112.889
+/analpatt 1 , /n23 , 13
+/analpatt 1 , /s28 , 0
+/analpatt 1 , /n21 , 13
+/analpatt 1 , /s20 , 0
+/analpatt 1 , /s25 , 0
+/analpatt 1 , /n19 , 13
+/analpatt 1 , /s21 , 0
+/analpatt 1 , /s26 , 0
+/analpatt 1 , /n31 , 13
+/analpatt 1 , /n29 , -0
+/analpatt 1 , /n27 , 7
+/analpatt 1 , /n6 , 13
+/analpatt 1 , /svol , 127
+/analpatt 1 , /n4 , 13
+/analpatt 1 , /oct , 3
+/analpatt 1 , /n2 , 13
+/analpatt 1 , /s4 , 0
+/analpatt 1 , /s6 , 0
+/analpatt 1 , /s2 , 0
+/analpatt 1 , /resol , 2.93548
+/analpatt 1 , /transp , 0
+/analpatt 1 , /s16 , 0
+/analpatt 1 , /n8 , 5
+/analpatt 1 , /s12 , 0
+/analpatt 1 , /s14 , 0
+/analpatt 1 , /n1 , 4
+/analpatt 1 , /s8 , 112.889
+/analpatt 1 , /s10 , 0
+/analpatt 1 , /n16 , 13
+/analpatt 1 , /n14 , 13
+/analpatt 1 , /n12 , 13
+/analpatt 1 , /n10 , 13
+/analpatt 1 , /n24 , 6
+/analpatt 1 , /n22 , 13
+/analpatt 1 , /n20 , 13
+/analpatt 1 , /n18 , 4
+/analpatt 1 , /n32 , 13
+/analpatt 1 , /n30 , 13
+/analpatt 1 , /n28 , 13
+/analpatt 1 , /n26 , 13
+/analpatt 1 , /n7 , 13
+/analpatt 1 , /n5 , 13
+/analpatt 1 , /n3 , 13
+/analpatt 1 , /s3 , 0
+/analpatt 1 , /s5 , 0
+/analpatt 1 , /s15 , 0
+/analpatt 1 , /s1 , 116.921
+/analpatt 1 , /last , 31
+/3 4 , /s18 , 0
+/3 4 , /s23 , 0
+/3 4 , /s19 , 0
+/3 4 , /s24 , 0
+/3 4 , /s17 , 0
+/3 4 , /s22 , 0
+/3 4 , /n9 , -0
+/3 4 , /s11 , 0
+/3 4 , /s13 , 0
+/3 4 , /s7 , 80.6349
+/3 4 , /s9 , 78.619
+/3 4 , /n17 , 13
+/3 4 , /s31 , 0
+/3 4 , /n15 , 13
+/3 4 , /s32 , 0
+/3 4 , /n13 , 13
+/3 4 , /play , 1
+/3 4 , /s29 , 0
+/3 4 , /n11 , 13
+/3 4 , /s30 , 0
+/3 4 , /n25 , 13
+/3 4 , /s27 , 0
+/3 4 , /n23 , 13
+/3 4 , /s28 , 0
+/3 4 , /n21 , 13
+/3 4 , /s20 , 0
+/3 4 , /s25 , 0
+/3 4 , /n19 , 13
+/3 4 , /s21 , 0
+/3 4 , /s26 , 0
+/3 4 , /n31 , 13
+/3 4 , /n29 , 13
+/3 4 , /n27 , 13
+/3 4 , /n6 , 13
+/3 4 , /svol , 94.746
+/3 4 , /n4 , 13
+/3 4 , /n2 , 13
+/3 4 , /s4 , 0
+/3 4 , /s6 , 0
+/3 4 , /s2 , 0
+/3 4 , /transp , 0
+/3 4 , /s16 , 0
+/3 4 , /n8 , 13
+/3 4 , /s12 , 58.4603
+/3 4 , /s14 , 0
+/3 4 , /n1 , 13
+/3 4 , /s8 , 0
+/3 4 , /s10 , 22.1746
+/3 4 , /n16 , 13
+/3 4 , /n14 , 13
+/3 4 , /n12 , -0
+/3 4 , /n10 , 13
+/3 4 , /n24 , 13
+/3 4 , /n22 , 13
+/3 4 , /n20 , 13
+/3 4 , /n18 , 13
+/3 4 , /n32 , 13
+/3 4 , /n30 , 13
+/3 4 , /n28 , 13
+/3 4 , /n26 , 13
+/3 4 , /n7 , -0
+/3 4 , /n5 , 13
+/3 4 , /n3 , -0
+/3 4 , /s3 , 80.6349
+/3 4 , /s5 , 0
+/3 4 , /s15 , 0
+/3 4 , /s1 , 0
+/3 4 , /last , 15
+/3 0 , /s18 , 0
+/3 0 , /s23 , 0
+/3 0 , /s19 , 0
+/3 0 , /s24 , 0
+/3 0 , /s17 , 0
+/3 0 , /s22 , 0
+/3 0 , /n9 , 13
+/3 0 , /s11 , 0
+/3 0 , /s13 , 0
+/3 0 , /s7 , 127
+/3 0 , /s9 , 0
+/3 0 , /n17 , 13
+/3 0 , /s31 , 120.952
+/3 0 , /n15 , -0
+/3 0 , /s32 , 0
+/3 0 , /n13 , 13
+/3 0 , /play , 1
+/3 0 , /s29 , 8.06349
+/3 0 , /n11 , 13
+/3 0 , /s30 , 62.4921
+/3 0 , /n25 , -0
+/3 0 , /s27 , 0
+/3 0 , /n23 , 13
+/3 0 , /s28 , 120.952
+/3 0 , /n21 , 13
+/3 0 , /s20 , 120.952
+/3 0 , /s25 , 122.968
+/3 0 , /n19 , 13
+/3 0 , /s21 , 0
+/3 0 , /s26 , 0
+/3 0 , /n31 , -0
+/3 0 , /n29 , 13
+/3 0 , /n27 , 13
+/3 0 , /n6 , -0
+/3 0 , /svol , 82.6508
+/3 0 , /n4 , 13
+/3 0 , /n2 , 13
+/3 0 , /s4 , 0
+/3 0 , /s6 , 14.1111
+/3 0 , /s2 , 0
+/3 0 , /resol , 2.48387
+/3 0 , /transp , 0
+/3 0 , /s16 , 12.0952
+/3 0 , /n8 , 13
+/3 0 , /s12 , 127
+/3 0 , /s14 , 0
+/3 0 , /n1 , 13
+/3 0 , /s8 , 18.1429
+/3 0 , /s10 , 0
+/3 0 , /n16 , 13
+/3 0 , /n14 , 13
+/3 0 , /n12 , -0
+/3 0 , /n10 , 13
+/3 0 , /n24 , 13
+/3 0 , /n22 , 13
+/3 0 , /n20 , -0
+/3 0 , /n18 , 13
+/3 0 , /n32 , 13
+/3 0 , /n30 , -0
+/3 0 , /n28 , -0
+/3 0 , /s , 36
+/3 0 , /n26 , 13
+/3 0 , /n7 , -0
+/3 0 , /n5 , 13
+/3 0 , /n3 , 13
+/3 0 , /s3 , 0
+/3 0 , /s5 , 0
+/3 0 , /s15 , 127
+/3 0 , /s1 , 0
+/3 0 , /last , 31
+/3 2 , /s18 , 0
+/3 2 , /s23 , 0
+/3 2 , /s19 , 0
+/3 2 , /s24 , 0
+/3 2 , /s17 , 0
+/3 2 , /s22 , 0
+/3 2 , /n9 , 13
+/3 2 , /s11 , 0
+/3 2 , /s13 , 0
+/3 2 , /s7 , 127
+/3 2 , /s9 , 0
+/3 2 , /n17 , 13
+/3 2 , /s31 , 120.952
+/3 2 , /n15 , -0
+/3 2 , /s32 , 0
+/3 2 , /n13 , 13
+/3 2 , /play , 0
+/3 2 , /s29 , 8.06349
+/3 2 , /n11 , 13
+/3 2 , /s30 , 62.4921
+/3 2 , /n25 , -0
+/3 2 , /s27 , 0
+/3 2 , /n23 , 13
+/3 2 , /s28 , 120.952
+/3 2 , /n21 , 13
+/3 2 , /s20 , 120.952
+/3 2 , /s25 , 122.968
+/3 2 , /n19 , 13
+/3 2 , /s21 , 0
+/3 2 , /s26 , 0
+/3 2 , /n31 , -0
+/3 2 , /n29 , 13
+/3 2 , /n27 , 13
+/3 2 , /n6 , 13
+/3 2 , /svol , 96.7619
+/3 2 , /n4 , 13
+/3 2 , /n2 , 13
+/3 2 , /s4 , 0
+/3 2 , /s6 , 14.1111
+/3 2 , /s2 , 0
+/3 2 , /resol , 2.48387
+/3 2 , /transp , 0
+/3 2 , /s16 , 12.0952
+/3 2 , /n8 , 13
+/3 2 , /s12 , 127
+/3 2 , /s14 , 0
+/3 2 , /n1 , 13
+/3 2 , /s8 , 18.1429
+/3 2 , /s10 , 0
+/3 2 , /n16 , 13
+/3 2 , /n14 , 13
+/3 2 , /n12 , 13
+/3 2 , /n10 , 13
+/3 2 , /n24 , 13
+/3 2 , /n22 , 13
+/3 2 , /n20 , -0
+/3 2 , /n18 , 13
+/3 2 , /n32 , 13
+/3 2 , /n30 , -0
+/3 2 , /n28 , -0
+/3 2 , /s , 36
+/3 2 , /n26 , 13
+/3 2 , /n7 , 13
+/3 2 , /n5 , 13
+/3 2 , /n3 , 13
+/3 2 , /s3 , 0
+/3 2 , /s5 , 0
+/3 2 , /s15 , 127
+/3 2 , /s1 , 0
+/3 2 , /last , 31
+/3 3 , /s18 , 0
+/3 3 , /s23 , 0
+/3 3 , /s19 , 0
+/3 3 , /s24 , 0
+/3 3 , /s17 , 0
+/3 3 , /s22 , 0
+/3 3 , /n9 , -0
+/3 3 , /s11 , 0
+/3 3 , /s13 , 0
+/3 3 , /s7 , 80.6349
+/3 3 , /s9 , 78.619
+/3 3 , /n17 , 13
+/3 3 , /s31 , 0
+/3 3 , /n15 , 13
+/3 3 , /s32 , 0
+/3 3 , /n13 , 13
+/3 3 , /play , 1
+/3 3 , /s29 , 0
+/3 3 , /n11 , 13
+/3 3 , /s30 , 0
+/3 3 , /n25 , 13
+/3 3 , /s27 , 0
+/3 3 , /n23 , 13
+/3 3 , /s28 , 0
+/3 3 , /n21 , 13
+/3 3 , /s20 , 0
+/3 3 , /s25 , 0
+/3 3 , /n19 , 13
+/3 3 , /s21 , 0
+/3 3 , /s26 , 0
+/3 3 , /n31 , 13
+/3 3 , /n29 , 13
+/3 3 , /n27 , 13
+/3 3 , /n6 , 13
+/3 3 , /svol , 92.7302
+/3 3 , /n4 , 13
+/3 3 , /n2 , 13
+/3 3 , /s4 , 0
+/3 3 , /s6 , 0
+/3 3 , /s2 , 0
+/3 3 , /transp , 0
+/3 3 , /s16 , 0
+/3 3 , /n8 , 13
+/3 3 , /s12 , 58.4603
+/3 3 , /s14 , 0
+/3 3 , /n1 , 13
+/3 3 , /s8 , 0
+/3 3 , /s10 , 22.1746
+/3 3 , /n16 , 13
+/3 3 , /n14 , 13
+/3 3 , /n12 , -0
+/3 3 , /n10 , 13
+/3 3 , /n24 , 13
+/3 3 , /n22 , 13
+/3 3 , /n20 , 13
+/3 3 , /n18 , 13
+/3 3 , /n32 , 13
+/3 3 , /n30 , 13
+/3 3 , /n28 , 13
+/3 3 , /n26 , 13
+/3 3 , /n7 , -0
+/3 3 , /n5 , 13
+/3 3 , /n3 , -0
+/3 3 , /s3 , 80.6349
+/3 3 , /s5 , 0
+/3 3 , /s15 , 0
+/3 3 , /s1 , 0
+/3 3 , /last , 15
+/3 1 , /s18 , 0
+/3 1 , /s23 , 0
+/3 1 , /s19 , 0
+/3 1 , /s24 , 0
+/3 1 , /s17 , 0
+/3 1 , /s22 , 0
+/3 1 , /n9 , -0
+/3 1 , /s11 , 0
+/3 1 , /s13 , 0
+/3 1 , /s7 , 80.6349
+/3 1 , /s9 , 78.619
+/3 1 , /n17 , 13
+/3 1 , /s31 , 0
+/3 1 , /n15 , 13
+/3 1 , /s32 , 0
+/3 1 , /n13 , 13
+/3 1 , /play , 1
+/3 1 , /s29 , 0
+/3 1 , /n11 , 13
+/3 1 , /s30 , 0
+/3 1 , /n25 , 13
+/3 1 , /s27 , 0
+/3 1 , /n23 , 13
+/3 1 , /s28 , 0
+/3 1 , /n21 , 13
+/3 1 , /s20 , 0
+/3 1 , /s25 , 0
+/3 1 , /n19 , 13
+/3 1 , /s21 , 0
+/3 1 , /s26 , 0
+/3 1 , /n31 , 13
+/3 1 , /n29 , 13
+/3 1 , /n27 , 13
+/3 1 , /n6 , 13
+/3 1 , /svol , 94.746
+/3 1 , /n4 , 13
+/3 1 , /n2 , 13
+/3 1 , /s4 , 0
+/3 1 , /s6 , 0
+/3 1 , /s2 , 0
+/3 1 , /transp , 0
+/3 1 , /s16 , 0
+/3 1 , /n8 , 13
+/3 1 , /s12 , 58.4603
+/3 1 , /s14 , 0
+/3 1 , /n1 , 13
+/3 1 , /s8 , 0
+/3 1 , /s10 , 22.1746
+/3 1 , /n16 , 13
+/3 1 , /n14 , 13
+/3 1 , /n12 , -0
+/3 1 , /n10 , 13
+/3 1 , /n24 , 13
+/3 1 , /n22 , 13
+/3 1 , /n20 , 13
+/3 1 , /n18 , 13
+/3 1 , /n32 , 13
+/3 1 , /n30 , 13
+/3 1 , /n28 , 13
+/3 1 , /n26 , 13
+/3 1 , /n7 , -0
+/3 1 , /n5 , 13
+/3 1 , /n3 , -0
+/3 1 , /s3 , 80.6349
+/3 1 , /s5 , 0
+/3 1 , /s15 , 0
+/3 1 , /s1 , 0
+/3 1 , /last , 15
+/2 4 , /s18 , 0
+/2 4 , /s23 , 38.3016
+/2 4 , /s19 , 0
+/2 4 , /s24 , 0
+/2 4 , /s17 , 82.6508
+/2 4 , /s22 , 0
+/2 4 , /n9 , 13
+/2 4 , /s11 , 116.921
+/2 4 , /s13 , 0
+/2 4 , /s7 , 0
+/2 4 , /s9 , 70.5556
+/2 4 , /n17 , -0
+/2 4 , /s31 , 0
+/2 4 , /n15 , 13
+/2 4 , /s32 , 82.6508
+/2 4 , /n13 , 13
+/2 4 , /play , 1
+/2 4 , /s29 , 94.746
+/2 4 , /n11 , -0
+/2 4 , /s30 , 0
+/2 4 , /n25 , -0
+/2 4 , /s27 , 0
+/2 4 , /n23 , 13
+/2 4 , /s28 , 0
+/2 4 , /n21 , -0
+/2 4 , /s20 , 0
+/2 4 , /s25 , 84.6667
+/2 4 , /n19 , 13
+/2 4 , /s21 , 102.81
+/2 4 , /s26 , 0
+/2 4 , /n31 , 13
+/2 4 , /n29 , -0
+/2 4 , /n27 , 13
+/2 4 , /n6 , 13
+/2 4 , /svol , 98.7778
+/2 4 , /n4 , 13
+/2 4 , /n2 , 13
+/2 4 , /s4 , 0
+/2 4 , /s6 , 0
+/2 4 , /s2 , 0
+/2 4 , /resol , 2.25806
+/2 4 , /transp , 0
+/2 4 , /s16 , 0
+/2 4 , /n8 , -0
+/2 4 , /s12 , 0
+/2 4 , /s14 , 114.905
+/2 4 , /n1 , -0
+/2 4 , /s8 , 112.889
+/2 4 , /s10 , 16.127
+/2 4 , /n16 , 13
+/2 4 , /n14 , -0
+/2 4 , /n12 , 13
+/2 4 , /n10 , 13
+/2 4 , /n24 , 13
+/2 4 , /n22 , 13
+/2 4 , /n20 , 13
+/2 4 , /n18 , 13
+/2 4 , /n32 , -0
+/2 4 , /n30 , 13
+/2 4 , /n28 , 13
+/2 4 , /n26 , 13
+/2 4 , /n7 , 13
+/2 4 , /n5 , -0
+/2 4 , /n3 , 13
+/2 4 , /s3 , 0
+/2 4 , /s5 , 114.905
+/2 4 , /s15 , 88.6984
+/2 4 , /s1 , 110.873
+/2 4 , /last , 31
+/2 0 , /s18 , 0
+/2 0 , /s23 , 0
+/2 0 , /s19 , 0
+/2 0 , /s24 , 102.81
+/2 0 , /s17 , 106.841
+/2 0 , /s22 , 0
+/2 0 , /n9 , -0
+/2 0 , /s11 , 0
+/2 0 , /s13 , 0
+/2 0 , /s7 , 0
+/2 0 , /s9 , 112.889
+/2 0 , /n17 , -0
+/2 0 , /s31 , 0
+/2 0 , /n15 , -0
+/2 0 , /s32 , 0
+/2 0 , /n13 , 13
+/2 0 , /play , 1
+/2 0 , /s29 , 100.794
+/2 0 , /n11 , 13
+/2 0 , /s30 , 0
+/2 0 , /n25 , 13
+/2 0 , /s27 , 102.81
+/2 0 , /n23 , 13
+/2 0 , /s28 , 0
+/2 0 , /n21 , -0
+/2 0 , /s20 , 0
+/2 0 , /s25 , 0
+/2 0 , /n19 , 13
+/2 0 , /s21 , 100.794
+/2 0 , /s26 , 0
+/2 0 , /n31 , 13
+/2 0 , /n29 , -0
+/2 0 , /n27 , -0
+/2 0 , /n6 , 13
+/2 0 , /svol , 102.81
+/2 0 , /n4 , 13
+/2 0 , /oct , 0
+/2 0 , /n2 , 13
+/2 0 , /s4 , 0
+/2 0 , /s6 , 0
+/2 0 , /s2 , 0
+/2 0 , /resol , 2.48387
+/2 0 , /transp , 0
+/2 0 , /s16 , 0
+/2 0 , /n8 , 13
+/2 0 , /s12 , 114.905
+/2 0 , /s14 , 0
+/2 0 , /n1 , -0
+/2 0 , /s8 , 0
+/2 0 , /s10 , 0
+/2 0 , /n16 , 13
+/2 0 , /n14 , 13
+/2 0 , /n12 , -0
+/2 0 , /n10 , 13
+/2 0 , /n24 , -0
+/2 0 , /n22 , 13
+/2 0 , /n20 , 13
+/2 0 , /n18 , 13
+/2 0 , /n32 , 13
+/2 0 , /n30 , 13
+/2 0 , /n28 , 13
+/2 0 , /s , 36
+/2 0 , /n26 , 13
+/2 0 , /n7 , 13
+/2 0 , /n5 , -0
+/2 0 , /n3 , 13
+/2 0 , /s3 , 0
+/2 0 , /s5 , 116.921
+/2 0 , /s15 , 114.905
+/2 0 , /s1 , 112.889
+/2 0 , /last , 31
+/2 2 , /s18 , 0
+/2 2 , /s23 , 38.3016
+/2 2 , /s19 , 106.841
+/2 2 , /s24 , 0
+/2 2 , /s17 , 0
+/2 2 , /s22 , 0
+/2 2 , /n9 , 13
+/2 2 , /s11 , 116.921
+/2 2 , /s13 , 0
+/2 2 , /s7 , 0
+/2 2 , /s9 , 70.5556
+/2 2 , /n17 , 13
+/2 2 , /s31 , 0
+/2 2 , /n15 , 13
+/2 2 , /s32 , 0
+/2 2 , /n13 , 13
+/2 2 , /play , 0
+/2 2 , /s29 , 94.746
+/2 2 , /n11 , -0
+/2 2 , /s30 , 0
+/2 2 , /n25 , -0
+/2 2 , /s27 , 0
+/2 2 , /n23 , -0
+/2 2 , /s28 , 0
+/2 2 , /n21 , 13
+/2 2 , /s20 , 0
+/2 2 , /s25 , 84.6667
+/2 2 , /n19 , -0
+/2 2 , /s21 , 0
+/2 2 , /s26 , 0
+/2 2 , /n31 , 13
+/2 2 , /n29 , -0
+/2 2 , /n27 , 13
+/2 2 , /n6 , 13
+/2 2 , /svol , 84.6667
+/2 2 , /n4 , 13
+/2 2 , /n2 , 13
+/2 2 , /s4 , 0
+/2 2 , /s6 , 0
+/2 2 , /s2 , 0
+/2 2 , /resol , 2.25806
+/2 2 , /transp , 0
+/2 2 , /s16 , 0
+/2 2 , /n8 , -0
+/2 2 , /s12 , 0
+/2 2 , /s14 , 114.905
+/2 2 , /n1 , -0
+/2 2 , /s8 , 112.889
+/2 2 , /s10 , 16.127
+/2 2 , /n16 , 13
+/2 2 , /n14 , -0
+/2 2 , /n12 , 13
+/2 2 , /n10 , 13
+/2 2 , /n24 , 13
+/2 2 , /n22 , 13
+/2 2 , /n20 , 13
+/2 2 , /n18 , 13
+/2 2 , /n32 , 13
+/2 2 , /n30 , 13
+/2 2 , /n28 , 13
+/2 2 , /n26 , 13
+/2 2 , /n7 , 13
+/2 2 , /n5 , -0
+/2 2 , /n3 , 13
+/2 2 , /s3 , 0
+/2 2 , /s5 , 114.905
+/2 2 , /s15 , 88.6984
+/2 2 , /s1 , 110.873
+/2 2 , /last , 31
+/2 3 , /s18 , 0
+/2 3 , /s23 , 38.3016
+/2 3 , /s19 , 106.841
+/2 3 , /s24 , 0
+/2 3 , /s17 , 0
+/2 3 , /s22 , 0
+/2 3 , /n9 , 13
+/2 3 , /s11 , 116.921
+/2 3 , /s13 , 0
+/2 3 , /s7 , 0
+/2 3 , /s9 , 70.5556
+/2 3 , /n17 , 13
+/2 3 , /s31 , 0
+/2 3 , /n15 , 13
+/2 3 , /s32 , 0
+/2 3 , /n13 , 13
+/2 3 , /play , 1
+/2 3 , /s29 , 94.746
+/2 3 , /n11 , -0
+/2 3 , /s30 , 10.0794
+/2 3 , /n25 , -0
+/2 3 , /s27 , 0
+/2 3 , /n23 , -0
+/2 3 , /s28 , 0
+/2 3 , /n21 , 13
+/2 3 , /s20 , 0
+/2 3 , /s25 , 84.6667
+/2 3 , /n19 , -0
+/2 3 , /s21 , 0
+/2 3 , /s26 , 12.0952
+/2 3 , /n31 , 13
+/2 3 , /n29 , -0
+/2 3 , /n27 , 13
+/2 3 , /n6 , 13
+/2 3 , /svol , 92.7302
+/2 3 , /n4 , 13
+/2 3 , /n2 , 13
+/2 3 , /s4 , 0
+/2 3 , /s6 , 10.0794
+/2 3 , /s2 , 0
+/2 3 , /resol , 2.25806
+/2 3 , /transp , 0
+/2 3 , /s16 , 0
+/2 3 , /n8 , -0
+/2 3 , /s12 , 10.0794
+/2 3 , /s14 , 114.905
+/2 3 , /n1 , -0
+/2 3 , /s8 , 112.889
+/2 3 , /s10 , 16.127
+/2 3 , /n16 , 13
+/2 3 , /n14 , -0
+/2 3 , /n12 , 13
+/2 3 , /n10 , 13
+/2 3 , /n24 , 13
+/2 3 , /n22 , 13
+/2 3 , /n20 , 13
+/2 3 , /n18 , 13
+/2 3 , /n32 , 13
+/2 3 , /n30 , 13
+/2 3 , /n28 , 13
+/2 3 , /n26 , 13
+/2 3 , /n7 , 13
+/2 3 , /n5 , -0
+/2 3 , /n3 , 13
+/2 3 , /s3 , 0
+/2 3 , /s5 , 114.905
+/2 3 , /s15 , 88.6984
+/2 3 , /s1 , 110.873
+/2 3 , /last , 31
+/2 1 , /s18 , 0
+/2 1 , /s23 , 0
+/2 1 , /s19 , 0
+/2 1 , /s24 , 0
+/2 1 , /s17 , 0
+/2 1 , /s22 , 0
+/2 1 , /n9 , 13
+/2 1 , /s11 , 116.921
+/2 1 , /s13 , 0
+/2 1 , /s7 , 0
+/2 1 , /s9 , 70.5556
+/2 1 , /n17 , 13
+/2 1 , /s31 , 0
+/2 1 , /n15 , 13
+/2 1 , /s32 , 0
+/2 1 , /n13 , 13
+/2 1 , /play , 1
+/2 1 , /s29 , 0
+/2 1 , /n11 , -0
+/2 1 , /s30 , 0
+/2 1 , /n25 , 13
+/2 1 , /s27 , 0
+/2 1 , /n23 , 13
+/2 1 , /s28 , 0
+/2 1 , /n21 , 13
+/2 1 , /s20 , 0
+/2 1 , /s25 , 0
+/2 1 , /n19 , 13
+/2 1 , /s21 , 0
+/2 1 , /s26 , 0
+/2 1 , /n31 , 13
+/2 1 , /n29 , 13
+/2 1 , /n27 , 13
+/2 1 , /n6 , 13
+/2 1 , /svol , 82.6508
+/2 1 , /n4 , 13
+/2 1 , /n2 , 13
+/2 1 , /s4 , 0
+/2 1 , /s6 , 0
+/2 1 , /s2 , 0
+/2 1 , /resol , 2.25806
+/2 1 , /transp , 0
+/2 1 , /s16 , 0
+/2 1 , /n8 , -0
+/2 1 , /s12 , 0
+/2 1 , /s14 , 114.905
+/2 1 , /n1 , -0
+/2 1 , /s8 , 112.889
+/2 1 , /s10 , 16.127
+/2 1 , /n16 , 13
+/2 1 , /n14 , -0
+/2 1 , /n12 , 13
+/2 1 , /n10 , 13
+/2 1 , /n24 , 13
+/2 1 , /n22 , 13
+/2 1 , /n20 , 13
+/2 1 , /n18 , 13
+/2 1 , /n32 , 13
+/2 1 , /n30 , 13
+/2 1 , /n28 , 13
+/2 1 , /n26 , 13
+/2 1 , /n7 , 13
+/2 1 , /n5 , -0
+/2 1 , /n3 , 13
+/2 1 , /s3 , 0
+/2 1 , /s5 , 114.905
+/2 1 , /s15 , 0
+/2 1 , /s1 , 110.873
+/2 1 , /last , 15
+/b1 4 , /s18 , 0
+/b1 4 , /s23 , 108.857
+/b1 4 , /s19 , 106.841
+/b1 4 , /s24 , 28.2222
+/b1 4 , /s17 , 0
+/b1 4 , /s22 , 0
+/b1 4 , /n9 , 13
+/b1 4 , /s11 , 104.825
+/b1 4 , /s13 , 0
+/b1 4 , /s7 , 106.841
+/b1 4 , /s9 , 0
+/b1 4 , /n17 , 13
+/b1 4 , /s31 , 108.857
+/b1 4 , /n15 , -0
+/b1 4 , /s32 , 0
+/b1 4 , /n13 , 13
+/b1 4 , /play , 1
+/b1 4 , /s29 , 0
+/b1 4 , /n11 , -0
+/b1 4 , /s30 , 50.3968
+/b1 4 , /n25 , 13
+/b1 4 , /s27 , 104.825
+/b1 4 , /n23 , -0
+/b1 4 , /s28 , 18.1429
+/b1 4 , /n21 , 13
+/b1 4 , /s20 , 26.2063
+/b1 4 , /s25 , 0
+/b1 4 , /n19 , -0
+/b1 4 , /s21 , 0
+/b1 4 , /s26 , 0
+/b1 4 , /n31 , -0
+/b1 4 , /n29 , 13
+/b1 4 , /n27 , -0
+/b1 4 , /n6 , 13
+/b1 4 , /svol , 84.6667
+/b1 4 , /n4 , 13
+/b1 4 , /n2 , 13
+/b1 4 , /s4 , 16.127
+/b1 4 , /s6 , 0
+/b1 4 , /s2 , 12.0952
+/b1 4 , /resol , 2.93548
+/b1 4 , /transp , 0
+/b1 4 , /s16 , 14.1111
+/b1 4 , /n8 , 13
+/b1 4 , /s12 , 28.2222
+/b1 4 , /s14 , 0
+/b1 4 , /n1 , 13
+/b1 4 , /s8 , 10.0794
+/b1 4 , /s10 , 0
+/b1 4 , /n16 , 13
+/b1 4 , /n14 , 13
+/b1 4 , /n12 , 13
+/b1 4 , /n10 , 13
+/b1 4 , /n24 , 13
+/b1 4 , /n22 , 13
+/b1 4 , /n20 , 13
+/b1 4 , /n18 , 13
+/b1 4 , /n32 , 13
+/b1 4 , /n30 , -0
+/b1 4 , /n28 , 13
+/b1 4 , /s , 36
+/b1 4 , /n26 , 13
+/b1 4 , /n7 , -0
+/b1 4 , /n5 , 13
+/b1 4 , /n3 , -0
+/b1 4 , /s3 , 100.794
+/b1 4 , /s5 , 0
+/b1 4 , /s15 , 104.825
+/b1 4 , /s1 , 0
+/b1 4 , /last , 31
+/b1 0 , /s18 , 0
+/b1 0 , /s23 , 108.857
+/b1 0 , /s19 , 106.841
+/b1 0 , /s24 , 18.1429
+/b1 0 , /s17 , 0
+/b1 0 , /s22 , 0
+/b1 0 , /n9 , 13
+/b1 0 , /s11 , 104.825
+/b1 0 , /s13 , 0
+/b1 0 , /s7 , 106.841
+/b1 0 , /s9 , 0
+/b1 0 , /n17 , 13
+/b1 0 , /s31 , 90.7143
+/b1 0 , /n15 , -0
+/b1 0 , /rand , 0
+/b1 0 , /s32 , 110.873
+/b1 0 , /n13 , 13
+/b1 0 , /play , 1
+/b1 0 , /s29 , 0
+/b1 0 , /n11 , -0
+/b1 0 , /s30 , 50.3968
+/b1 0 , /n25 , 13
+/b1 0 , /s27 , 104.825
+/b1 0 , /n23 , -0
+/b1 0 , /s28 , 18.1429
+/b1 0 , /n21 , 13
+/b1 0 , /s20 , 26.2063
+/b1 0 , /s25 , 0
+/b1 0 , /n19 , -0
+/b1 0 , /s21 , 0
+/b1 0 , /s26 , 0
+/b1 0 , /n31 , -0
+/b1 0 , /n29 , 13
+/b1 0 , /n27 , -0
+/b1 0 , /n6 , 13
+/b1 0 , /svol , 72.5714
+/b1 0 , /n4 , 13
+/b1 0 , /n2 , 13
+/b1 0 , /s4 , 16.127
+/b1 0 , /s6 , 0
+/b1 0 , /s2 , 0
+/b1 0 , /resol , 2.93548
+/b1 0 , /transp , 0
+/b1 0 , /s16 , 14.1111
+/b1 0 , /n8 , 13
+/b1 0 , /s12 , 28.2222
+/b1 0 , /s14 , 0
+/b1 0 , /n1 , 13
+/b1 0 , /s8 , 10.0794
+/b1 0 , /s10 , 0
+/b1 0 , /n16 , 13
+/b1 0 , /n14 , 13
+/b1 0 , /n12 , 13
+/b1 0 , /n10 , 13
+/b1 0 , /n24 , 13
+/b1 0 , /n22 , 13
+/b1 0 , /n20 , 13
+/b1 0 , /n18 , 13
+/b1 0 , /n32 , -0
+/b1 0 , /n30 , -0
+/b1 0 , /n28 , 13
+/b1 0 , /s , 36
+/b1 0 , /n26 , 13
+/b1 0 , /n7 , -0
+/b1 0 , /n5 , 13
+/b1 0 , /n3 , -0
+/b1 0 , /s3 , 100.794
+/b1 0 , /s5 , 0
+/b1 0 , /s15 , 104.825
+/b1 0 , /s1 , 6.04762
+/b1 0 , /last , 31
+/b1 2 , /s18 , 0
+/b1 2 , /s23 , 108.857
+/b1 2 , /s19 , 106.841
+/b1 2 , /s24 , 28.2222
+/b1 2 , /s17 , 0
+/b1 2 , /s22 , 0
+/b1 2 , /n9 , 13
+/b1 2 , /s11 , 104.825
+/b1 2 , /s13 , 0
+/b1 2 , /s7 , 106.841
+/b1 2 , /s9 , 0
+/b1 2 , /n17 , 13
+/b1 2 , /s31 , 90.7143
+/b1 2 , /n15 , -0
+/b1 2 , /s32 , 110.873
+/b1 2 , /n13 , 13
+/b1 2 , /play , 0
+/b1 2 , /s29 , 0
+/b1 2 , /n11 , -0
+/b1 2 , /s30 , 50.3968
+/b1 2 , /n25 , 13
+/b1 2 , /s27 , 104.825
+/b1 2 , /n23 , -0
+/b1 2 , /s28 , 18.1429
+/b1 2 , /n21 , 13
+/b1 2 , /s20 , 26.2063
+/b1 2 , /s25 , 0
+/b1 2 , /n19 , -0
+/b1 2 , /s21 , 0
+/b1 2 , /s26 , 0
+/b1 2 , /n31 , -0
+/b1 2 , /n29 , 13
+/b1 2 , /n27 , -0
+/b1 2 , /n6 , 13
+/b1 2 , /svol , 86.6825
+/b1 2 , /n4 , 13
+/b1 2 , /n2 , 13
+/b1 2 , /s4 , 16.127
+/b1 2 , /s6 , 0
+/b1 2 , /s2 , 12.0952
+/b1 2 , /resol , 2.93548
+/b1 2 , /transp , 0
+/b1 2 , /s16 , 14.1111
+/b1 2 , /n8 , 13
+/b1 2 , /s12 , 28.2222
+/b1 2 , /s14 , 0
+/b1 2 , /n1 , 13
+/b1 2 , /s8 , 10.0794
+/b1 2 , /s10 , 0
+/b1 2 , /n16 , 13
+/b1 2 , /n14 , 13
+/b1 2 , /n12 , 13
+/b1 2 , /n10 , 13
+/b1 2 , /n24 , 13
+/b1 2 , /n22 , 13
+/b1 2 , /n20 , 13
+/b1 2 , /n18 , 13
+/b1 2 , /n32 , -0
+/b1 2 , /n30 , -0
+/b1 2 , /n28 , 13
+/b1 2 , /s , 36
+/b1 2 , /n26 , 13
+/b1 2 , /n7 , -0
+/b1 2 , /n5 , 13
+/b1 2 , /n3 , -0
+/b1 2 , /s3 , 100.794
+/b1 2 , /s5 , 0
+/b1 2 , /s15 , 104.825
+/b1 2 , /s1 , 0
+/b1 2 , /last , 31
+/b1 3 , /s18 , 0
+/b1 3 , /s23 , 108.857
+/b1 3 , /s19 , 106.841
+/b1 3 , /s24 , 28.2222
+/b1 3 , /s17 , 0
+/b1 3 , /s22 , 0
+/b1 3 , /n9 , 13
+/b1 3 , /s11 , 104.825
+/b1 3 , /s13 , 0
+/b1 3 , /s7 , 106.841
+/b1 3 , /s9 , 0
+/b1 3 , /n17 , 13
+/b1 3 , /s31 , 90.7143
+/b1 3 , /n15 , -0
+/b1 3 , /rand , 1188
+/b1 3 , /s32 , 110.873
+/b1 3 , /n13 , 13
+/b1 3 , /play , 1
+/b1 3 , /s29 , 0
+/b1 3 , /n11 , -0
+/b1 3 , /s30 , 50.3968
+/b1 3 , /n25 , 13
+/b1 3 , /s27 , 104.825
+/b1 3 , /n23 , -0
+/b1 3 , /s28 , 18.1429
+/b1 3 , /n21 , 13
+/b1 3 , /s20 , 26.2063
+/b1 3 , /s25 , 0
+/b1 3 , /n19 , -0
+/b1 3 , /s21 , 0
+/b1 3 , /s26 , 0
+/b1 3 , /n31 , -0
+/b1 3 , /n29 , 13
+/b1 3 , /n27 , -0
+/b1 3 , /n6 , 13
+/b1 3 , /svol , 84.6667
+/b1 3 , /n4 , 13
+/b1 3 , /n2 , 13
+/b1 3 , /s4 , 16.127
+/b1 3 , /s6 , 0
+/b1 3 , /s2 , 12.0952
+/b1 3 , /resol , 2.93548
+/b1 3 , /transp , 0
+/b1 3 , /s16 , 14.1111
+/b1 3 , /n8 , 13
+/b1 3 , /s12 , 28.2222
+/b1 3 , /s14 , 0
+/b1 3 , /n1 , 13
+/b1 3 , /s8 , 10.0794
+/b1 3 , /s10 , 0
+/b1 3 , /n16 , 13
+/b1 3 , /n14 , 13
+/b1 3 , /n12 , 13
+/b1 3 , /n10 , 13
+/b1 3 , /n24 , 13
+/b1 3 , /n22 , 13
+/b1 3 , /n20 , 13
+/b1 3 , /n18 , 13
+/b1 3 , /n32 , -0
+/b1 3 , /n30 , -0
+/b1 3 , /n28 , 13
+/b1 3 , /s , 36
+/b1 3 , /n26 , 13
+/b1 3 , /n7 , -0
+/b1 3 , /n5 , 13
+/b1 3 , /n3 , -0
+/b1 3 , /s3 , 100.794
+/b1 3 , /s5 , 0
+/b1 3 , /s15 , 104.825
+/b1 3 , /s1 , 0
+/b1 3 , /last , 31
+/b1 1 , /s18 , 0
+/b1 1 , /s23 , 108.857
+/b1 1 , /s19 , 106.841
+/b1 1 , /s24 , 28.2222
+/b1 1 , /s17 , 0
+/b1 1 , /s22 , 0
+/b1 1 , /n9 , 13
+/b1 1 , /s11 , 104.825
+/b1 1 , /s13 , 0
+/b1 1 , /s7 , 106.841
+/b1 1 , /s9 , 0
+/b1 1 , /n17 , 13
+/b1 1 , /s31 , 90.7143
+/b1 1 , /n15 , -0
+/b1 1 , /s32 , 110.873
+/b1 1 , /n13 , 13
+/b1 1 , /play , 1
+/b1 1 , /s29 , 0
+/b1 1 , /n11 , -0
+/b1 1 , /s30 , 50.3968
+/b1 1 , /n25 , 13
+/b1 1 , /s27 , 104.825
+/b1 1 , /n23 , -0
+/b1 1 , /s28 , 18.1429
+/b1 1 , /n21 , 13
+/b1 1 , /s20 , 26.2063
+/b1 1 , /s25 , 0
+/b1 1 , /n19 , -0
+/b1 1 , /s21 , 0
+/b1 1 , /s26 , 0
+/b1 1 , /n31 , -0
+/b1 1 , /n29 , 13
+/b1 1 , /n27 , -0
+/b1 1 , /n6 , 13
+/b1 1 , /svol , 76.6032
+/b1 1 , /n4 , 13
+/b1 1 , /n2 , 13
+/b1 1 , /s4 , 14.1111
+/b1 1 , /s6 , 0
+/b1 1 , /s2 , 0
+/b1 1 , /resol , 2.93548
+/b1 1 , /transp , 0
+/b1 1 , /s16 , 20.1587
+/b1 1 , /n8 , 13
+/b1 1 , /s12 , 28.2222
+/b1 1 , /s14 , 0
+/b1 1 , /n1 , 13
+/b1 1 , /s8 , 10.0794
+/b1 1 , /s10 , 0
+/b1 1 , /n16 , 13
+/b1 1 , /n14 , 13
+/b1 1 , /n12 , 13
+/b1 1 , /n10 , 13
+/b1 1 , /n24 , 13
+/b1 1 , /n22 , 13
+/b1 1 , /n20 , 13
+/b1 1 , /n18 , 13
+/b1 1 , /n32 , -0
+/b1 1 , /n30 , -0
+/b1 1 , /n28 , 13
+/b1 1 , /s , 36
+/b1 1 , /n26 , 13
+/b1 1 , /n7 , -0
+/b1 1 , /n5 , 13
+/b1 1 , /n3 , -0
+/b1 1 , /s3 , 100.794
+/b1 1 , /s5 , 0
+/b1 1 , /s15 , 106.841
+/b1 1 , /s1 , 14.1111
+/b1 1 , /last , 31
+/anal-adsr 0 , /d , 38.0952
+/anal-adsr 0 , /a , 6.34921
+/anal-adsr 0 , /s , 0.68254
+/anal-adsr 0 , /r , 333.333
+/anal-adsr 1 , /d , 50.7937
+/anal-adsr 1 , /a , 3.1746
+/anal-adsr 1 , /s , 0.984127
+/anal-adsr 1 , /r , 476.19
+/delay 4 , /bypass , 1
+/delay 0 , /lop , 9455.71
+/delay 0 , /bypass , 0
+/delay 0 , /divider , 3
+/delay 0 , /damp , 0.345714
+/delay 2 , /lop , 7006.83
+/delay 2 , /bypass , 1
+/delay 2 , /divider , 1
+/delay 2 , /damp , 0.738571
+/delay 3 , /bypass , 1
+/delay 3 , /divider , 1
+/delay 1 , /lop , 7006.83
+/delay 1 , /bypass , 1
+/delay 1 , /divider , 4
+/delay 1 , /damp , 0.581429
+/e 0 , /freq , 44.3492
+/e 0 , /Q , 11
+/e 0 , /amount , 2.06349
+/e 0 , /type , 1
+/e 1 , /freq , 70.5556
+/e 1 , /amount , 2.22222
+/e 1 , /type , 0
+/test2 0 , /play , 1
+/m 0 , /bpm , 120
+/1 0 , /s23 , 64.5079
+/1 0 , /s19 , 58.4603
+/1 0 , /s11 , 58.4603
+/1 0 , /s7 , 48.381
+/1 0 , /s31 , 78.619
+/1 0 , /n15 , 0
+/1 0 , /play , 1
+/1 0 , /n11 , 0
+/1 0 , /s30 , 0
+/1 0 , /s27 , 60.4762
+/1 0 , /n23 , 0
+/1 0 , /n19 , 0
+/1 0 , /n31 , 0
+/1 0 , /n27 , 0
+/1 0 , /svol , 0
+/1 0 , /resol , 1.35484
+/1 0 , /s12 , 66.5238
+/1 0 , /s14 , 0
+/1 0 , /n1 , 13
+/1 0 , /s10 , 0
+/1 0 , /n14 , 0
+/1 0 , /n30 , 0
+/1 0 , /s , 29
+/1 0 , /n7 , 0
+/1 0 , /n3 , 0
+/1 0 , /s3 , 52.4127
+/1 0 , /s15 , 56.4444
+/1 0 , /s1 , 0
+/1 0 , /last , 15
+/b 0 , /file , /dos/ibm/hdc14/f/snd/drums/bass/bd11.wav
+/b 0 , /speed , 1
+/s 0 , /file , /dos/ibm/hdc14/f/snd/drums/snare/natura16.wav
+/s 0 , /speed , 1
+/lop 0 , /interp , 199.677
+/lop 0 , /freq , 70
+/lop 0 , /Q , 4.7619
+/h 0 , /file , /dos/ibm/hdc14/f/snd/drums/hh/ch1.wav
+/h 0 , /speed , 1
diff --git a/usecases/minipliseq-test.pd b/usecases/minipliseq-test.pd
new file mode 100644
index 0000000..ed10271
--- /dev/null
+++ b/usecases/minipliseq-test.pd
@@ -0,0 +1,397 @@
+#N canvas 42 18 1078 728 10;
+#X obj 52 634 ezdac~;
+#X obj 59 602 catch~ \$0-out;
+#X obj 43 98 rrad.pattseq /main;
+#X obj 8 4 careGUI;
+#X obj 856 438 s \$0-preset;
+#X msg 966 205 /*/bpm \$1;
+#X obj 966 229 s \$0-bpm;
+#X obj 804 58 r \$0-bpm;
+#X obj 871 209 s \$0-beats;
+#X obj 319 81 r \$0-beats;
+#X obj 155 614 netcontrol /* preset;
+#X obj 155 671 route send;
+#X obj 155 694 s \$0-preset;
+#X obj 249 693 s \$0-preset-main;
+#X obj 745 36 r \$0-preset-main;
+#X obj 769 680 bng 24 250 50 0 empty empty empty 0 -6 0 8 -225271 -250685
+-1;
+#X obj 49 477 rrad.minipli /h;
+#N canvas 673 0 551 302 select 0;
+#X msg 340 173 bang;
+#X obj 280 195 symbol /main/name;
+#X obj 173 201 pack s s;
+#X msg 181 220 \$2 \$1;
+#X symbolatom 137 171 10 0 0 0 - - -;
+#X obj 132 57 f;
+#X obj 133 30 inlet;
+#X obj 183 247 outlet;
+#X obj 334 145 loadbang;
+#X obj 87 119 symbol /b1;
+#X obj 160 119 symbol /2;
+#X obj 236 123 symbol /3;
+#X obj 312 122 symbol /analpatt;
+#X obj 436 121 symbol /lop-play;
+#X obj 131 78 select 0 1 2 3 4;
+#X connect 0 0 1 0;
+#X connect 1 0 2 1;
+#X connect 2 0 3 0;
+#X connect 3 0 7 0;
+#X connect 4 0 2 0;
+#X connect 5 0 14 0;
+#X connect 6 0 5 0;
+#X connect 8 0 0 0;
+#X connect 9 0 4 0;
+#X connect 10 0 4 0;
+#X connect 11 0 4 0;
+#X connect 12 0 4 0;
+#X connect 13 0 4 0;
+#X connect 14 0 9 0;
+#X connect 14 1 10 0;
+#X connect 14 2 11 0;
+#X connect 14 3 12 0;
+#X connect 14 4 13 0;
+#X restore 643 64 pd select;
+#X obj 411 42 hradio 32 1 0 5 \$0-selector \$0-selector VIEW 0 20 0
+8 -241291 -1 -1 2;
+#X obj 643 37 r \$0-selector;
+#X obj 459 652 hradio 32 1 0 5 \$0-PRESET \$0-PRESET PRESET 0 -6 0
+8 -261681 -1 -1 0;
+#X obj 576 459 analosc /anal;
+#X text 503 78 synth;
+#X text 421 78 hh;
+#X text 446 78 bd;
+#X text 474 77 snr;
+#X obj 769 623 tgl 32 0 empty empty random 0 -6 0 8 -225271 -1 -1 0
+1;
+#X obj 871 100 rrad.mmetr /m;
+#X obj 462 616 throw~ \$0-out;
+#X text 544 79 filt;
+#X obj 872 273 rrad.lop~ /lop;
+#X obj 463 459 catch~ \$0-eros;
+#X obj 51 544 gpan~;
+#X obj 873 388 gpan~;
+#X obj 462 478 rrad.eros~ /e;
+#X obj 486 438 r \$0-eross;
+#N canvas 0 0 450 300 play/h 0;
+#X obj 125 121 select 0;
+#X obj 228 47 r \$0-preset;
+#X obj 256 70 r \$0-bpm;
+#X obj 124 62 r \$0-beats;
+#X msg 206 130 bang;
+#X obj 120 91 rrad.pattplay /b1;
+#X obj 124 157 outlet;
+#X obj 247 129 outlet;
+#X connect 0 1 6 0;
+#X connect 1 0 5 1;
+#X connect 2 0 5 1;
+#X connect 3 0 5 0;
+#X connect 4 0 6 0;
+#X connect 5 1 7 0;
+#X connect 5 1 0 0;
+#X restore 49 454 pd play/h;
+#X obj 192 543 gpan~;
+#X obj 329 543 gpan~;
+#N canvas 0 0 450 300 play/b 0;
+#X obj 148 134 select 0;
+#X obj 228 47 r \$0-preset;
+#X obj 256 70 r \$0-bpm;
+#X obj 124 62 r \$0-beats;
+#X msg 206 130 bang;
+#X obj 160 179 outlet;
+#X obj 247 129 outlet;
+#X obj 120 91 rrad.pattplay /2;
+#X connect 0 1 5 0;
+#X connect 1 0 7 1;
+#X connect 2 0 7 1;
+#X connect 3 0 7 0;
+#X connect 4 0 5 0;
+#X connect 7 1 6 0;
+#X connect 7 1 0 0;
+#X restore 190 453 pd play/b;
+#N canvas 0 0 450 300 play/s 0;
+#X obj 228 47 r \$0-preset;
+#X obj 256 70 r \$0-bpm;
+#X obj 124 62 r \$0-beats;
+#X msg 206 130 bang;
+#X obj 124 157 outlet;
+#X obj 247 129 outlet;
+#X obj 120 91 rrad.pattplay /3;
+#X obj 137 122 select 0;
+#X connect 0 0 6 1;
+#X connect 1 0 6 1;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 6 1 5 0;
+#X connect 6 1 7 0;
+#X connect 7 1 4 0;
+#X restore 327 453 pd play/s;
+#X obj 348 591 r \$0-PRESET;
+#N canvas 0 0 450 300 midi 0;
+#X obj 92 163 route send;
+#X obj 93 107 netcontrol /e freq;
+#X obj 90 57 rrad.ctlearn 0 127;
+#X obj 92 184 s \$0-eross;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 1;
+#X restore 870 33 pd midi;
+#N canvas 0 0 450 300 rand 0;
+#X obj 156 143 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X obj 167 171 mod 8;
+#X obj 163 220 random 4;
+#X obj 163 196 select 0;
+#X obj 203 42 inlet;
+#X obj 160 97 spigot;
+#X obj 80 145 outlet;
+#X obj 126 29 r \$0-beats;
+#X obj 154 69 route b1;
+#X obj 163 245 s \$0-PRESET;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 9 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 1;
+#X connect 5 0 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 5 0;
+#X connect 8 0 6 0;
+#X restore 769 659 pd rand;
+#X obj 576 610 s \$0-analogue-out;
+#N canvas 469 262 636 288 analy 0;
+#X obj 81 29 r \$0-beats;
+#X obj 162 27 r \$0-preset;
+#X obj 250 42 r \$0-bpm;
+#X obj 197 178 adsr-engine;
+#X obj 85 179 analogue-engine;
+#X msg 85 122 freq \$1;
+#X msg 203 121 level \$1;
+#X obj 213 144 r \$0-ctldat;
+#X obj 116 218 *~;
+#X obj 200 203 *~;
+#X obj 202 222 *~;
+#X obj 272 85 * 0.0098;
+#X obj 76 65 rrad.pattplay /analpatt;
+#X obj 119 249 outlet~;
+#X obj 470 251 outlet;
+#X obj 418 66 rrad.pattplay /lop-play;
+#X obj 461 20 r \$0-preset;
+#X obj 549 35 r \$0-bpm;
+#X obj 382 20 r \$0-beats;
+#X obj 538 126 / 127;
+#X obj 539 155 * 15;
+#X msg 448 197 /lop/freq \$1;
+#X msg 541 196 /lop/Q \$1;
+#X obj 128 89 r \$0-analogue-out;
+#X connect 0 0 12 0;
+#X connect 1 0 12 1;
+#X connect 2 0 12 1;
+#X connect 3 0 9 0;
+#X connect 3 0 9 1;
+#X connect 4 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 0 3 0;
+#X connect 8 0 13 0;
+#X connect 9 0 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 8 1;
+#X connect 11 0 6 0;
+#X connect 12 0 5 0;
+#X connect 12 1 11 0;
+#X connect 15 0 21 0;
+#X connect 15 1 19 0;
+#X connect 16 0 15 1;
+#X connect 17 0 15 1;
+#X connect 18 0 15 0;
+#X connect 19 0 20 0;
+#X connect 20 0 22 0;
+#X connect 21 0 14 0;
+#X connect 22 0 14 0;
+#X connect 23 0 4 0;
+#X connect 23 0 3 0;
+#X restore 872 256 pd analy;
+#N canvas 424 267 450 300 outer-1 0;
+#X obj 61 70 throw~ \$0-out;
+#X obj 161 70 throw~ \$0-eros;
+#X obj 59 31 inlet~;
+#X obj 158 27 inlet~;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X restore 216 567 pd outer-1;
+#N canvas 424 267 450 300 outer-3 0;
+#X obj 61 70 throw~ \$0-out;
+#X obj 161 70 throw~ \$0-eros;
+#X obj 59 31 inlet~;
+#X obj 158 27 inlet~;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X restore 874 413 pd outer-3;
+#N canvas 424 267 450 300 outer-2 0;
+#X obj 61 70 throw~ \$0-out;
+#X obj 161 70 throw~ \$0-eros;
+#X obj 59 31 inlet~;
+#X obj 158 27 inlet~;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X restore 350 568 pd outer-2;
+#N canvas 424 267 450 300 outer-0 0;
+#X obj 61 70 throw~ \$0-out;
+#X obj 161 70 throw~ \$0-eros;
+#X obj 59 31 inlet~;
+#X obj 158 27 inlet~;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X restore 75 569 pd outer-0;
+#N canvas 487 276 450 300 tastatur 0;
+#X obj 174 90 key;
+#X obj 245 49 inlet;
+#X obj 189 139 spigot;
+#X obj 188 175 - 49;
+#X obj 188 213 clip 0 4;
+#X obj 188 241 s \$0-PRESET;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X restore 630 686 pd tastatur;
+#X obj 630 656 tgl 24 0 empty empty empty 0 -6 0 8 -262131 -1 -1 0
+1;
+#X text 458 689 Keys: 1 2 3 4 5;
+#X text 120 452 hihat;
+#X text 260 452 bassdrum;
+#X text 397 451 snare;
+#X obj 190 476 rrad.minipli /b;
+#X obj 327 476 rrad.minipli /s;
+#X obj 989 600 r \$0-bpm;
+#X obj 842 620 rrad.delay~ /delay;
+#X obj 729 716 throw~ \$0-out;
+#X obj 994 552 r \$0-preset;
+#X obj 942 38 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 945 60 /main/play \$1;
+#X obj 411 8 hradio 32 1 0 6 \$0-MUTE \$0-MUTE SOLO 0 20 0 8 -225271
+-1 -1 5;
+#N canvas 297 357 692 388 playmute 0;
+#X obj 132 328 s \$0-preset;
+#X obj 226 327 s \$0-preset-main;
+#X obj 63 2 r \$0-MUTE;
+#X obj 156 174 symbol /2;
+#X obj 229 180 symbol /3;
+#X obj 305 178 symbol /analpatt;
+#X obj 429 177 symbol /lop-play;
+#X obj 169 124 unpack 0 0 0 0 0 0;
+#X msg 124 84 0 1 0 0 0;
+#X msg 57 78 1 0 0 0 0;
+#X msg 212 83 0 0 1 0 0;
+#X msg 286 82 0 0 0 1 0;
+#X msg 361 83 0 0 0 0 1;
+#X obj 162 42 select 0 1 2 3 4 5;
+#X msg 434 82 1 1 1 1 1;
+#X obj 58 171 symbol /b1;
+#X obj 66 150 t b f;
+#X obj 160 152 t b f;
+#X obj 241 155 t b f;
+#X obj 304 152 t b f;
+#X obj 409 152 t b f;
+#X obj 112 365 print muter;
+#X obj 132 251 pack s 0;
+#X msg 130 280 \$1/play \$2;
+#X obj 129 225 symbol;
+#X connect 2 0 13 0;
+#X connect 3 0 24 0;
+#X connect 4 0 24 0;
+#X connect 5 0 24 0;
+#X connect 6 0 24 0;
+#X connect 7 0 16 0;
+#X connect 7 1 17 0;
+#X connect 7 2 18 0;
+#X connect 7 3 19 0;
+#X connect 7 4 20 0;
+#X connect 8 0 7 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
+#X connect 11 0 7 0;
+#X connect 12 0 7 0;
+#X connect 13 0 9 0;
+#X connect 13 1 8 0;
+#X connect 13 2 10 0;
+#X connect 13 3 11 0;
+#X connect 13 4 12 0;
+#X connect 13 5 14 0;
+#X connect 14 0 7 0;
+#X connect 15 0 24 0;
+#X connect 16 0 15 0;
+#X connect 16 1 22 1;
+#X connect 17 0 3 0;
+#X connect 17 1 22 1;
+#X connect 18 0 4 0;
+#X connect 18 1 22 1;
+#X connect 19 0 5 0;
+#X connect 19 1 22 1;
+#X connect 20 0 6 0;
+#X connect 20 1 22 1;
+#X connect 22 0 23 0;
+#X connect 23 0 0 0;
+#X connect 23 0 21 0;
+#X connect 24 0 22 0;
+#X restore 744 9 pd playmute;
+#X text 576 43 all;
+#X obj 171 590 catch~ play;
+#X connect 1 0 0 0;
+#X connect 1 0 0 1;
+#X connect 2 2 4 0;
+#X connect 5 0 6 0;
+#X connect 7 0 2 1;
+#X connect 9 0 2 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 0 13 0;
+#X connect 14 0 2 1;
+#X connect 16 0 32 0;
+#X connect 16 0 32 1;
+#X connect 17 0 2 1;
+#X connect 19 0 17 0;
+#X connect 21 0 44 0;
+#X connect 26 0 43 0;
+#X connect 27 0 8 0;
+#X connect 27 1 5 0;
+#X connect 30 0 33 0;
+#X connect 30 0 33 1;
+#X connect 31 0 34 0;
+#X connect 32 0 49 0;
+#X connect 32 1 49 1;
+#X connect 33 0 47 0;
+#X connect 33 0 59 0;
+#X connect 33 1 47 1;
+#X connect 34 0 28 0;
+#X connect 35 0 34 1;
+#X connect 36 0 16 0;
+#X connect 36 1 16 1;
+#X connect 37 0 46 0;
+#X connect 37 1 46 1;
+#X connect 38 0 48 0;
+#X connect 38 1 48 1;
+#X connect 39 0 56 0;
+#X connect 39 1 56 1;
+#X connect 40 0 57 0;
+#X connect 40 1 57 1;
+#X connect 41 0 10 1;
+#X connect 43 0 15 0;
+#X connect 45 0 30 0;
+#X connect 45 1 30 1;
+#X connect 51 0 50 0;
+#X connect 56 0 37 0;
+#X connect 56 0 37 1;
+#X connect 57 0 38 0;
+#X connect 57 0 38 1;
+#X connect 58 0 59 1;
+#X connect 59 0 60 0;
+#X connect 61 0 59 1;
+#X connect 62 0 63 0;
+#X connect 63 0 2 1;
+#X connect 67 0 0 0;
+#X connect 67 0 0 1;
diff --git a/usecases/numbers.dat b/usecases/numbers.dat
new file mode 100644
index 0000000..ef3c5f4
--- /dev/null
+++ b/usecases/numbers.dat
@@ -0,0 +1,144 @@
+/main 0 , /play , 1
+/main 0 , /svol , 84.6667
+/main 0 , /resol , 0
+/gates 0 , /n5 , 2
+/gates 0 , /n22 , 13
+/gates 0 , /n3 , 12
+/gates 0 , /n24 , 13
+/gates 0 , /n26 , 13
+/gates 0 , /n13 , 4
+/gates 0 , /n28 , 13
+/gates 0 , /s15 , 78.619
+/gates 0 , /n11 , 4
+/gates 0 , /s1 , 68.5397
+/gates 0 , /transp , 0
+/gates 0 , /n9 , 4
+/gates 0 , /n7 , 2
+/gates 0 , /n19 , 13
+/gates 0 , /n17 , 13
+/gates 0 , /n15 , 11
+/gates 0 , /s14 , 56.4444
+/gates 0 , /s16 , 46.3651
+/gates 0 , /s10 , 52.4127
+/gates 0 , /s12 , 60.4762
+/gates 0 , /n31 , 13
+/gates 0 , /s4 , 78.619
+/gates 0 , /last , 14
+/gates 0 , /s6 , 90.7143
+/gates 0 , /s32 , 0
+/gates 0 , /s31 , 0
+/gates 0 , /s8 , 110.873
+/gates 0 , /s30 , 0
+/gates 0 , /s29 , 0
+/gates 0 , /n4 , -0
+/gates 0 , /n2 , -0
+/gates 0 , /n21 , 13
+/gates 0 , /n23 , 13
+/gates 0 , /play , 1
+/gates 0 , /n25 , 13
+/gates 0 , /n12 , 2
+/gates 0 , /n27 , 13
+/gates 0 , /n10 , 11
+/gates 0 , /n29 , 13
+/gates 0 , /s2 , 46.3651
+/gates 0 , /svol , 127
+/gates 0 , /n8 , 2
+/gates 0 , /n6 , 2
+/gates 0 , /n20 , 13
+/gates 0 , /s24 , 0
+/gates 0 , /n18 , 13
+/gates 0 , /s25 , 0
+/gates 0 , /n16 , 1
+/gates 0 , /s22 , 0
+/gates 0 , /n14 , 12
+/gates 0 , /s23 , 0
+/gates 0 , /s28 , 0
+/gates 0 , /s26 , 0
+/gates 0 , /s27 , 0
+/gates 0 , /s17 , 0
+/gates 0 , /n1 , -0
+/gates 0 , /s11 , 76.6032
+/gates 0 , /s13 , 68.5397
+/gates 0 , /s20 , 0
+/gates 0 , /n30 , 13
+/gates 0 , /s21 , 0
+/gates 0 , /n32 , 13
+/gates 0 , /s18 , 0
+/gates 0 , /oct , 5
+/gates 0 , /s19 , 0
+/gates 0 , /resol , 1.04255
+/gates 0 , /s7 , 44.3492
+/gates 0 , /s3 , 42.3333
+/gates 0 , /s5 , 42.3333
+/gates 0 , /s9 , 60.4762
+/m 0 , /bpm , 115
+/appr 0 , /n5 , 7
+/appr 0 , /n22 , 13
+/appr 0 , /n3 , 7
+/appr 0 , /n24 , 13
+/appr 0 , /n26 , 13
+/appr 0 , /n13 , 13
+/appr 0 , /n28 , 13
+/appr 0 , /s15 , 0
+/appr 0 , /n11 , 13
+/appr 0 , /s1 , 68.5397
+/appr 0 , /transp , 0
+/appr 0 , /n9 , 13
+/appr 0 , /n7 , 4
+/appr 0 , /n19 , 13
+/appr 0 , /n17 , 13
+/appr 0 , /n15 , 13
+/appr 0 , /s14 , 0
+/appr 0 , /s16 , 0
+/appr 0 , /s10 , 0
+/appr 0 , /s12 , 0
+/appr 0 , /n31 , 13
+/appr 0 , /s4 , 80.6349
+/appr 0 , /last , 7
+/appr 0 , /s6 , 56.4444
+/appr 0 , /s32 , 0
+/appr 0 , /s31 , 0
+/appr 0 , /s8 , 78.619
+/appr 0 , /s30 , 0
+/appr 0 , /s29 , 0
+/appr 0 , /n4 , 10
+/appr 0 , /n2 , 4
+/appr 0 , /n21 , 13
+/appr 0 , /n23 , 13
+/appr 0 , /play , 1
+/appr 0 , /n25 , 13
+/appr 0 , /n12 , 13
+/appr 0 , /n27 , 13
+/appr 0 , /n10 , 13
+/appr 0 , /n29 , 13
+/appr 0 , /s2 , 68.5397
+/appr 0 , /svol , 127
+/appr 0 , /n8 , 4
+/appr 0 , /n6 , 10
+/appr 0 , /n20 , 13
+/appr 0 , /s24 , 0
+/appr 0 , /n18 , 13
+/appr 0 , /s25 , 0
+/appr 0 , /n16 , 13
+/appr 0 , /s22 , 0
+/appr 0 , /n14 , 13
+/appr 0 , /s23 , 0
+/appr 0 , /s28 , 0
+/appr 0 , /s26 , 0
+/appr 0 , /s27 , 0
+/appr 0 , /s17 , 0
+/appr 0 , /n1 , -0
+/appr 0 , /s11 , 0
+/appr 0 , /s13 , 0
+/appr 0 , /s20 , 0
+/appr 0 , /n30 , 13
+/appr 0 , /s21 , 0
+/appr 0 , /n32 , 13
+/appr 0 , /s18 , 0
+/appr 0 , /oct , 6
+/appr 0 , /s19 , 0
+/appr 0 , /resol , 2.53191
+/appr 0 , /s7 , 76.6032
+/appr 0 , /s3 , 70.5556
+/appr 0 , /s5 , 98.7778
+/appr 0 , /s9 , 0
diff --git a/usecases/numbers.pd b/usecases/numbers.pd
new file mode 100644
index 0000000..e11ee8e
--- /dev/null
+++ b/usecases/numbers.pd
@@ -0,0 +1,107 @@
+#N canvas 103 25 1044 805 10;
+#X obj 482 549 gadsr;
+#X obj 435 573 *~;
+#X obj 435 528 mtof;
+#X obj 435 549 osc~ 0;
+#X obj 498 529 / 127;
+#X obj 407 666 ezdac~;
+#X obj 436 480 r notes;
+#X obj 435 503 unpack 0 0;
+#X obj 59 463 rrad.pattplay /appr;
+#X obj 746 480 rrad.mmetr /m;
+#X obj 746 588 s \$0-beat;
+#X obj 841 611 s \$0-bpm;
+#X msg 841 586 /*/bpm \$1;
+#X obj 204 463 rrad.pattplay /gates;
+#X obj 551 656 careGUI;
+#X obj 70 72 rrad.pattseq /main;
+#X obj 912 48 r main;
+#X obj 965 49 r \$0-bpm;
+#X obj 303 442 r \$0-p;
+#X obj 883 410 s \$0-p;
+#X obj 150 441 r \$0-p;
+#X obj 907 612 s \$0-p;
+#X obj 60 443 r \$0-beat;
+#X obj 204 440 r \$0-beat;
+#X obj 94 636 s notes;
+#X obj 59 525 +;
+#X obj 94 557 pack 0 0;
+#X obj 191 583 del 10;
+#X msg 108 612 68 0;
+#X msg 108 587 set \$1 0;
+#X msg 728 16 symbol appr;
+#X msg 822 15 symbol gates;
+#X obj 702 41 makefilename /main/name/%s;
+#X obj 488 41 print;
+#X obj 70 45 r \$0-beat;
+#X obj 68 727 table dur;
+#X obj 188 751 tabwrite dur;
+#X msg 204 645 0 0;
+#X msg 203 667 1 2;
+#X msg 202 690 3 4;
+#X msg 199 709 4 5;
+#X msg 253 641 5 7;
+#X msg 252 664 6 9;
+#X msg 248 684 7 11;
+#X msg 250 707 8 12;
+#X obj 59 504 tabread dur;
+#X msg 289 642 9 14;
+#X msg 288 666 10 16;
+#X msg 287 687 11 18;
+#X msg 291 708 12 19;
+#X obj 59 483 mod 13;
+#X obj 341 615 gpans~;
+#X obj 340 498 / 127;
+#X connect 0 0 1 1;
+#X connect 1 0 51 0;
+#X connect 1 0 51 1;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 1;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 4 0;
+#X connect 7 1 0 0;
+#X connect 8 0 50 0;
+#X connect 8 1 26 1;
+#X connect 9 0 10 0;
+#X connect 9 1 12 0;
+#X connect 12 0 11 0;
+#X connect 12 0 21 0;
+#X connect 13 0 25 1;
+#X connect 13 1 52 0;
+#X connect 15 2 19 0;
+#X connect 16 0 15 1;
+#X connect 17 0 15 1;
+#X connect 18 0 13 1;
+#X connect 20 0 8 1;
+#X connect 22 0 8 0;
+#X connect 23 0 13 0;
+#X connect 25 0 26 0;
+#X connect 26 0 24 0;
+#X connect 26 0 29 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 24 0;
+#X connect 29 0 28 0;
+#X connect 30 0 32 0;
+#X connect 31 0 32 0;
+#X connect 32 0 15 1;
+#X connect 34 0 15 0;
+#X connect 37 0 36 0;
+#X connect 38 0 36 0;
+#X connect 39 0 36 0;
+#X connect 40 0 36 0;
+#X connect 41 0 36 0;
+#X connect 42 0 36 0;
+#X connect 43 0 36 0;
+#X connect 44 0 36 0;
+#X connect 45 0 25 0;
+#X connect 46 0 36 0;
+#X connect 47 0 36 0;
+#X connect 48 0 36 0;
+#X connect 49 0 36 0;
+#X connect 50 0 45 0;
+#X connect 51 0 5 0;
+#X connect 51 1 5 1;
+#X connect 52 0 51 2;
diff --git a/usecases/presettester.pd b/usecases/presettester.pd
new file mode 100644
index 0000000..4469a52
--- /dev/null
+++ b/usecases/presettester.pd
@@ -0,0 +1,12 @@
+#N canvas 95 40 1132 561 10;
+#X obj 68 98 rrad.pattseq /test;
+#X obj 900 181 rrad.mmetr /m;
+#X obj 919 483 print;
+#X obj 72 456 print patt;
+#X obj 219 480 careGUI;
+#X obj 919 349 preseter /bla;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 1 0 5 0;
+#X connect 5 0 2 0;
+#X connect 5 0 0 1;
diff --git a/usecases/readplay.pd b/usecases/readplay.pd
new file mode 100644
index 0000000..bdcb57b
--- /dev/null
+++ b/usecases/readplay.pd
@@ -0,0 +1,33 @@
+#N canvas 447 274 517 469 10;
+#X obj 157 188 readanysf~;
+#X msg 131 106 open \$1;
+#X obj 129 77 openpanel;
+#X obj 128 52 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 160 215 outlet~;
+#X obj 217 215 outlet~;
+#X msg 182 130 play;
+#X obj 58 212 bonk~;
+#X obj 92 234 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 92 262 beat;
+#X floatatom 95 283 5 0 0 0 - - -;
+#X obj 162 273 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 142 245 100 100;
+#X msg 234 125 stop;
+#X obj 213 261 throw~ play;
+#X connect 0 0 4 0;
+#X connect 0 0 7 0;
+#X connect 0 0 14 0;
+#X connect 0 1 5 0;
+#X connect 0 1 14 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 6 0 0 0;
+#X connect 8 0 12 0;
+#X connect 9 0 10 0;
+#X connect 9 2 11 0;
+#X connect 12 0 9 0;
+#X connect 13 0 0 0;
diff --git a/usecases/rrad.mono b/usecases/rrad.mono
new file mode 100644
index 0000000..c5a22d7
--- /dev/null
+++ b/usecases/rrad.mono
@@ -0,0 +1,11 @@
+#N canvas 322 381 874 375 10;
+#X obj 103 77 inlet;
+#X obj 161 77 inlet;
+#X obj 66 116 f;
+#X obj 161 108 select 0;
+#X text 323 49 When a new note arrives \, we have to send a Zero to
+the velocity outlet together with the last not we got. Immediatly following
+that we need to send the new note with the new velocity and store the
+new note for the next onset.;
+#X connect 0 0 2 1;
+#X connect 1 0 3 0;
diff --git a/usecases/somestuff.dat b/usecases/somestuff.dat
new file mode 100644
index 0000000..5c9f5ee
--- /dev/null
+++ b/usecases/somestuff.dat
@@ -0,0 +1,85 @@
+/adsr 0 , /s , 0.936508
+/adsr 0 , /a , 6.34921
+/adsr 0 , /r , 349.206
+/adsr 0 , /d , 47.619
+/m 0 , /start , 1
+/m 0 , /bpm , 120
+ 0 , /s1 , 0
+ 0 , /fade , 100
+ 0 , /s2 , 98.3226
+/patt 0 , /s30 , 0
+/patt 0 , /s31 , 0
+/patt 0 , /s32 , 0
+/patt 0 , /n28 , 13
+/patt 0 , /s12 , 74.5873
+/patt 0 , /n26 , 13
+/patt 0 , /s14 , 76.6032
+/patt 0 , /n32 , 13
+/patt 0 , /s16 , 100.794
+/patt 0 , /n30 , 13
+/patt 0 , /n20 , 13
+/patt 0 , /n18 , 13
+/patt 0 , /s6 , 82.6508
+/patt 0 , /n24 , 13
+/patt 0 , /s8 , 0
+/patt 0 , /svol , 127
+/patt 0 , /n22 , 13
+/patt 0 , /s10 , 60.4762
+/patt 0 , /last , 15
+/patt 0 , /n12 , 8
+/patt 0 , /n10 , 4
+/patt 0 , /n16 , 7
+/patt 0 , /n14 , 2
+/patt 0 , /n3 , 2
+/patt 0 , /n7 , 7
+/patt 0 , /n5 , 7
+/patt 0 , /s15 , 64.5079
+/patt 0 , /s4 , 102.81
+/patt 0 , /n1 , 2
+/patt 0 , /s19 , 0
+/patt 0 , /s20 , 0
+/patt 0 , /s21 , 0
+/patt 0 , /s22 , 0
+/patt 0 , /n27 , 13
+/patt 0 , /s13 , 0
+/patt 0 , /n25 , 13
+/patt 0 , /oct , 3
+/patt 0 , /n31 , 13
+/patt 0 , /s1 , 86.6825
+/patt 0 , /s17 , 0
+/patt 0 , /n29 , 13
+/patt 0 , /play , 1
+/patt 0 , /s18 , 0
+/patt 0 , /n19 , 13
+/patt 0 , /s5 , 68.5397
+/patt 0 , /n17 , 13
+/patt 0 , /s7 , 94.746
+/patt 0 , /n23 , 13
+/patt 0 , /s9 , 80.6349
+/patt 0 , /n21 , 13
+/patt 0 , /s11 , 94.746
+/patt 0 , /n11 , 5
+/patt 0 , /resol , 1.48936
+/patt 0 , /n2 , 13
+/patt 0 , /n9 , 2
+/patt 0 , /n15 , 5
+/patt 0 , /n13 , 13
+/patt 0 , /transp , 0
+/patt 0 , /n4 , 4
+/patt 0 , /n8 , 13
+/patt 0 , /n6 , 12
+/patt 0 , /s27 , 0
+/patt 0 , /s3 , 106.841
+/patt 0 , /s2 , 0
+/patt 0 , /s28 , 0
+/patt 0 , /s29 , 0
+/patt 0 , /s23 , 0
+/patt 0 , /s24 , 0
+/patt 0 , /s25 , 0
+/patt 0 , /s26 , 0
+/b 0 , /s4 , 59.4468
+/b 0 , /s1 , 118.937
+/b 0 , /s2 , 0
+/lop 0 , /freq , 90
+/lop 0 , /Q , 16.129
+/lop 0 , /interp , 294.516
diff --git a/usecases/somestuff.pd b/usecases/somestuff.pd
new file mode 100644
index 0000000..4256c27
--- /dev/null
+++ b/usecases/somestuff.pd
@@ -0,0 +1,50 @@
+#N canvas 150 46 950 733 10;
+#X obj 152 504 rrad.filt~ /f;
+#X obj 140 402 phasor~ 440;
+#X obj 402 656 ezdac~;
+#X obj 140 376 mtof;
+#X obj 399 427 rrad.ms /b;
+#X obj 75 20 rrad.pattseq /patt;
+#X obj 25 411 rrad.mmetr /m;
+#X obj 23 515 s beat;
+#X obj 20 12 r beat;
+#X obj 137 712 s~ m;
+#X obj 400 403 r~ m;
+#X obj 579 465 catch~ /b;
+#X obj 181 586 mgadsr /adsr;
+#X obj 107 676 adsr-engine;
+#X obj 106 618 / 128;
+#X msg 107 643 level \$1;
+#X obj 107 697 *~;
+#X obj 650 534 rrad.lop~ /lop;
+#X obj 677 407 + 12;
+#X msg 661 489 /lop/freq \$1;
+#X floatatom 709 372 5 0 0 0 - - -;
+#X obj 737 463 line 1;
+#X obj 155 426 rrad.split~;
+#X obj 800 668 print OSC;
+#X msg 692 427 \$1 50;
+#X connect 0 0 16 1;
+#X connect 1 0 22 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 4 1 2 1;
+#X connect 5 0 3 0;
+#X connect 5 0 18 0;
+#X connect 5 1 14 0;
+#X connect 6 0 7 0;
+#X connect 8 0 5 0;
+#X connect 10 0 4 0;
+#X connect 12 0 13 0;
+#X connect 13 0 16 0;
+#X connect 14 0 15 0;
+#X connect 15 0 13 0;
+#X connect 16 0 9 0;
+#X connect 17 0 16 1;
+#X connect 18 0 24 0;
+#X connect 19 0 17 1;
+#X connect 20 0 18 1;
+#X connect 21 0 19 0;
+#X connect 22 0 0 0;
+#X connect 22 1 17 0;
+#X connect 24 0 21 0;
diff --git a/usecases/tster.dat b/usecases/tster.dat
new file mode 100644
index 0000000..b0ab1f6
--- /dev/null
+++ b/usecases/tster.dat
@@ -0,0 +1,151 @@
+0 , /preset-sel , 0
+0 , /preset-folder , 0
+0 , /resol , 2.22222
+0 , /preset-repeat , 1
+0 , /last , 15
+/m 0 , /bpm , 120
+/bla 0 , /resol , 1.66667
+/bla 0 , /preset-repeat , 1
+/bla 0 , /last , 15
+/test 0 , /n19 , 13
+/test 0 , /s6 , 0
+/test 0 , /s8 , 0
+/test 0 , /s2 , 0
+/test 0 , /s4 , 0
+/test 0 , /n11 , 13
+/test 0 , /s14 , 0
+/test 0 , /n13 , 13
+/test 0 , /n15 , 13
+/test 0 , /s10 , 0
+/test 0 , /n17 , 13
+/test 0 , /s12 , 0
+/test 0 , /s16 , 0
+/test 0 , /n31 , 13
+/test 0 , /n29 , 13
+/test 0 , /n27 , 13
+/test 0 , /svol , 127
+/test 0 , /n25 , 13
+/test 0 , /n4 , 13
+/test 0 , /resol , 1.59574
+/test 0 , /n6 , 13
+/test 0 , /n8 , 13
+/test 0 , /s15 , 0
+/test 0 , /n10 , 13
+/test 0 , /n23 , 13
+/test 0 , /n21 , 13
+/test 0 , /n2 , 13
+/test 0 , /transp , 0
+/test 0 , /n20 , 13
+/test 0 , /s7 , 0
+/test 0 , /s9 , 0
+/test 0 , /s3 , 0
+/test 0 , /s5 , 0
+/test 0 , /n12 , 13
+/test 0 , /n14 , 13
+/test 0 , /n16 , 13
+/test 0 , /s11 , 0
+/test 0 , /n18 , 13
+/test 0 , /s13 , 0
+/test 0 , /play , 1
+/test 0 , /s17 , 0
+/test 0 , /n32 , 13
+/test 0 , /s21 , 0
+/test 0 , /n30 , 13
+/test 0 , /s20 , 0
+/test 0 , /n28 , 13
+/test 0 , /s19 , 0
+/test 0 , /n1 , -0
+/test 0 , /n26 , 13
+/test 0 , /s18 , 0
+/test 0 , /s25 , 0
+/test 0 , /s24 , 0
+/test 0 , /s23 , 0
+/test 0 , /s22 , 0
+/test 0 , /last , 15
+/test 0 , /n3 , 13
+/test 0 , /s29 , 0
+/test 0 , /n5 , 13
+/test 0 , /s28 , 0
+/test 0 , /n7 , 13
+/test 0 , /s27 , 0
+/test 0 , /n9 , 13
+/test 0 , /s26 , 0
+/test 0 , /n24 , 13
+/test 0 , /n22 , 13
+/test 0 , /s1 , 0
+/test 0 , /s32 , 0
+/test 0 , /s31 , 0
+/test 0 , /s30 , 0
+/test 1 , /n19 , 13
+/test 1 , /s6 , 0
+/test 1 , /s8 , 0
+/test 1 , /s2 , 0
+/test 1 , /s4 , 0
+/test 1 , /n11 , 13
+/test 1 , /s14 , 0
+/test 1 , /n13 , 13
+/test 1 , /n15 , 13
+/test 1 , /s10 , 0
+/test 1 , /n17 , 13
+/test 1 , /s12 , 0
+/test 1 , /s16 , 0
+/test 1 , /n31 , 13
+/test 1 , /n29 , 13
+/test 1 , /n27 , 13
+/test 1 , /svol , 127
+/test 1 , /n25 , 13
+/test 1 , /n4 , 13
+/test 1 , /n6 , 13
+/test 1 , /n8 , 13
+/test 1 , /s15 , 0
+/test 1 , /n10 , 13
+/test 1 , /n23 , 13
+/test 1 , /n21 , 13
+/test 1 , /n2 , 13
+/test 1 , /transp , 0
+/test 1 , /n20 , 13
+/test 1 , /s7 , 0
+/test 1 , /s9 , 0
+/test 1 , /s3 , 0
+/test 1 , /s5 , 0
+/test 1 , /n12 , 13
+/test 1 , /n14 , 13
+/test 1 , /n16 , -0
+/test 1 , /s11 , 0
+/test 1 , /n18 , 13
+/test 1 , /s13 , 0
+/test 1 , /play , 1
+/test 1 , /s17 , 0
+/test 1 , /n32 , 13
+/test 1 , /s21 , 0
+/test 1 , /n30 , 13
+/test 1 , /s20 , 0
+/test 1 , /n28 , 13
+/test 1 , /s19 , 0
+/test 1 , /n1 , 13
+/test 1 , /n26 , 13
+/test 1 , /s18 , 0
+/test 1 , /s25 , 0
+/test 1 , /s24 , 0
+/test 1 , /s23 , 0
+/test 1 , /s22 , 0
+/test 1 , /last , 15
+/test 1 , /n3 , 13
+/test 1 , /s29 , 0
+/test 1 , /n5 , 13
+/test 1 , /s28 , 0
+/test 1 , /n7 , 13
+/test 1 , /s27 , 0
+/test 1 , /n9 , 13
+/test 1 , /s26 , 0
+/test 1 , /n24 , 13
+/test 1 , /n22 , 13
+/test 1 , /s1 , 56.4444
+/test 1 , /s32 , 0
+/test 1 , /s31 , 0
+/test 1 , /s30 , 0
+ 0 , /preset-sel , 0
+ 0 , /preset-folder , 0
+ 0 , /resol , 2.22222
+ 0 , /preset-repeat , 1
+ 0 , /last , 15