[SCM] pd-autopreset/master: New upstream version 0.10

umlaeute at users.alioth.debian.org umlaeute at users.alioth.debian.org
Fri Nov 11 10:27:10 UTC 2016


The following commit has been merged in the master branch:
commit 962c43faab124c8c705692596bebdbebee22b6c7
Author: IOhannes m zmölnig <zmoelnig at umlautQ.umlaeute.mur.at>
Date:   Fri Nov 11 11:11:11 2016 +0100

    New upstream version 0.10

diff --git a/0autopreset-help.pd b/0autopreset-help.pd
index 4ddc913..5d6756b 100644
--- a/0autopreset-help.pd
+++ b/0autopreset-help.pd
@@ -1,20 +1,7 @@
-#N canvas 530 388 242 321 10;
-#X declare -stdpath moonlib;
-#X declare -lib moonlib;
-#X declare -stdpath zexy;
-#X declare -lib zexy;
-#X declare -stdpath hcs;
-#X declare -lib hcs;
-#X declare -stdpath ggee;
-#X declare -lib ggee;
-#X declare -stdpath extra/moonlib;
-#X declare -stdpath extra/zexy;
-#X declare -stdpath extra/hcs;
-#X declare -stdpath extra/ggee;
-#X declare -stdpath iemlib;
-#X declare -lib iemlib;
-#X declare -stdpath extra/iemlib;
-#N canvas 727 89 442 646 Introduction 0;
+#N canvas 76 439 333 330 10;
+#X declare -lib libdir -lib moonlib -stdpath moonlib -stdpath extra/moonlib
+;
+#N canvas 721 102 485 645 Introduction 1;
 #X text 68 18 Welcome to AutoPreset abstractions !;
 #X text 49 288 2) the number of "patterns" (16 by default);
 #X text 33 358 There are 3 types of base objects :;
@@ -33,9 +20,7 @@ type [apf] has this unique feature to be able to interpolate between
 two different patterns.;
 #X obj 30 569 cnv 15 380 60 empty empty empty 20 12 0 14 -232576 -66577
 0;
-#X text 64 582 WARNING : AutoPreset needs following externals : moonlib
-\, zexy \, hcs \, iemlib \, ggee.;
-#X text 30 123 The problem is to remember different settings of this
+#X text 32 122 The problem is to remember different settings of this
 whole system \, and to store everything into a single file. Notice
 that we want to be able to use multiple instances of the same abstraction
 with a different setting for each.;
@@ -46,8 +31,10 @@ or modifying it \, and is collected by the master only when saving.
 A "preset" is composed of :;
 #X text 33 507 Finally \, some utility abstractions are provided to
 help manipulating preset files and patterns.;
+#X text 39 581 WARNING : AutoPreset needs following externals : moonlib
+\, iemlib \, ggee., f 50;
 #X restore 36 50 pd Introduction;
-#N canvas 402 311 330 244 Basic 0;
+#N canvas 390 499 330 244 Basic 0;
 #X obj 20 72 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1
 ;
 #X obj 197 68 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1
@@ -56,17 +43,17 @@ help manipulating preset files and patterns.;
 #X obj 20 95 apmasterfile Basic p/basic.txt;
 #X obj 107 171 nbx 7 25 -1e+37 1e+37 0 0 empty empty MyFloat 0 -8 0
 16 -204786 -1 -1 3.14159 256;
-#X obj 20 30 apmaster Basic;
 #X text 21 212 Change MyFloat's value \, then reload.;
 #X obj 61 136 apf Basic MyFloat;
 #X text 54 6 Store/recall state to/from disk :;
+#X obj 20 30 apmaster Basic;
 #X connect 0 0 3 0;
 #X connect 1 0 3 1;
 #X connect 2 0 0 0;
-#X connect 4 0 7 0;
-#X connect 7 0 4 0;
+#X connect 4 0 6 0;
+#X connect 6 0 4 0;
 #X restore 36 76 pd Basic;
-#N canvas 774 415 337 358 Patterns 0;
+#N canvas 768 470 337 358 Patterns 0;
 #X obj 13 69 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1
 ;
 #X obj 244 69 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1
@@ -75,7 +62,7 @@ help manipulating preset files and patterns.;
 #X obj 95 180 nbx 7 25 -1e+37 1e+37 0 0 empty empty MyFloat 0 -8 0
 16 -204786 -1 -1 -290 256;
 #X obj 54 243 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -4034 -1
--1 0;
+-1 3;
 #X obj 175 275 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -258113
 -1 -1 0;
 #X msg 54 268 MyFloat load \$1;
@@ -85,38 +72,38 @@ help manipulating preset files and patterns.;
 #X obj 54 326 s \$0-Patterns-pattern-snd;
 #X text 50 223 Try loading the 4 different patterns :;
 #X text 40 9 Use different states :;
-#X obj 13 28 apmaster \$0-Patterns;
 #X obj 58 144 apf \$0-Patterns MyFloat;
+#X obj 13 28 apmaster \$0-Patterns;
 #X connect 0 0 9 0;
 #X connect 1 0 9 1;
 #X connect 2 0 0 0;
-#X connect 3 0 14 0;
+#X connect 3 0 13 0;
 #X connect 4 0 6 0;
 #X connect 5 0 7 0;
 #X connect 6 0 10 0;
 #X connect 7 0 10 0;
-#X connect 14 0 3 0;
+#X connect 13 0 3 0;
 #X restore 36 103 pd Patterns;
-#N canvas 647 132 529 678 FloatPatterns 0;
+#N canvas 641 144 616 678 FloatPatterns 0;
 #X obj 21 192 hsl 200 15 0 3 0 0 empty empty empty -2 -6 0 8 -225271
 -1 -1 0 1;
 #X text 16 156 apf understands float pattern:;
 #X text 16 170 it interpolates between two following patterns.;
 #X obj 20 108 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
 -1 -1 12700 1;
-#X obj 243 54 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1
+#X obj 253 53 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1
 ;
-#X obj 486 55 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1
+#X obj 496 54 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1
 -1;
-#X obj 243 33 loadbang;
+#X obj 253 32 loadbang;
 #X obj 17 34 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -4034 -1 -1
 0;
 #X obj 139 34 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -258113 -1
 -1 0;
 #X msg 17 52 _all_ load \$1;
 #X msg 139 53 _all_ store \$1;
-#X obj 215 108 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 12250 1;
+#X obj 244 107 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 12700 1;
 #X msg 18 232 _all_ load \$1;
 #X floatatom 18 211 5 0 0 0 - - -, f 5;
 #X obj 22 337 hsl 200 15 0 1 0 0 empty empty empty -2 -6 0 8 -262130
@@ -135,40 +122,40 @@ help manipulating preset files and patterns.;
 ;
 #X text 64 356 interpolate between patterns 0 and 3 :;
 #X obj 23 439 hsl 200 15 0 1 0 0 empty empty empty -2 -6 0 8 -262130
--1 -1 19900 1;
+-1 -1 0 1;
 #X floatatom 20 458 5 0 0 0 - - -, f 5;
 #X obj 20 479 presetfadelin 2 0 1 3;
 #X obj 20 604 list prepend _all_;
 #X obj 20 629 list trim;
 #X obj 44 521 hsl 200 15 0 1 0 0 empty empty empty -2 -6 0 8 -262130
--1 -1 19100 1;
+-1 -1 19900 1;
 #X floatatom 41 540 5 0 0 0 - - -, f 5;
 #X obj 41 561 presetfadecos 2 0 1 3;
-#X obj 283 517 hsl 200 15 0 1 0 0 empty empty empty -2 -6 0 8 -262130
--1 -1 10627 1;
-#X floatatom 280 536 5 0 0 0 - - -, f 5;
-#X obj 280 472 line;
-#X obj 280 494 wrap;
-#X msg 370 449 stop;
-#X text 277 431 circular sequence :;
+#X obj 313 507 hsl 200 15 0 1 0 0 empty empty empty -2 -6 0 8 -262130
+-1 -1 0 1;
+#X floatatom 310 526 5 0 0 0 - - -, f 5;
+#X obj 310 462 line;
+#X obj 310 484 wrap;
+#X msg 400 439 stop;
+#X text 307 421 circular sequence :;
 #X text 18 419 pattern fade sequence :;
 #X text 38 503 pattern fade with cosinus position :;
 #X text 61 461 fade pattern list : 2 \, 0 \, 1 \, 3;
-#X obj 280 557 presetfadelin 2 0 3 1 2 3 0 2;
-#X msg 280 449 0 \, 100 1e+06;
-#X text 332 538 same first and last pattern (2):;
+#X obj 310 547 presetfadelin 2 0 3 1 2 3 0 2;
+#X msg 310 439 0 \, 100 1e+06;
+#X text 362 528 same first and last pattern (2):;
 #X obj 17 77 s \$0-FloatPatterns-pattern-snd;
-#X obj 243 77 apmasterfile \$0-FloatPatterns p/float.txt;
+#X obj 253 76 apmasterfile \$0-FloatPatterns p/float.txt;
 #X obj 18 252 s \$0-FloatPatterns-pattern-snd;
 #X obj 277 280 api \$0-FloatPatterns MyFloatI;
 #X obj 19 397 s \$0-FloatPatterns-pattern-snd;
 #X obj 20 653 s \$0-FloatPatterns-pattern-snd;
 #X text 187 6 Interpolation :;
-#X obj 16 9 apmaster \$0-FloatPatterns;
 #X obj 17 127 apf \$0-FloatPatterns MyFloat1;
-#X obj 212 127 apf \$0-FloatPatterns MyFloat2;
+#X obj 241 126 apf \$0-FloatPatterns MyFloat2;
+#X obj 16 9 apmaster \$0-FloatPatterns;
 #X connect 0 0 13 0;
-#X connect 3 0 52 0;
+#X connect 3 0 51 0;
 #X connect 4 0 45 0;
 #X connect 5 0 45 1;
 #X connect 6 0 4 0;
@@ -176,7 +163,7 @@ help manipulating preset files and patterns.;
 #X connect 8 0 10 0;
 #X connect 9 0 44 0;
 #X connect 10 0 44 0;
-#X connect 11 0 53 0;
+#X connect 11 0 52 0;
 #X connect 12 0 46 0;
 #X connect 13 0 12 0;
 #X connect 14 0 15 0;
@@ -199,10 +186,10 @@ help manipulating preset files and patterns.;
 #X connect 41 0 27 0;
 #X connect 42 0 34 0;
 #X connect 47 0 18 0;
-#X connect 52 0 3 0;
-#X connect 53 0 11 0;
+#X connect 51 0 3 0;
+#X connect 52 0 11 0;
 #X restore 36 157 pd FloatPatterns;
-#N canvas 654 128 603 581 ParameterTypes 0;
+#N canvas 644 150 603 647 ParameterTypes 0;
 #X obj 159 142 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
 -1 -1 11000 1;
 #X msg 175 462 set 0 un deux trois;
@@ -230,7 +217,7 @@ help manipulating preset files and patterns.;
 #N canvas 0 50 450 300 (subpatch) 0;
 #X array \$0-MyTab 20 float 0;
 #X coords 0 1 19 -1 100 60 1;
-#X restore 360 329 graph;
+#X restore 389 327 graph;
 #X text 34 149 apf : for float;
 #X text 27 236 apsym : for symbol;
 #X text 29 327 aptab : for table;
@@ -250,7 +237,7 @@ help manipulating preset files and patterns.;
 #X obj 19 508 route load;
 #X msg 462 463 set 0 ein zwei drei;
 #X msg 190 219 zwei;
-#X msg 366 512 reset \, dump;
+#X msg 380 504 reset \, dump;
 #X text 27 100 (notice the "_all_" pattern target);
 #X obj 23 84 s \$0-Types-pattern-snd;
 #X obj 280 85 apmasterfile \$0-Types p/types.txt;
@@ -260,9 +247,11 @@ help manipulating preset files and patterns.;
 #X obj 19 463 r \$0-Types-pattern-snd;
 #X text 220 416 ([sarray] is a moonlib's external);
 #X text 158 11 Several parameter types :;
-#X obj 23 15 apmaster \$0-Types;
 #X obj 156 160 apf \$0-Types MyFloat;
-#X connect 0 0 46 0;
+#X obj 23 15 apmaster \$0-Types;
+#X obj 100 582 declare -lib libdir -lib moonlib -stdpath moonlib -stdpath
+extra/moonlib;
+#X connect 0 0 45 0;
 #X connect 1 0 5 0;
 #X connect 2 0 5 0;
 #X connect 3 0 5 0;
@@ -290,9 +279,9 @@ help manipulating preset files and patterns.;
 #X connect 35 0 5 0;
 #X connect 39 0 8 0;
 #X connect 42 0 31 0;
-#X connect 46 0 0 0;
+#X connect 45 0 0 0;
 #X restore 36 130 pd ParameterTypes;
-#N canvas 695 150 410 394 SendReceive 0;
+#N canvas 693 154 480 386 SendReceive 0;
 #X obj 32 81 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1
 ;
 #X obj 299 81 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1
@@ -309,18 +298,18 @@ and \$0-MyFloat-rcv) :;
 #X text 33 314 (open properties panel to see how send/receive channels
 are configurated);
 #X text 49 10 Less wires :;
-#X obj 32 36 apmaster \$0-SendReceive;
 #X obj 36 213 apf \$0-SendReceive MyFloat \$0-MyFloat;
+#X obj 32 36 apmaster \$0-SendReceive;
 #X connect 0 0 4 0;
 #X connect 1 0 4 1;
 #X connect 2 0 0 0;
 #X restore 36 213 pd SendReceive;
-#N canvas 517 145 756 752 More... 0;
-#X obj 230 64 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1
+#N canvas 513 86 756 749 More... 0;
+#X obj 253 64 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1
 ;
-#X obj 413 65 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1
+#X obj 436 65 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1
 -1;
-#X obj 230 43 loadbang;
+#X obj 253 43 loadbang;
 #X obj 11 44 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -4034 -1 -1
 0;
 #X obj 133 44 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -258113 -1
@@ -328,29 +317,29 @@ are configurated);
 #X msg 11 62 _all_ load \$1;
 #X msg 133 63 _all_ store \$1;
 #X obj 11 87 s \$0-More-pattern-snd;
-#X obj 230 87 apmasterfile \$0-More p/more.txt;
-#X obj 186 166 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -4034 -1
+#X obj 253 87 apmasterfile \$0-More p/more.txt;
+#X obj 198 166 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -4034 -1
 -1 0;
-#X obj 261 166 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -258113
+#X obj 273 166 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -258113
 -1 -1 0;
-#X obj 186 209 s \$0-More-pattern-snd;
-#X msg 186 184 f1 load \$1;
+#X obj 198 209 s \$0-More-pattern-snd;
+#X msg 198 184 f1 load \$1;
 #X obj 46 190 nbx 5 20 -1e+37 1e+37 0 0 \$0-f1-snd \$0-f1-rcv f1 -15
 10 0 12 -204786 -1 -1 1 256;
-#X msg 261 185 f1 store \$1;
+#X msg 273 185 f1 store \$1;
 #X text 8 116 AP*s ADDITIONNAL PARAMETERS : pat_no_all \, dont_recall
 ;
-#X obj 561 168 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -4034 -1
+#X obj 574 168 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -4034 -1
 -1 0;
-#X obj 636 168 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -258113
+#X obj 649 168 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -258113
 -1 -1 0;
-#X obj 561 211 s \$0-More-pattern-snd;
+#X obj 574 211 s \$0-More-pattern-snd;
 #X obj 421 192 nbx 5 20 -1e+37 1e+37 0 0 \$0-f2-snd \$0-f2-rcv f2 -15
 10 0 12 -204786 -1 -1 13 256;
-#X msg 561 186 f2 load \$1;
-#X msg 636 187 f2 store \$1;
+#X msg 574 186 f2 load \$1;
+#X msg 649 187 f2 store \$1;
 #X obj 45 286 nbx 5 20 -1e+37 1e+37 0 0 \$0-f3-snd \$0-f3-rcv f3 -15
-10 0 12 -204786 -1 -1 0 256;
+10 0 12 -204786 -1 -1 1 256;
 #X obj 45 310 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
 -1;
 #X obj 46 216 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
@@ -362,8 +351,8 @@ are configurated);
 #X floatatom 44 411 5 0 0 0 - - -, f 5;
 #X msg 44 363 get;
 #X msg 74 363 set -100;
-#X symbolatom 409 412 20 0 0 0 - - -, f 20;
-#X obj 409 367 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#X symbolatom 425 412 20 0 0 0 - - -, f 20;
+#X obj 425 367 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
 -1 -1;
 #X msg 143 363 f3;
 #X msg 174 363 absA f1;
@@ -385,12 +374,12 @@ are configurated);
 #X text 14 565 CHANGE THE NUMBER OF PATTERNS :;
 #X obj 30 610 s \$0-More-setap-snd;
 #X msg 27 637 17;
-#X msg 56 637 31;
-#X msg 118 635 17;
-#X msg 146 636 31;
+#X msg 58 637 31;
+#X msg 134 635 17;
+#X msg 165 635 31;
 #X obj 27 684 s \$0-More-pattern-snd;
 #X msg 27 660 absA store \$1;
-#X msg 118 661 absA load \$1;
+#X msg 134 661 absA load \$1;
 #X msg 30 590 absA _all_ _nbpattern_ 32;
 #X obj 297 623 r \$0-More-apmaster-snd;
 #X obj 297 646 route loaded saved;
@@ -399,23 +388,23 @@ are configurated);
 #X obj 297 668 symbol;
 #X obj 349 667 symbol;
 #X text 324 550 PRESET FILE :;
-#X msg 451 561 load;
-#X obj 451 587 s \$0-More-apmaster-rcv;
-#X msg 488 561 save;
+#X msg 490 561 load;
+#X obj 490 587 s \$0-More-apmaster-rcv;
+#X msg 527 561 save;
 #X text 27 134 If pat_no_all=1 \, don't listen to "_all_" pattern commands
