aboutsummaryrefslogtreecommitdiff
path: root/abstractions
diff options
context:
space:
mode:
Diffstat (limited to 'abstractions')
-rw-r--r--abstractions/dir2abstractionArray.pd173
-rw-r--r--abstractions/dirlist.pd42
-rw-r--r--abstractions/pt.entry.pd67
-rw-r--r--abstractions/pt.filelist.pd93
-rw-r--r--abstractions/pt.layerfx.pd83
-rw-r--r--abstractions/stripExtension.pd18
-rw-r--r--abstractions/stripPath.pd16
7 files changed, 241 insertions, 251 deletions
diff --git a/abstractions/dir2abstractionArray.pd b/abstractions/dir2abstractionArray.pd
index 2011e75..e89a4e9 100644
--- a/abstractions/dir2abstractionArray.pd
+++ b/abstractions/dir2abstractionArray.pd
@@ -1,35 +1,46 @@
-#N canvas 393 22 707 710 10;
-#X obj 362 408 + 10;
-#X obj 365 363 t f f;
-#X obj 392 341 + 1;
-#X obj 336 318 t a b;
-#X obj 360 341 f 0;
-#X msg 382 318 0;
-#X text 453 221 reset;
-#X obj 409 437 f \$0;
-#X obj 362 387 * 120;
-#X obj 455 240 loadbang;
-#X obj 336 297 stripExtension;
+#N canvas 429 66 786 731 10;
+#X obj 354 415 + 10;
+#X obj 357 370 t f f;
+#X obj 384 348 + 1;
+#X obj 328 325 t a b;
+#X obj 352 348 f 0;
+#X msg 374 325 0;
+#X text 445 178 reset;
+#X obj 401 444 f \$0;
+#X obj 354 394 * 120;
+#X obj 447 197 loadbang;
+#X obj 328 274 stripExtension;
#X obj 18 167 inlet;
#X obj 28 190 s \$0-in;
#X obj 28 403 r \$0-out;
#X obj 18 426 outlet;
-#X obj 241 115 inlet;
-#X obj 467 314 makesymbol pd-%s-array;
-#X obj 467 294 f \$0;
-#N canvas 198 331 842 530 1590-array 0;
+#X obj 312 100 inlet;
+#X obj 459 271 makesymbol pd-%s-array;
+#X obj 459 251 f \$0;
+#N canvas 198 308 862 550 1100-array 0;
+#X obj 10 10 pixeltango/fx/edge 1 1100 1090;
+#X obj 130 10 pixeltango/fx/emboss 2 1100 1090;
+#X obj 250 10 pixeltango/fx/gain 3 1100 1090;
+#X obj 370 10 pixeltango/fx/motionblur 4 1100 1090;
+#X obj 490 10 pixeltango/fx/negative 5 1100 1090;
+#X obj 610 10 pixeltango/fx/normalize 6 1100 1090;
+#X obj 730 10 pixeltango/fx/posterize 7 1100 1090;
+#X obj 850 10 pixeltango/fx/randomdot 8 1100 1090;
+#X obj 970 10 pixeltango/fx/roll 9 1100 1090;
+#X obj 1090 10 pixeltango/fx/rtx-DANGER_USE_AT_YOUR_OWN_RISK 10 1100
+1090;
+#X obj 1210 10 pixeltango/fx/scanline 11 1100 1090;
#X restore 19 455 pd \$0-array;
-#X obj 313 158 t a b;
-#X obj 464 178 s \$0-selector;
-#X obj 446 149 inlet;
-#X obj 525 441 outlet;
-#X text 281 114 which Abst to route through?;
-#X text 528 459 List of options;
-#X obj 525 421 prepend Passthrough;
+#X obj 311 123 t a b;
+#X obj 459 144 s \$0-selector;
+#X obj 441 115 inlet;
+#X obj 517 398 outlet;
+#X text 487 117 which Abst to route through?;
+#X text 520 416 List of options;
#X obj 18 373 spigot;
-#X msg 363 182 1;
-#X obj 430 178 == 0;
-#X obj 382 437 + 1;
+#X msg 193 310 1;
+#X obj 425 144 == 0;
+#X obj 374 444 + 1;
#X obj 106 167 inlet;
#X obj 106 426 outlet;
#X obj 106 373 spigot;
@@ -38,78 +49,82 @@
#X obj 241 631 makesymbol pd-%s-array;
#X msg 241 651 \; \$1 clear;
#X obj 241 611 f \$0;
-#X obj 241 186 route clear;
-#X obj 336 470 pack s f f f s f;
-#X obj 443 437 f \$1;
-#X obj 456 262 t b b b;
-#X msg 336 496 \; \$5 obj \$2 10 \$1 \$3 \$4 \$6;
-#X text 14 10 This abstraction takes a glob pattern in a directory
-and creates an array of the abstractions in that folder in an internal
+#X obj 328 477 pack s f f f s f;
+#X obj 435 444 f \$1;
+#X obj 448 219 t b b b;
+#X msg 328 503 \; \$5 obj \$2 10 \$1 \$3 \$4 \$6;
+#X text 14 8 This abstraction takes a glob pattern in a directory and
+creates an array of the abstractions in that folder in an internal
subpatch called [pd \$0-array]. The abstractions are meant to be routing
objects so they all have a global receive and send \, but only one
abstraction in the array at a time will receive input. The abstractions
must contain at least a arrayRouterIn abstraction to broker the communication.
;
-#X obj 313 210 dirlist;
-#X msg 313 533 symbol \$1;
-#X obj 313 254 drip;
-#X obj 313 553 stripPath;
-#X obj 313 275 t l l;
-#X obj 313 573 makesymbol pd-%s;
-#X msg 313 593 \; \$1 loadbang;
-#X text 407 600 <- Special Thanks to Roman Haefeli;
-#X connect 0 0 39 1;
+#X obj 305 550 stripPath;
+#X obj 305 570 makesymbol pd-%s;
+#X msg 305 590 \; \$1 loadbang;
+#X text 399 597 <- Special Thanks to Roman Haefeli;
+#X obj 304 210 folder_list;
+#X obj 241 186 route clear pattern;
+#X obj 305 232 t s s;
+#X msg 508 372 append \$1;
+#X msg 515 344 options \, append Passthrough;
+#X msg 223 578 bang;
+#X obj 329 300 makesymbol pixeltango/fx/%s;
+#X connect 0 0 37 1;
#X connect 1 0 8 0;
-#X connect 1 1 29 0;
+#X connect 1 1 28 0;
#X connect 2 0 4 1;
-#X connect 3 0 39 0;
+#X connect 3 0 37 0;
#X connect 3 1 4 0;
#X connect 4 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 4 1;
-#X connect 7 0 39 3;
+#X connect 7 0 37 3;
#X connect 8 0 0 0;
#X connect 9 0 5 0;
-#X connect 9 0 27 0;
-#X connect 9 0 41 0;
-#X connect 10 0 3 0;
+#X connect 9 0 26 0;
+#X connect 9 0 39 0;
+#X connect 10 0 52 0;
#X connect 11 0 12 0;
-#X connect 11 0 26 0;
+#X connect 11 0 25 0;
#X connect 13 0 14 0;
#X connect 15 0 19 0;
-#X connect 16 0 39 4;
+#X connect 16 0 37 4;
#X connect 17 0 16 0;
-#X connect 19 0 38 0;
+#X connect 19 0 47 0;
#X connect 19 1 17 0;
#X connect 19 1 5 0;
-#X connect 19 1 27 0;
+#X connect 19 1 26 0;
+#X connect 19 1 50 0;
#X connect 21 0 20 0;
-#X connect 21 0 28 0;
-#X connect 25 0 22 0;
-#X connect 26 0 14 0;
-#X connect 27 0 26 1;
-#X connect 27 0 32 1;
-#X connect 28 0 26 1;
-#X connect 28 0 32 1;
-#X connect 29 0 39 2;
-#X connect 30 0 32 0;
-#X connect 30 0 33 0;
-#X connect 32 0 31 0;
-#X connect 34 0 31 0;
-#X connect 35 0 36 0;
-#X connect 37 0 35 0;
-#X connect 38 0 37 0;
-#X connect 38 1 44 0;
-#X connect 39 0 42 0;
-#X connect 40 0 39 5;
-#X connect 41 0 7 0;
-#X connect 41 1 17 0;
-#X connect 41 2 40 0;
-#X connect 44 0 25 0;
-#X connect 44 0 46 0;
-#X connect 45 0 47 0;
+#X connect 21 0 27 0;
+#X connect 25 0 14 0;
+#X connect 26 0 25 1;
+#X connect 26 0 31 1;
+#X connect 27 0 25 1;
+#X connect 27 0 31 1;
+#X connect 28 0 37 2;
+#X connect 29 0 31 0;
+#X connect 29 0 32 0;
+#X connect 31 0 30 0;
+#X connect 33 0 30 0;
+#X connect 34 0 35 0;
+#X connect 36 0 34 0;
+#X connect 37 0 40 0;
+#X connect 38 0 37 5;
+#X connect 39 0 7 0;
+#X connect 39 1 17 0;
+#X connect 39 2 38 0;
+#X connect 42 0 49 0;
+#X connect 42 0 43 0;
+#X connect 43 0 44 0;
#X connect 46 0 48 0;
-#X connect 47 0 49 0;
-#X connect 48 0 45 0;
+#X connect 47 0 36 0;
+#X connect 47 1 46 0;
+#X connect 48 0 42 0;
#X connect 48 1 10 0;
-#X connect 49 0 50 0;
+#X connect 49 0 22 0;
+#X connect 50 0 22 0;
+#X connect 51 0 36 0;
+#X connect 52 0 3 0;
diff --git a/abstractions/dirlist.pd b/abstractions/dirlist.pd
index d3fa366..7f65598 100644
--- a/abstractions/dirlist.pd
+++ b/abstractions/dirlist.pd
@@ -1,29 +1,13 @@
-#N canvas 133 243 542 374 10;
-#X obj 20 61 inlet;
-#X obj 20 234 outlet;
-#X obj 215 84 loadbang;
-#X text 129 200 \$1 is pattern \$2 is dir;
-#X text 15 284 ONLY sends absolute pathnames \, otherwise hard to add
-before load!;
-#X msg 54 175 \$1 \$2;
-#X obj 20 210 py pt dirlist;
-#X obj 20 84 route pattern set-dir bang;
-#X obj 54 154 pack s s;
-#X obj 125 122 symbol \$2;
-#X obj 54 122 symbol \$1;
-#X text 20 17 Lists the files in a set with 'set-dir' selector. Sends
-the files matching 'pattern' selector as a list. Requires PWD to provide
-a reasonable default location.;
-#X obj 215 123 getdir;
-#X connect 0 0 7 0;
-#X connect 2 0 12 0;
-#X connect 5 0 6 1;
-#X connect 6 0 1 0;
-#X connect 7 0 10 0;
-#X connect 7 1 9 0;
-#X connect 7 2 9 0;
-#X connect 7 2 10 0;
-#X connect 8 0 5 0;
-#X connect 9 0 8 1;
-#X connect 10 0 8 0;
-#X connect 12 0 8 1;
+#N canvas 432 263 556 400 12;
+#X obj 250 169 folder_list;
+#X obj 164 83 trigger bang bang;
+#X obj 177 264 tolist;
+#X obj 179 334 print;
+#X msg 151 41 bang;
+#X msg 250 142 symbol /usr/*;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 1 1 5 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
diff --git a/abstractions/pt.entry.pd b/abstractions/pt.entry.pd
index 04b8a05..d759b9b 100644
--- a/abstractions/pt.entry.pd
+++ b/abstractions/pt.entry.pd
@@ -1,5 +1,5 @@
-#N canvas 531 201 130 142 10;
-#N canvas 667 321 508 411 interna 0;
+#N canvas 502 122 445 317 10;
+#N canvas 667 321 524 427 interna 0;
#X text 10 3 Control of text object in chain;
#X obj 9 21 cnv 15 450 350 empty empty empty 5 8 1 10 -260390 -1 0
;
@@ -14,20 +14,19 @@
#X obj 14 137 r \$0-font-size;
#X msg 14 159 size \$1;
#X obj 92 51 prepend text;
-#X obj 148 94 mementoSetup pt.entry \$0;
+#X obj 173 130 mementoSetup pt.entry \$0;
#X obj 44 204 r \$0-font;
-#X obj 207 279 s \$0-font-popup;
-#X obj 207 222 dirlist;
-#X obj 268 234 print pt.entry-Font-Dir;
-#X msg 158 164 pattern *.ttf;
-#X obj 148 115 t b b;
-#X msg 207 190 set-dir /Applications/PixelTANGO/fonts;
-#X obj 156 138 delay 150;
+#X obj 173 276 s \$0-font-popup;
#X msg 33 302 list 1 2;
#X obj 40 353 print;
#X obj 39 325 t b l;
-#X obj 268 215 route set-dir;
-#X obj 207 256 prepend options;
+#X msg 172 255 append \$1;
+#X obj 172 234 folder_list;
+#X obj 172 151 delay 250;
+#X obj 172 193 getdir;
+#X obj 172 214 makesymbol %s/../fonts/*.ttf;
+#X obj 172 171 t b b;
+#X msg 220 193 options;
#X connect 2 0 13 0;
#X connect 4 0 3 0;
#X connect 5 0 12 0;
@@ -36,21 +35,20 @@
#X connect 10 0 11 0;
#X connect 11 0 4 0;
#X connect 12 0 4 0;
-#X connect 13 0 19 0;
+#X connect 13 0 21 0;
#X connect 13 1 3 0;
#X connect 14 0 6 0;
-#X connect 16 0 26 0;
-#X connect 18 0 16 0;
-#X connect 19 0 21 0;
-#X connect 19 1 20 0;
-#X connect 20 0 16 0;
-#X connect 20 0 25 0;
-#X connect 21 0 18 0;
-#X connect 22 0 24 0;
-#X connect 24 0 23 0;
-#X connect 24 1 23 0;
-#X connect 25 0 17 0;
-#X connect 26 0 15 0;
+#X connect 16 0 18 0;
+#X connect 18 0 17 0;
+#X connect 18 1 17 0;
+#X connect 19 0 15 0;
+#X connect 20 0 19 0;
+#X connect 21 0 24 0;
+#X connect 22 0 23 0;
+#X connect 23 0 20 0;
+#X connect 24 0 22 0;
+#X connect 24 1 25 0;
+#X connect 25 0 15 0;
#X restore 9 241 pd interna;
#X obj 9 219 inlet;
#X obj 74 219 inlet;
@@ -75,9 +73,9 @@
#X obj 165 199 s \$0-font;
#X obj 251 116 commun /font \$0;
#X obj 186 94 route bang;
-#X msg 159 236 options Empty;
-#X obj 186 146 popup_lister 500 \$0-font-popup;
-#X obj 3 92 popup 124 25 grey95 Font Empty;
+#X obj 3 92 popup 124 25 grey95 Font;
+#X obj 183 139 r \$0-font-popup;
+#X msg 158 236 options;
#X connect 0 0 3 0;
#X connect 0 1 4 0;
#X connect 1 0 0 0;
@@ -95,11 +93,10 @@
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 16 1 14 0;
-#X connect 18 0 22 0;
-#X connect 19 0 21 0;
+#X connect 18 0 20 0;
#X connect 19 1 18 0;
-#X connect 20 0 22 0;
-#X connect 21 0 22 0;
-#X connect 22 0 19 0;
-#X connect 22 1 17 0;
-#X coords 0 0 1 1 130 142 1;
+#X connect 20 0 19 0;
+#X connect 20 1 17 0;
+#X connect 21 0 20 0;
+#X connect 22 0 20 0;
+#X coords 0 0 1 1 130 142 1 0 0;
diff --git a/abstractions/pt.filelist.pd b/abstractions/pt.filelist.pd
index 1b7bb71..7aa5cef 100644
--- a/abstractions/pt.filelist.pd
+++ b/abstractions/pt.filelist.pd
@@ -1,7 +1,7 @@
-#N canvas 394 251 130 112 10;
+#N canvas 19 424 609 373 10;
#X obj 1 1 cnv 5 128 110 empty empty List_Files 5 6 1 9 -249661 -66577
0;
-#N canvas 544 188 599 585 interna 0;
+#N canvas 544 188 619 605 interna 0;
#X obj 115 20 cnv 15 350 500 empty empty empty 5 8 1 10 -260390 -1
0;
#X obj 326 474 prepend file;
@@ -12,44 +12,61 @@
#X obj 21 334 outlet;
#X obj 326 454 prepend open;
#X text 9 4 Facility to glob directories of files;
-#X obj 164 218 dirlist;
-#X obj 235 145 r \$0-dir;
-#X obj 123 145 r \$0-pattern;
-#X obj 123 165 prepend pattern;
+#X obj 304 202 r \$0-dir;
+#X obj 133 211 r \$0-pattern;
#X obj 236 50 mementoSetup pt.filelist \$0;
-#X obj 236 90 f \$0;
-#X obj 164 266 s \$0-files;
+#X obj 132 481 s \$0-files;
#X obj 326 434 r \$0-file;
-#X obj 164 242 prepend options;
-#X msg 253 191 set-dir \$1;
-#X msg 236 110 \; \$1-set-pattern symbol *;
-#X obj 235 219 s \$0-dir-in;
-#X obj 124 475 r \$0-reload;
-#X obj 124 497 s \$0-set-pattern;
-#X obj 304 145 r \$0-dir-out;
-#X obj 236 70 delay 65;
+#X obj 304 243 s \$0-dir-in;
+#X obj 177 240 r \$0-reload;
+#X obj 303 265 r \$0-dir-out;
#X text 21 533 if the directory is the same then don't send back to
symbol;
-#X obj 235 165 dirpanel;
+#X obj 304 222 dirpanel;
+#X obj 132 440 folder_list;
+#X msg 132 460 append \$1;
+#X text 210 482 2popup;
+#X obj 134 310 symbol;
+#X obj 185 334 symbol;
+#X text 187 312 pattern;
+#X text 234 335 directory;
+#X obj 133 397 makesymbol %s/%s;
+#X obj 133 355 pack s s;
+#X obj 266 123 getdir;
+#X msg 134 376 list \$2 \$1;
+#X obj 133 417 t s b;
+#X msg 225 440 options;
+#X obj 236 71 delay 250;
+#X obj 133 189 s \$0-set-pattern;
+#X obj 236 94 t b b;
+#X msg 133 169 symbol *;
#X connect 1 0 3 0;
-#X connect 2 0 13 0;
+#X connect 2 0 11 0;
#X connect 5 0 6 0;
#X connect 7 0 1 0;
-#X connect 9 0 17 0;
-#X connect 10 0 26 0;
-#X connect 11 0 12 0;
-#X connect 12 0 9 0;
-#X connect 13 0 24 0;
-#X connect 13 1 3 0;
-#X connect 14 0 19 0;
-#X connect 16 0 7 0;
-#X connect 17 0 15 0;
-#X connect 18 0 9 0;
-#X connect 21 0 22 0;
-#X connect 23 0 18 0;
-#X connect 24 0 14 0;
-#X connect 26 0 18 0;
-#X connect 26 0 20 0;
+#X connect 9 0 18 0;
+#X connect 10 0 22 0;
+#X connect 11 0 32 0;
+#X connect 11 1 3 0;
+#X connect 13 0 7 0;
+#X connect 15 0 22 0;
+#X connect 16 0 23 0;
+#X connect 18 0 14 0;
+#X connect 19 0 20 0;
+#X connect 20 0 12 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 1;
+#X connect 26 0 30 0;
+#X connect 27 0 29 0;
+#X connect 28 0 14 0;
+#X connect 29 0 26 0;
+#X connect 30 0 19 0;
+#X connect 30 1 31 0;
+#X connect 31 0 12 0;
+#X connect 32 0 34 0;
+#X connect 34 0 35 0;
+#X connect 34 1 28 0;
+#X connect 35 0 33 0;
#X restore 10 295 pd interna;
#X obj 10 273 inlet;
#X obj 75 274 inlet;
@@ -75,8 +92,7 @@ symbol;
#X obj 386 9 r \$0-dir-out;
#X obj 386 122 s \$0-dir-in;
#X obj 301 97 t b b;
-#X msg 17 215 options empty \, name files;
-#X obj 3 81 popup 124 25 grey95 files empty;
+#X obj 3 81 popup 124 25 grey95 files;
#X obj 147 22 r \$0-files;
#X connect 1 0 4 0;
#X connect 1 1 5 0;
@@ -91,7 +107,6 @@ symbol;
#X connect 21 0 11 0;
#X connect 23 0 12 0;
#X connect 23 1 22 0;
-#X connect 24 0 25 0;
-#X connect 25 1 9 0;
-#X connect 26 0 25 0;
-#X coords 0 0 1 1 130 112 1;
+#X connect 24 1 9 0;
+#X connect 25 0 24 0;
+#X coords 0 0 1 1 130 112 1 0 0;
diff --git a/abstractions/pt.layerfx.pd b/abstractions/pt.layerfx.pd
index 79deff6..0e3479f 100644
--- a/abstractions/pt.layerfx.pd
+++ b/abstractions/pt.layerfx.pd
@@ -1,4 +1,4 @@
-#N canvas 76 42 130 49 10;
+#N canvas 277 433 390 250 10;
#X obj 1 1 cnv 5 128 47 empty empty empty 5 6 1 9 -249661 -66577 0
;
#X text 6 52 layer_fx;
@@ -15,7 +15,7 @@ references? (how to manage them?) dir2Abstraction array would need
to do the work... the paths would be absolute.;
#X obj 159 28 route bang;
#X obj 75 91 inlet;
-#N canvas 135 22 674 578 new 0;
+#N canvas 597 235 654 526 new 0;
#X obj 13 28 inlet;
#X text 13 -1 Pixel Effects;
#X obj 13 447 outlet;
@@ -25,70 +25,47 @@ to do the work... the paths would be absolute.;
#X obj 569 123 outlet;
#X obj 65 46 r \$0-fxAmount;
#X obj 392 58 mementoSetup pt.layerfx \$0;
-#X obj 119 389 prepend options;
#X obj 169 313 r \$0-index;
-#X obj 119 416 s \$0-index-set;
-#X msg 72 168 pattern fx/*.pd;
-#X text 416 233 ^ Hard-coded \, bad bad bad!;
-#X obj 84 72 r pt.updateArrays;
-#X obj 137 95 loadbang;
-#X msg 202 247 clear bang;
-#X obj 248 343 print pt.layerfx-Dynamic-FX;
-#X msg 248 293 bang;
-#X obj 13 346 dir2abstractionArray \$0;
+#X obj 169 379 s \$0-index-set;
+#X obj 80 72 r pt.updateArrays;
+#X obj 133 95 loadbang;
+#X msg 198 247 clear bang;
#X obj 392 80 s \$0-defaults;
#X obj 448 129 route layerNum;
-#X obj 383 419 print DEBUG;
-#X msg 145 198 set-dir /Applications/PixelTANGO-CVS/abstractions/;
-#X obj 383 370 pack s s f;
-#X obj 262 318 prepend symbol;
-#X msg 383 397 Dir: \$2 Read-dir: \$1 Layernum \$3;
-#X obj 415 292 prepend symbol;
-#X obj 123 116 t b b b;
-#X obj 415 270 route set-dir;
+#X obj 119 116 t b b b;
+#X obj 118 174 getdir;
+#X obj 118 195 makefilename %s/fx/*.pd;
+#X obj 13 346 dir2abstractionArray \$0;
+#X msg 118 218 pattern symbol \$1;
+#X msg 134 149 bang;
#X connect 0 0 18 0;
#X connect 4 0 7 0;
#X connect 6 0 18 1;
-#X connect 7 0 19 0;
+#X connect 7 0 13 0;
#X connect 7 1 5 0;
-#X connect 7 1 20 0;
-#X connect 8 0 10 0;
-#X connect 9 0 18 3;
-#X connect 11 0 17 0;
-#X connect 11 0 18 2;
-#X connect 13 0 27 0;
-#X connect 14 0 27 0;
-#X connect 15 0 18 2;
-#X connect 17 0 16 0;
-#X connect 17 0 24 0;
+#X connect 7 1 14 0;
+#X connect 8 0 18 3;
+#X connect 10 0 15 0;
+#X connect 11 0 15 0;
+#X connect 12 0 18 2;
+#X connect 15 0 16 0;
+#X connect 15 2 12 0;
+#X connect 16 0 17 0;
+#X connect 17 0 19 0;
#X connect 18 0 2 0;
-#X connect 18 2 8 0;
-#X connect 20 0 23 2;
-#X connect 22 0 18 2;
-#X connect 22 0 28 0;
-#X connect 23 0 25 0;
-#X connect 24 0 23 0;
-#X connect 25 0 21 0;
-#X connect 26 0 23 1;
-#X connect 27 0 11 0;
-#X connect 27 1 22 0;
-#X connect 27 2 15 0;
-#X connect 28 0 26 0;
+#X connect 18 2 9 0;
+#X connect 19 0 18 2;
+#X connect 20 0 16 0;
#X restore 16 112 pd new interna;
#X msg 140 207 options empty;
-#X obj 3 21 popup 124 25 grey95 Effects Passthrough /Applications/PixelTANGO-CVS/abstractions/fx/edge.pd
-/Applications/PixelTANGO-CVS/abstractions/fx/emboss.pd /Applications/PixelTANGO-CVS/abstractions/fx/gain.pd
-/Applications/PixelTANGO-CVS/abstractions/fx/motionblur.pd /Applications/PixelTANGO-CVS/abstractions/fx/negative.pd
-/Applications/PixelTANGO-CVS/abstractions/fx/normalize.pd /Applications/PixelTANGO-CVS/abstractions/fx/posterize.pd
-/Applications/PixelTANGO-CVS/abstractions/fx/randomdot.pd /Applications/PixelTANGO-CVS/abstractions/fx/roll.pd
-/Applications/PixelTANGO-CVS/abstractions/fx/rtx-DANGER_USE_AT_YOUR_OWN_RISK.pd
-/Applications/PixelTANGO-CVS/abstractions/fx/scanline.pd;
-#X obj 159 105 popup_lister 500 \$0-index-set;
+#X obj 3 21 popup 124 25 grey95 Effects Passthrough edge.pd emboss.pd
+gain.pd motionblur.pd negative.pd normalize.pd posterize.pd randomdot.pd
+roll.pd rtx-DANGER_USE_AT_YOUR_OWN_RISK.pd scanline.pd;
+#X obj 228 138 r \$0-index-set;
#X connect 2 0 12 0;
#X connect 5 0 7 0;
#X connect 6 0 14 0;
#X connect 7 0 5 0;
-#X connect 10 0 15 0;
#X connect 10 1 6 0;
#X connect 10 1 8 0;
#X connect 11 0 12 1;
@@ -97,4 +74,4 @@ to do the work... the paths would be absolute.;
#X connect 13 0 14 0;
#X connect 14 0 10 0;
#X connect 15 0 14 0;
-#X coords 0 0 1 1 130 49 1;
+#X coords 0 0 1 1 130 49 1 0 0;
diff --git a/abstractions/stripExtension.pd b/abstractions/stripExtension.pd
index 942a51f..f8e21f0 100644
--- a/abstractions/stripExtension.pd
+++ b/abstractions/stripExtension.pd
@@ -1,8 +1,10 @@
-#N canvas 599 457 398 185 10;
-#X obj 17 51 inlet;
-#X obj 17 141 outlet;
-#X obj 17 104 py pt stripExtension;
-#X text 4 5 Uses py to remove the extension from a symbol using os.path.splitext()
-;
-#X connect 0 0 2 1;
-#X connect 2 0 1 0;
+#N canvas 271 185 458 308 10;
+#X obj 91 44 inlet;
+#X obj 91 77 symbol;
+#X obj 91 143 splitfilename .;
+#X obj 89 186 outlet;
+#X obj 91 113 ext13/strippath;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
diff --git a/abstractions/stripPath.pd b/abstractions/stripPath.pd
index ca3129e..c468cb3 100644
--- a/abstractions/stripPath.pd
+++ b/abstractions/stripPath.pd
@@ -1,8 +1,8 @@
-#N canvas 599 457 406 193 10;
-#X obj 17 51 inlet;
-#X obj 17 141 outlet;
-#X obj 17 103 py pt stripPath;
-#X text 4 5 Uses py to remove the path component from a symbol using
-os.path.basename();
-#X connect 0 0 2 1;
-#X connect 2 0 1 0;
+#N canvas 758 178 454 304 10;
+#X obj 78 27 inlet;
+#X obj 78 73 symbol;
+#X obj 78 102 ext13/strippath;
+#X obj 78 140 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;