diff options
Diffstat (limited to 'semento')
-rw-r--r-- | semento/polaroid-help.pd | 75 | ||||
-rw-r--r-- | semento/polaroid.pd | 186 | ||||
-rw-r--r-- | semento/sft.careGUI-help.pd | 46 | ||||
-rw-r--r-- | semento/sft.careGUI.pd | 131 | ||||
-rw-r--r-- | semento/sft.commun.ez.pd | 18 | ||||
-rw-r--r-- | semento/sft.commun.pd | 35 | ||||
-rw-r--r-- | semento/sft.commun.sc-help.pd | 31 | ||||
-rw-r--r-- | semento/sft.commun.sc.ez.pd | 13 | ||||
-rw-r--r-- | semento/sft.commun.sc.pd | 132 | ||||
-rw-r--r-- | semento/sft.commun.x-help.pd | 17 | ||||
-rw-r--r-- | semento/sft.commun.x.pd | 13 | ||||
-rw-r--r-- | semento/sft.originator.pd | 265 | ||||
-rw-r--r-- | semento/sft.rradical.state.pd | 220 |
13 files changed, 1182 insertions, 0 deletions
diff --git a/semento/polaroid-help.pd b/semento/polaroid-help.pd new file mode 100644 index 0000000..502c2ad --- /dev/null +++ b/semento/polaroid-help.pd @@ -0,0 +1,75 @@ +#N canvas 182 36 657 763 10; +#X obj 196 452 s \$0polaroid; +#X msg 35 85 saveas; +#X msg 84 85 load; +#X msg 121 85 save; +#X msg 158 85 restore; +#X msg 130 410 saveas; +#X msg 179 410 load; +#X msg 216 410 save; +#X msg 253 410 restore; +#X msg 267 193 SetAFileFirst!; +#X obj 292 309 bng 8 250 50 0 \$0restore \$0nullS empty 17 7 0 10 -258177 +-1 -1; +#X obj 282 309 bng 8 250 50 0 \$0save \$0nullS empty 17 7 0 10 -4062 +-1 -1; +#X obj 287 319 bng 8 250 50 0 \$0makeDefault \$0nullS empty 17 7 0 +10 -228742 -1 -1; +#X text 307 305 Restores from currently selected file; +#X text 129 327 Sets the selected file as this patch's "default" \, +via a cross-connected messagebox (as shown); +#X obj -2 8 cnv 15 430 50 empty empty Polaroid 20 12 0 16 -204352 -66577 +0; +#X text 16 27 for Memento; +#X text -61 305 Saves local state to the currently selected file; +#X obj 33 247 bng 13 250 50 0 \$0saveLocalFile \$0saveLocalFileR SaveTo +15 8 0 8 -1988 -1 -1; +#X obj 33 270 bng 13 250 50 0 \$0loadLocalFile \$0loadLocalFileR Load +15 8 0 8 -155777 -1 -1; +#X text 85 246 Choose a file \, and save local state to it immediately +; +#X text 85 269 Choose a file \, and load a local state from it immediately +; +#X text 247 41 Local state saving device; +#X obj -52 373 bng 8 250 50 0 \$0copy \$0copyR empty 17 7 0 10 -159808 +-1 -1; +#X obj 238 374 bng 8 250 50 0 \$0paste \$0pasteR empty 17 7 0 10 -260097 +-1 -1; +#X text -43 370 Copies local state to a temporary file; +#X text 247 371 Pastes a local state from that temporary file; +#X obj 136 177 polaroid \$1 \$0; +#X msg 212 85 copy; +#X msg 248 85 paste; +#X text -5 509 Polaroid requires a "group" and \$0 as its arguments. +These are required for communication with both originator and the \$0polaroid +receiver.; +#X text 87 467 Polaroid also has a built-in receiver \, for use without +the GUI.; +#X text -2 639 If you have multiple copies of a child abstraction \, +give it a second argument like "/A" or "/B" \, then prepend its [commun]s +with \$2 \, like [commun \$2-envelopeAttack \$0]; +#X text -1 687 Important: OSC routes can and must have (only) one slash +in them \, meaning the "/A" and \$2-envelopeAttack above was deliberate. +Using \$2/envelopeAttack will not work \, nor will just "A".; +#X text 64 387 (works across all patches in the same "group" \, or +\$1); +#X text -3 559 The so called "group" is a common originator name among +all of your abstractions. This is typically the first argument. If +your rradical abstractions are all children of a parent abstraction +\, it is convenient to use "\$1" for all of their first arguments \, +and then define that globally in the first argument of your parent +abstraction.; +#X text 441 724 Luke Iannini \, 2008; +#X text 441 738 proyekto.net tag sndrft; +#X connect 1 0 27 0; +#X connect 2 0 27 0; +#X connect 3 0 27 0; +#X connect 4 0 27 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X connect 9 0 27 1; +#X connect 27 1 9 0; +#X connect 28 0 27 0; +#X connect 29 0 27 0; diff --git a/semento/polaroid.pd b/semento/polaroid.pd new file mode 100644 index 0000000..9b4f35e --- /dev/null +++ b/semento/polaroid.pd @@ -0,0 +1,186 @@ +#N canvas 361 200 341 279 10; +#X obj 14 41 bng 13 250 50 0 \$0saveLocalFile \$0saveLocalFileR SaveTo +15 8 0 8 -1988 -1 -1; +#X obj 59 41 bng 13 250 50 0 \$0loadLocalFile \$0loadLocalFileR Load +15 8 0 8 -155777 -1 -1; +#X obj 11 25 cnv 13 114 13 empty empty empty 2 8 0 8 -1024 -66577 0 +; +#X obj 13 27 cnv 9 110 9 empty \$0localFilenameR test 1 6 0 8 -262144 +-1 0; +#X obj 17 117 inlet; +#X obj 158 116 inlet; +#X obj 111 43 bng 8 250 50 0 \$0load \$0nullS empty 17 7 0 10 -258177 +-1 -1; +#X obj 101 43 bng 8 250 50 0 \$0save \$0nullR empty 17 7 0 10 -4062 +-1 -1; +#X obj 158 170 outlet; +#X obj 106 53 bng 8 250 50 0 \$0makeDefault \$0nullS empty 17 7 0 10 +-228742 -1 -1; +#X obj 17 171 outlet null; +#N canvas 186 394 339 332 messages 0; +#X obj 17 29 inlet; +#X obj 17 265 s \$0saveLocalFileR; +#X obj 54 246 s \$0loadLocalFileR; +#X obj 92 227 s \$0save; +#X obj 17 130 sel saveas load save restore copy paste; +#X obj 17 65 symbol; +#X obj 171 187 s \$0copyR; +#X obj 209 163 s \$0pasteR; +#X obj 34 98 r \$2polaroid; +#X obj 130 208 s \$0load; +#X connect 0 0 5 0; +#X connect 4 0 1 0; +#X connect 4 1 2 0; +#X connect 4 2 3 0; +#X connect 4 3 9 0; +#X connect 4 4 6 0; +#X connect 4 5 7 0; +#X connect 5 0 4 0; +#X connect 8 0 4 0; +#X restore 17 144 pd messages; +#N canvas 655 133 358 405 defaulter 0; +#X obj 58 14 inlet; +#X obj 58 318 outlet; +#X obj 58 59 symbol; +#X obj 25 193 loadbang; +#X msg 58 280 set \$1; +#X obj 95 236 r \$0fileName; +#X obj 58 260 symbol; +#X obj 58 215 r \$0makeDefault; +#X obj 25 173 s \$0localFilenameR; +#X obj 58 133 s \$2-localSave; +#X msg 58 80 lddir \$1; +#X obj 120 271 loadbang; +#X msg 120 294 symbol SetAFileFirst!; +#X msg 101 106 setsub 0; +#X obj 58 106 t b a; +#X obj 168 106 s \$1-localSetsub; +#X obj 106 59 s \$0def; +#X msg 25 152 label Default--->; +#X connect 0 0 2 0; +#X connect 2 0 10 0; +#X connect 2 0 17 0; +#X connect 2 0 16 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 5 0 6 1; +#X connect 6 0 4 0; +#X connect 7 0 6 0; +#X connect 10 0 14 0; +#X connect 11 0 12 0; +#X connect 12 0 6 1; +#X connect 13 0 15 0; +#X connect 14 0 13 0; +#X connect 14 1 9 0; +#X connect 17 0 8 0; +#X restore 158 143 pd defaulter; +#X obj 16 56 bng 8 250 50 0 \$0copy \$0copyR Copy 9 5 0 8 -159808 -1 +-1; +#X obj 61 56 bng 8 250 50 0 \$0paste \$0pasteR Paste 9 5 0 8 -260097 +-1 -1; +#N canvas 616 178 817 648 logic 1; +#X obj 574 324 s \$0localFilenameR; +#X obj 68 21 r \$0saveLocalFile; +#X obj 309 23 r \$0loadLocalFile; +#X obj 68 94 savepanel; +#X obj 309 83 openpanel; +#X msg 574 301 label \$1; +#X obj 574 204 symbol2list; +#X obj 574 254 list append >; +#X obj 574 278 list-l2s; +#X msg 600 204 symbol; +#X obj 600 183 loadbang; +#X obj 78 118 s \$0fileName; +#X obj 574 137 r \$0fileName; +#X obj 68 223 symbol; +#X obj 309 213 symbol; +#X obj 81 177 r \$0save; +#X obj 323 168 r \$0load; +#X obj 28 476 r \$0copy; +#X obj 470 466 r \$0paste; +#X obj 309 264 t b a; +#X msg 309 318 setsub 0; +#X obj 309 340 s \$1-localSetsub; +#X obj 28 573 s \$2-localSave; +#X obj 497 544 s \$2-localSave; +#X obj 68 301 s \$2-localSave; +#X obj 470 520 t b a; +#X msg 470 564 setsub 0; +#X obj 470 586 s \$1-localSetsub; +#X msg 470 490 lddir /tmp/polaroidTemp; +#X msg 28 549 svdir /tmp/polaroidTemp; +#X msg 68 251 svdir \$1; +#X msg 309 241 lddir \$1; +#X obj 574 228 list split 21; +#X obj 574 98 s \$0localFilenameR; +#X obj 574 22 loadbang; +#X msg 574 75 label ChooseAFile..; +#X obj 58 520 s SAVE_PREP; +#X obj 28 498 t b b; +#X obj 98 73 s SAVE_PREP; +#X obj 68 52 t b b; +#X obj 574 160 ggee/stripdir; +#X obj 105 198 r \$0def; +#X obj 346 188 r \$0def; +#X obj 154 263 print SavedTo; +#X obj 154 239 list trim; +#X obj 402 229 list trim; +#X obj 402 253 print Loaded; +#X obj 339 290 s \$2-localSave; +#X obj 321 109 s \$0fileName; +#X obj 574 49 spigot 1; +#X msg 653 33 0; +#X text 636 50 ^ Don't Override; +#X obj 653 6 r \$0def; +#X connect 1 0 39 0; +#X connect 2 0 4 0; +#X connect 3 0 11 0; +#X connect 3 0 13 0; +#X connect 4 0 14 0; +#X connect 4 0 48 0; +#X connect 5 0 0 0; +#X connect 6 0 32 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X connect 9 0 6 1; +#X connect 10 0 9 0; +#X connect 12 0 40 0; +#X connect 13 0 30 0; +#X connect 13 0 44 0; +#X connect 14 0 31 0; +#X connect 14 0 45 0; +#X connect 15 0 13 0; +#X connect 16 0 14 0; +#X connect 17 0 37 0; +#X connect 18 0 28 0; +#X connect 19 0 20 0; +#X connect 19 1 47 0; +#X connect 20 0 21 0; +#X connect 25 0 26 0; +#X connect 25 1 23 0; +#X connect 26 0 27 0; +#X connect 28 0 25 0; +#X connect 29 0 22 0; +#X connect 30 0 24 0; +#X connect 31 0 19 0; +#X connect 32 0 7 0; +#X connect 32 2 8 0; +#X connect 34 0 49 0; +#X connect 35 0 33 0; +#X connect 37 0 29 0; +#X connect 37 1 36 0; +#X connect 39 0 3 0; +#X connect 39 1 38 0; +#X connect 40 0 6 0; +#X connect 41 0 13 1; +#X connect 42 0 14 1; +#X connect 44 0 43 0; +#X connect 45 0 46 0; +#X connect 49 0 35 0; +#X connect 50 0 49 1; +#X connect 52 0 50 0; +#X restore 167 41 pd logic; +#X connect 4 0 11 0; +#X connect 5 0 12 0; +#X connect 12 0 8 0; +#X coords 0 -1 1 1 116 57 1 10 10; diff --git a/semento/sft.careGUI-help.pd b/semento/sft.careGUI-help.pd new file mode 100644 index 0000000..dd06e39 --- /dev/null +++ b/semento/sft.careGUI-help.pd @@ -0,0 +1,46 @@ +#N canvas 338 180 531 595 10; +#X obj 109 86 sft.careGUI; +#X obj 30 371 bng 15 250 50 0 \$0print empty Print 0 -6 0 8 -211762 +-1 -1; +#X obj 68 306 bng 25 250 50 0 \$0restore \$0restoreR Restore 0 -6 0 +8 -233729 -1 -1; +#X obj 30 306 bng 25 250 50 0 \$0save \$0saveR Save 0 -6 0 8 -40133 +-1 -1; +#X obj 30 422 bng 20 250 50 0 \$0load empty Load 0 -6 0 8 -211157 -1 +-1; +#X obj 60 422 bng 20 250 50 0 \$0saveAs empty SaveAs 0 -6 0 8 -113396 +-1 -1; +#X obj 30 475 bng 15 250 50 0 \$0reset empty Reset 0 -6 0 8 -189876 +-1 -1; +#X obj 30 250 hradio 10 1 0 8 \$0preset \$0presetR Preset 0 -6 0 8 +-129999 -1 -1 0; +#X symbolatom 30 206 14 0 0 0 - #0fileName #0nullS; +#X obj 30 260 hradio 10 1 0 8 \$0edit \$0editR empty 0 -6 0 8 -129264 +-1 -1 0; +#X text 139 473 Resets the pool. Currently not implemented.; +#X text 135 206 Displays the currently selected data file.; +#X text 137 419 Set a file to Load or Save to. These do not actually +move any data \, they simply choose the file to be operated upon.; +#X text 137 370 Prints the full contents of the RRADICAL pool.; +#X text 136 291 Save to \, or restore from \, the currently selected +data file. These are "greyed out" until a file is set.; +#X text 135 234 Loads a global substate (preset) setting into all rradical +patches. The bottom radio only sets the substate to operate on \, without +first loading its previous contents; +#X obj 141 326 cnv 19 19 19 empty empty ! 5 7 0 14 -1 -1 0; +#X obj 143 328 cnv 15 15 15 empty empty ! 5 7 0 14 -261761 -1 0; +#X text 163 321 Warning! "Restore" will also load the first preset +of all open patches.; +#X obj 29 509 r SAVE_PREP; +#X obj 29 540 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 +-1; +#X text 140 503 This is a bang sent by sft.careGUI (and [polaroid]) +just before saving \, to allow preparations for the save event. For +example \, one could use it to dump an array into a list into a commun +object so that it could be saved when the save message arrives.; +#X obj 4 6 cnv 15 430 50 empty empty sft.careGUI 20 12 0 16 -204352 +-66577 0; +#X text 22 25 for Memento; +#X text 367 559 Luke Iannini \, 2007; +#X text 311 37 Memento control GUI; +#X connect 19 0 20 0; diff --git a/semento/sft.careGUI.pd b/semento/sft.careGUI.pd new file mode 100644 index 0000000..cb5378f --- /dev/null +++ b/semento/sft.careGUI.pd @@ -0,0 +1,131 @@ +#N canvas 956 305 601 476 10; +#X obj 206 356 caretaker \$1; +#X obj 63 62 bng 15 250 50 0 \$0print empty Print 0 -6 0 8 -211762 +-1 -1; +#X obj 92 52 bng 25 250 50 0 \$0restore \$0restoreR ^^^^^ 0 -6 0 8 +-233017 -1 -1; +#X obj 24 52 bng 25 250 50 0 \$0save \$0saveR ^^^^^ 0 -6 0 8 -233017 +-1 -1; +#X obj 131 57 bng 20 250 50 0 \$0load empty Load 0 -6 0 8 -211157 -1 +-1; +#X obj 161 57 bng 20 250 50 0 \$0saveAs empty SaveAs 0 -6 0 8 -113396 +-1 -1; +#X obj 194 62 bng 15 250 50 0 \$0reset empty Reset 0 -6 0 8 -189876 +-1 -1; +#X obj 18 127 r \$0save; +#X obj 96 127 r \$0print; +#X obj 167 127 r \$0restore; +#X obj 307 97 r \$0load; +#X obj 435 97 r \$0saveAs; +#X obj 484 235 r \$0reset; +#X msg 18 232 save RRADICAL; +#X msg 96 198 print; +#X msg 167 209 load RRADICAL; +#X obj 130 23 hradio 10 1 0 8 \$0preset \$0presetR Preset 0 -6 0 8 +-129999 -1 -1 0; +#X obj 435 187 savepanel; +#X obj 307 187 openpanel; +#X msg 484 264 reset; +#X msg 346 242 file \$1; +#X msg 22 320 setsub 0; +#X obj 22 425 s SET_ALL_RRADICALS; +#X obj 18 198 t b b; +#X obj 45 97 s SAVE_PREP; +#X symbolatom 22 24 14 0 0 0 - #0fileName #0nullS; +#X obj 346 310 s \$0fileName; +#X obj 346 333 loadbang; +#X msg 346 356 symbol ChooseAFile...; +#X obj 130 33 hradio 10 1 0 8 \$0edit \$0editR empty 0 -6 0 8 -129264 +-1 -1 0; +#X obj 50 356 r \$0preset; +#X obj 244 17 r \$0preset; +#X msg 244 38 set \$1; +#X obj 244 60 s \$0editR; +#X msg 50 378 setsub \$1; +#X msg 118 378 substate \$1; +#X obj 118 357 r \$0edit; +#X obj 167 232 t b b a; +#X obj 167 274 outlet; +#X obj 346 286 ggee/stripdir; +#X obj 325 142 stat; +#X obj 348 163 route error; +#X obj 321 163 t b; +#X msg 307 116 symbol Presets; +#X obj 453 142 stat; +#X obj 476 163 route error; +#X obj 449 163 t b; +#X msg 435 116 symbol Presets; +#X obj 167 173 spigot; +#N canvas 1244 68 458 308 enablebuttons 0; +#X obj 38 82 inlet; +#X obj 38 105 t b; +#X obj 38 271 s \$0saveR; +#X obj 75 207 s \$0restoreR; +#X obj 170 25 loadbang; +#X obj 143 109 s \$0saveR; +#X obj 212 109 s \$0restoreR; +#X msg 170 58 color 10 -1 -1 \, label ^^^^^; +#X msg 38 238 color -2.54338e+06 -1 -1 \, label Save; +#X msg 75 178 color -1.50121e+07 -1 -1 \, label Restore; +#X msg 77 129 1; +#X obj 77 151 s \$0buttonBlock; +#X connect 0 0 1 0; +#X connect 1 0 8 0; +#X connect 1 0 9 0; +#X connect 1 0 10 0; +#X connect 4 0 7 0; +#X connect 7 0 5 0; +#X connect 7 0 6 0; +#X connect 8 0 2 0; +#X connect 9 0 3 0; +#X connect 10 0 11 0; +#X restore 346 264 pd enablebuttons; +#X obj 200 150 r \$0buttonBlock; +#X obj 18 173 spigot; +#X obj 51 150 r \$0buttonBlock; +#X connect 7 0 51 0; +#X connect 8 0 14 0; +#X connect 9 0 48 0; +#X connect 10 0 43 0; +#X connect 11 0 47 0; +#X connect 12 0 19 0; +#X connect 13 0 0 0; +#X connect 14 0 0 0; +#X connect 15 0 37 0; +#X connect 17 0 20 0; +#X connect 17 0 39 0; +#X connect 18 0 20 0; +#X connect 18 0 39 0; +#X connect 19 0 0 0; +#X connect 20 0 0 0; +#X connect 20 0 49 0; +#X connect 21 0 22 0; +#X connect 23 0 13 0; +#X connect 23 1 24 0; +#X connect 27 0 28 0; +#X connect 28 0 26 0; +#X connect 30 0 34 0; +#X connect 31 0 32 0; +#X connect 32 0 33 0; +#X connect 34 0 22 0; +#X connect 35 0 22 0; +#X connect 36 0 35 0; +#X connect 37 0 38 0; +#X connect 37 1 21 0; +#X connect 37 2 0 0; +#X connect 39 0 26 0; +#X connect 40 1 41 0; +#X connect 41 0 42 0; +#X connect 42 0 18 0; +#X connect 43 0 40 0; +#X connect 43 0 18 0; +#X connect 44 1 45 0; +#X connect 45 0 46 0; +#X connect 46 0 17 0; +#X connect 47 0 44 0; +#X connect 47 0 17 0; +#X connect 48 0 15 0; +#X connect 50 0 48 1; +#X connect 51 0 23 0; +#X connect 52 0 51 1; +#X coords 0 -1 1 1 200 70 1 20 10; diff --git a/semento/sft.commun.ez.pd b/semento/sft.commun.ez.pd new file mode 100644 index 0000000..2a202f2 --- /dev/null +++ b/semento/sft.commun.ez.pd @@ -0,0 +1,18 @@ +#N canvas 32 487 626 210 10; +#X obj 21 62 sft.commun \$2-\$3 \$1; +#X obj 21 28 r \$1\$3; +#X obj 21 92 s \$1\$3R; +#X text 154 18 Use like sft.commun.ez \$0 "uniqueID" paramName; +#X text 154 34 UniqueID is a /ID used to allow multiple units of one +type; +#X text 174 53 e.g. sft.cfm /sfs1 /busA /unitA = unitA is the uniqueID +; +#X text 205 68 thus you'd call as sft.commun.ez \$0 \$3 paramName; +#X text 157 123 paramName is mapped to the local xers* that would usually +be defined in the GUIcontrol. So a paramName of "baseFreq" will result +in "\$0baseFreq" and "\$0baseFreqR" \, which is 99% of cases.; +#X text 158 89 paramName is of course the parameter name \, but it +also gets mapped to the commun as uniqueID-paramName.; +#X text 434 183 *xers: [send]ers/[receive]rs; +#X connect 0 0 2 0; +#X connect 1 0 0 0; diff --git a/semento/sft.commun.pd b/semento/sft.commun.pd new file mode 100644 index 0000000..a623e69 --- /dev/null +++ b/semento/sft.commun.pd @@ -0,0 +1,35 @@ +#N canvas 560 190 666 338 10; +#X obj 162 41 inlet; +#X obj 161 260 outlet; +#X obj 161 158 r \$2-in; +#X obj 161 208 route \$1; +#X text 22 282 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 49 183 r \$2-RRADICAL-OSC; +#X obj 299 164 r \$2/listParams; +#X obj 299 221 list append \$1; +#X obj 162 72 prepent \$1; +#X obj 161 233 list; +#X obj 299 194 spigot 1; +#X obj 429 106 loadbang; +#X obj 429 154 sel hide; +#X msg 429 177 0; +#X obj 429 129 list append \$3; +#X obj 49 207 deeprouteOSC \$1; +#X obj 299 251 s \$2/returnParams; +#X connect 0 0 10 0; +#X connect 2 0 3 0; +#X connect 3 0 11 0; +#X connect 7 0 17 0; +#X connect 8 0 12 0; +#X connect 9 0 18 0; +#X connect 10 0 5 0; +#X connect 11 0 1 0; +#X connect 12 0 9 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 12 1; +#X connect 16 0 14 0; +#X connect 17 0 11 0; diff --git a/semento/sft.commun.sc-help.pd b/semento/sft.commun.sc-help.pd new file mode 100644 index 0000000..d77ac90 --- /dev/null +++ b/semento/sft.commun.sc-help.pd @@ -0,0 +1,31 @@ +#N canvas 731 31 580 522 10; +#X text 234 238 Inlet 2 changes the lower scaling bound; +#X text 326 278 Inlet 3 changes the upper scaling bound; +#X floatatom 235 253 5 0 0 0 - - -; +#X floatatom 330 294 5 0 0 0 - - -; +#X floatatom 141 223 5 0 0 0 - - -; +#X floatatom 141 353 5 0 0 0 - - -; +#X text 13 77 Obviously \, don't use this for communs that are meant +to store symbolic or list data (use regular sft.commun for that). (That +is \, only use this for OSC-control-intended stuff); +#X text 139 206 Inlet 1 is the standard commun input; +#X text 194 344 Argument 5 and 6 can be "round" and/or "hide" (the +order doesn't matter).; +#X text 454 497 2008 Luke Iannini; +#X text 10 494 Originally based on [commun-scale] by Frank Barknecht +; +#X obj 141 317 sft.commun.sc \$0 /parameter 5 37; +#X text 13 26 Use sft.commun.sc(ale) so that 0-1 values coming out +of OSC stuff (like Controctopus) can be rescaled appropriately.; +#X text 194 374 "hide" hides the parameter from Controctopus sniffing +(useful to pare down the options to just the most interesting inputs). +; +#X text 194 416 "round" rounds up from 0.5 increments so that an integer +is always output (useful for communs connected to v/hdials and toggles). +; +#X text 14 145 sft.commun.sc's first and second args are swapped from +sft.commun (i.e. \$0 and /parametername); +#X connect 2 0 11 1; +#X connect 3 0 11 2; +#X connect 4 0 11 0; +#X connect 11 0 5 0; diff --git a/semento/sft.commun.sc.ez.pd b/semento/sft.commun.sc.ez.pd new file mode 100644 index 0000000..50efdd9 --- /dev/null +++ b/semento/sft.commun.sc.ez.pd @@ -0,0 +1,13 @@ +#N canvas 33 512 438 278 10; +#X obj 106 66 r \$1\$3; +#X obj 106 125 s \$1\$3R; +#X text 47 201 \$3 is like /chptrA. In Bathyscaphe that's \$3 \, in +FXS it's \$2.; +#X text 47 231 Receives from \$0paramName and sends to \$0paramNameR +; +#X text 46 183 [sft.commun.sc.ez \$0 \$3 paramName 0 5000 btn* hide*] +; +#X text 46 250 *optional; +#X obj 106 96 sft.commun.sc \$1 \$2/\$3 \$4 \$5 \$6 \$7; +#X connect 0 0 6 0; +#X connect 6 0 1 0; diff --git a/semento/sft.commun.sc.pd b/semento/sft.commun.sc.pd new file mode 100644 index 0000000..7864b93 --- /dev/null +++ b/semento/sft.commun.sc.pd @@ -0,0 +1,132 @@ +#N canvas 405 191 1017 621 10; +#X obj 12 11 inlet; +#X obj 111 584 outlet; +#X text 5 93 RRADICAL_MEMENTO is also in originator; +#X obj 111 557 list; +#X obj 750 392 spigot 1; +#X msg 880 375 0; +#X obj 520 166 unpack f f; +#X text 629 515 Have an [OSCroute \$1-normalized] and leave the regular +[OSCroute \$1] directly connected. Yes. Do that after this is confirmed +working!; +#X obj 191 335 expr_scale 0 1 \$3 \$4; +#X obj 254 388 expr_scale 0 1 \$3 \$4; +#X obj 241 473 hotpack f f; +#X obj 766 26 loadbang; +#X msg 766 127 1; +#X obj -24 509 demultiplex; +#X obj 39 534 round; +#X obj 73 482 expr_scale 0 1 \$3 \$4; +#X obj 156 11 inlet; +#X obj 286 11 inlet; +#X text 628 559 Use to constrain input to a smaller subset of the full +range. Input as relative to 0-1. Reports back what the result will +be when scaled fully; +#X obj 156 59 s \$0boundLowFull; +#X obj 286 59 s \$0boundHighFull; +#X obj 520 210 s \$0constrainLow; +#X obj 577 188 s \$0constrainHigh; +#X obj 281 227 r \$0boundLowFull; +#X obj 331 248 r \$0boundHighFull; +#X obj 191 306 r \$0constrainLow; +#X obj 254 357 r \$0constrainHigh; +#X obj 456 30 loadbang; +#X msg 456 55 0 1; +#X obj 331 273 t b a; +#X obj 281 273 t b a; +#X obj 520 125 list; +#X obj 571 125 t a a; +#X obj 520 97 route get; +#X obj 241 497 t a a; +#X text 318 466 Allows one to replace the scaled output with something +prettier; +#X text 502 274 Used to recall the 0-1 ranged constraint; +#X obj 766 102 sel round hide; +#X obj 766 149 s \$0round?; +#X obj 0 483 r \$0round?; +#X obj -24 534 t a; +#X obj 766 78 list-drip; +#X obj 835 149 s \$0hide?; +#X obj 766 53 list append \$5 \$6; +#X obj 880 352 r \$0hide?; +#X text 38 193 Read \$1-OSC (== \$0-OSC) \, filter by argument \$2 +; +#X obj 153 171 deeprouteOSC \$2-normalized; +#X obj 30 172 deeprouteOSC \$2; +#X obj 30 148 r \$1-RRADICAL-OSC; +#X obj 153 148 r \$1-RRADICAL-OSC; +#X obj 12 42 prepent \$2; +#X obj 12 69 s \$1-RRADICAL-MEMENTO; +#X obj 520 30 r \$1-RRADICAL-OSC; +#X obj 520 53 routeOSC \$2-constrain; +#X obj 504 234 prepent \$2-constrained-to-0-1; +#X obj 504 255 s \$1-COMMUN-RESPONSE; +#X obj 750 362 r \$1/listParams; +#X obj 750 449 s \$1/returnParams; +#X obj 295 497 s \$1\$2/constraint/lookup/call; +#X obj 295 517 r \$1\$2/constraint/lookup/response; +#X obj 268 559 prepent \$2-constrained-to; +#X obj 268 580 s \$1-COMMUN-RESPONSE; +#X obj 111 532 route \$2; +#X obj 111 505 r \$1-in; +#X obj 750 419 list append \$2; +#X connect 0 0 50 0; +#X connect 3 0 1 0; +#X connect 4 0 64 0; +#X connect 5 0 4 1; +#X connect 6 0 21 0; +#X connect 6 1 22 0; +#X connect 8 0 10 0; +#X connect 8 0 15 3; +#X connect 9 0 10 1; +#X connect 9 0 15 4; +#X connect 10 0 34 0; +#X connect 11 0 43 0; +#X connect 12 0 38 0; +#X connect 13 0 40 0; +#X connect 13 1 14 0; +#X connect 14 0 40 0; +#X connect 15 0 13 0; +#X connect 16 0 19 0; +#X connect 17 0 20 0; +#X connect 23 0 30 0; +#X connect 24 0 29 0; +#X connect 25 0 8 0; +#X connect 26 0 9 0; +#X connect 27 0 28 0; +#X connect 28 0 6 0; +#X connect 29 0 9 0; +#X connect 29 1 9 4; +#X connect 29 1 8 4; +#X connect 30 0 8 0; +#X connect 30 1 9 3; +#X connect 30 1 8 3; +#X connect 31 0 6 0; +#X connect 31 0 54 0; +#X connect 32 0 6 0; +#X connect 32 1 31 1; +#X connect 33 0 31 0; +#X connect 33 1 32 0; +#X connect 34 0 58 0; +#X connect 34 1 60 0; +#X connect 37 0 12 0; +#X connect 37 1 42 0; +#X connect 39 0 13 1; +#X connect 40 0 3 0; +#X connect 41 0 37 0; +#X connect 43 0 41 0; +#X connect 44 0 5 0; +#X connect 46 0 15 0; +#X connect 47 0 15 0; +#X connect 48 0 47 0; +#X connect 49 0 46 0; +#X connect 50 0 51 0; +#X connect 52 0 53 0; +#X connect 53 0 33 0; +#X connect 54 0 55 0; +#X connect 56 0 4 0; +#X connect 59 0 60 0; +#X connect 60 0 61 0; +#X connect 62 0 3 0; +#X connect 63 0 62 0; +#X connect 64 0 57 0; diff --git a/semento/sft.commun.x-help.pd b/semento/sft.commun.x-help.pd new file mode 100644 index 0000000..e5ad3fd --- /dev/null +++ b/semento/sft.commun.x-help.pd @@ -0,0 +1,17 @@ +#N canvas 797 415 454 304 10; +#X text 25 26 sft.commun.x - Make a control visible to the OSC system +of Memento \, without state-saving.; +#X text 25 62 Mostly this is for buttons \, but could also work for +other controls whose state is transient in nature.; +#X obj 24 219 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 110 277 sft.originator /system1 \$0; +#X obj 24 143 sft.commun.x /button1 \$0; +#X msg 229 133 /system1/button1 bang; +#X obj 229 159 s PDOSC; +#X obj 229 239 s /system1/OSC; +#X msg 229 211 /button1 bang; +#X text 250 184 Or; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 8 0 7 0; diff --git a/semento/sft.commun.x.pd b/semento/sft.commun.x.pd new file mode 100644 index 0000000..7324c9f --- /dev/null +++ b/semento/sft.commun.x.pd @@ -0,0 +1,13 @@ +#N canvas 921 437 386 156 10; +#X obj 202 38 r \$2/listParams; +#X obj 202 65 list append \$1; +#X obj 24 107 outlet; +#X obj 24 30 r \$2-RRADICAL-OSC; +#X obj 24 80 list; +#X obj 24 54 deeprouteOSC \$1; +#X obj 202 95 s \$2/returnParams; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 3 0 5 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; diff --git a/semento/sft.originator.pd b/semento/sft.originator.pd new file mode 100644 index 0000000..579b6da --- /dev/null +++ b/semento/sft.originator.pd @@ -0,0 +1,265 @@ +#N canvas 210 71 1030 697 10; +#X text 425 22 responsibilities:; +#X text 98 10 ORIGINATOR (the mixing engineer); +#X text 447 59 * set memento (restore settings from photo); +#X text 448 40 * create memento (take photo); +#N canvas 76 23 720 450 createMemento 0; +#X obj 48 84 inlet; +#X obj 97 117 symbol \$1; +#X obj 97 90 loadbang; +#X obj 97 150 s \$0-memento; +#X text 75 49 \$1 is the default name of the memento \, that this originator +creates \, but it can be changed later.; +#X obj 74 179 outlet; +#X text 292 108 What is a memento?; +#X text 275 121 a memento is a directory in a global (data)pool; +#X obj 305 139 r \$0-memento; +#X msg 309 180 state \$1; +#X obj 319 213 s \$0-pool; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X restore 122 321 pd createMemento; +#X obj 122 104 inlet; +#N canvas 600 185 664 406 setMemento 0; +#X text 238 12 setMemento is responsible for restoring all registered +variables.; +#X obj 64 26 inlet; +#X obj 109 286 outlet; +#X obj 109 249 r \$0-restore; +#X msg 64 126 getall; +#X obj 64 183 s \$0-pool; +#N canvas 468 415 450 300 change2substate 0; +#X obj 92 39 inlet; +#X obj 113 198 outlet; +#X obj 185 93 r \$0-memento; +#X obj 280 93 r \$0-substate; +#X obj 113 144 pack s s 0; +#X obj 92 93 symbol chdir; +#X obj 92 67 t b; +#X obj 113 167 route list; +#X text 218 163 un-list again; +#X connect 0 0 6 0; +#X connect 2 0 4 1; +#X connect 3 0 4 2; +#X connect 4 0 7 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X restore 131 127 pd change2substate; +#X text 186 104 change to dir memento substate; +#X obj 64 52 t b b b; +#X obj 130 75 s \$0-set-ON; +#X connect 1 0 8 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 6 0 5 0; +#X connect 8 0 4 0; +#X connect 8 1 6 0; +#X connect 8 2 9 0; +#X restore 256 446 pd setMemento; +#X text 431 90 What is a memento?; +#X text 463 111 a memento is a directory in a global (data)pool; +#X text 432 135 What is a state?; +#X obj 563 328 r \$0-pool; +#X symbolatom 691 374 10 0 0 3 memento - -; +#X msg 170 103 create help; +#X msg 261 103 set memento; +#X obj 777 348 inlet; +#X obj 178 297 s \$0-substate; +#X obj 828 482 r \$0-substate; +#X msg 828 511 substate \$1; +#X msg 99 471 copy; +#X msg 210 472 paste; +#X obj 134 514 s \$0-pool; +#X obj 309 341 symbol; +#X obj 156 440 t b b; +#X 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; +#X obj 225 274 s \$0-pool; +#X text 819 348 OSC inlet; +#X text 462 154 a state is the content of a memento subdirectory named +by a number.; +#X obj 535 273 r \$2-RRADICAL-MEMENTO; +#X text 443 248 \$2-RRADICAL-MEMENTO is sent by commun objects; +#X obj 777 413 s \$2-RRADICAL-OSC; +#X obj 385 520 outlet; +#N canvas 468 415 450 300 ch2subs 0; +#X obj 92 39 inlet; +#X obj 113 198 outlet; +#X obj 185 93 r \$0-memento; +#X obj 280 93 r \$0-substate; +#X obj 113 144 pack s s 0; +#X obj 92 67 t b; +#X obj 113 167 route list; +#X text 218 163 un-list again; +#X obj 92 94 symbol chdir; +#X connect 0 0 5 0; +#X connect 2 0 4 1; +#X connect 3 0 4 2; +#X connect 4 0 6 0; +#X connect 5 0 8 0; +#X connect 6 0 1 0; +#X connect 8 0 4 0; +#X restore 255 252 pd ch2subs; +#X obj 225 230 t a b; +#X obj 563 382 spigot; +#X obj 448 520 spigot; +#N canvas 548 386 450 300 tgl 0; +#X obj 155 198 outlet; +#X obj 240 198 outlet; +#X msg 151 120 0; +#X msg 184 120 1; +#X msg 233 120 0; +#X msg 266 120 1; +#X obj 295 55 r \$0-set-ON; +#X obj 292 85 loadbang; +#X obj 185 65 r \$0-get-ON; +#X text 20 7 This tgl is to prevent some loops when using get and set. +; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X connect 7 0 2 0; +#X connect 8 0 3 0; +#X connect 8 0 4 0; +#X restore 486 348 pd tgl; +#X obj 235 177 t a b; +#X obj 287 175 s \$0-get-ON; +#X obj 385 493 spigot; +#X obj 448 544 outlet; +#X text 353 541 Value outlet; +#X text 494 545 Value/Key outlet; +#X obj 370 228 s \$0-substate; +#X obj 340 203 t b f; +#X obj 23 316 s \$0-pool; +#X obj 646 494 outlet; +#X text 641 515 OSC outlet; +#X obj 637 461 OSCprepend \$1; +#X msg 720 487 setsub \$1; +#X obj 720 547 s \$0-setsub; +#X obj 173 77 r \$0-setsub; +#X obj 161 378 select copy paste set; +#X obj 122 132 route create substate get setsub; +#X obj 340 251 s \$0-set; +#X obj 25 261 symbol; +#X obj 101 267 symbol; +#X obj 12 220 t b a; +#X msg 12 360 set; +#X text 12 382 after loadx \, set; +#X obj 12 77 r SET_ALL_RRADICALS; +#X obj 818 245 r \$0-substate; +#X text 795 218 \$2 == \$0 parent; +#X msg 818 270 set \$1; +#X obj 818 298 s \$2-parentstate; +#X msg 745 513 /preset \$1; +#X obj 563 351 sft.rradical.state \$1; +#X obj 262 77 r \$2-localSave; +#X text 14 47 global send to do something crazy with!; +#X obj 262 56 r \$1-localSetsub; +#X obj 22 197 route lddir svdir; +#X msg 23 285 lddir \$1; +#X msg 102 289 svdir \$1; +#X obj 884 377 r \$1/OSC; +#X obj 731 308 r PDOSC; +#X obj 77 580 r \$1/getParams; +#X obj 77 619 s \$2/listParams; +#X text 85 599 Dispatch to sft.communs; +#X obj 563 419 prepent RRADICAL.dummy; +#X obj 535 300 prepent set; +#X obj 448 493 prepent RRADICAL.dummy; +#X obj 235 196 prepent get; +#X obj 816 32 r \$2-COMMUN-RESPONSE; +#X obj 816 86 s PDOSC; +#X obj 816 60 OSCprepend \$1; +#X obj 764 437 routeOSC /preset /substate; +#X obj 777 377 deeprouteOSC \$1; +#X obj 247 579 r \$2/returnParams; +#X obj 247 619 s \$1/paramsList; +#X connect 5 0 55 0; +#X connect 10 0 68 0; +#X connect 11 0 50 1; +#X connect 12 0 55 0; +#X connect 13 0 55 0; +#X connect 14 0 88 0; +#X connect 16 0 17 0; +#X connect 16 0 67 0; +#X connect 17 0 26 0; +#X connect 18 0 20 0; +#X connect 19 0 20 0; +#X connect 21 0 54 0; +#X connect 22 0 25 0; +#X connect 22 1 19 0; +#X connect 24 0 6 0; +#X connect 30 0 50 0; +#X connect 30 0 81 0; +#X connect 34 0 27 0; +#X connect 35 0 27 0; +#X connect 35 1 34 0; +#X connect 36 0 80 0; +#X connect 37 0 42 0; +#X connect 38 0 37 1; +#X connect 38 0 41 1; +#X connect 38 1 36 1; +#X connect 39 0 83 0; +#X connect 39 1 40 0; +#X connect 41 0 33 0; +#X connect 46 0 56 0; +#X connect 46 1 45 0; +#X connect 50 0 48 0; +#X connect 51 0 52 0; +#X connect 53 0 55 0; +#X connect 54 0 18 0; +#X connect 54 1 22 0; +#X connect 54 2 6 0; +#X connect 55 0 4 0; +#X connect 55 1 15 0; +#X connect 55 2 39 0; +#X connect 55 3 46 0; +#X connect 55 4 21 0; +#X connect 55 4 72 0; +#X connect 57 0 73 0; +#X connect 58 0 74 0; +#X connect 59 0 60 0; +#X connect 59 1 57 0; +#X connect 60 0 21 0; +#X connect 62 0 55 0; +#X connect 63 0 65 0; +#X connect 65 0 66 0; +#X connect 67 0 50 0; +#X connect 68 0 36 0; +#X connect 68 0 41 0; +#X connect 68 0 82 0; +#X connect 68 1 80 1; +#X connect 68 1 82 1; +#X connect 68 2 11 0; +#X connect 69 0 55 0; +#X connect 71 0 55 0; +#X connect 72 0 59 0; +#X connect 72 1 58 0; +#X connect 73 0 47 0; +#X connect 74 0 47 0; +#X connect 75 0 32 0; +#X connect 75 0 87 0; +#X connect 76 0 88 0; +#X connect 77 0 78 0; +#X connect 80 0 23 0; +#X connect 81 0 68 0; +#X connect 82 0 37 0; +#X connect 83 0 35 0; +#X connect 84 0 86 0; +#X connect 86 0 85 0; +#X connect 87 0 51 0; +#X connect 87 1 51 0; +#X connect 88 0 32 0; +#X connect 88 0 87 0; +#X connect 89 0 90 0; diff --git a/semento/sft.rradical.state.pd b/semento/sft.rradical.state.pd new file mode 100644 index 0000000..a7f7b2a --- /dev/null +++ b/semento/sft.rradical.state.pd @@ -0,0 +1,220 @@ +#N canvas 33 22 1040 638 10; +#X obj 108 454 outlet; +#X obj 87 475 outlet; +#X obj 173 410 print attr; +#X obj 87 380 pool RRADICAL; +#X obj 205 46 inlet; +#X obj 42 331 r \$0-pool; +#X obj 356 373 s \$0-pool; +#X obj 205 124 symbol \$1; +#X obj 134 29 loadbang; +#X msg 255 278 getdir; +#X obj 130 433 outlet; +#X obj 457 313 prepend get; +#X msg 306 160 getall; +#X obj 386 228 s \$0-substate; +#X obj 356 203 t b f; +#X msg 121 318 echodir \$1; +#X obj 121 291 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X msg 118 347 getdir; +#X msg 137 79 bang; +#X msg 508 190 copyall; +#X msg 565 190 paste; +#X obj 532 223 s \$0-pool; +#X obj 508 136 symbol; +#N canvas 468 415 458 308 mkchange2substate 0; +#X obj 92 39 inlet; +#X obj 111 224 outlet; +#X obj 198 93 r \$0-memento; +#X obj 293 93 r \$0-substate; +#X obj 111 150 pack s s 0; +#X obj 92 93 symbol mkchdir; +#X obj 92 67 t b; +#X obj 111 180 route list; +#X text 204 180 Un-List it again; +#X connect 0 0 6 0; +#X connect 2 0 4 1; +#X connect 3 0 4 2; +#X connect 4 0 7 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X restore 356 274 pd mkchange2substate; +#X obj 205 160 t b b s; +#X obj 249 209 s \$0-memento; +#X obj 17 525 print pool; +#X obj 205 84 route state getstate getall substate set get; +#X obj 508 160 select copy paste; +#X obj 698 550 s \$0-pool; +#X obj 17 544 print svld; +#X obj 601 373 symbol; +#X obj 793 377 symbol; +#X obj 17 563 print currentDir; +#X msg 191 349 printroot; +#N canvas 468 415 478 328 mkchange2tmp 0; +#X obj 92 39 inlet; +#X obj 111 224 outlet; +#X obj 198 93 r \$0-memento; +#X obj 92 93 symbol mkchdir; +#X obj 92 67 t b; +#X obj 111 180 route list; +#X text 204 180 Un-List it again; +#X msg 296 94 symbol tmp; +#X obj 111 150 pack s s s; +#X obj 296 66 loadbang; +#X msg 167 37 bang; +#X connect 0 0 4 0; +#X connect 2 0 8 1; +#X connect 3 0 8 0; +#X connect 4 0 3 0; +#X connect 5 0 1 0; +#X connect 7 0 8 2; +#X connect 8 0 5 0; +#X connect 9 0 7 0; +#X connect 10 0 4 0; +#X restore 623 347 pd mkchange2tmp; +#N canvas 1317 161 462 312 mkchange2substate 0; +#X obj 92 39 inlet; +#X obj 111 224 outlet; +#X obj 198 93 r \$0-memento; +#X obj 293 93 r \$0-substate; +#X obj 111 150 pack s s 0; +#X obj 92 93 symbol mkchdir; +#X obj 111 180 route list; +#X text 204 180 Un-List it again; +#X text 195 29 change back to substate dir; +#X obj 92 67 t b b; +#X msg 38 98 clrclip; +#X connect 0 0 9 0; +#X connect 2 0 4 1; +#X connect 3 0 4 2; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 1 0; +#X connect 9 0 10 0; +#X connect 9 1 5 0; +#X connect 10 0 1 0; +#X restore 771 424 pd mkchange2substate; +#X obj 579 325 t b a b; +#N canvas 405 362 623 338 sub2tmp 0; +#X obj 121 12 inlet; +#X obj 111 224 outlet; +#X obj 198 93 r \$0-memento; +#X obj 92 93 symbol mkchdir; +#X obj 111 180 route list; +#X text 204 180 Un-List it again; +#X msg 36 91 paste; +#X obj 121 40 t b b b; +#X msg 406 90 copyall; +#X text 189 8 copies data from current dir \, changes to "tmp" dir +\, pastes data.; +#X obj 293 93 symbol tmp; +#X msg 294 47 bang; +#X obj 359 47 loadbang; +#X obj 111 150 pack s s s; +#X connect 0 0 7 0; +#X connect 2 0 13 1; +#X connect 3 0 13 0; +#X connect 4 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 6 0; +#X connect 7 1 3 0; +#X connect 7 2 8 0; +#X connect 8 0 1 0; +#X connect 10 0 13 2; +#X connect 11 0 10 0; +#X connect 12 0 10 0; +#X connect 13 0 4 0; +#X restore 815 348 pd sub2tmp; +#X obj 771 324 t b a b; +#X msg 536 357 bang; +#X obj 17 582 print currentCommand; +#X obj 661 100 t a; +#N canvas 757 334 643 358 tmp2sub+abs1 0; +#X obj 121 12 inlet; +#X obj 181 257 outlet; +#X obj 268 126 r \$0-memento; +#X obj 363 126 r \$0-substate; +#X obj 181 183 pack s s 0; +#X obj 162 126 symbol mkchdir; +#X obj 181 213 route list; +#X text 274 213 Un-List it again; +#X msg 106 124 paste; +#X msg 476 123 copyall; +#X obj 121 40 t b b b b; +#X msg 35 125 absdir 1; +#X text 191 19 copies data from "tmp" dir \, changes to current substate +\, pastes data \, returns to absolute directory mode.; +#X connect 0 0 10 0; +#X connect 2 0 4 1; +#X connect 3 0 4 2; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 1 0; +#X connect 8 0 1 0; +#X connect 9 0 1 0; +#X connect 10 0 11 0; +#X connect 10 1 8 0; +#X connect 10 2 5 0; +#X connect 10 3 9 0; +#X connect 11 0 1 0; +#X restore 579 417 pd tmp2sub+abs1; +#X obj 661 293 route lddir svdir; +#X msg 793 398 absdir 0 \, svdir \$1 \, absdir 1; +#X msg 601 393 absdir 0 \, lddir \$1; +#X obj 407 160 prepent set; +#X connect 3 0 1 0; +#X connect 3 1 0 0; +#X connect 3 2 10 0; +#X connect 3 4 2 0; +#X connect 4 0 27 0; +#X connect 5 0 3 0; +#X connect 7 0 24 0; +#X connect 8 0 7 0; +#X connect 9 0 6 0; +#X connect 11 0 6 0; +#X connect 12 0 6 0; +#X connect 14 0 23 0; +#X connect 14 1 13 0; +#X connect 15 0 3 0; +#X connect 16 0 15 0; +#X connect 17 0 3 0; +#X connect 18 0 7 0; +#X connect 19 0 21 0; +#X connect 20 0 21 0; +#X connect 22 0 28 0; +#X connect 23 0 6 0; +#X connect 24 0 9 0; +#X connect 24 1 23 0; +#X connect 24 2 25 0; +#X connect 27 0 7 0; +#X connect 27 1 9 0; +#X connect 27 2 12 0; +#X connect 27 3 14 0; +#X connect 27 4 47 0; +#X connect 27 5 11 0; +#X connect 27 6 22 0; +#X connect 27 6 42 0; +#X connect 28 0 19 0; +#X connect 28 1 20 0; +#X connect 31 0 46 0; +#X connect 32 0 45 0; +#X connect 34 0 3 0; +#X connect 35 0 29 0; +#X connect 36 0 29 0; +#X connect 37 0 43 0; +#X connect 37 1 31 0; +#X connect 37 2 35 0; +#X connect 38 0 29 0; +#X connect 39 0 36 0; +#X connect 39 1 32 0; +#X connect 39 2 38 0; +#X connect 40 0 31 0; +#X connect 42 0 44 0; +#X connect 43 0 29 0; +#X connect 44 0 37 0; +#X connect 44 1 39 0; +#X connect 45 0 29 0; +#X connect 46 0 29 0; +#X connect 47 0 6 0; |