-(but still have patterns) :;
-#X text 402 135 If pat_no_all=2 \, no patterns at all :;
+(but still have patterns) :, f 45;
+#X text 443 138 If pat_no_all=2 \, no patterns at all :;
 #X text 27 242 If dont_recall=1 \, don't send saved value on file load
 :;
 #X text 296 567 Choose file to load/save:;
 #X text 297 603 Know which file was chosen :;
-#X obj 409 346 loadbang;
-#X obj 409 387 apgetref \$0-More absA;
+#X obj 425 346 loadbang;
+#X obj 425 387 apgetref \$0-More absA;
 #X text 43 15 Stuff and tricks :;
-#X obj 295 43 apmaster \$0-More;
 #X obj 32 166 apf \$0-More f1 \$0-f1 1;
 #X obj 407 168 apf \$0-More f2 \$0-f2 2;
 #X obj 31 262 apf \$0-More f3 \$0-f3 0 1;
+#X obj 318 43 apmaster \$0-More;
 #X connect 0 0 8 0;
 #X connect 1 0 8 1;
 #X connect 2 0 0 0;
@@ -466,12 +455,12 @@ are configurated);
 #X connect 73 0 32 0;
 #X connect 74 0 31 0;
 #X restore 36 241 pd More...;
-#N canvas 553 128 656 663 SubMaster 0;
-#X obj 253 64 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1
+#N canvas 541 86 656 701 SubMaster 0;
+#X obj 277 64 bng 15 250 50 0 empty empty load 17 7 0 10 -4034 -1 -1
 ;
-#X obj 436 65 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1
+#X obj 460 65 bng 15 250 50 0 empty empty save 17 7 0 10 -258113 -1
 -1;
-#X obj 253 43 loadbang;
+#X obj 277 43 loadbang;
 #X obj 27 44 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -4034 -1 -1
 0;
 #X obj 149 44 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -258113 -1
@@ -480,7 +469,7 @@ are configurated);
 #X msg 149 63 _all_ store \$1;
 #X obj 64 154 apsubmaster \$0-subgroup1 \$0-Subs subgroup1;
 #X obj 27 87 s \$0-Subs-pattern-snd;
-#X obj 253 87 apmasterfile \$0-Subs p/subs.txt;
+#X obj 277 87 apmasterfile \$0-Subs p/subs.txt;
 #X obj 64 194 nbx 7 25 -1e+37 1e+37 0 0 empty empty MyFloat 0 -8 0
 16 -204786 -1 -1 10 256;
 #X text 25 118 apsubmaster lets you create subgroups under your initial
@@ -494,26 +483,26 @@ reference :;
 #X obj 69 576 hsl 150 15 0 3 0 0 empty empty empty -2 -6 0 8 -225271
 -1 -1 0 1;
 #X floatatom 66 594 5 0 0 0 - - -, f 5;
-#X obj 66 635 s \$0-Subs-pattern-snd;
+#X obj 66 654 s \$0-Subs-pattern-snd;
 #X msg 66 615 absA load \$1;
 #X text 25 449 You can still use floatpattern feature :;
 #X text 24 257 This can be used to save each instance's state for a
 same abstraction :;
 #X text 26 559 Talk to only one abstraction :;
 #X text 26 357 You can nest how many levels you want :;
-#X text 238 396 (here absC is referenced to \$0-subgroup1);
-#X obj 239 576 hsl 150 15 0 3 0 0 empty empty empty -2 -6 0 8 -225271
+#X text 267 396 (here absC is referenced to \$0-subgroup1);
+#X obj 249 576 hsl 150 15 0 3 0 0 empty empty empty -2 -6 0 8 -225271
 -1 -1 0 1;
-#X floatatom 236 595 5 0 0 0 - - -, f 5;
-#X msg 236 616 subgroup1 load \$1;
-#X text 237 558 Only talk to subgroup1 :;
-#X obj 412 576 hsl 150 15 0 3 0 0 empty empty empty -2 -6 0 8 -225271
+#X floatatom 246 595 5 0 0 0 - - -, f 5;
+#X msg 246 616 subgroup1 load \$1;
+#X text 247 558 Only talk to subgroup1 :;
+#X obj 441 576 hsl 150 15 0 3 0 0 empty empty empty -2 -6 0 8 -225271
 -1 -1 0 1;
-#X floatatom 409 595 5 0 0 0 - - -, f 5;
-#X obj 226 293 ap_testabs \$0-Subs absB;
+#X floatatom 438 595 5 0 0 0 - - -, f 5;
+#X obj 246 293 ap_testabs \$0-Subs absB;
 #X obj 65 378 ap_testabs \$0-subgroup1 absC;
-#X text 410 558 Talk to subgroup1/absC/f2 :;
-#X msg 409 616 subgroup1 absC f2 load \$1;
+#X text 439 558 Talk to subgroup1/absC/f2 :;
+#X msg 438 616 subgroup1 absC f2 load \$1;
 #X msg 334 491 absB _pat_all_follow_ \$1;
 #X obj 334 512 s \$0-Subs-setap-snd;
 #X obj 334 472 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
@@ -521,8 +510,8 @@ same abstraction :;
 #X text 299 451 You can disconnect a subreference from master patterns
 :;
 #X text 148 11 Subgroups :;
-#X obj 26 19 apmaster \$0-Subs;
 #X obj 64 223 apf \$0-subgroup1 MyFloat1;
+#X obj 26 19 apmaster \$0-Subs;
 #X connect 0 0 9 0;
 #X connect 1 0 9 1;
 #X connect 2 0 0 0;
@@ -530,7 +519,7 @@ same abstraction :;
 #X connect 4 0 6 0;
 #X connect 5 0 8 0;
 #X connect 6 0 8 0;
-#X connect 10 0 42 0;
+#X connect 10 0 41 0;
 #X connect 13 0 15 0;
 #X connect 14 0 16 0;
 #X connect 15 0 14 0;
@@ -545,8 +534,7 @@ same abstraction :;
 #X connect 35 0 19 0;
 #X connect 36 0 37 0;
 #X connect 38 0 36 0;
-#X connect 42 0 10 0;
+#X connect 41 0 10 0;
 #X restore 36 185 pd SubMaster;
-#X text 61 5 AutoPreset Help page;
-#X obj 60 283 apdeclare;
-#X text 15 298 Moonix::Antoine Rousseau 2004-2015;
+#X text 57 12 AutoPreset Help page;
+#X text 15 298 Moonix::Antoine Rousseau 2004-2016;
diff --git a/README.md b/README.md
index 25c1a85..0960e17 100644
--- a/README.md
+++ b/README.md
@@ -8,8 +8,6 @@ Simple state saving for PureData
 You need following externals :
 
 -	moonlib
--	zexy
--	hcs
 -	iemlib
 -	ggee
 
@@ -31,7 +29,7 @@ There are 3 main objects :
 
 
 --------------------------------
-	Antoine Rousseau 2004-2015
+	Antoine Rousseau 2004-2016
 license : GNU GPL (see [LICENSE.txt](LICENSE.txt)) 
 get last version there: <https://github.com/MetaluNet/AutoPreset>
 
diff --git a/README.md b/README.txt
similarity index 98%
copy from README.md
copy to README.txt
index 25c1a85..3da3d10 100644
--- a/README.md
+++ b/README.txt
@@ -8,8 +8,6 @@ Simple state saving for PureData
 You need following externals :
 
 -	moonlib
--	zexy
--	hcs
 -	iemlib
 -	ggee
 
diff --git a/apdeclare.pd b/apdeclare.pd
deleted file mode 100644
index 751310e..0000000
--- a/apdeclare.pd
+++ /dev/null
@@ -1,31 +0,0 @@
-#N canvas 49 693 480 265 10;
-#X declare -stdpath moonlib;
-#X declare -lib moonlib;
-#X declare -stdpath zexy;
-#X declare -lib zexy;
-#X declare -stdpath hcs;
-#X declare -lib hcs;
-#X declare -stdpath ggee;
-#X declare -lib ggee;
-#X declare -stdpath extra/moonlib;
-#X declare -stdpath extra/zexy;
-#X declare -stdpath extra/hcs;
-#X declare -stdpath extra/ggee;
-#X declare -stdpath iemlib;
-#X declare -lib iemlib;
-#X declare -stdpath extra/iemlib;
-#X obj 43 18 declare -stdpath moonlib;
-#X obj 43 37 declare -lib moonlib;
-#X obj 42 61 declare -stdpath zexy;
-#X obj 43 80 declare -lib zexy;
-#X obj 44 107 declare -stdpath hcs;
-#X obj 44 126 declare -lib hcs;
-#X obj 46 153 declare -stdpath ggee;
-#X obj 46 172 declare -lib ggee;
-#X obj 212 19 declare -stdpath extra/moonlib;
-#X obj 211 62 declare -stdpath extra/zexy;
-#X obj 213 108 declare -stdpath extra/hcs;
-#X obj 215 154 declare -stdpath extra/ggee;
-#X obj 45 198 declare -stdpath iemlib;
-#X obj 45 217 declare -lib iemlib;
-#X obj 213 199 declare -stdpath extra/iemlib;
diff --git a/apf-help.pd b/apf-help.pd
index 93556a7..2e9091f 100644
--- a/apf-help.pd
+++ b/apf-help.pd
@@ -1,4 +1,5 @@
 #N canvas 649 78 455 170 10;
+#X declare -lib libdir -lib ggee;
 #X text 14 -1 usage : apf Ref Name [BusName [pat_no_all [dont-recall]]]
 ;
 #X text 59 15 -if pat_no_all==1 \, doesn't receive "_all_" pattern
@@ -16,6 +17,7 @@ load the preset.;
 #X obj 56 80 getdir;
 #X obj 29 59 t s b;
 #X msg 29 124 \; pd open \$1 \$2;
+#X obj 18 166 declare -lib libdir -lib ggee;
 #X connect 0 0 1 0;
 #X connect 1 0 4 0;
 #X connect 2 0 5 0;
diff --git a/apf.pd b/apf.pd
index 24496e7..e0785a2 100644
--- a/apf.pd
+++ b/apf.pd
@@ -1,5 +1,6 @@
-#N canvas 41 250 1027 559 10;
-#X obj 467 508 s \$3-rcv;
+#N canvas 351 107 1027 745 10;
+#X declare -lib libdir -lib ggee -stdpath ggee;
+#X obj 467 558 s \$3-rcv;
 #X obj 292 107 r \$1-setap-snd;
 #X obj 30 118 r \$1-getap-snd;
 #X obj 9 119 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
@@ -7,48 +8,37 @@
 #X obj 57 356 s \$1-getap-rcv;
 #X obj 30 334 t b a;
 #X obj 30 168 symbol \$2;
-#X obj 30 313 glue;
 #X obj 30 143 t b b;
 #X obj 30 189 pack s f 16;
 #X obj 641 62 r \$1-pattern-snd;
 #X obj 522 16 table \$0-pattern 16;
 #X obj 641 255 pack f f;
 #X obj 641 275 s \$0-pattern;
-#X obj 459 264 unwonk f f;
-#X obj 514 356 l;
-#X obj 514 376 tabset \$0-pattern;
-#X obj 487 314 sel 0;
-#X obj 514 336 b;
-#X obj 53 293 tabdump2 \$0-pattern;
-#X msg 53 272 dump 0 \$1;
+#X obj 487 335 sel 0;
+#X obj 514 357 b;
 #X obj 51 221 16;
-#X msg 116 201 resize \$1;
-#X obj 116 220 s \$0-pattern;
+#X msg 116 195 resize \$1;
+#X obj 116 214 s \$0-pattern;
 #X obj 641 233 moses 16;
-#X obj 724 251 moses 16;
+#X obj 727 245 moses 16;
 #X obj 292 127 route \$2 _all_;
-#X obj 487 291 t f f;
-#X obj 527 314 s \$0-nbpattern;
+#X obj 487 312 t f f;
+#X obj 527 335 s \$0-nbpattern;
 #X obj 93 162 r \$0-nbpattern;
-#X obj 292 330 s \$0-nbpattern;
+#X obj 292 347 s \$0-nbpattern;
 #X obj 722 193 r \$0-nbpattern;
 #X obj 193 102 t f;
 #X obj 641 85 route \$2 _all_;
 #X obj 596 51 inlet;
-#X obj 459 530 outlet;
+#X obj 459 580 outlet;
 #X obj 206 220 s \$1-sndap;
 #X obj 206 160 symbol \$2;
 #X obj 206 140 t b f;
 #X obj 206 180 pack s f;
 #X obj 641 212 i;
-#X obj 724 274 tabreadl \$0-pattern;
-#X obj 681 109 demux;
-#X obj 766 55 init \$4;
-#X obj 766 84 > 0;
-#X obj 793 84 sel 2;
-#X obj 793 127 s \$0-nbpattern;
-#X msg 793 106 0;
-#X obj 206 200 route list;
+#X obj 819 92 sel 2;
+#X obj 819 135 s \$0-nbpattern;
+#X msg 819 114 0;
 #X obj 51 240 route 0;
 #X obj 332 149 route \$2;
 #X obj 675 485 pack s f;
@@ -59,21 +49,19 @@
 #X obj 292 240 route _nbpattern_ _loaded_ float list _get_val_;
 #X text 721 428 then return val to <s>.;
 #X obj 705 463 f;
-#X obj 337 267 init \$4;
 #X obj 641 137 route store load A B pos;
 #X obj 881 285 tabread \$0-pattern;
-#X obj 890 221 tabread \$0-pattern;
+#X obj 898 217 tabread \$0-pattern;
 #X obj 848 311 *;
-#X obj 875 243 *;
+#X obj 880 241 *;
 #X obj 848 335 +;
 #X obj 848 265 * -1;
 #X obj 848 286 + 1;
 #X obj 848 218 t f f;
-#X obj 459 451 spigot 1;
-#X obj 504 406 init \$5;
-#X obj 504 427 == 0;
+#X obj 459 501 spigot 1;
+#X obj 504 481 == 0;
 #X floatatom 765 221 5 0 0 0 - - -, f 5;
-#X obj 459 484 t f;
+#X obj 459 534 t f;
 #X obj 535 73 t f;
 #X obj 535 50 r \$3-snd;
 #X text 25 22 usage : apf Ref Name [BusName [pat_no_all [dont-recall]]]
@@ -84,11 +72,10 @@ commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X text 23 2 AutoPreset Float;
 #X text 69 68 -if dont-recall=1 \, saved value is not sent when we
 load the preset.;
-#X obj 337 288 != 2;
-#X obj 292 310 spigot 1;
-#X obj 465 159 init \$4;
+#X obj 337 305 != 2;
+#X obj 292 327 spigot 1;
 #X obj 399 202 spigot 1;
-#X obj 465 179 != 1;
+#X obj 463 199 != 1;
 #X obj 856 37 cnv 15 130 60 empty empty help: 20 7 0 12 -204800 -66577
 0;
 #N canvas 640 662 164 175 open 0;
@@ -109,100 +96,155 @@ load the preset.;
 #X obj 399 116 route _nbpattern_;
 #X obj 399 137 list prepend _nbpattern_;
 #X obj 399 156 list trim;
-#X connect 1 0 26 0;
-#X connect 2 0 8 0;
-#X connect 3 0 8 0;
+#X obj 337 262 loadbang;
+#X obj 337 284 f \$4;
+#X obj 463 159 loadbang;
+#X obj 463 179 f \$4;
+#X obj 504 442 loadbang;
+#X obj 504 462 f \$5;
+#X obj 766 34 loadbang;
+#X obj 766 55 f \$4;
+#X obj 514 377 list;
+#X obj 459 263 list split 2;
+#X obj 459 285 unpack f f;
+#X obj 514 419 s \$0-pattern;
+#X obj 852 543 tabread \$0-pattern;
+#X obj 798 451 t f f;
+#X obj 825 476 i;
+#X obj 825 498 t f f;
+#X obj 852 521 + 1;
+#X obj 798 524 -;
+#X obj 825 563 tabread \$0-pattern;
+#X obj 798 587 t f f;
+#X obj 798 611 * -1;
+#X obj 798 633 + 1;
+#X obj 825 655 *;
+#X obj 798 655 *;
+#X obj 798 677 +;
+#X obj 90 285 array get \$0-pattern;
+#X msg 90 263 0 \$1;
+#X obj 514 397 list prepend 0;
+#X obj 30 313 list append;
+#X obj 766 84 == 0;
+#X obj 206 200 list trim;
+#X obj 681 109 spigot 1;
+#X obj 50 672 declare -lib libdir -lib ggee -stdpath ggee;
+#X connect 1 0 20 0;
+#X connect 2 0 7 0;
+#X connect 3 0 7 0;
 #X connect 5 1 4 0;
