aboutsummaryrefslogtreecommitdiff
path: root/memento
diff options
context:
space:
mode:
Diffstat (limited to 'memento')
-rw-r--r--memento/OSCprepend.pd46
-rw-r--r--memento/README.txt10
-rw-r--r--memento/careGUI.pd24
-rw-r--r--memento/careOSC.pd122
-rw-r--r--memento/caretaker.pd44
-rw-r--r--memento/commun.pd29
-rw-r--r--memento/dynamic-commun-help.pd57
-rw-r--r--memento/dynamic-commun.pd58
-rw-r--r--memento/memento-help.pd17
-rw-r--r--memento/netcontrol.pd40
-rw-r--r--memento/originator.pd148
-rw-r--r--memento/prepent.pd10
-rw-r--r--memento/rrad.f.pd26
-rw-r--r--memento/rrad.symbol.pd21
-rw-r--r--memento/rradical.state.pd4
-rw-r--r--memento/scale-commun.pd13
-rw-r--r--memento/sr-commun.pd6
17 files changed, 449 insertions, 226 deletions
diff --git a/memento/OSCprepend.pd b/memento/OSCprepend.pd
index 215d450..efe01f9 100644
--- a/memento/OSCprepend.pd
+++ b/memento/OSCprepend.pd
@@ -1,16 +1,30 @@
-#N canvas 457 273 505 389 10;
-#X msg 304 166 set \$1%s;
-#X obj 150 83 inlet;
-#X obj 304 86 inlet;
-#X obj 150 283 outlet;
-#X obj 304 117 symbol;
-#X obj 150 205 tosymbol;
-#X obj 150 248 fromsymbol;
-#X obj 150 226 makefilename \$1%s;
-#X connect 0 0 7 0;
-#X connect 1 0 5 0;
-#X connect 2 0 4 0;
-#X connect 4 0 0 0;
-#X connect 5 0 7 0;
-#X connect 6 0 3 0;
-#X connect 7 0 6 0;
+#N canvas 511 144 636 444 10;
+#X obj 45 131 list split 1;
+#X msg 94 90 /a 1 2 3;
+#X obj 45 276 list append;
+#X obj 45 299 list trim;
+#X obj 45 239 makefilename \$1%s;
+#X obj 45 188 route symbol;
+#X obj 45 89 inlet;
+#X obj 45 319 outlet;
+#X text 215 99 "Prepends" first argument to an OSC message list.;
+#X text 221 126 Example: with \$1 being "/synth" the message "/set
+x 1 2" will become "/synth/set x 1 2".;
+#X text 223 163 Right inlet lets you change the prepended argument
+;
+#X msg 146 209 set \$1%s;
+#X obj 146 185 symbol;
+#X obj 146 163 inlet;
+#X text 224 189 Lists not starting with a symbol are filtered out!
+;
+#X connect 0 0 5 0;
+#X connect 0 1 2 1;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 7 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 0;
+#X connect 11 0 4 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
diff --git a/memento/README.txt b/memento/README.txt
index 7fa3dfa..d0e4dfe 100644
--- a/memento/README.txt
+++ b/memento/README.txt
@@ -1,6 +1,6 @@
_ Memento _
-ver. 0.4
+ver. 0.5
This is a work-in-progress collection of a unified preset system for Pd
patches. It tries to loosely follow the Memento [1] design pattern from the Gang of
@@ -71,6 +71,14 @@ Please follow the tutorial to learn more about Memento-usage.
_ ChangeLog _
+0.5
+* removed all prepend from cyclone again and instead use [prepent] with is just
+ [list prepend]-[list trim]
+* replace OSCprepend with a Miller Vanilla version.
+* added [list] to commun's outlet to get automatic type conversions.
+ commun now will output proper list-messages. This may result in
+ subtle bugs with older patches however!
+
0.4
* Wrote a tutorial, yeah.
* Now uses Cyclone's set-able prepend for setting state.
diff --git a/memento/careGUI.pd b/memento/careGUI.pd
index 377231c..2c31dd6 100644
--- a/memento/careGUI.pd
+++ b/memento/careGUI.pd
@@ -6,7 +6,7 @@
#X obj 121 31 bng 40 250 50 0 empty empty RESTORE 0 -6 0 8 -258699
-1 -1;
#X obj 19 1 inlet;
-#X obj 203 30 bng 40 250 50 0 empty empty FILE 0 -6 0 8 -262131 -1
+#X obj 187 30 bng 40 250 50 0 empty empty FILE 0 -6 0 8 -262131 -1
-1;
#N canvas 497 329 693 405 guts 0;
#X obj 68 51 inlet;
@@ -24,25 +24,39 @@
#X msg 349 172 file \$1;
#X obj 351 139 savepanel;
#X msg 350 242 savex bla.xml;
+#X msg 198 306 set;
+#X obj 191 337 s SET_ALL_RRADICALS;
+#X obj 261 282 spigot;
+#X obj 287 260 r \$0-auto;
+#X obj 172 277 r \$0-set;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 2 0 13 0;
#X connect 3 0 8 0;
#X connect 4 0 6 0;
#X connect 6 0 9 0;
+#X connect 6 0 17 0;
#X connect 6 1 8 0;
#X connect 11 0 8 0;
#X connect 12 0 8 0;
#X connect 13 0 12 0;
#X connect 14 0 8 0;
+#X connect 15 0 16 0;
+#X connect 17 0 15 0;
+#X connect 18 0 17 1;
+#X connect 19 0 15 0;
#X restore 78 0 pd guts;
#X obj 169 0 outlet;
-#X obj 263 47 bng 15 250 50 0 empty empty reset 0 -6 0 8 -250685 -1
+#X obj 243 57 bng 12 250 50 0 empty empty reset 0 -6 0 8 -250685 -1
-1;
-#X msg 260 67 reset;
-#X obj 90 43 bng 15 250 50 0 empty empty print 0 -6 0 8 -261689 -1
+#X msg 258 75 reset;
+#X obj 84 25 bng 15 250 50 0 empty empty print 0 -6 0 8 -261689 -1
+-1;
+#X msg 103 72 print;
+#X obj 244 24 tgl 15 1 \$0-auto \$0-auto autoload 0 -6 0 8 -260818
+-1 -1 1 1;
+#X obj 84 58 bng 15 250 50 0 \$0-set \$0-set set 0 -6 0 8 -258699 -1
-1;
-#X msg 81 60 print;
#X connect 1 0 5 0;
#X connect 2 0 5 1;
#X connect 3 0 5 3;
diff --git a/memento/careOSC.pd b/memento/careOSC.pd
index 3b5c25f..886d3f3 100644
--- a/memento/careOSC.pd
+++ b/memento/careOSC.pd
@@ -1,4 +1,4 @@
-#N canvas 159 71 136 70 10;
+#N canvas 159 71 427 210 10;
#N canvas 108 9 1009 776 guts 0;
#X msg 136 235 chdir;
#N canvas 0 0 710 488 listdirs 0;
@@ -21,7 +21,7 @@
#X obj 38 48 symbol;
#X obj 40 40;
#X obj 361 279 outlet;
-#X obj 299 138 prepend add;
+#X obj 299 138 prepent add;
#X connect 0 0 16 0;
#X connect 2 0 10 0;
#X connect 3 0 7 0;
@@ -65,7 +65,7 @@
#X msg 452 154 bang;
#X obj 38 48 symbol;
#X obj 361 279 outlet;
-#X obj 309 148 prepend add;
+#X obj 309 148 prepent add;
#X connect 0 0 16 0;
#X connect 2 0 10 0;
#X connect 3 0 7 0;
@@ -104,23 +104,20 @@
#X obj 352 135 t b b b b a;
#X obj 469 149 until;
#X msg 219 98 1;
-#X obj 584 327 prepend chdir;
+#X obj 584 327 prepent chdir;
#X msg 526 330 getall;
#X obj 542 275 t b a a;
-#X obj 779 378 symbol;
-#X msg 776 358 \$1;
-#X obj 739 293 prepend list;
+#X obj 811 383 symbol;
+#X msg 811 363 \$1;
#X obj 781 322 t a a;
#X msg 700 404 \$2;
-#X msg 757 436 set \$1;
-#X obj 761 479 prepend nothing;
-#X obj 783 408 makefilename %s/preset;
-#X obj 549 557 prepend nothing;
+#X obj 711 459 prepent nothing;
+#X obj 811 411 makefilename %s/preset;
+#X obj 549 557 prepent nothing;
#X obj 605 468 makefilename;
-#X msg 586 532 set \$1;
#X msg 629 444 set \$1%s;
#X obj 693 648 textfile;
-#X obj 689 611 prepend add;
+#X obj 689 611 prepent add;
#X msg 797 571 clear;
#X msg 62 401 print;
#X obj 476 101 del 250;
@@ -129,7 +126,7 @@
#X obj 575 366 pool RRADICAL;
#X text 47 75 bang for save!;
#X text 907 615 write file;
-#X obj 865 586 prepend write;
+#X obj 865 586 prepent write;
#X obj 863 529 r \$0-save;
#X obj 78 146 r \$0-create;
#X obj 860 555 savepanel;
@@ -145,87 +142,86 @@
#X obj 430 623 r \$0-loadfile;
#X obj 323 616 inlet;
#X obj 323 642 s \$0-loadfile;
-#X connect 0 0 40 0;
+#X obj 781 292 list;
+#X connect 0 0 37 0;
#X connect 1 0 14 0;
-#X connect 1 2 40 0;
+#X connect 1 2 37 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 21 0;
#X connect 4 1 3 0;
#X connect 4 1 17 1;
-#X connect 4 2 40 0;
+#X connect 4 2 37 0;
#X connect 5 0 4 0;
#X connect 6 0 8 0;
#X connect 7 0 4 0;
-#X connect 8 0 40 0;
-#X connect 9 0 40 0;
+#X connect 8 0 37 0;
+#X connect 9 0 37 0;
#X connect 10 0 9 0;
#X connect 11 0 13 0;
#X connect 12 0 18 0;
-#X connect 13 0 37 0;
+#X connect 13 0 34 0;
#X connect 13 1 3 0;
#X connect 13 2 2 0;
#X connect 13 3 0 0;
-#X connect 13 3 36 0;
+#X connect 13 3 33 0;
#X connect 15 0 16 0;
-#X connect 16 1 38 0;
+#X connect 16 1 35 0;
#X connect 16 2 17 0;
#X connect 16 3 5 0;
#X connect 16 4 6 0;
#X connect 17 0 7 0;
#X connect 18 0 9 0;
-#X connect 19 0 41 0;
-#X connect 20 0 41 0;
+#X connect 19 0 38 0;
+#X connect 20 0 38 0;
#X connect 21 0 20 0;
#X connect 21 1 19 0;
-#X connect 21 2 24 0;
-#X connect 22 0 29 0;
-#X connect 22 0 33 0;
+#X connect 21 2 57 0;
+#X connect 22 0 27 0;
+#X connect 22 0 30 0;
#X connect 23 0 22 0;
#X connect 24 0 25 0;
+#X connect 24 1 23 0;
#X connect 25 0 26 0;
-#X connect 25 1 23 0;
-#X connect 26 0 28 0;
-#X connect 27 0 28 0;
-#X connect 28 0 35 0;
-#X connect 29 0 27 0;
-#X connect 30 0 35 0;
-#X connect 31 0 32 0;
-#X connect 32 0 30 0;
+#X connect 26 0 32 0;
+#X connect 27 0 26 1;
+#X connect 28 0 32 0;
+#X connect 29 0 28 1;
+#X connect 30 0 29 0;
+#X connect 31 0 45 0;
+#X connect 31 1 46 1;
+#X connect 32 0 31 0;
#X connect 33 0 31 0;
-#X connect 34 0 48 0;
-#X connect 34 1 49 1;
-#X connect 35 0 34 0;
-#X connect 36 0 34 0;
-#X connect 37 0 34 0;
-#X connect 38 0 17 1;
-#X connect 40 1 1 1;
-#X connect 40 1 4 1;
-#X connect 41 0 30 0;
-#X connect 41 1 31 0;
-#X connect 44 0 34 0;
-#X connect 45 0 47 0;
-#X connect 46 0 11 0;
-#X connect 47 0 44 0;
-#X connect 49 0 34 0;
-#X connect 50 0 51 0;
-#X connect 51 0 52 0;
-#X connect 52 0 53 0;
-#X connect 53 0 49 0;
-#X connect 53 1 54 0;
-#X connect 53 2 34 0;
-#X connect 54 0 34 0;
-#X connect 57 0 52 0;
-#X connect 58 0 59 0;
-#X restore 23 4 pd guts;
+#X connect 34 0 31 0;
+#X connect 35 0 17 1;
+#X connect 37 1 1 1;
+#X connect 37 1 4 1;
+#X connect 38 0 28 0;
+#X connect 38 1 29 0;
+#X connect 41 0 31 0;
+#X connect 42 0 44 0;
+#X connect 43 0 11 0;
+#X connect 44 0 41 0;
+#X connect 46 0 31 0;
+#X connect 47 0 48 0;
+#X connect 48 0 49 0;
+#X connect 49 0 50 0;
+#X connect 50 0 46 0;
+#X connect 50 1 51 0;
+#X connect 50 2 31 0;
+#X connect 51 0 31 0;
+#X connect 54 0 49 0;
+#X connect 55 0 56 0;
+#X connect 57 0 24 0;
+#X restore 209 71 pd guts;
#X obj 13 28 bng 24 250 50 0 \$0-create \$0-create create 0 -6 0 8
-24198 -1 -1;
#X obj 57 28 bng 24 250 50 0 \$0-save \$0-save save 0 -6 0 8 -241291
-1 -1;
#X obj 98 29 bng 24 250 50 0 \$0-load \$0-load load 0 -6 0 8 -258699
-1 -1;
-#X obj 49 49 outlet;
-#X obj 92 5 inlet;
+#X obj 209 96 outlet;
+#X obj 209 42 inlet;
#X connect 0 0 4 0;
#X connect 5 0 0 0;
-#X coords 0 0 1 1 120 60 1;
+#X coords 0 -1 1 1 120 60 1 6 5;
diff --git a/memento/caretaker.pd b/memento/caretaker.pd
index 5571dd1..b442c4f 100644
--- a/memento/caretaker.pd
+++ b/memento/caretaker.pd
@@ -1,5 +1,4 @@
#N canvas 0 0 450 300 10;
-#X obj 198 219 pool;
#X obj 123 147 symbol \$1;
#X msg 199 119 pool \$1;
#X obj 153 89 t b s;
@@ -17,25 +16,26 @@
#X msg 73 241 savex bla.xml;
#X msg 326 74 printroot;
#X obj 148 33 route file save load print;
-#X connect 1 0 4 0;
+#X obj 198 219 pool RRADICAL;
+#X connect 0 0 3 0;
+#X connect 1 0 17 0;
#X connect 2 0 0 0;
-#X connect 3 0 1 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X connect 5 0 6 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 17 0;
-#X connect 9 0 5 0;
-#X connect 9 1 7 0;
-#X connect 10 0 1 1;
-#X connect 10 0 5 1;
-#X connect 11 0 3 0;
-#X connect 12 0 9 0;
-#X connect 13 0 0 0;
-#X connect 15 0 0 0;
-#X connect 16 0 0 0;
-#X connect 17 0 10 0;
-#X connect 17 1 11 0;
-#X connect 17 2 12 0;
-#X connect 17 3 16 0;
+#X connect 2 1 1 0;
+#X connect 3 0 17 0;
+#X connect 4 0 5 0;
+#X connect 5 0 17 0;
+#X connect 6 0 17 0;
+#X connect 7 0 16 0;
+#X connect 8 0 4 0;
+#X connect 8 1 6 0;
+#X connect 9 0 0 1;
+#X connect 9 0 4 1;
+#X connect 10 0 2 0;
+#X connect 11 0 8 0;
+#X connect 12 0 17 0;
+#X connect 14 0 17 0;
+#X connect 15 0 17 0;
+#X connect 16 0 9 0;
+#X connect 16 1 10 0;
+#X connect 16 2 11 0;
+#X connect 16 3 15 0;
diff --git a/memento/commun.pd b/memento/commun.pd
index f8ca528..e79f5fd 100644
--- a/memento/commun.pd
+++ b/memento/commun.pd
@@ -1,18 +1,23 @@
-#N canvas 329 264 450 300 10;
+#N canvas 329 264 504 374 10;
#X obj 162 41 inlet;
-#X obj 161 240 outlet;
-#X obj 162 72 prepend \$1;
+#X obj 161 270 outlet;
#X obj 161 158 r \$2-in;
#X obj 161 208 route \$1;
#X obj 69 207 OSCroute \$1;
-#X text 22 262 Read \$2-OSC (== \$0-OSC) \, filter by argument \$1
+#X text 22 292 Read \$2-OSC (== \$0-OSC) \, filter by argument \$1
;
-#X obj 162 99 s \$2-RRADICAL-MEMENTO;
-#X text 95 123 RRADICAL_MEMENTO is also in originator;
+#X obj 162 109 s \$2-RRADICAL-MEMENTO;
+#X text 95 133 RRADICAL_MEMENTO is also in originator;
#X obj 69 183 r \$2-RRADICAL-OSC;
-#X connect 0 0 2 0;
-#X connect 2 0 7 0;
-#X connect 3 0 4 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 9 0 5 0;
+#X obj 162 62 list prepend \$1;
+#X obj 162 84 list trim;
+#X obj 161 244 list;
+#X text 202 246 convert according to Pd's type rules;
+#X connect 0 0 9 0;
+#X connect 2 0 3 0;
+#X connect 3 0 11 0;
+#X connect 4 0 11 0;
+#X connect 8 0 4 0;
+#X connect 9 0 10 0;
+#X connect 10 0 6 0;
+#X connect 11 0 1 0;
diff --git a/memento/dynamic-commun-help.pd b/memento/dynamic-commun-help.pd
new file mode 100644
index 0000000..d6ccaff
--- /dev/null
+++ b/memento/dynamic-commun-help.pd
@@ -0,0 +1,57 @@
+#N canvas 427 96 725 630 10;
+#X obj 71 375 originator /h \$0;
+#X obj 63 289 dynamic-commun \$0;
+#X msg 93 220 init;
+#X obj 63 196 t b b;
+#X msg 63 173 bang;
+#X text 63 15 Dynamic commun generator:;
+#X text 71 39 1) Send "init" to clear commun area;
+#X text 71 59 2) For every thing you want to save \, send a list of
+target name \, sender name and receiver name. Target has to start with
+slash \, sender and receiver will internally get replaced with a "$0-NAME".
+;
+#X msg 178 348 /h/preset \$1;
+#X obj 178 327 hradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -1
+-1 1;
+#X obj 539 211 s \$0-w;
+#X obj 542 190 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 4000 1;
+#X obj 547 281 hsl 128 15 0 127 0 0 \$0-t \$0-t send/rec-inside -2
+-6 0 8 -262144 -1 -1 7900 1;
+#X obj 539 368 r \$0-d;
+#X obj 539 411 s \$0-d-s;
+#X text 289 266 use send/rec. like this;
+#X floatatom 539 391 5 0 0 0 - - -;
+#X obj 63 150 loadbang;
+#X obj 539 167 r \$0-w-r;
+#X msg 63 246 list /what w w-r \, list /that t t \, list /dis d-s d
+;
+#X msg 281 353 /h/what \$1;
+#X obj 284 328 hsl 128 15 0 127 0 0 empty empty testOSC-/what -2 -6
+0 8 -262144 -1 -1 6200 1;
+#X obj 178 405 print;
+#X floatatom 531 498 5 0 0 0 - - -;
+#X obj 531 518 s \$0-more-s;
+#X obj 531 475 r \$0-more-r;
+#X msg 334 478 list /more more-s more-r;
+#X obj 334 510 s \$0-more-communs;
+#X obj 96 269 r \$0-more-communs;
+#X connect 0 2 22 0;
+#X connect 2 0 1 0;
+#X connect 3 0 19 0;
+#X connect 3 1 2 0;
+#X connect 4 0 3 0;
+#X connect 8 0 0 1;
+#X connect 9 0 8 0;
+#X connect 11 0 10 0;
+#X connect 13 0 16 0;
+#X connect 16 0 14 0;
+#X connect 17 0 4 0;
+#X connect 18 0 11 0;
+#X connect 19 0 1 0;
+#X connect 20 0 0 1;
+#X connect 21 0 20 0;
+#X connect 23 0 24 0;
+#X connect 25 0 23 0;
+#X connect 26 0 27 0;
+#X connect 28 0 1 0;
diff --git a/memento/dynamic-commun.pd b/memento/dynamic-commun.pd
new file mode 100644
index 0000000..8d2fe87
--- /dev/null
+++ b/memento/dynamic-commun.pd
@@ -0,0 +1,58 @@
+#N canvas 505 274 742 456 10;
+#N canvas 0 0 450 300 1006-dynamic-communs 0;
+#X restore 509 83 pd \$0-dynamic-communs;
+#X obj 282 312 f \$1;
+#X obj 513 224 makefilename pd-%s;
+#X obj 513 196 symbol \$0-dynamic-communs;
+#X obj 513 253 s \$0-sub;
+#X obj 325 336 r \$0-sub;
+#X obj 513 168 loadbang;
+#X obj 282 289 loadbang;
+#X obj 409 183 f 0;
+#X obj 139 16 inlet;
+#X msg 97 175 \; \$1 clear;
+#X obj 97 115 r \$0-sub;
+#X obj 97 148 symbol;
+#X obj 576 372 print sub;
+#X msg 425 160 0;
+#X msg 584 170 bang;
+#X obj 442 183 + 20;
+#X msg 51 117 bang;
+#X msg 218 328 \$1;
+#X obj 239 239 makefilename \$1-%s;
+#X msg 237 214 symbol \$2;
+#X obj 260 183 makefilename \$1-%s;
+#X msg 256 158 symbol \$3;
+#X obj 218 359 pack s s s f f s;
+#X obj 139 36 route # init;
+#X obj 218 119 t a a a b;
+#X msg 218 397 \; \$6 obj 10 \$5 sr-commun \$1 \$2 \$3 \$4;
+#X text 262 23 Required Argument is Dollar-Zero ($0) from parent.;
+#X connect 1 0 23 3;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 5 0 23 5;
+#X connect 6 0 3 0;
+#X connect 7 0 1 0;
+#X connect 8 0 16 0;
+#X connect 8 0 23 4;
+#X connect 9 0 24 0;
+#X connect 11 0 12 0;
+#X connect 12 0 10 0;
+#X connect 14 0 8 1;
+#X connect 15 0 3 0;
+#X connect 16 0 8 1;
+#X connect 17 0 12 0;
+#X connect 18 0 23 0;
+#X connect 19 0 23 1;
+#X connect 20 0 19 0;
+#X connect 21 0 23 2;
+#X connect 22 0 21 0;
+#X connect 23 0 26 0;
+#X connect 24 1 14 0;
+#X connect 24 1 17 0;
+#X connect 24 2 25 0;
+#X connect 25 0 18 0;
+#X connect 25 1 20 0;
+#X connect 25 2 22 0;
+#X connect 25 3 8 0;
diff --git a/memento/memento-help.pd b/memento/memento-help.pd
index 249deee..e93eb79 100644
--- a/memento/memento-help.pd
+++ b/memento/memento-help.pd
@@ -2,8 +2,6 @@
#X text 14 92 originator requires two arguments: arg1 must start with
a slash and will be the general name of a state. arg2 is used to communicate
with commun objects.;
-#X text 10 225 caretakers are independent of these: They can collect
-all currently actuve states and save them.;
#N canvas 121 22 1029 567 originator-help 0;
#X obj 42 182 originator /name \$0;
#X text 168 238 OSC-outlet;
@@ -86,14 +84,12 @@ Beware of the slash! Also note \, that states created using this will
#X obj 65 164 pack 0 0;
#X floatatom 97 116 5 0 0 0 - - -;
#X floatatom 141 116 5 0 0 0 - - -;
-#X obj 233 212 symbol;
#X obj 233 186 commun /asymbol \$0;
#X symbolatom 233 159 10 0 0 0 - - -;
#X text 248 64 Some typical uses of [commun];
#X obj 141 137 t b f;
#X obj 233 127 r \$0-thesymbol;
#X obj 233 238 s \$0-thesymbol;
-#X text 282 211 unfortunatly this is necessary.;
#X connect 0 0 1 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
@@ -101,13 +97,12 @@ Beware of the slash! Also note \, that states created using this will
#X connect 3 1 6 0;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
-#X connect 6 0 11 0;
-#X connect 7 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 12 0;
#X connect 8 0 7 0;
-#X connect 9 0 8 0;
-#X connect 11 0 4 0;
-#X connect 11 1 4 1;
-#X connect 12 0 9 0;
+#X connect 10 0 4 0;
+#X connect 10 1 4 1;
+#X connect 11 0 8 0;
#X restore 16 379 pd commun-help;
#X text 14 278 Detailed help on [originator];
#X text 12 350 Detailed help on [commun];
@@ -160,3 +155,5 @@ and will be the variable name of one "thing" to save inside the state
specified by originator's arg1. arg2 will select the originator to
use: communs will talk to all originators \, whose arg2 equals its
own arg2.;
+#X text 10 225 caretakers are independent of these: They can collect
+all currently active states and save them.;
diff --git a/memento/netcontrol.pd b/memento/netcontrol.pd
index 8a45d74..c82db02 100644
--- a/memento/netcontrol.pd
+++ b/memento/netcontrol.pd
@@ -1,33 +1,33 @@
-#N canvas 363 400 167 71 10;
+#N canvas 363 400 647 296 10;
#X symbolatom 12 39 10 0 0 2 whereTo? - -;
-#X obj 65 180 pack s 0;
+#X obj 54 179 pack s 0;
#X floatatom 105 39 5 0 0 2 what? - -;
-#X msg 65 204 send \$1 \$2;
-#X obj 129 80 t b f;
-#X obj 65 230 outlet;
-#X obj 67 104 makesymbol \$1/%s;
-#X obj 260 64 loadbang;
+#X msg 54 203 send \$1 \$2;
+#X obj 105 76 t b f;
+#X obj 54 229 outlet;
+#X obj 264 64 loadbang;
#X obj 264 132 route float;
#X msg 264 157 bang;
-#X obj 260 90 any \$2;
#X obj 301 189 symbol unknown;
#X obj 13 7 inlet;
#X obj 105 6 inlet;
#X obj 54 149 symbol;
-#X connect 0 0 6 0;
+#X obj 264 90 list append \$2;
+#X obj 91 122 makefilename \$1/%s;
+#X connect 0 0 14 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
-#X connect 4 0 14 0;
+#X connect 4 0 12 0;
#X connect 4 1 1 1;
-#X connect 6 0 14 1;
-#X connect 7 0 10 0;
+#X connect 6 0 13 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
#X connect 8 0 9 0;
-#X connect 8 1 11 0;
-#X connect 9 0 11 0;
-#X connect 10 0 8 0;
-#X connect 11 0 0 0;
-#X connect 12 0 0 0;
-#X connect 13 0 2 0;
-#X connect 14 0 1 0;
-#X coords 0 0 1 1 200 50 1;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 2 0;
+#X connect 12 0 1 0;
+#X connect 13 0 7 0;
+#X connect 14 0 12 1;
+#X coords 0 -1 1 1 200 50 1 0 10;
diff --git a/memento/originator.pd b/memento/originator.pd
index 5d9fbc5..99578c2 100644
--- a/memento/originator.pd
+++ b/memento/originator.pd
@@ -1,4 +1,4 @@
-#N canvas 260 166 978 591 10;
+#N canvas 221 42 978 591 10;
#X text 425 22 responsibilities:;
#X text 98 10 ORIGINATOR (the mixing engineer);
#X text 447 59 * set memento (restore settings from photo);
@@ -77,8 +77,6 @@ variables.;
#X obj 134 514 s \$0-pool;
#X obj 309 341 symbol;
#X obj 156 440 t b b;
-#X msg 620 389 set \$1;
-#X obj 563 460 s \$2-in;
#X obj 197 418 r \$0-set;
#X obj 148 472 s \$0-set;
#X obj 828 540 s \$0-pool;
@@ -92,9 +90,9 @@ by a number.;
#X obj 535 273 r \$2-RRADICAL-MEMENTO;
#X text 443 248 \$2-RRADICAL-MEMENTO is sent by commun objects;
#X obj 777 413 s \$2-RRADICAL-OSC;
-#X obj 563 419 prepend RRADICAL.dummy;
+#X obj 563 419 prepent RRADICAL.dummy;
#X obj 385 520 outlet;
-#X obj 235 196 prepend get;
+#X obj 235 196 prepent get;
#N canvas 468 415 450 300 ch2subs 0;
#X obj 92 39 inlet;
#X obj 113 198 outlet;
@@ -141,8 +139,7 @@ by a number.;
#X restore 486 348 pd tgl;
#X obj 235 177 t a b;
#X obj 287 175 s \$0-get-ON;
-#X msg 505 463 set \$1;
-#X obj 448 493 prepend RRADICAL.dummy;
+#X obj 448 493 prepent RRADICAL.dummy;
#X obj 385 493 spigot;
#X obj 448 544 outlet;
#X text 353 541 Value outlet;
@@ -174,77 +171,78 @@ by a number.;
#X text 795 218 \$2 == \$0 parent;
#X msg 818 270 set \$1;
#X obj 818 298 s \$2-parentstate;
-#X obj 535 300 prepend set;
+#X obj 535 300 prepent set;
#X obj 764 437 OSCroute /preset /substate;
#X msg 745 513 /preset \$1;
-#X connect 5 0 66 0;
-#X connect 10 0 54 0;
-#X connect 11 0 61 1;
-#X connect 12 0 66 0;
-#X connect 13 0 66 0;
-#X connect 14 0 31 0;
+#X obj 756 325 r RRADICAL-OSC;
+#X obj 563 443 s \$2-RRADICAL-OSC;
+#X connect 5 0 63 0;
+#X connect 10 0 51 0;
+#X connect 11 0 58 1;
+#X connect 12 0 63 0;
+#X connect 13 0 63 0;
+#X connect 14 0 29 0;
#X connect 16 0 17 0;
-#X connect 16 0 81 0;
-#X connect 17 0 27 0;
+#X connect 16 0 78 0;
+#X connect 17 0 25 0;
#X connect 18 0 20 0;
#X connect 19 0 20 0;
-#X connect 21 0 65 0;
-#X connect 22 0 26 0;
+#X connect 21 0 62 0;
+#X connect 22 0 24 0;
#X connect 22 1 19 0;
-#X connect 23 0 36 0;
-#X connect 25 0 6 0;
-#X connect 31 0 35 0;
-#X connect 31 0 80 0;
-#X connect 33 0 61 0;
-#X connect 33 0 79 0;
-#X connect 36 0 24 0;
-#X connect 38 0 40 0;
-#X connect 39 0 28 0;
-#X connect 40 0 28 0;
-#X connect 40 1 39 0;
-#X connect 41 0 36 0;
-#X connect 42 0 49 0;
-#X connect 43 0 42 1;
-#X connect 43 0 48 1;
-#X connect 43 1 41 1;
-#X connect 44 0 38 0;
-#X connect 44 1 45 0;
-#X connect 46 0 47 0;
-#X connect 47 0 42 0;
-#X connect 48 0 37 0;
-#X connect 53 0 67 0;
-#X connect 53 1 52 0;
-#X connect 54 0 41 0;
-#X connect 54 0 47 0;
-#X connect 54 0 48 0;
-#X connect 54 1 23 0;
-#X connect 54 1 46 0;
-#X connect 54 2 11 0;
-#X connect 55 0 70 0;
-#X connect 55 1 69 0;
-#X connect 56 0 58 0;
-#X connect 57 0 58 0;
-#X connect 61 0 59 0;
-#X connect 62 0 63 0;
-#X connect 64 0 66 0;
-#X connect 65 0 18 0;
-#X connect 65 1 22 0;
-#X connect 65 2 6 0;
-#X connect 66 0 4 0;
-#X connect 66 1 15 0;
-#X connect 66 2 44 0;
-#X connect 66 3 53 0;
-#X connect 66 4 21 0;
-#X connect 66 4 55 0;
-#X connect 68 0 56 0;
-#X connect 69 0 57 0;
-#X connect 70 0 71 0;
-#X connect 70 1 68 0;
-#X connect 71 0 21 0;
-#X connect 73 0 66 0;
-#X connect 75 0 77 0;
-#X connect 77 0 78 0;
-#X connect 79 0 54 0;
-#X connect 80 0 62 0;
-#X connect 80 1 62 0;
-#X connect 81 0 61 0;
+#X connect 23 0 6 0;
+#X connect 29 0 33 0;
+#X connect 29 0 77 0;
+#X connect 31 0 58 0;
+#X connect 31 0 76 0;
+#X connect 34 0 80 0;
+#X connect 36 0 38 0;
+#X connect 37 0 26 0;
+#X connect 38 0 26 0;
+#X connect 38 1 37 0;
+#X connect 39 0 34 0;
+#X connect 40 0 46 0;
+#X connect 41 0 40 1;
+#X connect 41 0 45 1;
+#X connect 41 1 39 1;
+#X connect 42 0 36 0;
+#X connect 42 1 43 0;
+#X connect 44 0 40 0;
+#X connect 45 0 35 0;
+#X connect 50 0 64 0;
+#X connect 50 1 49 0;
+#X connect 51 0 39 0;
+#X connect 51 0 44 0;
+#X connect 51 0 45 0;
+#X connect 51 1 34 1;
+#X connect 51 1 44 1;
+#X connect 51 2 11 0;
+#X connect 52 0 67 0;
+#X connect 52 1 66 0;
+#X connect 53 0 55 0;
+#X connect 54 0 55 0;
+#X connect 58 0 56 0;
+#X connect 59 0 60 0;
+#X connect 61 0 63 0;
+#X connect 62 0 18 0;
+#X connect 62 1 22 0;
+#X connect 62 2 6 0;
+#X connect 63 0 4 0;
+#X connect 63 1 15 0;
+#X connect 63 2 42 0;
+#X connect 63 3 50 0;
+#X connect 63 4 21 0;
+#X connect 63 4 52 0;
+#X connect 65 0 53 0;
+#X connect 66 0 54 0;
+#X connect 67 0 68 0;
+#X connect 67 1 65 0;
+#X connect 68 0 21 0;
+#X connect 70 0 63 0;
+#X connect 72 0 74 0;
+#X connect 74 0 75 0;
+#X connect 76 0 51 0;
+#X connect 77 0 59 0;
+#X connect 77 1 59 0;
+#X connect 78 0 58 0;
+#X connect 79 0 29 0;
diff --git a/memento/prepent.pd b/memento/prepent.pd
new file mode 100644
index 0000000..a093d53
--- /dev/null
+++ b/memento/prepent.pd
@@ -0,0 +1,10 @@
+#N canvas 0 0 450 300 10;
+#X obj 90 88 inlet;
+#X obj 90 205 outlet;
+#X obj 90 132 list prepend \$1;
+#X obj 90 157 list trim;
+#X obj 190 87 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 1;
diff --git a/memento/rrad.f.pd b/memento/rrad.f.pd
new file mode 100644
index 0000000..1ca4ceb
--- /dev/null
+++ b/memento/rrad.f.pd
@@ -0,0 +1,26 @@
+#N canvas 0 0 450 300 10;
+#X obj 126 81 inlet;
+#X obj 103 51 inlet;
+#X obj 103 172 outlet;
+#X obj 355 148 outlet;
+#X obj 355 93 inlet;
+#X obj 131 149 commun /f \$0;
+#X text 204 22 rrad.f;
+#X text 211 42 float object for rradical;
+#X obj 103 123 f \$2;
+#X obj 248 122 originator \$1 \$0;
+#X text 233 60 arg 2 is default value;
+#X obj 246 265 pool OSC;
+#X obj 246 177 r \$0-RRADMIN;
+#X obj 246 212 OSCprepend \$1;
+#X msg 244 238 set \$1 \$2;
+#X connect 0 0 8 1;
+#X connect 1 0 8 0;
+#X connect 4 0 9 1;
+#X connect 5 0 8 0;
+#X connect 8 0 2 0;
+#X connect 8 0 5 0;
+#X connect 9 2 3 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 0;
diff --git a/memento/rrad.symbol.pd b/memento/rrad.symbol.pd
new file mode 100644
index 0000000..52ce101
--- /dev/null
+++ b/memento/rrad.symbol.pd
@@ -0,0 +1,21 @@
+#N canvas 0 0 450 300 10;
+#X obj 161 87 inlet;
+#X obj 103 51 inlet;
+#X obj 103 172 outlet;
+#X obj 355 148 outlet;
+#X obj 355 93 inlet;
+#X obj 248 122 originator \$1 \$0;
+#X text 233 60 arg 2 is default value;
+#X obj 200 175 commun /s \$0;
+#X obj 103 123 symbol \$2;
+#X text 204 22 rrad.symbol;
+#X text 211 40 symbol object for rradical;
+#X obj 200 196 symbol;
+#X connect 0 0 8 1;
+#X connect 1 0 8 0;
+#X connect 4 0 5 1;
+#X connect 5 2 3 0;
+#X connect 7 0 11 0;
+#X connect 8 0 2 0;
+#X connect 8 0 7 0;
+#X connect 11 0 8 0;
diff --git a/memento/rradical.state.pd b/memento/rradical.state.pd
index eca72b1..08743b5 100644
--- a/memento/rradical.state.pd
+++ b/memento/rradical.state.pd
@@ -10,7 +10,7 @@
#X obj 274 39 loadbang;
#X msg 400 287 getdir;
#X obj 168 240 outlet;
-#X obj 597 323 prepend get;
+#X obj 597 323 prepent get;
#X msg 456 172 getall;
#X obj 526 239 s \$0-substate;
#X obj 510 213 t b f;
@@ -43,7 +43,7 @@
#X restore 510 284 pd mkchange2substate;
#X obj 345 177 t b b s;
#X obj 415 201 s \$0-memento;
-#X obj 555 168 prepend set;
+#X obj 555 168 prepent set;
#X obj 6 111 print pool;
#X obj 345 94 route state getstate getall substate set get;
#X obj 637 168 select copy paste;
diff --git a/memento/scale-commun.pd b/memento/scale-commun.pd
new file mode 100644
index 0000000..7b97f1a
--- /dev/null
+++ b/memento/scale-commun.pd
@@ -0,0 +1,13 @@
+#N canvas 0 0 450 300 10;
+#X obj 153 133 commun \$1 \$2;
+#X obj 153 92 rrad.scale 0 127 \$3 \$4;
+#X obj 153 57 inlet;
+#X obj 153 189 outlet;
+#X obj 153 158 rrad.scale \$3 \$4 0 127;
+#X obj 309 129 outlet;
+#X connect 0 0 4 0;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 4 0 3 0;
diff --git a/memento/sr-commun.pd b/memento/sr-commun.pd
new file mode 100644
index 0000000..5847407
--- /dev/null
+++ b/memento/sr-commun.pd
@@ -0,0 +1,6 @@
+#N canvas 288 268 450 300 10;
+#X obj 132 125 commun \$1 \$4;
+#X obj 132 77 r \$2;
+#X obj 132 173 s \$3;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;