-#X connect 6 0 9 0;
-#X connect 7 0 5 0;
-#X connect 8 0 6 0;
-#X connect 8 1 21 0;
-#X connect 9 0 7 0;
-#X connect 10 0 33 0;
-#X connect 12 0 13 0;
-#X connect 14 0 69 0;
-#X connect 14 1 27 0;
-#X connect 14 2 15 1;
-#X connect 15 0 16 0;
-#X connect 17 1 18 0;
-#X connect 18 0 15 0;
-#X connect 19 0 7 1;
-#X connect 20 0 19 0;
-#X connect 21 0 49 0;
-#X connect 22 0 23 0;
-#X connect 24 0 12 0;
-#X connect 25 0 41 0;
-#X connect 26 0 56 0;
-#X connect 26 1 50 0;
-#X connect 27 0 17 0;
-#X connect 27 1 28 0;
-#X connect 29 0 22 0;
-#X connect 29 0 21 1;
-#X connect 29 0 9 2;
-#X connect 31 0 25 1;
-#X connect 31 0 24 1;
-#X connect 31 0 72 0;
-#X connect 32 0 9 1;
-#X connect 32 0 38 0;
-#X connect 33 0 60 0;
-#X connect 33 1 42 0;
-#X connect 34 0 74 0;
-#X connect 37 0 39 0;
-#X connect 38 0 37 0;
-#X connect 38 1 39 1;
-#X connect 39 0 48 0;
-#X connect 40 0 24 0;
-#X connect 41 0 73 0;
-#X connect 42 0 60 0;
-#X connect 43 0 44 0;
-#X connect 43 0 45 0;
-#X connect 44 0 42 1;
-#X connect 45 0 47 0;
-#X connect 47 0 46 0;
-#X connect 48 0 36 0;
-#X connect 49 1 20 0;
-#X connect 50 0 56 0;
-#X connect 50 1 89 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 0;
+#X connect 7 1 15 0;
+#X connect 8 0 106 0;
+#X connect 9 0 27 0;
+#X connect 11 0 12 0;
+#X connect 13 1 14 0;
+#X connect 14 0 86 0;
+#X connect 15 0 38 0;
+#X connect 16 0 17 0;
+#X connect 18 0 11 0;
+#X connect 19 0 91 0;
+#X connect 20 0 45 0;
+#X connect 20 1 39 0;
+#X connect 21 0 13 0;
+#X connect 21 1 22 0;
+#X connect 23 0 16 0;
+#X connect 23 0 15 1;
+#X connect 23 0 8 2;
+#X connect 25 0 19 1;
+#X connect 25 0 18 1;
+#X connect 25 0 59 0;
+#X connect 26 0 8 1;
+#X connect 26 0 32 0;
+#X connect 27 0 48 0;
+#X connect 27 1 109 0;
+#X connect 28 0 61 0;
+#X connect 31 0 33 0;
+#X connect 32 0 31 0;
+#X connect 32 1 33 1;
+#X connect 33 0 108 0;
+#X connect 34 0 18 0;
+#X connect 35 0 37 0;
+#X connect 37 0 36 0;
+#X connect 38 1 104 0;
+#X connect 39 0 45 0;
+#X connect 39 1 75 0;
+#X connect 40 0 42 0;
+#X connect 41 0 40 0;
+#X connect 41 1 47 0;
+#X connect 43 0 41 0;
+#X connect 45 0 69 0;
+#X connect 45 2 60 0;
+#X connect 45 3 87 0;
+#X connect 45 4 43 0;
+#X connect 47 0 40 1;
+#X connect 48 0 34 0;
+#X connect 48 1 19 0;
+#X connect 48 2 49 0;
+#X connect 48 3 50 0;
+#X connect 48 4 56 0;
+#X connect 49 0 51 1;
+#X connect 50 0 52 1;
 #X connect 51 0 53 0;
-#X connect 52 0 51 0;
-#X connect 52 1 58 0;
-#X connect 54 0 52 0;
-#X connect 56 0 82 0;
-#X connect 56 2 73 0;
-#X connect 56 3 14 0;
-#X connect 56 4 54 0;
-#X connect 58 0 51 1;
-#X connect 59 0 81 0;
-#X connect 60 0 40 0;
-#X connect 60 1 25 0;
-#X connect 60 2 61 0;
-#X connect 60 3 62 0;
-#X connect 60 4 68 0;
-#X connect 61 0 63 1;
-#X connect 62 0 64 1;
-#X connect 63 0 65 0;
-#X connect 64 0 65 1;
-#X connect 65 0 73 0;
-#X connect 66 0 67 0;
-#X connect 67 0 63 0;
-#X connect 68 0 66 0;
-#X connect 68 1 64 0;
-#X connect 69 0 73 0;
-#X connect 70 0 71 0;
-#X connect 71 0 69 1;
-#X connect 73 0 35 0;
-#X connect 73 0 0 0;
-#X connect 74 0 32 0;
-#X connect 74 0 12 1;
-#X connect 74 0 58 1;
-#X connect 75 0 74 0;
-#X connect 81 0 82 1;
-#X connect 82 0 30 0;
-#X connect 83 0 85 0;
-#X connect 84 0 56 0;
-#X connect 85 0 84 1;
-#X connect 88 0 87 0;
-#X connect 89 0 90 0;
-#X connect 89 1 56 0;
-#X connect 90 0 91 0;
-#X connect 91 0 84 0;
+#X connect 52 0 53 1;
+#X connect 53 0 60 0;
+#X connect 54 0 55 0;
+#X connect 55 0 51 0;
+#X connect 56 0 54 0;
+#X connect 56 1 52 0;
+#X connect 57 0 60 0;
+#X connect 58 0 57 1;
+#X connect 60 0 29 0;
+#X connect 60 0 0 0;
+#X connect 61 0 26 0;
+#X connect 61 0 11 1;
+#X connect 61 0 47 1;
+#X connect 62 0 61 0;
+#X connect 68 0 69 1;
+#X connect 69 0 24 0;
+#X connect 70 0 45 0;
+#X connect 71 0 70 1;
+#X connect 74 0 73 0;
+#X connect 75 0 76 0;
+#X connect 75 1 45 0;
+#X connect 76 0 77 0;
+#X connect 77 0 70 0;
+#X connect 78 0 79 0;
+#X connect 79 0 68 0;
+#X connect 80 0 81 0;
+#X connect 81 0 71 0;
+#X connect 82 0 83 0;
+#X connect 83 0 58 0;
+#X connect 84 0 85 0;
+#X connect 85 0 35 0;
+#X connect 85 0 107 0;
+#X connect 86 0 105 0;
+#X connect 87 0 88 0;
+#X connect 87 1 86 1;
+#X connect 88 0 57 0;
+#X connect 88 1 21 0;
+#X connect 90 0 100 1;
+#X connect 91 0 95 0;
+#X connect 91 1 92 0;
+#X connect 92 0 93 0;
+#X connect 93 0 95 1;
+#X connect 93 0 96 0;
+#X connect 93 1 94 0;
+#X connect 94 0 90 0;
+#X connect 95 0 97 0;
+#X connect 96 0 101 1;
+#X connect 97 0 98 0;
+#X connect 97 1 100 0;
+#X connect 98 0 99 0;
+#X connect 99 0 101 0;
+#X connect 100 0 102 1;
+#X connect 101 0 102 0;
+#X connect 102 0 60 0;
+#X connect 103 0 106 1;
+#X connect 104 0 103 0;
+#X connect 105 0 89 0;
+#X connect 106 0 5 0;
+#X connect 107 0 109 1;
+#X connect 108 0 30 0;
+#X connect 109 0 48 0;
diff --git a/apgetdol0.pd b/apgetdol0.pd
index de25896..943e6d2 100644
--- a/apgetdol0.pd
+++ b/apgetdol0.pd
@@ -1,50 +1,60 @@
-#N canvas 896 504 526 367 10;
-#X obj 139 146 drip;
-#X obj 135 226 l;
-#X obj 135 248 glue;
-#X msg 223 195 list;
-#X obj 135 195 t b a;
-#X msg 185 195 list;
-#X obj 63 173 route float;
-#X obj 120 119 t b a b b;
-#X obj 119 271 l;
-#X obj 291 296 r \$0-rcv;
+#N canvas 605 114 526 367 10;
+#X obj 300 215 r \$0-rcv;
 #X text 13 8 arg: \$0(master) liste...;
-#X obj 90 37 loadbang;
-#X obj 154 37 inlet;
-#X obj 291 336 outlet;
-#X obj 119 316 route list;
+#X obj 93 37 loadbang;
+#X obj 157 37 inlet;
+#X obj 300 255 outlet;
+#X obj 99 236 route list;
 #X obj 37 37 inlet;
 #X obj 37 60 b;
-#X obj 90 57 t b b;
-#X obj 119 295 glue _get_dol0_ \$0-rcv;
-#X obj 119 337 s \$1-setap-snd;
-#X obj 120 86 l \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11 \$12 \$13
-\$14 \$15 \$16 \$17 \$18 \$19 \$20;
-#X symbolatom 342 317 10 0 0 0 - - -;
-#X obj 291 316 symbol;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 1 1;
-#X connect 2 0 8 1;
-#X connect 3 0 2 1;
-#X connect 4 0 1 0;
-#X connect 4 1 2 1;
-#X connect 5 0 1 0;
-#X connect 6 1 4 0;
-#X connect 7 1 0 0;
-#X connect 7 2 5 0;
-#X connect 7 3 3 0;
-#X connect 8 0 18 0;
-#X connect 9 0 22 0;
-#X connect 11 0 17 0;
-#X connect 12 0 20 0;
-#X connect 14 0 19 0;
-#X connect 15 0 16 0;
-#X connect 16 0 8 0;
-#X connect 17 0 16 0;
-#X connect 17 1 20 0;
-#X connect 18 0 14 0;
-#X connect 20 0 7 0;
-#X connect 22 0 21 0;
-#X connect 22 0 13 0;
+#X obj 93 57 t b b;
+#X obj 99 257 s \$1-setap-snd;
+#X symbolatom 351 236 10 0 0 0 - - -, f 10;
+#X obj 300 235 symbol;
+#X obj 120 86 list prepend \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11
+\$12 \$13 \$14 \$15 \$16 \$17 \$18 \$19 \$20;
+#X obj 99 215 list prepend _get_dol0_ \$0-rcv;
+#X obj 99 191 list;
+#N canvas 6 50 450 455 remove-floats 0;
+#X obj 145 23 inlet;
+#X obj 145 316 outlet;
+#X obj 162 160 list split 1;
+#X obj 162 77 until;
+#X obj 162 115 list append;
+#X obj 292 160 bang;
+#X obj 162 182 route float;
+#X obj 225 224 list prepend;
+#X obj 166 250 t l l;
+#X obj 145 272 list;
+#X obj 145 44 t b b a b;
+#X connect 0 0 10 0;
+#X connect 2 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 1;
+#X connect 6 1 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 1;
+#X connect 8 1 7 1;
+#X connect 9 0 1 0;
+#X connect 10 0 9 0;
+#X connect 10 1 3 0;
+#X connect 10 2 4 1;
+#X connect 10 3 8 0;
+#X restore 120 135 pd remove-floats;
+#X connect 0 0 11 0;
+#X connect 2 0 8 0;
+#X connect 3 0 12 0;
+#X connect 5 0 9 0;
+#X connect 6 0 7 0;
+#X connect 7 0 14 0;
+#X connect 8 0 7 0;
+#X connect 8 1 12 0;
+#X connect 11 0 10 0;
+#X connect 11 0 4 0;
+#X connect 12 0 15 0;
+#X connect 13 0 5 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 1;
diff --git a/apgetref.pd b/apgetref.pd
index d9092fd..b1040de 100644
--- a/apgetref.pd
+++ b/apgetref.pd
@@ -1,10 +1,11 @@
-#N canvas 428 170 346 317 10;
+#N canvas 426 201 346 317 10;
+#X declare -lib libdir -lib iemlib -lib iemlib/iemlib2;
 #X obj 37 251 r \$0-rcv;
 #X obj 76 37 loadbang;
 #X obj 37 291 outlet;
 #X obj 37 37 inlet;
-#X symbolatom 88 272 10 0 0 0 - - -;
-#X obj 37 271 symbol;
+#X symbolatom 88 273 10 0 0 0 - - -, f 10;
+#X obj 37 272 symbol;
 #X obj 37 70 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
 -1;
 #X obj 37 220 s \$1-setap-snd;
@@ -16,6 +17,7 @@
 #X obj 76 81 list split 1;
 #X obj 58 133 t a;
 #X obj 37 155 list;
+#X obj 21 331 declare -lib libdir -lib iemlib -lib iemlib/iemlib2;
 #X connect 0 0 5 0;
 #X connect 1 0 12 0;
 #X connect 3 0 6 0;
diff --git a/apgetval.pd b/apgetval.pd
index 8b47363..e3ded19 100644
--- a/apgetval.pd
+++ b/apgetval.pd
@@ -1,4 +1,5 @@
 #N canvas 735 446 361 326 10;
+#X declare -lib libdir -lib iemlib -lib iemlib/iemlib2;
 #X obj 33 261 r \$0-rcv;
 #X obj 33 285 outlet;
 #X obj 33 35 inlet;
@@ -17,6 +18,7 @@
 #X obj 214 151 list prepend;
 #X obj 271 38 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
 -1;
+#X obj 21 306 declare -lib libdir -lib iemlib -lib iemlib/iemlib2;
 #X connect 0 0 1 0;
 #X connect 2 0 3 0;
 #X connect 3 0 11 0;
@@ -32,4 +34,3 @@
 #X connect 13 0 15 1;
 #X connect 14 0 6 0;
 #X connect 15 0 14 0;
-#X connect 16 0 12 0;
diff --git a/api-help.pd b/api-help.pd
index 403cd87..a80064c 100644
--- a/api-help.pd
+++ b/api-help.pd
@@ -1,4 +1,5 @@
 #N canvas 182 93 449 216 10;
+#X declare -lib libdir -lib ggee;
 #X text 59 15 -if pat_no_all==1 \, doesn't receive "_all_" pattern
 commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X text 58 45 -if dont-recall=1 \, saved value is not send when we
@@ -18,6 +19,7 @@ patterns.;
 #X obj 56 80 getdir;
 #X obj 29 59 t s b;
 #X msg 29 124 \; pd open \$1 \$2;
+#X obj 18 166 declare -lib libdir -lib ggee;
 #X connect 0 0 1 0;
 #X connect 1 0 4 0;
 #X connect 2 0 5 0;
diff --git a/api.pd b/api.pd
index 647b678..2f0eaa1 100644
--- a/api.pd
+++ b/api.pd
@@ -1,5 +1,6 @@
-#N canvas 140 98 947 491 10;
-#X obj 421 426 s \$3-rcv;
+#N canvas 270 85 947 566 10;
+#X declare -lib libdir -lib ggee -stdpath ggee;
+#X obj 403 497 s \$3-rcv;
 #X obj 292 94 r \$1-setap-snd;
 #X obj 29 74 r \$1-getap-snd;
 #X obj 8 75 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1
@@ -7,56 +8,46 @@
 #X obj 56 377 s \$1-getap-rcv;
 #X obj 29 354 t b a;
 #X obj 29 177 symbol \$2;
-#X obj 29 333 glue;
 #X obj 29 99 t b b;
 #X obj 29 198 pack s f 16;
 #X obj 643 70 r \$1-pattern-snd;
 #X obj 704 26 table \$0-pattern 16;
 #X obj 626 240 pack f f;
 #X obj 626 260 s \$0-pattern;
-#X obj 421 216 unwonk f f;
-#X obj 467 309 l;
-#X obj 467 329 tabset \$0-pattern;
-#X obj 440 268 sel 0;
-#X obj 467 289 b;
-#X obj 52 313 tabdump2 \$0-pattern;
-#X msg 52 292 dump 0 \$1;
+#X obj 492 306 sel 0;
+#X obj 524 333 b;
 #X obj 52 244 16;
 #X msg 115 207 resize \$1;
 #X obj 115 226 s \$0-pattern;
 #X obj 626 215 moses 16;
 #X obj 696 195 moses 16;
 #X obj 292 114 route \$2 _all_;
-#X obj 440 245 t f f;
-#X obj 480 268 s \$0-nbpattern;
+#X obj 492 283 t f f;
+#X obj 532 306 s \$0-nbpattern;
 #X obj 101 177 r \$0-nbpattern;
 #X obj 740 119 r \$0-nbpattern;
 #X obj 70 115 t f;
 #X obj 643 93 route \$2 _all_;
 #X obj 618 28 inlet;
-#X obj 428 407 outlet;
+#X obj 410 478 outlet;
 #X obj 206 228 s \$1-sndap;
 #X obj 206 168 symbol \$2;
 #X obj 206 148 t b f;
 #X obj 206 188 pack s f;
 #X obj 626 194 i;
-#X obj 683 119 demux;
-#X obj 796 67 init \$4;
-#X obj 796 91 > 0;
 #X obj 835 94 sel 2;
 #X obj 835 135 s \$0-nbpattern;
 #X msg 835 115 0;
-#X obj 206 208 route list;
 #X obj 52 263 route 0;
 #X obj 332 136 route \$2;
-#X obj 222 398 pack s f;
-#X obj 222 356 t s b;
-#X msg 222 420 \; \$1 \$2;
-#X obj 221 337 symbol;
-#X text 186 306 if parameter is "_get_val_ <s>";
+#X obj 217 441 pack s f;
+#X obj 217 399 t s b;
+#X msg 217 463 \; \$1 \$2;
+#X obj 216 380 symbol;
+#X text 181 349 if parameter is "_get_val_ <s>";
 #X obj 292 190 route _nbpattern_ _loaded_ float list _get_val_;
-#X text 203 319 then return val to <s>.;
-#X obj 249 377 f;
+#X text 198 362 then return val to <s>.;
+#X obj 244 420 f;
 #X obj 696 285 tabread \$0-pattern;
 #X obj 643 145 route store load A B pos;
 #X obj 755 243 f;
@@ -67,7 +58,7 @@
 #X obj 857 229 b;
 #X obj 563 30 r \$3-snd;
 #X obj 563 54 t f;
-#X obj 421 379 t f;
+#X obj 403 450 t f;
 #X obj 696 173 + 0.5;
 #X text 651 171 center:;
 #X text 460 -9 api is the same as apf exept it doesn't interpolate
@@ -80,13 +71,11 @@ store/load. If pat_no_all==2 \, no pattern for this.;
 load the preset.;
 #X text 22 -8 usage : api Ref Name [BusName [pat_no_all [dont-recall]]]
 ;
-#X obj 507 128 init \$4;
 #X obj 444 165 spigot 1;
-#X obj 507 148 != 1;
-#X obj 292 277 s \$0-nbpattern;
-#X obj 337 214 init \$4;
-#X obj 337 235 != 2;
-#X obj 292 257 spigot 1;
+#X obj 511 167 != 1;
+#X obj 292 292 s \$0-nbpattern;
+#X obj 337 250 != 2;
+#X obj 292 272 spigot 1;
 #X obj 651 350 cnv 15 130 60 empty empty help: 20 7 0 12 -204800 -66577
 0;
 #N canvas 634 338 164 175 open 0;
@@ -107,95 +96,126 @@ load the preset.;
 #X obj 444 86 route _nbpattern_;
 #X obj 444 106 list prepend _nbpattern_;
 #X obj 444 126 list trim;
-#X connect 1 0 26 0;
-#X connect 2 0 8 0;
-#X connect 3 0 8 0;
+#X obj 796 47 loadbang;
+#X obj 796 67 f \$4;
+#X obj 415 409 spigot 1;
+#X obj 460 389 == 0;
+#X obj 460 350 loadbang;
+#X obj 460 370 f \$5;
+#X obj 459 211 list split 2;
+#X obj 459 233 unpack f f;
+#X obj 524 353 list;
+#X obj 524 376 list prepend 0;
+#X obj 524 399 s \$0-pattern;
+#X obj 796 91 == 0;
+#X obj 29 333 list append;
+#X obj 337 209 loadbang;
+#X obj 337 229 f \$4;
+#X obj 91 308 array get \$0-pattern;
+#X msg 91 286 0 \$1;
+#X obj 511 127 loadbang;
+#X obj 511 147 f \$4;
+#X obj 206 208 list trim;
+#X obj 683 119 spigot 1;
+#X obj 18 514 declare -lib libdir -lib ggee -stdpath ggee;
+#X connect 1 0 20 0;
+#X connect 2 0 7 0;
+#X connect 3 0 7 0;
 #X connect 5 1 4 0;
-#X connect 6 0 9 0;
-#X connect 7 0 5 0;
-#X connect 8 0 6 0;
-#X connect 8 1 21 0;
-#X connect 9 0 7 0;
-#X connect 10 0 32 0;
-#X connect 12 0 13 0;
-#X connect 14 0 67 0;
-#X connect 14 1 27 0;
-#X connect 14 2 15 1;
-#X connect 15 0 16 0;
-#X connect 17 1 18 0;
-#X connect 18 0 15 0;
-#X connect 19 0 7 1;
-#X connect 20 0 19 0;
-#X connect 21 0 47 0;
-#X connect 22 0 23 0;
-#X connect 24 0 12 0;
-#X connect 25 0 57 0;
-#X connect 26 0 54 0;
-#X connect 26 1 48 0;
-#X connect 27 0 17 0;
-#X connect 27 1 28 0;
-#X connect 29 0 22 0;
-#X connect 29 0 21 1;
-#X connect 29 0 9 2;
-#X connect 30 0 25 1;
-#X connect 30 0 24 1;
-#X connect 31 0 9 1;
-#X connect 31 0 37 0;
-#X connect 32 0 58 0;
-#X connect 32 1 40 0;
-#X connect 33 0 66 0;
-#X connect 36 0 38 0;
-#X connect 37 0 36 0;
-#X connect 37 1 38 1;
-#X connect 38 0 46 0;
-#X connect 39 0 24 0;
-#X connect 40 0 58 0;
-#X connect 41 0 42 0;
-#X connect 41 0 43 0;
-#X connect 42 0 40 1;
-#X connect 43 0 45 0;
-#X connect 45 0 44 0;
-#X connect 46 0 35 0;
-#X connect 47 1 20 0;
-#X connect 48 0 54 0;
-#X connect 48 1 86 0;
-#X connect 49 0 51 0;
-#X connect 50 0 49 0;
-#X connect 50 1 56 0;
-#X connect 52 0 50 0;
-#X connect 54 0 82 0;
-#X connect 54 2 14 0;
-#X connect 54 3 14 0;
-#X connect 54 4 52 0;
-#X connect 56 0 49 1;
-#X connect 57 0 67 0;
-#X connect 58 0 39 0;
-#X connect 58 1 68 0;
-#X connect 58 2 59 1;
-#X connect 58 3 60 1;
-#X connect 58 4 61 0;
-#X connect 59 0 57 0;
-#X connect 60 0 57 0;
-#X connect 61 0 63 0;
-#X connect 61 1 62 0;
-#X connect 62 1 64 0;
-#X connect 63 0 59 0;
-#X connect 64 0 60 0;
-#X connect 65 0 66 0;
-#X connect 66 0 31 0;
-#X connect 66 0 12 1;
-#X connect 66 0 56 1;
-#X connect 67 0 0 0;
-#X connect 67 0 34 0;
-#X connect 68 0 25 0;
-#X connect 76 0 78 0;
-#X connect 77 0 54 0;
-#X connect 78 0 77 1;
-#X connect 80 0 81 0;
-#X connect 81 0 82 1;
-#X connect 82 0 79 0;
-#X connect 85 0 84 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 0;
+#X connect 7 1 15 0;
+#X connect 8 0 89 0;
+#X connect 9 0 26 0;
+#X connect 11 0 12 0;
+#X connect 13 1 14 0;
+#X connect 14 0 85 0;
+#X connect 15 0 37 0;
+#X connect 16 0 17 0;
+#X connect 18 0 11 0;
+#X connect 19 0 47 0;
+#X connect 20 0 44 0;
+#X connect 20 1 38 0;
+#X connect 21 0 13 0;
+#X connect 21 1 22 0;
+#X connect 23 0 16 0;
+#X connect 23 0 15 1;
+#X connect 23 0 8 2;
+#X connect 24 0 19 1;
+#X connect 24 0 18 1;
+#X connect 25 0 8 1;
+#X connect 25 0 31 0;
+#X connect 26 0 48 0;
+#X connect 26 1 97 0;
+#X connect 27 0 56 0;
+#X connect 30 0 32 0;
+#X connect 31 0 30 0;
+#X connect 31 1 32 1;
+#X connect 32 0 96 0;
+#X connect 33 0 18 0;
+#X connect 34 0 36 0;
+#X connect 36 0 35 0;
+#X connect 37 1 93 0;
+#X connect 38 0 44 0;
+#X connect 38 1 74 0;
+#X connect 39 0 41 0;
+#X connect 40 0 39 0;
+#X connect 40 1 46 0;
+#X connect 42 0 40 0;
+#X connect 44 0 70 0;
+#X connect 44 2 57 0;
+#X connect 44 3 83 0;
+#X connect 44 4 42 0;
+#X connect 46 0 39 1;
+#X connect 47 0 57 0;
+#X connect 48 0 33 0;
+#X connect 48 1 58 0;
+#X connect 48 2 49 1;
+#X connect 48 3 50 1;
+#X connect 48 4 51 0;
+#X connect 49 0 47 0;
+#X connect 50 0 47 0;
+#X connect 51 0 53 0;
+#X connect 51 1 52 0;
+#X connect 52 1 54 0;
+#X connect 53 0 49 0;
+#X connect 54 0 50 0;
+#X connect 55 0 56 0;
+#X connect 56 0 25 0;
+#X connect 56 0 11 1;
+#X connect 56 0 46 1;
+#X connect 57 0 0 0;
+#X connect 57 0 28 0;
+#X connect 58 0 19 0;
+#X connect 66 0 44 0;
+#X connect 67 0 66 1;
+#X connect 69 0 70 1;
+#X connect 70 0 68 0;
+#X connect 73 0 72 0;
+#X connect 74 0 75 0;
+#X connect 74 1 44 0;
+#X connect 75 0 76 0;
+#X connect 76 0 66 0;
+#X connect 77 0 78 0;
+#X connect 78 0 34 0;
+#X connect 78 0 88 0;
+#X connect 79 0 57 0;
+#X connect 80 0 79 1;
+#X connect 81 0 82 0;
+#X connect 82 0 80 0;
+#X connect 83 0 84 0;
+#X connect 83 1 85 1;
+#X connect 84 0 79 0;
+#X connect 84 1 21 0;
+#X connect 85 0 86 0;
 #X connect 86 0 87 0;
-#X connect 86 1 54 0;
-#X connect 87 0 88 0;
-#X connect 88 0 77 0;
+#X connect 88 0 97 1;
+#X connect 89 0 5 0;
+#X connect 90 0 91 0;
+#X connect 91 0 69 0;
+#X connect 92 0 89 1;
+#X connect 93 0 92 0;
+#X connect 94 0 95 0;
+#X connect 95 0 67 0;
+#X connect 96 0 29 0;
+#X connect 97 0 48 0;
diff --git a/apmaster-help.pd b/apmaster-help.pd
index 8999ee5..d399aab 100644
--- a/apmaster-help.pd
+++ b/apmaster-help.pd
@@ -1,4 +1,5 @@
 #N canvas 376 68 425 292 10;
+#X declare -lib libdir -lib ggee;
 #X text 214 181 been loaded/saved.;
 #X text 83 71 load: choose a file to read.;
 #X text 83 84 loadfile my_file: open the designated file.;
@@ -23,6 +24,7 @@
 #X obj 56 80 getdir;
 #X obj 29 59 t s b;
 #X msg 29 124 \; pd open \$1 \$2;
+#X obj 18 166 declare -lib libdir -lib ggee;
 #X connect 0 0 1 0;
 #X connect 1 0 4 0;
 #X connect 2 0 5 0;
diff --git a/apmaster.pd b/apmaster.pd
index e15c63a..b301a67 100644
--- a/apmaster.pd
+++ b/apmaster.pd
@@ -1,49 +1,34 @@
-#N canvas 535 68 577 594 10;
-#X obj 350 449 s \$1-getap-snd;
-#X obj 449 460 r \$1-getap-rcv;
-#X obj 404 234 s \$1-setap-snd;
+#N canvas 529 90 668 615 10;
+#X declare -lib libdir -lib ggee -stdpath ggee;
+#X obj 356 449 s \$1-getap-snd;
+#X obj 472 447 r \$1-getap-rcv;
+#X obj 449 233 s \$1-setap-snd;
 #X msg 120 524 read \$1;
 #X obj 45 491 until;
 #X obj 45 450 t b b;
 #X msg 72 523 rewind;
 #X obj 45 418 t b s;
-#X obj 404 145 textfile;
-#X msg 413 119 print;
-#X obj 404 94 r \$0-text_rcv;
+#X obj 449 144 textfile;
+#X msg 458 118 print;
+#X obj 449 93 r \$0-text_rcv;
 #X obj 45 566 s \$0-text_rcv;
-#X obj 476 189 s \$0-text_eof;
+#X obj 521 188 s \$0-text_eof;
 #X msg 333 493 write \$1;
 #X obj 333 474 symbol;
 #X msg 403 495 clear;
-#N canvas 318 175 450 300 glue 0;
-#X obj 101 192 glue;
-#X obj 174 165 a2l;
-#X obj 101 139 t b a;
-#X obj 101 212 route list;
-#X obj 101 112 inlet;
-#X msg 101 165 list add;
-#X obj 101 236 outlet;
-#X connect 0 0 3 0;
-#X connect 1 0 0 1;
-#X connect 2 0 5 0;
-#X connect 2 1 1 0;
-#X connect 3 0 6 0;
-#X connect 4 0 2 0;
-#X connect 5 0 0 0;
-#X restore 449 530 pd glue add;
 #X obj 316 426 t b b b s;
-#X obj 333 566 s \$0-text_rcv;
-#X obj 449 509 spigot;
-#X msg 457 488 0;
-#X msg 486 488 1;
+#X obj 333 576 s \$0-text_rcv;
+#X obj 472 496 spigot;
+#X msg 480 475 0;
+#X msg 509 475 1;
 #X obj 102 211 r \$1-apmaster-rcv;
 #X msg 181 426 loaded \$1;
 #X msg 246 427 saved \$1;
 #X obj 181 455 s \$1-apmaster-snd;
 #X obj 148 260 symbol;
 #X obj 241 261 symbol;
-#X obj 449 167 t b b;
-#X msg 449 211 _all_ _loaded_;
+#X obj 494 166 t b b;
+#X msg 494 210 _all_ _loaded_;
 #X obj 91 470 r \$0-text_eof;
 #X msg 45 471 50000;
 #X obj 102 232 route load loadfile save savefile loadin savein;
@@ -58,7 +43,6 @@
 #X obj 18 366 t s s;
 #X obj 289 398 t s s;
 #X obj 18 332 openpanel;
-#X obj 18 310 split_path;
 #X obj 18 288 symbol;
 #X obj 51 265 r \$0-lastfile;
 #X obj 162 307 r \$0-lastfile;
@@ -66,15 +50,14 @@
 #X obj 180 514 route loaded saved;
 #X obj 180 535 symbol;
 #X obj 180 556 s \$0-lastfile;
-#X obj 289 349 split_path;
 #X obj 289 327 symbol;
-#X obj 333 326 r \$0-lastfile;
+#X obj 328 305 r \$0-lastfile;
 #X obj 289 371 savepanel;
 #X obj 18 265 b;
 #X obj 289 306 b;
-#X obj 421 339 symbol;
-#X obj 421 317 b;
-#X obj 454 316 r \$0-lastfile;
+#X obj 440 347 symbol;
+#X obj 440 325 b;
+#X obj 473 324 r \$0-lastfile;
 #X obj 289 260 inlet save;
 #X obj 18 208 inlet load;
 #X text 14 27 Use "apmaster Ref" to save/load all presets;
@@ -84,7 +67,7 @@
 #X text 18 4 AutoPreset Master;
 #X text 23 40 of "Ref" and its children to/from a single text file.
 ;
-#X obj 390 18 cnv 15 130 60 empty empty help: 20 7 0 12 -204800 -66577
+#X obj 409 19 cnv 15 150 60 empty empty help: 20 7 0 12 -204800 -66577
 0;
 #N canvas 634 338 164 175 open 0;
 #X obj 29 16 inlet;
@@ -99,75 +82,81 @@
 #X connect 3 0 2 1;
 #X connect 4 0 2 0;
 #X connect 4 1 3 0;
-#X restore 394 58 pd open;
-#X msg 394 35 0autopreset-help.pd;
+#X restore 414 58 pd open;
+#X msg 414 35 0autopreset-help.pd;
 #X text 14 58 You can talk to Ref-apmaster-rcv:;
 #X text 83 111 save: choose a file to write to (like "save as").;
-#X connect 1 0 19 0;
+#X obj 472 517 list prepend add;
+#X obj 472 539 list trim;
+#X obj 18 310 splitpath;
+#X obj 289 349 splitpath;
+#X obj 16 593 declare -lib libdir -lib ggee -stdpath ggee;
+#X connect 1 0 18 0;
 #X connect 3 0 11 0;
 #X connect 4 0 11 0;
-#X connect 5 0 31 0;
+#X connect 5 0 30 0;
 #X connect 5 1 6 0;
 #X connect 6 0 11 0;
 #X connect 7 0 5 0;
 #X connect 7 1 3 0;
 #X connect 8 0 2 0;
-#X connect 8 1 28 0;
+#X connect 8 1 27 0;
 #X connect 9 0 8 0;
 #X connect 10 0 8 0;
-#X connect 13 0 18 0;
+#X connect 13 0 17 0;
 #X connect 14 0 13 0;
-#X connect 15 0 18 0;
-#X connect 16 0 18 0;
-#X connect 17 0 20 0;
-#X connect 17 1 14 0;
-#X connect 17 2 0 0;
-#X connect 17 3 14 1;
-#X connect 17 3 15 0;
-#X connect 17 3 21 0;
-#X connect 19 0 16 0;
-#X connect 20 0 19 1;
-#X connect 21 0 19 1;
-#X connect 22 0 32 0;
-#X connect 23 0 25 0;
-#X connect 24 0 25 0;
+#X connect 15 0 17 0;
+#X connect 16 0 19 0;
+#X connect 16 1 14 0;
+#X connect 16 2 0 0;
+#X connect 16 3 14 1;
+#X connect 16 3 15 0;
+#X connect 16 3 20 0;
+#X connect 18 0 71 0;
+#X connect 19 0 18 1;
+#X connect 20 0 18 1;
+#X connect 21 0 31 0;
+#X connect 22 0 24 0;
+#X connect 23 0 24 0;
+#X connect 25 0 40 0;
 #X connect 26 0 41 0;
-#X connect 27 0 42 0;
-#X connect 28 0 29 0;
-#X connect 28 1 12 0;
-#X connect 29 0 2 0;
-#X connect 30 0 4 1;
-#X connect 31 0 4 0;
-#X connect 32 0 56 0;
-#X connect 32 1 26 0;
-#X connect 32 2 57 0;
-#X connect 32 3 27 0;
-#X connect 32 4 34 0;
-#X connect 32 5 59 0;
-#X connect 33 0 41 0;
-#X connect 34 0 33 0;
+#X connect 27 0 28 0;
+#X connect 27 1 12 0;
+#X connect 28 0 2 0;
+#X connect 29 0 4 1;
+#X connect 30 0 4 0;
+#X connect 31 0 53 0;
+#X connect 31 1 25 0;
+#X connect 31 2 54 0;
+#X connect 31 3 26 0;
+#X connect 31 4 33 0;
+#X connect 31 5 56 0;
+#X connect 32 0 40 0;
+#X connect 33 0 32 0;
+#X connect 40 0 22 0;
+#X connect 40 1 7 0;
 #X connect 41 0 23 0;
-#X connect 41 1 7 0;
-#X connect 42 0 24 0;
-#X connect 42 1 17 0;
-#X connect 43 0 41 0;
-#X connect 44 0 43 0;
-#X connect 45 0 44 0;
-#X connect 46 0 45 1;
-#X connect 47 0 33 1;
+#X connect 41 1 16 0;
+#X connect 42 0 40 0;
+#X connect 43 0 73 0;
+#X connect 44 0 43 1;
+#X connect 45 0 32 1;
+#X connect 46 0 47 0;
+#X connect 47 0 48 0;
+#X connect 47 1 48 0;
 #X connect 48 0 49 0;
-#X connect 49 0 50 0;
-#X connect 49 1 50 0;
-#X connect 50 0 51 0;
-#X connect 52 0 55 0;
-#X connect 53 0 52 0;
-#X connect 54 0 53 1;
-#X connect 55 0 42 0;
-#X connect 56 0 45 0;
-#X connect 57 0 53 0;
-#X connect 58 0 42 0;
-#X connect 59 0 58 0;
-#X connect 60 0 58 1;
-#X connect 61 0 57 0;
-#X connect 62 0 56 0;
-#X connect 71 0 70 0;
+#X connect 50 0 74 0;
+#X connect 51 0 50 1;
+#X connect 52 0 41 0;
+#X connect 53 0 43 0;
+#X connect 54 0 50 0;
+#X connect 55 0 41 0;
+#X connect 56 0 55 0;
+#X connect 57 0 55 1;
+#X connect 58 0 54 0;
+#X connect 59 0 53 0;
+#X connect 68 0 67 0;
+#X connect 71 0 72 0;
+#X connect 72 0 17 0;
+#X connect 73 0 42 0;
+#X connect 74 0 52 0;
diff --git a/apmasterfile.pd b/apmasterfile.pd
index 5336306..605ef7c 100644
--- a/apmasterfile.pd
+++ b/apmasterfile.pd
@@ -1,4 +1,5 @@
-#N canvas 657 54 316 197 10;
+#N canvas 655 108 315 230 10;
+#X declare -lib libdir -lib ggee -stdpath ggee;
 #X obj 25 158 s \$1-apmaster-rcv;
 #X obj 25 79 getdir 1;
 #X obj 25 103 list append \$2;
@@ -11,6 +12,7 @@
 #X msg 157 132 savefile \$1/\$2;
 #X text 16 2 usage : apmasterfile Ref filename;
 #X text 16 24 File utility for apmaster.;
+#X obj 5 192 declare -lib libdir -lib ggee -stdpath ggee;
 #X connect 1 0 2 0;
 #X connect 2 0 3 0;
 #X connect 3 0 0 0;
diff --git a/apsarray-help.pd b/apsarray-help.pd
index d5060d2..aac1b41 100644
--- a/apsarray-help.pd
+++ b/apsarray-help.pd
@@ -1,4 +1,5 @@
 #N canvas 73 163 499 195 10;
+#X declare -lib libdir -lib ggee;
 #X text 120 35 -if pat_no_all==1 \, doesn't receive "_all_" pattern
 commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X text 79 78 Please signal array length change to \$3-len-snd.;
@@ -17,6 +18,7 @@ commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X obj 56 80 getdir;
 #X obj 29 59 t s b;
 #X msg 29 124 \; pd open \$1 \$2;
+#X obj 18 166 declare -lib libdir -lib ggee;
 #X connect 0 0 1 0;
 #X connect 1 0 4 0;
 #X connect 2 0 5 0;
diff --git a/apsarray.pd b/apsarray.pd
index 63edf77..ccda541 100644
--- a/apsarray.pd
+++ b/apsarray.pd
@@ -1,4 +1,6 @@
-#N canvas 73 163 880 632 10;
+#N canvas 69 83 902 629 10;
+#X declare -lib libdir -lib ggee -lib moonlib -stdpath moonlib -stdpath
+extra/moonlib;
 #X obj 290 106 r \$1-setap-snd;
 #X obj 34 106 r \$1-getap-snd;
 #X obj 13 104 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
@@ -6,99 +8,78 @@
 #X obj 64 483 s \$1-getap-rcv;
 #X obj 34 462 t b a;
 #X obj 34 504 s \$1-getap-next;
-#X obj 34 265 glue;
 #X obj 118 138 r \$3-len-snd;
 #X obj 34 148 symbol \$2;
 #X obj 34 168 pack s f;
-#X obj 345 260 unwonk f;
-#X obj 442 252 s \$3-len-rcv;
+#X obj 510 238 s \$3-len-rcv;
 #X obj 601 115 r \$1-pattern-snd;
 #X obj 613 209 route store load;
-#X obj 598 255 moses 16;
-#X obj 666 249 moses 16;
-#X obj 717 227 r \$0-nbpattern;
+#X obj 613 257 moses 16;
+#X obj 681 251 moses 16;
+#X obj 732 229 r \$0-nbpattern;
 #X obj 290 127 route \$2 _all_;
-#X obj 470 399 l;
-#X obj 440 359 sel 0;
-#X obj 470 379 b;
-#X obj 440 336 t f f;
-#X obj 505 414 s \$0-nbpattern;
-#X obj 404 228 t a f;
-#X obj 390 283 niagara;
-#X obj 440 312 unwonk f;
-#X obj 777 248 r \$3-len-snd;
-#X obj 750 269 *;
-#X obj 646 275 r \$3-len-snd;
-#X obj 598 297 *;
-#X obj 598 374 glue;
-#X obj 598 277 t f b;
+#X obj 454 388 sel 0;
+#X obj 481 451 b;
+#X obj 454 365 t f f;
+#X obj 525 444 s \$0-nbpattern;
+#X obj 392 258 t a f;
+#X obj 801 255 r \$3-len-snd;
+#X obj 765 287 *;
+#X obj 661 277 r \$3-len-snd;
+#X obj 613 299 *;
+#X obj 613 279 t f b;
 #X obj 147 219 r \$0-nbpattern;
-#X obj 34 437 glue;
-#X obj 65 413 glue;
-#X obj 81 330 r \$0-nbpattern;
+#X obj 80 329 r \$0-nbpattern;
 #X obj 96 351 f;
 #X obj 34 126 t b b;
 #X obj 65 307 t b b;
 #X obj 65 351 16;
 #X obj 601 141 route \$2 _all_;
-#X obj 57 244 sarray \$3;
-#X msg 57 223 dump _;
+#X obj 51 231 sarray \$3;
+#X msg 51 210 dump _;
 #X msg 136 282 setlen \$1;
 #X obj 136 302 sarray \$0-pattern;
 #X msg 96 371 dump _;
 #X obj 96 392 sarray \$0-pattern;
-#X obj 469 227 s \$3-len-snd;
-#X obj 470 532 sarray \$0-pattern;
-#X msg 411 488 print;
-#X obj 340 442 sarray \$3;
-#X obj 340 395 glue;
-#X msg 340 371 list set _ 0;
-#X obj 340 328 t b a;
-#X obj 370 349 a2l;
-#X obj 750 587 sarray \$3;
-#X obj 470 484 glue;
-#X msg 470 462 list set _ 0;
-#X obj 470 419 t b a;
-#X obj 500 440 a2l;
-#X obj 485 337 a2l;
-#X msg 628 302 dump _;
-#X msg 598 349 list set _ \$1;
-#X obj 750 353 until;
-#X obj 750 376 i;
-#X obj 783 376 + 1;
-#X msg 750 451 get \$1;
-#X obj 750 473 sarray \$0-pattern;
-#X obj 750 496 route bang;
-#X obj 750 398 t f f;
-#X obj 750 543 pack s f;
-#X msg 750 516 symbol _;
-#X obj 598 418 sarray \$0-pattern;
-#X obj 628 322 sarray \$3;
-#X obj 598 396 route list;
-#X msg 750 565 set _ \$2 \$1;
-#X obj 750 290 t b f;
-#X obj 750 332 f;
-#X msg 794 353 0;
-#X obj 750 421 +;
-#X obj 470 508 route list;
-#X obj 340 418 route list;
+#X obj 511 218 s \$3-len-snd;
+#X obj 481 584 sarray \$0-pattern;
+#X msg 548 562 print;
+#X obj 389 523 sarray \$3;
+#X msg 389 452 list set _ 0;
+#X obj 389 409 t b a;
+#X obj 765 581 sarray \$3;
+#X msg 481 514 list set _ 0;
+#X obj 481 491 t b a;
+#X msg 643 304 dump _;
+#X msg 613 351 list set _ \$1;
+#X obj 765 355 until;
+#X obj 765 378 i;
+#X obj 798 378 + 1;
+#X msg 765 445 get \$1;
+#X obj 765 467 sarray \$0-pattern;
+#X obj 765 490 route bang;
+#X obj 765 400 t f f;
+#X obj 765 537 pack s f;
+#X msg 765 510 symbol _;
+#X obj 613 420 sarray \$0-pattern;
+#X obj 643 324 sarray \$3;
+#X msg 765 559 set _ \$2 \$1;
+#X obj 765 308 t b f;
+#X obj 765 334 f;
+#X msg 809 355 0;
+#X obj 765 423 +;
 #X obj 290 206 route _nbpattern_ _loaded_;
-#X obj 598 229 i;
-#X obj 666 229 i;
-#X obj 600 44 init \$4;
-#X obj 600 64 sel 0;
+#X obj 613 231 i;
+#X obj 681 231 i;
+#X obj 573 64 sel 0;
 #X obj 600 86 s \$3-len-snd;
-#X obj 647 167 demux;
-#X obj 719 138 > 0;
-#X obj 748 140 sel 2;
-#X obj 748 178 s \$0-nbpattern;
-#X msg 748 159 0;
-#X obj 719 118 init \$5;
+#X obj 755 140 sel 2;
+#X obj 755 178 s \$0-nbpattern;
+#X msg 755 159 0;
 #X obj 135 260 * 16;
 #X obj 145 239 t b f;
-#X obj 520 349 init \$5;
-#X obj 505 392 *;
-#X obj 520 370 != 2;
+#X obj 525 422 *;
+#X obj 540 400 != 2;
 #X text 120 38 -if pat_no_all==1 \, doesn't receive "_all_" pattern
 commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X text 79 81 Please signal array length change to \$3-len-snd.;
@@ -108,17 +89,15 @@ commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X text 26 2 AutoPreset Sarray;
 #X text 141 2 (for [moonlib/sarray]);
 #X text 78 67 Sarray is not included.;
-#X obj 244 352 s \$0-nbpattern;
+#X obj 290 321 s \$0-nbpattern;
 #X obj 413 181 spigot 1;
-#X obj 477 157 != 1;
-#X obj 477 137 init \$5;
-#X obj 289 308 != 2;
-#X obj 244 330 spigot 1;
-#X obj 289 287 init \$5;
+#X obj 477 180 != 1;
+#X obj 335 277 != 2;
+#X obj 290 299 spigot 1;
 #X obj 330 149 route \$2;
 #X obj 711 32 cnv 15 130 60 empty empty help: 20 7 0 12 -204800 -66577
 0;
-#N canvas 634 338 164 175 open 0;
+#N canvas 632 399 164 175 open 0;
 #X obj 29 16 inlet;
 #X obj 29 38 symbol;
 #X obj 29 103 pack s s;
@@ -136,131 +115,160 @@ commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X obj 413 95 route _nbpattern_;
 #X obj 413 115 list prepend _nbpattern_;
 #X obj 413 134 list trim;
-#X connect 0 0 17 0;
-#X connect 1 0 37 0;
-#X connect 2 0 37 0;
+#X obj 573 24 loadbang;
+#X obj 573 44 f \$4;
+#X obj 719 98 loadbang;
+#X obj 719 118 f \$5;
+#X obj 719 138 == 0;
+#X obj 641 167 spigot 1;
+#X obj 540 358 loadbang;
+#X obj 540 379 f \$5;
+#X obj 335 236 loadbang;
+#X obj 335 256 f \$5;
+#X obj 477 140 loadbang;
+#X obj 477 160 f \$5;
+#X obj 34 265 list append;
+#X obj 65 413 list append;
+#X obj 34 437 list append;
+#X obj 392 290 list split 1;
+#X obj 426 316 list split;
+#X obj 454 341 list split 1;
+#X obj 481 536 list append;
+#X obj 481 560 list trim;
+#X obj 389 476 list append;
+#X obj 389 499 list trim;
+#X obj 613 376 list append;
+#X obj 613 398 list trim;
+#X obj 481 471 list prepend;
+#X obj 22 590 declare -lib libdir -lib ggee -lib moonlib -stdpath moonlib
+-stdpath extra/moonlib;
+#X connect 0 0 15 0;
+#X connect 1 0 29 0;
+#X connect 2 0 29 0;
 #X connect 4 0 5 0;
 #X connect 4 1 3 0;
-#X connect 6 0 33 0;
-#X connect 7 0 9 1;
-#X connect 7 0 94 0;
-#X connect 8 0 9 0;
-#X connect 9 0 6 0;
-#X connect 10 1 24 0;
-#X connect 12 0 40 0;
-#X connect 13 0 83 0;
-#X connect 13 1 84 0;
-#X connect 14 0 31 0;
-#X connect 15 0 27 0;
-#X connect 16 0 15 1;
-#X connect 16 0 14 1;
-#X connect 17 0 82 0;
-#X connect 17 1 113 0;
-#X connect 18 0 58 0;
-#X connect 19 1 20 0;
-#X connect 20 0 18 0;
-#X connect 21 0 19 0;
-#X connect 21 1 97 0;
-#X connect 23 0 10 0;
-#X connect 23 1 11 0;
-#X connect 23 1 24 1;
-#X connect 23 1 47 0;
-#X connect 24 0 53 0;
-#X connect 24 1 25 0;
-#X connect 25 0 21 0;
-#X connect 25 1 60 0;
-#X connect 26 0 77 1;
-#X connect 26 0 27 1;
-#X connect 27 0 76 0;
-#X connect 28 0 29 1;
-#X connect 29 0 62 0;
-#X connect 30 0 74 0;
-#X connect 31 0 29 0;
-#X connect 31 1 61 0;
-#X connect 32 0 95 0;
-#X connect 33 0 4 0;
-#X connect 34 0 33 1;
-#X connect 35 0 39 1;
-#X connect 36 0 45 0;
-#X connect 37 0 8 0;
-#X connect 37 1 38 0;
-#X connect 37 1 42 0;
-#X connect 38 0 39 0;
-#X connect 38 1 36 0;
-#X connect 39 0 34 0;
-#X connect 40 0 13 0;
-#X connect 40 1 88 0;
-#X connect 41 0 6 1;
-#X connect 42 0 41 0;
-#X connect 43 0 44 0;
-#X connect 45 0 46 0;
-#X connect 46 0 34 1;
-#X connect 49 0 48 0;
-#X connect 51 0 81 0;
-#X connect 52 0 51 0;
-#X connect 53 0 52 0;
-#X connect 53 1 54 0;
-#X connect 54 0 51 1;
-#X connect 56 0 80 0;
-#X connect 57 0 56 0;
+#X connect 6 0 8 1;
+#X connect 6 0 74 0;
+#X connect 7 0 8 0;
+#X connect 8 0 109 0;
+#X connect 10 0 32 0;
+#X connect 11 0 67 0;
+#X connect 11 1 68 0;
+#X connect 12 0 25 0;
+#X connect 13 0 22 0;
+#X connect 14 0 13 1;
+#X connect 14 0 12 1;
+#X connect 15 0 66 0;
+#X connect 15 1 90 0;
+#X connect 16 1 17 0;
+#X connect 17 0 121 0;
+#X connect 18 0 16 0;
+#X connect 18 1 76 0;
+#X connect 20 0 112 0;
+#X connect 20 1 9 0;
+#X connect 20 1 39 0;
+#X connect 20 1 113 1;
+#X connect 21 0 63 1;
+#X connect 21 0 22 1;
+#X connect 22 0 62 0;
+#X connect 23 0 24 1;
+#X connect 24 0 49 0;
+#X connect 25 0 24 0;
+#X connect 25 1 48 0;
+#X connect 26 0 75 0;
+#X connect 27 0 31 1;
+#X connect 28 0 37 0;
+#X connect 29 0 7 0;
+#X connect 29 1 30 0;
+#X connect 29 1 34 0;
+#X connect 30 0 31 0;
+#X connect 30 1 28 0;
+#X connect 31 0 110 0;
+#X connect 32 0 11 0;
+#X connect 32 1 102 0;
+#X connect 33 0 109 1;
+#X connect 34 0 33 0;
+#X connect 35 0 36 0;
+#X connect 37 0 38 0;
+#X connect 38 0 110 1;
+#X connect 41 0 40 0;
+#X connect 43 0 117 0;
+#X connect 44 0 43 0;
+#X connect 44 1 117 1;
+#X connect 46 0 115 0;
+#X connect 47 0 46 0;
+#X connect 47 1 115 1;
+#X connect 48 0 60 0;
+#X connect 49 0 119 0;
+#X connect 50 0 51 0;
+#X connect 51 0 52 0;
+#X connect 51 0 56 0;
+#X connect 52 0 51 1;
+#X connect 53 0 54 0;
+#X connect 54 0 55 0;
+#X connect 55 0 58 0;
+#X connect 55 1 57 0;
+#X connect 56 0 65 0;
+#X connect 56 1 57 1;
+#X connect 57 0 61 0;
 #X connect 58 0 57 0;
-#X connect 58 1 59 0;
-#X connect 59 0 56 1;
-#X connect 60 0 18 1;
-#X connect 61 0 73 0;
-#X connect 62 0 30 0;
-#X connect 63 0 64 0;
-#X connect 64 0 65 0;
-#X connect 64 0 69 0;
-#X connect 65 0 64 1;
-#X connect 66 0 67 0;
-#X connect 67 0 68 0;
-#X connect 68 0 71 0;
-#X connect 68 1 70 0;
-#X connect 69 0 79 0;
-#X connect 69 1 70 1;
-#X connect 70 0 75 0;
-#X connect 71 0 70 0;
-#X connect 73 0 30 1;
-#X connect 74 0 72 0;
-#X connect 75 0 55 0;
-#X connect 76 0 77 0;
-#X connect 76 1 79 1;
-#X connect 76 1 78 0;
-#X connect 77 0 63 0;
-#X connect 78 0 64 1;
-#X connect 79 0 66 0;
-#X connect 80 0 48 0;
-#X connect 81 0 50 0;
-#X connect 82 0 111 0;
-#X connect 82 2 23 0;
-#X connect 83 0 14 0;
-#X connect 84 0 15 0;
-#X connect 85 0 86 0;
-#X connect 86 1 87 0;
-#X connect 88 0 13 0;
-#X connect 89 0 88 1;
-#X connect 90 0 92 0;
-#X connect 92 0 91 0;
-#X connect 93 0 89 0;
-#X connect 93 0 90 0;
-#X connect 94 0 43 0;
-#X connect 94 0 36 1;
-#X connect 95 0 94 0;
-#X connect 95 1 94 1;
-#X connect 96 0 98 0;
-#X connect 97 0 22 0;
-#X connect 98 0 97 1;
-#X connect 107 0 82 0;
-#X connect 108 0 107 1;
-#X connect 109 0 108 0;
+#X connect 60 0 119 1;
+#X connect 61 0 45 0;
+#X connect 62 0 63 0;
+#X connect 62 1 65 1;
+#X connect 62 1 64 0;
+#X connect 63 0 50 0;
+#X connect 64 0 51 1;
+#X connect 65 0 53 0;
+#X connect 66 0 89 0;
+#X connect 66 2 20 0;
+#X connect 67 0 12 0;
+#X connect 68 0 13 0;
+#X connect 69 1 70 0;
+#X connect 71 0 73 0;
+#X connect 73 0 72 0;
+#X connect 74 0 35 0;
+#X connect 74 0 28 1;
+#X connect 75 0 74 0;
+#X connect 75 1 74 1;
+#X connect 76 0 19 0;
+#X connect 77 0 76 1;
+#X connect 86 0 66 0;
+#X connect 87 0 86 1;
+#X connect 88 0 89 1;
+#X connect 89 0 85 0;
+#X connect 90 0 66 0;
+#X connect 90 1 94 0;
+#X connect 93 0 92 0;
+#X connect 94 0 95 0;
+#X connect 94 1 66 0;
+#X connect 95 0 96 0;
+#X connect 96 0 86 0;
+#X connect 97 0 98 0;
+#X connect 98 0 69 0;
+#X connect 99 0 100 0;
+#X connect 100 0 71 0;
+#X connect 100 0 101 0;
+#X connect 101 0 102 1;
+#X connect 102 0 11 0;
+#X connect 103 0 104 0;
+#X connect 104 0 77 0;
+#X connect 105 0 106 0;
+#X connect 106 0 88 0;
+#X connect 107 0 108 0;
+#X connect 108 0 87 0;
+#X connect 109 0 111 0;
 #X connect 110 0 111 1;
-#X connect 111 0 106 0;
-#X connect 112 0 110 0;
-#X connect 113 0 82 0;
-#X connect 113 1 117 0;
-#X connect 116 0 115 0;
+#X connect 111 0 4 0;
+#X connect 112 1 113 0;
+#X connect 113 0 44 0;
+#X connect 113 1 114 0;
+#X connect 114 0 18 0;
+#X connect 114 1 121 1;
+#X connect 115 0 116 0;
+#X connect 116 0 40 0;
 #X connect 117 0 118 0;
-#X connect 117 1 82 0;
-#X connect 118 0 119 0;
-#X connect 119 0 107 0;
+#X connect 118 0 42 0;
+#X connect 119 0 120 0;
+#X connect 120 0 59 0;
+#X connect 121 0 47 0;
diff --git a/apsubmaster-help.pd b/apsubmaster-help.pd
index ba38719..9fd0070 100644
--- a/apsubmaster-help.pd
+++ b/apsubmaster-help.pd
@@ -1,4 +1,5 @@
 #N canvas 463 95 395 145 10;
+#X declare -lib libdir -lib ggee;
 #X text 18 25 usage:;
 #X text 59 25 apsubmaster childref parentref childname_in_parent;
 #X text 16 -1 AutoPreset SubMaster;
@@ -13,6 +14,7 @@
 #X obj 56 80 getdir;
 #X obj 29 59 t s b;
 #X msg 29 124 \; pd open \$1 \$2;
+#X obj 18 164 declare -lib libdir -lib ggee;
 #X connect 0 0 1 0;
 #X connect 1 0 4 0;
 #X connect 2 0 5 0;
diff --git a/apsubmaster.pd b/apsubmaster.pd
index fe24096..8bb2a0c 100644
--- a/apsubmaster.pd
+++ b/apsubmaster.pd
@@ -1,11 +1,11 @@
-#N canvas 479 195 727 640 10;
+#N canvas 611 200 754 661 10;
+#X declare -lib libdir -lib ggee -stdpath ggee;
 #X obj 44 114 s \$1-getap-snd;
 #X obj 44 189 r \$1-getap-rcv;
 #X obj 44 276 s \$2-getap-rcv;
 #X obj 44 90 r \$2-getap-snd;
 #X obj 267 90 r \$2-setap-snd;
 #X obj 312 247 s \$1-setap-snd;
-#X obj 44 253 glue;
 #X obj 44 231 symbol \$3;
 #X obj 44 210 t b a;
 #X obj 37 376 r \$2-pattern-snd;
@@ -14,13 +14,10 @@
 #X obj 37 397 route \$3;
 #X obj 234 159 r \$1-sndap;
 #X obj 234 314 s \$2-sndap;
-#X obj 234 272 glue;
 #X obj 234 250 symbol \$3;
 #X obj 234 206 t b a;
-#X obj 234 292 route list;
-#X obj 264 226 a2l;
 #X obj 234 183 spigot;
-#X text 266 270 upload continuous info to parent(on/off);
+#X text 317 272 upload continuous info to parent(on/off);
 #X text 27 21 usage:;
 #X text 32 62 transmit save command (getap);
 #X text 32 73 from parent to child:;
@@ -38,29 +35,25 @@
 #X text 31 360 childname or _all_ (let the _all_ in place);
 #X obj 332 163 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
 1;
-#X obj 327 494 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+#X obj 363 491 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
 1;
-#X text 234 514 _pat_lock_ locks storing of patterns;
-#X obj 295 492 != 1;
-#X obj 295 470 r \$1-_pat_lock_-snd;
-#X obj 516 238 t s b;
-#X msg 516 302 \; \$1 \$2;
-#X obj 515 219 symbol;
-#X obj 516 280 pack s s;
-#X obj 543 260 makesymbol \$1;
+#X text 246 513 _pat_lock_ locks storing of patterns;
+#X obj 331 489 != 1;
+#X obj 331 467 r \$1-_pat_lock_-snd;
+#X obj 606 225 symbol;
 #X msg 83 470 _all_ store \$1;
 #X obj 37 447 route load store;
 #X msg 37 502 _all_ load \$1;
 #X obj 37 420 route _all_;
-#X obj 180 515 spigot 1;
+#X obj 192 514 spigot 1;
 #X obj 354 162 s \$0-pat_all_follow;
-#X text 413 346 (or "_get_dol0_ <s>" for compatibility purpose...)
+#X text 401 326 (or "_get_dol0_ <s>" for compatibility purpose...)
 ;
-#X text 414 360 then return \$1 to <s>.;
+#X text 402 340 then return \$1 to <s>.;
 #X obj 181 124 inlet upload;
 #X obj 267 135 route _upload_ _pat_all_follow_ _get_ref_ _get_dol0_
 ;
-#X text 414 333 if parameter is "_get_ref_ <s>";
+#X text 402 313 if parameter is "_get_ref_ <s>";
 #X text 69 21 apsubmaster childref parentref childname_in_parent;
 #X text 26 3 AutoPreset SubMaster;
 #X text 27 4 AutoPreset SubMaster;
@@ -85,69 +78,73 @@
 #X obj 312 226 list trim;
 #X obj 312 206 list prepend _all_;
 #X obj 312 186 route _all_;
-#X obj 243 562 list trim;
-#X obj 243 541 list prepend _all_;
-#X obj 180 388 route _all_;
-#X obj 180 431 route store;
-#X obj 180 452 list prepend store;
-#X obj 180 410 spigot 1;
-#X obj 244 409 r \$0-pat_all_follow;
-#X obj 180 471 list prepend _all_;
-#X obj 180 492 list trim;
-#X connect 1 0 8 0;
+#X obj 255 561 list trim;
+#X obj 255 540 list prepend _all_;
+#X obj 192 387 route _all_;
+#X obj 192 430 route store;
+#X obj 192 451 list prepend store;
+#X obj 192 409 spigot 1;
+#X obj 256 408 r \$0-pat_all_follow;
+#X obj 192 470 list prepend _all_;
+#X obj 192 491 list trim;
+#X obj 264 226 list;
+#X obj 234 272 list append;
+#X obj 234 292 list trim;
+#X obj 44 253 list append;
+#X obj 606 247 list append \$1;
+#X msg 606 268 \; \$1 \$2;
+#X obj 253 609 declare -lib libdir -lib ggee -stdpath ggee;
+#X connect 1 0 7 0;
 #X connect 3 0 0 0;
-#X connect 4 0 11 0;
-#X connect 6 0 2 0;
+#X connect 4 0 10 0;
+#X connect 6 0 72 0;
 #X connect 7 0 6 0;
-#X connect 8 0 7 0;
-#X connect 8 1 6 1;
-#X connect 9 0 12 0;
-#X connect 11 0 56 0;
-#X connect 11 1 67 0;
-#X connect 12 0 50 0;
-#X connect 12 1 70 0;
-#X connect 13 0 20 0;
-#X connect 15 0 18 0;
+#X connect 7 1 72 1;
+#X connect 8 0 11 0;
+#X connect 10 0 48 0;
+#X connect 10 1 59 0;
+#X connect 11 0 42 0;
+#X connect 11 1 62 0;
+#X connect 12 0 16 0;
+#X connect 14 0 70 0;
+#X connect 15 0 14 0;
+#X connect 15 1 69 0;
 #X connect 16 0 15 0;
-#X connect 17 0 16 0;
-#X connect 17 1 19 0;
-#X connect 18 0 14 0;
-#X connect 19 0 15 1;
-#X connect 20 0 17 0;
-#X connect 40 0 51 1;
-#X connect 41 0 40 0;
-#X connect 41 0 38 0;
-#X connect 42 0 45 0;
-#X connect 42 1 46 0;
-#X connect 44 0 42 0;
-#X connect 45 0 43 0;
-#X connect 46 0 45 1;
-#X connect 47 0 51 0;
-#X connect 48 0 49 0;
-#X connect 48 1 47 0;
-#X connect 48 2 10 0;
-#X connect 49 0 10 0;
-#X connect 50 0 48 0;
-#X connect 50 1 48 0;
-#X connect 51 0 10 0;
-#X connect 55 0 20 1;
-#X connect 56 0 20 1;
-#X connect 56 1 37 0;
-#X connect 56 1 52 0;
-#X connect 56 2 44 0;
-#X connect 56 3 44 0;
-#X connect 56 4 5 0;
-#X connect 64 0 63 0;
-#X connect 65 0 5 0;
-#X connect 66 0 65 0;
-#X connect 67 0 66 0;
-#X connect 68 0 10 0;
-#X connect 69 0 68 0;
-#X connect 70 0 73 0;
-#X connect 71 0 72 0;
-#X connect 71 1 69 0;
-#X connect 72 0 75 0;
-#X connect 73 0 71 0;
-#X connect 74 0 73 1;
-#X connect 75 0 76 0;
-#X connect 76 0 51 0;
+#X connect 36 0 43 1;
+#X connect 37 0 36 0;
+#X connect 37 0 34 0;
+#X connect 38 0 73 0;
+#X connect 39 0 43 0;
+#X connect 40 0 41 0;
+#X connect 40 1 39 0;
+#X connect 40 2 9 0;
+#X connect 41 0 9 0;
+#X connect 42 0 40 0;
+#X connect 42 1 40 0;
+#X connect 43 0 9 0;
+#X connect 47 0 16 1;
+#X connect 48 0 16 1;
+#X connect 48 1 33 0;
+#X connect 48 1 44 0;
+#X connect 48 2 38 0;
+#X connect 48 3 38 0;
+#X connect 48 4 5 0;
+#X connect 56 0 55 0;
+#X connect 57 0 5 0;
+#X connect 58 0 57 0;
+#X connect 59 0 58 0;
+#X connect 60 0 9 0;
+#X connect 61 0 60 0;
+#X connect 62 0 65 0;
+#X connect 63 0 64 0;
+#X connect 63 1 61 0;
+#X connect 64 0 67 0;
+#X connect 65 0 63 0;
+#X connect 66 0 65 1;
+#X connect 67 0 68 0;
+#X connect 68 0 43 0;
+#X connect 69 0 70 1;
+#X connect 70 0 71 0;
+#X connect 71 0 13 0;
+#X connect 72 0 2 0;
+#X connect 73 0 74 0;
diff --git a/apsym-help.pd b/apsym-help.pd
index 5707059..8292f7d 100644
--- a/apsym-help.pd
+++ b/apsym-help.pd
@@ -1,4 +1,5 @@
 #N canvas 496 107 447 172 10;
+#X declare -lib libdir -lib ggee;
 #X text 69 25 -if pat_no_all==1 \, doesn't receive "_all_" pattern
 commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X text 22 -11 AutoPreset Symbol;
@@ -16,6 +17,7 @@ load the preset.;
 #X obj 56 80 getdir;
 #X obj 29 59 t s b;
 #X msg 29 124 \; pd open \$1 \$2;
+#X obj 18 166 declare -lib libdir -lib ggee;
 #X connect 0 0 1 0;
 #X connect 1 0 4 0;
 #X connect 2 0 5 0;
diff --git a/apsym.pd b/apsym.pd
index 766121a..dc9a694 100644
--- a/apsym.pd
+++ b/apsym.pd
@@ -1,4 +1,6 @@
-#N canvas 105 82 876 587 10;
+#N canvas 281 136 876 587 10;
+#X declare -lib libdir -lib ggee -lib moonlib -stdpath moonlib -stdpath
+extra/moonlib;
 #X obj 279 104 r \$1-setap-snd;
 #X obj 32 129 r \$1-getap-snd;
 #X obj 11 130 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
@@ -6,39 +8,34 @@
 #X obj 62 444 s \$1-getap-rcv;
 #X obj 32 423 t b a;
 #X obj 32 306 symbol \$2;
-#X obj 32 402 glue;
 #X obj 32 154 t b b;
 #X obj 603 132 r \$1-pattern-snd;
 #X obj 603 197 route store load;
-#X obj 456 304 sel 0;
+#X obj 466 302 sel 0;
 #X obj 603 244 moses 16;
 #X obj 665 243 moses 16;
 #X obj 279 124 route \$2 _all_;
-#X obj 456 281 t f f;
-#X obj 496 304 s \$0-nbpattern;
+#X obj 466 279 t f f;
+#X obj 506 302 s \$0-nbpattern;
 #X obj 139 289 r \$0-nbpattern;
 #X obj 716 219 r \$0-nbpattern;
 #X obj 603 155 route \$2 _all_;
 #X obj 480 30 inlet;
-#X obj 370 536 outlet;
+#X obj 370 548 outlet;
 #X obj 101 159 symbol;
 #X obj 32 330 pack s s 16;
 #X msg 139 315 setlen \$1;
 #X obj 139 334 sarray \$0-pattern 16;
 #X msg 55 361 dump _;
 #X obj 55 382 sarray \$0-pattern;
-#X obj 428 256 unwonk s f;
-#X obj 486 348 glue;
-#X obj 486 403 sarray \$0-pattern;
+#X obj 496 389 sarray \$0-pattern;
 #X obj 653 370 symbol;
 #X obj 608 393 pack f s;
 #X msg 608 414 set \$1 \$2;
 #X msg 665 270 get \$1;
 #X obj 665 290 sarray \$0-pattern;
 #X obj 608 437 sarray \$0-pattern;
-#X obj 547 224 a2l;
-#X msg 486 326 list set _ 0;
-#X obj 486 371 route list;
+#X msg 496 324 list set _ 0;
 #X msg 127 360 print;
 #X obj 665 310 route bang;
 #X obj 44 218 symbol;
@@ -46,19 +43,16 @@
 #X obj 95 199 loadbang;
 #X msg 95 218 symbol;
 #X msg 44 259 symbol _;
-#X obj 418 279 sel _;
+#X obj 428 279 sel _;
 #X obj 165 260 s \$1-sndap;
 #X obj 165 221 pack s s;
 #X obj 165 201 symbol \$2;
 #X obj 165 181 t b s;
 #X obj 603 224 i;
 #X obj 665 222 i;
-#X obj 648 174 demux;
-#X obj 749 134 init \$4;
-#X obj 749 154 > 0;
-#X obj 780 158 sel 2;
-#X obj 780 196 s \$0-nbpattern;
-#X msg 780 177 0;
+#X obj 740 155 sel 2;
+#X obj 740 193 s \$0-nbpattern;
+#X msg 740 174 0;
 #X obj 165 240 route list;
 #X text 69 46 -if pat_no_all==1 \, doesn't receive "_all_" pattern
 commands store/load. If pat_no_all==2 \, no pattern for this.;
@@ -67,9 +61,9 @@ commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X text 24 30 usage : apsym Ref Name [BusName [pat_no_all [dont-recall]]]
 ;
 #X obj 519 31 r \$3-snd;
-#X obj 416 538 s \$3-rcv;
+#X obj 416 550 s \$3-rcv;
 #X obj 504 56 t a;
-#X obj 393 506 t a;
+#X obj 393 518 t a;
 #X obj 279 203 route _nbpattern_ _loaded_ symbol list _get_val_;
 #X obj 230 388 t s b;
 #X msg 230 452 \; \$1 \$2;
@@ -78,19 +72,16 @@ commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X text 276 376 then return val to <s>.;
 #X obj 257 408 symbol;
 #X obj 230 430 pack s s;
-#X obj 445 472 spigot 1;
-#X obj 490 430 init \$5;
-#X obj 490 451 == 0;
+#X obj 456 485 spigot 1;
+#X obj 501 464 == 0;
 #X text 68 76 -if dont-recall=1 \, saved value is not sent when we
 load the preset.;
-#X obj 279 296 s \$0-nbpattern;
-#X obj 324 233 init \$4;
-#X obj 324 254 != 2;
-#X obj 279 276 spigot 1;
+#X obj 279 311 s \$0-nbpattern;
+#X obj 324 269 != 2;
+#X obj 279 291 spigot 1;
 #X obj 319 148 route \$2;
-#X obj 460 136 init \$4;
 #X obj 399 176 spigot 1;
-#X obj 460 156 != 1;
+#X obj 466 177 != 1;
 #X obj 628 45 cnv 15 130 60 empty empty help: 20 7 0 12 -204800 -66577
 0;
 #N canvas 634 338 164 175 open 0;
@@ -111,101 +102,124 @@ load the preset.;
 #X obj 399 92 route _nbpattern_;
 #X obj 399 114 list prepend _nbpattern_;
 #X obj 399 133 list trim;
-#X connect 0 0 13 0;
-#X connect 1 0 7 0;
-#X connect 2 0 7 0;
+#X obj 32 402 list append;
+#X obj 501 423 loadbang;
+#X obj 501 443 f \$5;
+#X obj 324 229 loadbang;
+#X obj 324 248 f \$4;
+#X obj 466 137 loadbang;
+#X obj 710 132 f \$4;
+#X obj 710 110 loadbang;
+#X obj 699 155 == 0;
+#X obj 643 176 spigot 1;
+#X obj 428 231 list split 2;
+#X obj 496 346 list append;
+#X obj 428 256 unpack s f;
+#X obj 564 228 list;
+#X obj 466 157 f \$4;
+#X obj 496 369 list trim;
+#X obj 22 500 declare -lib libdir -lib ggee -lib moonlib -stdpath moonlib
+-stdpath extra/moonlib;
+#X connect 0 0 12 0;
+#X connect 1 0 6 0;
+#X connect 2 0 6 0;
 #X connect 4 1 3 0;
-#X connect 5 0 22 0;
-#X connect 6 0 4 0;
-#X connect 7 0 5 0;
-#X connect 7 1 25 0;
-#X connect 7 1 41 0;
-#X connect 8 0 18 0;
-#X connect 9 0 51 0;
-#X connect 9 1 52 0;
-#X connect 10 1 37 0;
-#X connect 11 0 31 0;
-#X connect 12 0 33 0;
-#X connect 13 0 68 0;
-#X connect 13 1 84 0;
-#X connect 14 0 10 0;
-#X connect 14 1 15 0;
-#X connect 16 0 23 0;
-#X connect 16 0 22 2;
-#X connect 17 0 12 1;
-#X connect 17 0 11 1;
-#X connect 18 0 9 0;
-#X connect 18 1 53 0;
-#X connect 19 0 66 0;
-#X connect 21 0 41 1;
-#X connect 21 0 50 0;
-#X connect 21 0 74 1;
-#X connect 22 0 6 0;
-#X connect 23 0 24 0;
-#X connect 25 0 26 0;
-#X connect 26 0 6 1;
-#X connect 27 0 46 0;
-#X connect 27 1 14 0;
-#X connect 27 2 28 1;
-#X connect 28 0 38 0;
-#X connect 30 0 31 1;
-#X connect 31 0 32 0;
-#X connect 32 0 35 0;
-#X connect 33 0 34 0;
-#X connect 34 0 40 0;
-#X connect 36 0 27 0;
-#X connect 37 0 28 0;
-#X connect 38 0 29 0;
-#X connect 39 0 26 0;
-#X connect 40 1 67 0;
-#X connect 41 0 42 0;
-#X connect 42 0 45 0;
-#X connect 42 1 22 1;
-#X connect 43 0 44 0;
-#X connect 44 0 42 1;
-#X connect 45 0 22 1;
-#X connect 46 1 76 0;
-#X connect 48 0 59 0;
-#X connect 49 0 48 0;
+#X connect 5 0 21 0;
+#X connect 6 0 5 0;
+#X connect 6 1 24 0;
+#X connect 6 1 36 0;
+#X connect 7 0 17 0;
+#X connect 8 0 46 0;
+#X connect 8 1 47 0;
+#X connect 9 1 33 0;
+#X connect 10 0 28 0;
+#X connect 11 0 30 0;
+#X connect 12 0 60 0;
+#X connect 12 1 74 0;
+#X connect 13 0 9 0;
+#X connect 13 1 14 0;
+#X connect 15 0 22 0;
+#X connect 15 0 21 2;
+#X connect 16 0 11 1;
+#X connect 16 0 10 1;
+#X connect 17 0 8 0;
+#X connect 17 1 92 0;
+#X connect 18 0 58 0;
+#X connect 20 0 36 1;
+#X connect 20 0 45 0;
+#X connect 20 0 66 1;
+#X connect 21 0 83 0;
+#X connect 22 0 23 0;
+#X connect 24 0 25 0;
+#X connect 25 0 83 1;
+#X connect 27 0 28 1;
+#X connect 28 0 29 0;
+#X connect 29 0 32 0;
+#X connect 30 0 31 0;
+#X connect 31 0 35 0;
+#X connect 33 0 94 0;
+#X connect 34 0 25 0;
+#X connect 35 1 59 0;
+#X connect 36 0 37 0;
+#X connect 37 0 40 0;
+#X connect 37 1 21 1;
+#X connect 38 0 39 0;
+#X connect 39 0 37 1;
+#X connect 40 0 21 1;
+#X connect 41 1 68 0;
+#X connect 43 0 51 0;
+#X connect 44 0 43 0;
+#X connect 45 0 44 0;
+#X connect 45 1 43 1;
+#X connect 46 0 10 0;
+#X connect 47 0 11 0;
+#X connect 48 0 50 0;
 #X connect 50 0 49 0;
-#X connect 50 1 48 1;
-#X connect 51 0 11 0;
-#X connect 52 0 12 0;
-#X connect 53 0 9 0;
-#X connect 54 0 55 0;
-#X connect 54 0 56 0;
-#X connect 55 0 53 1;
+#X connect 51 0 42 0;
 #X connect 56 0 58 0;
-#X connect 58 0 57 0;
-#X connect 59 0 47 0;
-#X connect 64 0 66 0;
-#X connect 66 0 30 0;
-#X connect 66 0 21 0;
-#X connect 67 0 65 0;
-#X connect 67 0 20 0;
-#X connect 68 0 83 0;
-#X connect 68 2 67 0;
-#X connect 68 3 27 0;
-#X connect 68 4 71 0;
-#X connect 68 5 36 0;
-#X connect 69 0 75 0;
-#X connect 69 1 74 0;
-#X connect 71 0 69 0;
-#X connect 74 0 75 1;
-#X connect 75 0 70 0;
-#X connect 76 0 67 0;
-#X connect 77 0 78 0;
-#X connect 78 0 76 1;
+#X connect 58 0 27 0;
+#X connect 58 0 20 0;
+#X connect 59 0 57 0;
+#X connect 59 0 19 0;
+#X connect 60 0 73 0;
+#X connect 60 2 59 0;
+#X connect 60 3 93 0;
+#X connect 60 4 63 0;
+#X connect 60 5 96 0;
+#X connect 61 0 67 0;
+#X connect 61 1 66 0;
+#X connect 63 0 61 0;
+#X connect 66 0 67 1;
+#X connect 67 0 62 0;
+#X connect 68 0 59 0;
+#X connect 69 0 68 1;
+#X connect 72 0 73 1;
+#X connect 73 0 71 0;
+#X connect 74 0 60 0;
+#X connect 74 1 80 0;
+#X connect 75 0 60 0;
+#X connect 76 0 75 1;
+#X connect 79 0 78 0;
+#X connect 80 0 81 0;
+#X connect 80 1 60 0;
 #X connect 81 0 82 0;
-#X connect 82 0 83 1;
-#X connect 83 0 80 0;
-#X connect 84 0 68 0;
-#X connect 84 1 91 0;
-#X connect 85 0 87 0;
-#X connect 86 0 68 0;
-#X connect 87 0 86 1;
+#X connect 82 0 75 0;
+#X connect 83 0 4 0;
+#X connect 84 0 85 0;
+#X connect 85 0 69 0;
+#X connect 86 0 87 0;
+#X connect 87 0 72 0;
+#X connect 88 0 97 0;
+#X connect 89 0 48 0;
+#X connect 89 0 91 0;
 #X connect 90 0 89 0;
-#X connect 91 0 92 0;
-#X connect 91 1 68 0;
-#X connect 92 0 93 0;
-#X connect 93 0 86 0;
+#X connect 91 0 92 1;
+#X connect 92 0 8 0;
+#X connect 93 0 95 0;
+#X connect 93 1 94 1;
+#X connect 94 0 98 0;
+#X connect 95 0 41 0;
+#X connect 95 1 13 0;
+#X connect 96 0 93 0;
+#X connect 97 0 76 0;
+#X connect 98 0 26 0;
diff --git a/aptab-help.pd b/aptab-help.pd
index 867d780..b5976d8 100644
--- a/aptab-help.pd
+++ b/aptab-help.pd
@@ -1,4 +1,5 @@
 #N canvas 261 249 519 176 10;
+#X declare -lib libdir -lib ggee;
 #X text 66 70 Table is not included \;;
 #X text 120 29 -if pat_no_all==1 \, doesn't receive "_all_" pattern
 commands store/load. If pat_no_all==2 \, no pattern for this.;
@@ -16,6 +17,7 @@ commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X obj 56 80 getdir;
 #X obj 29 59 t s b;
 #X msg 29 124 \; pd open \$1 \$2;
+#X obj 18 164 declare -lib libdir -lib ggee;
 #X connect 0 0 1 0;
 #X connect 1 0 4 0;
 #X connect 2 0 5 0;
diff --git a/aptab.pd b/aptab.pd
index 63be1ba..f46e1f6 100644
--- a/aptab.pd
+++ b/aptab.pd
@@ -1,24 +1,20 @@
-#N canvas 263 244 878 519 10;
+#N canvas 32 117 984 535 10;
+#X declare -lib libdir -lib ggee;
 #X obj 286 97 r \$1-setap-snd;
 #X obj 27 73 r \$1-getap-snd;
 #X obj 6 71 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1
 ;
-#X obj 58 463 s \$1-getap-rcv;
-#X obj 28 442 t b a;
-#X obj 28 484 s \$1-getap-next;
-#X obj 27 232 glue;
+#X obj 54 466 s \$1-getap-rcv;
+#X obj 27 445 t b a;
+#X obj 27 487 s \$1-getap-next;
 #X obj 102 100 r \$3-len-snd;
 #X obj 27 115 symbol \$2;
 #X obj 27 135 pack s f;
-#X obj 341 268 unwonk f;
-#X msg 507 287 resize \$1;
-#X obj 507 306 s \$3;
-#X obj 386 383 tabset \$3;
-#X obj 50 211 tabdump2 \$3;
-#X obj 50 170 f;
-#X msg 50 190 dump 0 \$1;
-#X obj 438 260 s \$3-len-rcv;
-#X obj 594 110 r \$1-pattern-snd;
+#X msg 510 275 resize \$1;
+#X obj 510 294 s \$3;
+#X obj 48 164 f;
+#X obj 479 253 s \$3-len-rcv;
+#X obj 582 110 r \$1-pattern-snd;
 #X obj 582 191 route store load;
 #X obj 580 33 table \$0-pattern 16;
 #X obj 582 387 s \$0-pattern;
@@ -26,61 +22,39 @@
 #X obj 650 247 moses 16;
 #X obj 701 209 r \$0-nbpattern;
 #X obj 286 118 route \$2 _all_;
-#X obj 460 400 l;
-#X obj 460 420 tabset \$0-pattern;
-#X obj 430 360 sel 0;
-#X obj 460 380 b;
-#X obj 430 337 t f f;
+#X obj 414 357 sel 0;
+#X obj 441 381 b;
+#X obj 414 334 t f f;
 #X obj 488 400 s \$0-nbpattern;
 #X obj 400 236 t a f;
-#X obj 386 291 niagara;
-#X obj 430 316 unwonk f;
 #X obj 749 248 r \$3-len-snd;
 #X obj 733 272 *;
-#X obj 784 309 +;
-#X obj 733 292 t f f;
-#X obj 733 373 tabdump2 \$0-pattern;
-#X obj 733 330 pack f f;
-#X obj 733 393 tabset \$3;
-#X msg 733 354 dump \$1 \$2;
-#X obj 612 336 tabdump2 \$3;
 #X obj 628 271 r \$3-len-snd;
 #X obj 582 295 *;
-#X msg 612 315 dump 0 \$1;
-#X obj 612 295 f;
-#X obj 582 366 glue;
+#X obj 609 295 f;
 #X obj 582 270 t f b;
-#X msg 157 234 resize \$1;
-#X obj 157 253 s \$0-pattern;
-#X obj 163 171 r \$0-nbpattern;
-#X obj 28 422 glue;
-#X obj 59 404 glue;
-#X obj 74 297 r \$0-nbpattern;
-#X msg 90 360 dump 0 \$1;
-#X obj 89 318 f;
-#X obj 90 383 tabdump2 \$0-pattern;
+#X msg 181 233 resize \$1;
+#X obj 181 252 s \$0-pattern;
+#X obj 187 170 r \$0-nbpattern;
+#X obj 69 282 r \$0-nbpattern;
+#X obj 81 304 f;
 #X obj 27 93 t b b;
-#X obj 58 274 t b b;
-#X obj 58 318 16;
-#X obj 594 134 route \$2 _all_;
+#X obj 54 260 t b b;
+#X obj 54 304 16;
+#X obj 582 134 route \$2 _all_;
 #X obj 286 214 route _nbpattern_ _loaded_;
-#X obj 524 33 init \$4;
 #X obj 524 53 sel 0;
 #X obj 551 74 s \$3-len-snd;
 #X obj 582 228 i;
 #X obj 650 226 i;
 #X text 165 57 Table is not included \;;
-#X obj 640 157 demux;
-#X obj 716 138 > 0;
 #X obj 760 141 sel 2;
 #X obj 760 179 s \$0-nbpattern;
 #X msg 760 160 0;
-#X obj 716 118 init \$5;
-#X obj 163 191 t b f;
-#X obj 157 212 * 16;
-#X obj 89 338 route 0;
-#X obj 286 371 s \$0-nbpattern;
-#X obj 503 334 init \$5;
+#X obj 187 190 t b f;
+#X obj 181 211 * 16;
+#X obj 81 324 route 0;
+#X obj 286 380 s \$0-nbpattern;
 #X obj 488 377 *;
 #X obj 503 355 != 2;
 #X text 120 29 -if pat_no_all==1 \, doesn't receive "_all_" pattern
@@ -93,14 +67,12 @@ commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X obj 479 234 s \$3-len-snd;
 #X obj 326 141 route \$2;
 #X obj 400 179 spigot 1;
-#X obj 462 176 != 1;
-#X obj 462 156 init \$5;
-#X obj 331 327 != 2;
-#X obj 286 349 spigot 1;
-#X obj 331 306 init \$5;
+#X obj 463 195 != 1;
+#X obj 331 337 != 2;
+#X obj 286 358 spigot 1;
 #X obj 710 32 cnv 15 130 60 empty empty help: 20 7 0 12 -204800 -66577
 0;
-#N canvas 634 338 164 175 open 0;
+#N canvas 632 399 164 175 open 0;
 #X obj 29 16 inlet;
 #X obj 29 38 symbol;
 #X obj 29 103 pack s s;
@@ -118,108 +90,141 @@ commands store/load. If pat_no_all==2 \, no pattern for this.;
 #X obj 400 156 list trim;
 #X obj 400 112 route _nbpattern_;
 #X obj 400 134 list prepend _nbpattern_;
-#X connect 0 0 25 0;
-#X connect 1 0 59 0;
-#X connect 2 0 59 0;
+#X obj 524 10 loadbang;
+#X obj 524 33 f \$4;
+#X obj 716 97 loadbang;
+#X obj 716 118 f \$5;
+#X obj 716 138 == 0;
+#X obj 622 158 spigot 1;
+#X obj 463 155 loadbang;
+#X obj 463 175 f \$5;
+#X obj 503 314 loadbang;
+#X obj 503 334 f \$5;
+#X obj 331 297 loadbang;
+#X obj 331 316 f \$5;
+#X msg 48 184 0 \$1;
+#X obj 27 232 list append;
+#X obj 54 390 list append;
+#X obj 27 425 list append;
+#X obj 120 366 array get \$0-pattern;
+#X msg 120 345 0 \$1;
+#X obj 352 267 list split 1;
+#X obj 386 291 list split;
+#X obj 414 313 list split 1;
+#X obj 441 401 list;
+#X obj 582 366 list append;
+#X obj 48 205 array get \$3;
+#X msg 609 315 0 \$1;
+#X obj 609 336 array get \$3;
+#X obj 733 328 array get \$0-pattern;
+#X obj 733 305 pack f f;
+#X obj 733 351 array set \$3;
+#X obj 386 448 array set \$3;
+#X obj 441 421 array set \$0-pattern;
+#X obj 392 495 declare -lib libdir -lib ggee;
+#X connect 0 0 20 0;
+#X connect 1 0 37 0;
+#X connect 2 0 37 0;
 #X connect 4 0 5 0;
 #X connect 4 1 3 0;
-#X connect 6 0 53 0;
-#X connect 7 0 9 1;
-#X connect 7 0 15 1;
-#X connect 7 0 77 0;
-#X connect 8 0 9 0;
-#X connect 9 0 6 0;
-#X connect 10 1 33 0;
-#X connect 11 0 12 0;
-#X connect 14 0 6 1;
-#X connect 15 0 16 0;
-#X connect 16 0 14 0;
-#X connect 18 0 62 0;
-#X connect 19 0 67 0;
-#X connect 19 1 68 0;
-#X connect 22 0 49 0;
-#X connect 23 0 36 0;
-#X connect 24 0 23 1;
-#X connect 24 0 22 1;
-#X connect 25 0 63 0;
-#X connect 25 1 89 0;
-#X connect 26 0 27 0;
-#X connect 28 1 29 0;
-#X connect 29 0 26 0;
-#X connect 30 0 28 0;
-#X connect 30 1 81 0;
-#X connect 32 0 10 0;
-#X connect 32 1 17 0;
-#X connect 32 1 33 1;
-#X connect 32 1 88 0;
-#X connect 33 0 13 0;
-#X connect 33 1 34 0;
-#X connect 34 0 30 0;
-#X connect 34 1 26 1;
-#X connect 35 0 36 1;
-#X connect 35 0 37 1;
-#X connect 36 0 38 0;
-#X connect 37 0 40 1;
-#X connect 38 0 40 0;
-#X connect 38 1 37 0;
-#X connect 39 0 41 0;
-#X connect 40 0 42 0;
-#X connect 42 0 39 0;
-#X connect 43 0 48 1;
-#X connect 44 0 45 1;
-#X connect 44 0 47 1;
-#X connect 45 0 48 0;
-#X connect 46 0 43 0;
-#X connect 47 0 46 0;
-#X connect 48 0 21 0;
-#X connect 49 0 45 0;
-#X connect 49 1 47 0;
+#X connect 6 0 8 1;
+#X connect 6 0 11 1;
+#X connect 6 0 51 0;
+#X connect 7 0 8 0;
+#X connect 8 0 86 0;
+#X connect 9 0 10 0;
+#X connect 11 0 85 0;
+#X connect 13 0 40 0;
+#X connect 14 0 44 0;
+#X connect 14 1 45 0;
+#X connect 17 0 31 0;
+#X connect 18 0 27 0;
+#X connect 19 0 18 1;
+#X connect 19 0 17 1;
+#X connect 20 0 41 0;
+#X connect 20 1 62 0;
+#X connect 21 1 22 0;
+#X connect 22 0 94 0;
+#X connect 23 0 21 0;
+#X connect 23 1 54 0;
+#X connect 25 0 91 0;
+#X connect 25 1 12 0;
+#X connect 25 1 61 0;
+#X connect 25 1 92 1;
+#X connect 26 0 27 1;
+#X connect 26 0 100 1;
+#X connect 27 0 100 0;
+#X connect 28 0 29 1;
+#X connect 28 0 30 1;
+#X connect 29 0 95 0;
+#X connect 30 0 97 0;
+#X connect 31 0 29 0;
+#X connect 31 1 30 0;
+#X connect 32 0 33 0;
+#X connect 34 0 50 0;
+#X connect 35 0 39 1;
+#X connect 36 0 52 0;
+#X connect 37 0 7 0;
+#X connect 37 1 11 0;
+#X connect 37 1 38 0;
+#X connect 38 0 39 0;
+#X connect 38 1 36 0;
+#X connect 39 0 87 0;
+#X connect 40 0 14 0;
+#X connect 40 1 78 0;
+#X connect 41 0 66 0;
+#X connect 41 2 25 0;
+#X connect 42 1 43 0;
+#X connect 44 0 17 0;
+#X connect 45 0 18 0;
+#X connect 47 0 49 0;
+#X connect 49 0 48 0;
 #X connect 50 0 51 0;
-#X connect 52 0 76 0;
-#X connect 53 0 4 0;
-#X connect 54 0 53 1;
-#X connect 55 0 61 1;
-#X connect 56 0 58 0;
-#X connect 57 0 78 0;
-#X connect 58 0 54 1;
-#X connect 59 0 8 0;
-#X connect 59 1 15 0;
-#X connect 59 1 60 0;
-#X connect 60 0 61 0;
-#X connect 60 1 57 0;
-#X connect 61 0 54 0;
-#X connect 62 0 19 0;
-#X connect 62 1 70 0;
-#X connect 63 0 94 0;
-#X connect 63 2 32 0;
-#X connect 64 0 65 0;
-#X connect 65 1 66 0;
-#X connect 67 0 22 0;
-#X connect 68 0 23 0;
-#X connect 70 0 19 0;
-#X connect 71 0 70 1;
-#X connect 72 0 74 0;
-#X connect 74 0 73 0;
-#X connect 75 0 71 0;
-#X connect 75 0 72 0;
+#X connect 50 1 51 1;
+#X connect 51 0 32 0;
+#X connect 51 0 36 1;
+#X connect 52 1 90 0;
+#X connect 54 0 24 0;
+#X connect 55 0 54 1;
+#X connect 62 0 41 0;
+#X connect 62 1 71 0;
+#X connect 63 0 41 0;
+#X connect 64 0 63 1;
+#X connect 65 0 66 1;
+#X connect 66 0 53 0;
+#X connect 69 0 68 0;
+#X connect 70 0 63 0;
+#X connect 71 0 72 0;
+#X connect 71 1 41 0;
+#X connect 72 0 70 0;
+#X connect 73 0 74 0;
+#X connect 74 0 42 0;
+#X connect 75 0 76 0;
+#X connect 76 0 47 0;
 #X connect 76 0 77 0;
-#X connect 76 1 77 1;
-#X connect 77 0 50 0;
-#X connect 77 0 57 1;
-#X connect 78 1 56 0;
-#X connect 80 0 82 0;
-#X connect 81 0 31 0;
-#X connect 82 0 81 1;
-#X connect 89 0 63 0;
-#X connect 89 1 100 0;
-#X connect 90 0 63 0;
-#X connect 91 0 90 1;
-#X connect 92 0 91 0;
-#X connect 93 0 94 1;
-#X connect 94 0 79 0;
-#X connect 95 0 93 0;
-#X connect 98 0 97 0;
-#X connect 99 0 90 0;
-#X connect 100 0 101 0;
-#X connect 100 1 63 0;
-#X connect 101 0 99 0;
+#X connect 77 0 78 1;
+#X connect 78 0 14 0;
+#X connect 79 0 80 0;
+#X connect 80 0 64 0;
+#X connect 81 0 82 0;
+#X connect 82 0 55 0;
+#X connect 83 0 84 0;
+#X connect 84 0 65 0;
+#X connect 85 0 96 0;
+#X connect 86 0 88 0;
+#X connect 87 0 88 1;
+#X connect 88 0 4 0;
+#X connect 89 0 87 1;
+#X connect 90 0 89 0;
+#X connect 91 1 92 0;
+#X connect 92 0 102 0;
+#X connect 92 1 93 0;
+#X connect 93 0 23 0;
+#X connect 93 1 94 1;
+#X connect 94 0 103 0;
+#X connect 95 0 16 0;
+#X connect 96 0 86 1;
+#X connect 97 0 98 0;
+#X connect 98 0 95 1;
+#X connect 99 0 101 0;
+#X connect 100 0 99 0;
diff --git a/presetfadecos.pd b/presetfadecos.pd
index 8041925..e185ec0 100644
--- a/presetfadecos.pd
+++ b/presetfadecos.pd
@@ -1,17 +1,17 @@
 #N canvas 560 124 403 375 10;
+#X declare -lib libdir -lib iemlib -lib iemlib/iemlib2;
 #X text 30 9 presetfade p1 p2 p3... : fade [0:1] to [p1:p2] \, [p2
 p3]...;
 #X obj 34 41 inlet fade [0:1];
-#X obj 115 90 dollarg;
-#X obj 176 71 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+#X obj 115 85 dollarg;
+#X obj 176 66 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
 -1;
-#X obj 49 116 length;
-#X floatatom 251 91 5 0 0 0 - - -;
+#X obj 49 110 list length;
 #X obj 34 158 *;
 #X obj 34 185 t f f;
 #X obj 61 213 i;
 #X obj 34 216 -;
-#X obj 115 68 loadbang;
+#X obj 115 63 loadbang;
 #X obj 144 265 + 1;
 #X msg 61 312 A \$1;
 #X msg 144 310 B \$1;
@@ -19,8 +19,8 @@ p3]...;
 #X msg 34 263 pos \$1;
 #X obj 61 238 change -1;
 #X obj 200 170 table \$0-t;
-#X obj 143 124 list prepend 0;
-#X obj 143 146 s \$0-t;
+#X obj 153 124 list prepend 0;
+#X obj 153 146 s \$0-t;
 #X obj 61 289 tabread \$0-t;
 #X obj 144 289 tabread \$0-t;
 #X obj 49 137 - 1;
@@ -28,40 +28,39 @@ p3]...;
 #X obj 200 205 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
 -1 -1 0 1;
 #X obj 228 256 cos;
-#X floatatom 293 339 5 0 0 0 - - -;
 #X obj 228 279 * -0.5;
-#X floatatom 299 337 5 0 0 0 - - -;
 #X obj 228 301 + 0.5;
 #X obj 101 129 b;
 #X obj 101 149 del 100;
 #X msg 102 170 set -1;
-#X connect 1 0 6 0;
-#X connect 1 0 30 0;
+#X obj 45 384 declare -lib libdir -lib iemlib -lib iemlib/iemlib2;
+#X connect 1 0 5 0;
+#X connect 1 0 27 0;
 #X connect 2 0 4 0;
-#X connect 2 0 18 0;
+#X connect 2 0 17 0;
 #X connect 3 0 2 0;
-#X connect 4 0 22 0;
-#X connect 6 0 7 0;
-#X connect 7 0 9 0;
-#X connect 7 1 8 0;
-#X connect 8 0 9 1;
-#X connect 8 0 16 0;
-#X connect 9 0 23 0;
-#X connect 10 0 2 0;
-#X connect 11 0 21 0;
-#X connect 12 0 14 0;
-#X connect 13 0 14 0;
-#X connect 15 0 14 0;
-#X connect 16 0 20 0;
-#X connect 16 0 11 0;
-#X connect 18 0 19 0;
+#X connect 4 0 21 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 6 1 7 0;
+#X connect 7 0 8 1;
+#X connect 7 0 15 0;
+#X connect 8 0 22 0;
+#X connect 9 0 2 0;
+#X connect 10 0 20 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 0;
+#X connect 14 0 13 0;
+#X connect 15 0 19 0;
+#X connect 15 0 10 0;
+#X connect 17 0 18 0;
+#X connect 19 0 11 0;
 #X connect 20 0 12 0;
-#X connect 21 0 13 0;
-#X connect 22 0 6 1;
-#X connect 23 0 25 0;
-#X connect 25 0 27 0;
-#X connect 27 0 29 0;
+#X connect 21 0 5 1;
+#X connect 22 0 24 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 26 0 14 0;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
 #X connect 29 0 15 0;
-#X connect 30 0 31 0;
-#X connect 31 0 32 0;
-#X connect 32 0 16 0;
diff --git a/presetfadelin.pd b/presetfadelin.pd
index e2b82d8..d4de441 100644
--- a/presetfadelin.pd
+++ b/presetfadelin.pd
@@ -1,20 +1,21 @@
-#N canvas 783 98 403 375 10;
+#N canvas 779 106 494 420 10;
+#X declare -lib libdir -lib iemlib -lib iemlib/iemlib2 -stdpath iemlib
+;
 #X text 30 9 presetfade p1 p2 p3... : fade [0:1] to [p1:p2] \, [p2
 p3]...;
 #X obj 34 41 inlet fade [0:1];
 #X obj 115 90 dollarg;
 #X obj 176 71 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
 -1;
-#X obj 49 116 length;
-#X floatatom 214 96 5 0 0 0 - - -;
+#X obj 49 116 list length;
 #X obj 34 158 *;
 #X obj 34 185 t f f;
 #X obj 61 213 i;
 #X obj 34 216 -;
 #X obj 115 68 loadbang;
-#X obj 144 265 + 1;
+#X obj 154 265 + 1;
 #X msg 61 312 A \$1;
-#X msg 144 310 B \$1;
+#X msg 154 310 B \$1;
 #X obj 34 342 outlet;
 #X msg 34 263 pos \$1;
 #X obj 61 238 change -1;
@@ -22,46 +23,36 @@ p3]...;
 #X obj 143 124 list prepend 0;
 #X obj 143 146 s \$0-t;
 #X obj 61 289 tabread \$0-t;
-#X obj 144 289 tabread \$0-t;
+#X obj 154 289 tabread \$0-t;
 #X obj 49 137 - 1;
-#X obj 228 233 * 3.14159;
-#X obj 200 205 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 0 1;
-#X obj 228 256 cos;
-#X floatatom 293 339 5 0 0 0 - - -;
-#X obj 228 279 * -0.5;
-#X floatatom 299 337 5 0 0 0 - - -;
-#X obj 228 301 + 0.5;
 #X obj 100 155 b;
 #X obj 100 175 del 100;
-#X msg 101 196 set -1;
-#X connect 1 0 6 0;
-#X connect 1 0 30 0;
+#X msg 100 196 set -1;
+#X obj 21 375 declare -lib libdir -lib iemlib -lib iemlib/iemlib2 -stdpath
+iemlib;
+#X connect 1 0 5 0;
+#X connect 1 0 22 0;
 #X connect 2 0 4 0;
-#X connect 2 0 18 0;
+#X connect 2 0 17 0;
 #X connect 3 0 2 0;
-#X connect 4 0 22 0;
-#X connect 6 0 7 0;
-#X connect 7 0 9 0;
-#X connect 7 1 8 0;
-#X connect 8 0 9 1;
-#X connect 8 0 16 0;
-#X connect 9 0 15 0;
-#X connect 10 0 2 0;
-#X connect 11 0 21 0;
-#X connect 12 0 14 0;
-#X connect 13 0 14 0;
-#X connect 15 0 14 0;
-#X connect 16 0 20 0;
-#X connect 16 0 11 0;
-#X connect 18 0 19 0;
+#X connect 4 0 21 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 6 1 7 0;
+#X connect 7 0 8 1;
+#X connect 7 0 15 0;
+#X connect 8 0 14 0;
+#X connect 9 0 2 0;
+#X connect 10 0 20 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 0;
+#X connect 14 0 13 0;
+#X connect 15 0 19 0;
+#X connect 15 0 10 0;
+#X connect 17 0 18 0;
+#X connect 19 0 11 0;
 #X connect 20 0 12 0;
-#X connect 21 0 13 0;
-#X connect 22 0 6 1;
-#X connect 23 0 25 0;
-#X connect 25 0 27 0;
-#X connect 27 0 29 0;
-#X connect 29 0 15 0;
-#X connect 30 0 31 0;
-#X connect 31 0 32 0;
-#X connect 32 0 16 0;
+#X connect 21 0 5 1;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 24 0 15 0;
diff --git a/splitpath.pd b/splitpath.pd
new file mode 100644
index 0000000..ff0122d
--- /dev/null
+++ b/splitpath.pd
@@ -0,0 +1,91 @@
+#N canvas 900 145 450 362 10;
+#X obj 129 30 inlet;
+#X obj 129 292 outlet;
+#X obj 129 59 list fromsymbol;
+#N canvas 217 164 423 411 find_last_/ 0;
+#X obj 75 47 inlet;
+#X obj 101 121 list split 1;
+#X msg 216 123 0;
+#X obj 155 267 i;
+#X obj 128 288 sel 47;
+#X obj 128 239 t f b;
+#X obj 128 313 f;
+#X obj 101 90 t a a;
+#X obj 128 156 list;
+#X obj 101 215 t b f;
+#X obj 182 267 + 1;
+#X obj 75 69 t b a;
+#X obj 75 342 f;
+#X obj 75 364 outlet;
+#X connect 0 0 11 0;
+#X connect 1 0 9 0;
+#X connect 1 1 8 1;
+#X connect 2 0 3 0;
+#X connect 2 0 12 1;
+#X connect 3 0 6 1;
+#X connect 3 0 10 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 5 1 3 0;
+#X connect 6 0 12 1;
+#X connect 7 0 1 0;
+#X connect 7 1 2 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 9 1 5 0;
+#X connect 10 0 3 1;
+#X connect 11 0 12 0;
+#X connect 11 1 7 0;
+#X connect 12 0 13 0;
+#X restore 156 105 pd find_last_/;
+#X obj 129 143 list split;
+#X obj 129 81 t a a;
+#X obj 129 266 list tosymbol;
+#X obj 157 193 outlet;
+#X obj 157 167 list tosymbol;
+#X floatatom 224 142 5 0 0 0 - - -, f 5;
+#N canvas 1 82 501 486 striplast/ 1;
+#X obj 176 165 inlet;
+#X obj 231 402 outlet;
+#X obj 176 256 list split 1;
+#X obj 176 206 t a a;
+#X obj 245 211 list length;
+#X obj 245 233 - 1;
+#X obj 176 383 spigot;
+#X obj 214 313 == 47;
+#X obj 231 358 spigot;
+#X obj 264 336 != 47;
+#X obj 231 380 list append;
+#X obj 113 264 t a;
+#X obj 176 327 t a a;
+#X obj 214 283 t f f;
+#X connect 0 0 3 0;
+#X connect 2 0 12 0;
+#X connect 2 1 13 0;
+#X connect 3 0 2 0;
+#X connect 3 1 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 1;
+#X connect 6 0 11 0;
+#X connect 7 0 6 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 10 0 1 0;
+#X connect 11 0 3 0;
+#X connect 12 0 6 0;
+#X connect 12 1 8 0;
+#X connect 13 0 7 0;
+#X connect 13 0 9 0;
+#X connect 13 1 10 1;
+#X restore 148 238 pd striplast/;
+#X connect 0 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 1;
+#X connect 3 0 9 0;
+#X connect 4 0 10 0;
+#X connect 4 1 8 0;
+#X connect 5 0 4 0;
+#X connect 5 1 3 0;
+#X connect 6 0 1 0;
+#X connect 8 0 7 0;
+#X connect 10 0 6 0;

-- 
pd-autopreset packaging



More information about the pkg-multimedia-commits mailing list