diff options
Diffstat (limited to 'abstractions')
59 files changed, 3766 insertions, 0 deletions
diff --git a/abstractions/arrayRouterIn.pd b/abstractions/arrayRouterIn.pd new file mode 100644 index 0000000..f887db0 --- /dev/null +++ b/abstractions/arrayRouterIn.pd @@ -0,0 +1,21 @@ +#N canvas 218 167 502 352 10; +#X obj 110 129 r \$2-selector; +#X obj 13 249 spigot; +#X obj 13 93 r \$2-in; +#X text 8 9 this abstraction deals with routing the global input if +this is the selected abstraction.; +#X obj 13 274 outlet; +#X text 12 44 The first argument is the selector ID starting at 0 (generated +by dir2abstractionArray) and the second argument is the \$0 variable +for locality.; +#X obj 110 155 == \$1; +#X obj 153 249 spigot; +#X obj 153 274 outlet; +#X obj 153 93 r \$2-in2; +#X connect 0 0 6 0; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 6 0 1 1; +#X connect 6 0 7 1; +#X connect 7 0 8 0; +#X connect 9 0 7 0; diff --git a/abstractions/arrayRouterOut.pd b/abstractions/arrayRouterOut.pd new file mode 100644 index 0000000..8fc86a4 --- /dev/null +++ b/abstractions/arrayRouterOut.pd @@ -0,0 +1,19 @@ +#N canvas 552 368 453 387 10; +#X text 8 9 this abstraction deals with routing the global input if +this is the selected abstraction.; +#X obj 18 77 inlet; +#X text 13 43 The only argument is the \$0 variable for locality.; +#X obj 158 77 inlet; +#X obj 18 249 spigot; +#X obj 115 155 == \$1; +#X obj 158 249 spigot; +#X obj 18 313 s \$2-out; +#X obj 158 313 s \$2-out2; +#X obj 115 129 r \$2-selector; +#X connect 1 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 7 0; +#X connect 5 0 4 1; +#X connect 5 0 6 1; +#X connect 6 0 8 0; +#X connect 9 0 5 0; diff --git a/abstractions/cclearn.pd b/abstractions/cclearn.pd new file mode 100644 index 0000000..f2488c8 --- /dev/null +++ b/abstractions/cclearn.pd @@ -0,0 +1,80 @@ +#N canvas 663 22 592 506 10; +#X obj 117 91 ctlin; +#X obj 61 266 f; +#X text 88 265 CC; +#X obj 144 271 f; +#X text 172 269 Channel; +#X obj 193 400 spigot; +#X obj 45 290 ==; +#X obj 411 124 select 0 1; +#X obj 380 286 invert; +#X obj 128 298 ==; +#X obj 83 319 &&; +#X obj 402 153 t b b; +#X text 132 471 If We're not in learn mode && CC+CH match then pass +number; +#X text 133 457 If we're in learn mode don't pass number; +#X msg 443 153 0; +#X obj 139 347 &&; +#X obj 244 130 f; +#X obj 274 130 f; +#X obj 265 168 spigot; +#X obj 315 168 spigot; +#X obj 380 78 f; +#X obj 193 431 outlet; +#X obj 380 55 inlet; +#X obj 265 188 outlet; +#X obj 315 188 outlet; +#X obj 266 46 inlet; +#X obj 306 46 inlet; +#X text 266 27 CC; +#X text 305 27 Chan; +#X text 412 79 Learn; +#X obj 138 26 unpack f f f; +#X obj 138 4 inlet; +#X obj 213 77 t b b b; +#X obj 212 130 f; +#X connect 0 0 1 1; +#X connect 0 0 6 0; +#X connect 0 0 18 0; +#X connect 0 1 3 1; +#X connect 0 1 9 0; +#X connect 0 1 19 0; +#X connect 0 2 5 0; +#X connect 1 0 6 1; +#X connect 3 0 9 1; +#X connect 5 0 21 0; +#X connect 6 0 10 0; +#X connect 7 0 11 0; +#X connect 7 1 14 0; +#X connect 8 0 15 1; +#X connect 9 0 10 1; +#X connect 10 0 5 1; +#X connect 11 0 1 0; +#X connect 11 1 3 0; +#X connect 14 0 5 1; +#X connect 15 0 5 1; +#X connect 16 0 6 0; +#X connect 16 0 1 1; +#X connect 16 0 18 0; +#X connect 17 0 3 1; +#X connect 17 0 9 0; +#X connect 17 0 19 0; +#X connect 18 0 23 0; +#X connect 19 0 24 0; +#X connect 20 0 7 0; +#X connect 20 0 8 0; +#X connect 20 0 18 1; +#X connect 20 0 19 1; +#X connect 22 0 20 0; +#X connect 25 0 6 1; +#X connect 26 0 9 1; +#X connect 30 0 16 1; +#X connect 30 0 32 0; +#X connect 30 1 17 1; +#X connect 30 2 33 1; +#X connect 31 0 30 0; +#X connect 32 0 33 0; +#X connect 32 1 16 0; +#X connect 32 2 17 0; +#X connect 33 0 5 0; diff --git a/abstractions/createOscName.pd b/abstractions/createOscName.pd new file mode 100644 index 0000000..c4ec111 --- /dev/null +++ b/abstractions/createOscName.pd @@ -0,0 +1,33 @@ +#N canvas 180 174 375 395 10; +#X text 11 7 Create OSC name for this abstraction; +#X obj 53 264 list2osc; +#X text 19 342 OSC Name: /pt/1/pt.fader/1; +#X text 89 355 /pt/[layer]/pt.fader/[instance]; +#X text 11 24 createOscName [abstractioName]; +#X obj 114 69 inlet; +#X obj 114 100 route layerNum instance; +#X obj 53 69 inlet; +#X obj 53 100 bang; +#X obj 79 193 pack f f s; +#X obj 169 174 symbol \$1; +#X obj 169 151 loadbang; +#X obj 53 243 lister; +#X msg 79 214 list pt \$1 \$3 \$2; +#X obj 53 285 outlet; +#X obj 111 163 f; +#X obj 53 136 t b b b; +#X connect 1 0 14 0; +#X connect 5 0 6 0; +#X connect 6 0 9 0; +#X connect 6 1 15 0; +#X connect 7 0 8 0; +#X connect 8 0 16 0; +#X connect 9 0 13 0; +#X connect 10 0 9 2; +#X connect 11 0 10 0; +#X connect 12 0 1 0; +#X connect 13 0 12 1; +#X connect 15 0 9 1; +#X connect 16 0 12 0; +#X connect 16 1 9 0; +#X connect 16 2 15 0; diff --git a/abstractions/dir2abstractionArray.pd b/abstractions/dir2abstractionArray.pd new file mode 100644 index 0000000..2011e75 --- /dev/null +++ b/abstractions/dir2abstractionArray.pd @@ -0,0 +1,115 @@ +#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; +#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 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 18 373 spigot; +#X msg 363 182 1; +#X obj 430 178 == 0; +#X obj 382 437 + 1; +#X obj 106 167 inlet; +#X obj 106 426 outlet; +#X obj 106 373 spigot; +#X obj 116 190 s \$0-in2; +#X obj 116 403 r \$0-out2; +#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 +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 connect 1 0 8 0; +#X connect 1 1 29 0; +#X connect 2 0 4 1; +#X connect 3 0 39 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 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 11 0 12 0; +#X connect 11 0 26 0; +#X connect 13 0 14 0; +#X connect 15 0 19 0; +#X connect 16 0 39 4; +#X connect 17 0 16 0; +#X connect 19 0 38 0; +#X connect 19 1 17 0; +#X connect 19 1 5 0; +#X connect 19 1 27 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 46 0 48 0; +#X connect 47 0 49 0; +#X connect 48 0 45 0; +#X connect 48 1 10 0; +#X connect 49 0 50 0; diff --git a/abstractions/dirlist.pd b/abstractions/dirlist.pd new file mode 100644 index 0000000..45946df --- /dev/null +++ b/abstractions/dirlist.pd @@ -0,0 +1,36 @@ +#N canvas 133 243 538 370 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; +#N canvas 0 22 462 312 pwd 0; +#X text 18 27 This is where used to be.; +#X obj 35 92 inlet; +#X obj 41 184 outlet; +#X obj 48 153 symbol /; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 215 123 pd pwd; +#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 connect 0 0 8 0; +#X connect 2 0 4 0; +#X connect 4 0 9 1; +#X connect 6 0 7 1; +#X connect 7 0 1 0; +#X connect 8 0 11 0; +#X connect 8 1 10 0; +#X connect 8 2 10 0; +#X connect 8 2 11 0; +#X connect 9 0 6 0; +#X connect 10 0 9 1; +#X connect 11 0 9 0; diff --git a/abstractions/dirpanel.pd b/abstractions/dirpanel.pd new file mode 100644 index 0000000..fec4612 --- /dev/null +++ b/abstractions/dirpanel.pd @@ -0,0 +1,13 @@ +#N canvas 500 454 458 308 10; +#X obj 39 130 tot .; +#X msg 39 105 query tk_chooseDirectory; +#X obj 39 54 inlet; +#X obj 39 78 bang; +#X obj 39 155 tosymbol; +#X obj 39 180 outlet; +#X text 16 9 Sends the pathname of a directory on bang; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 5 0; diff --git a/abstractions/fx/edge.pd b/abstractions/fx/edge.pd new file mode 100644 index 0000000..2389dae --- /dev/null +++ b/abstractions/fx/edge.pd @@ -0,0 +1,31 @@ +#N canvas 454 228 536 486 10; +#X obj 181 254 + 1; +#X obj 184 230 * 7; +#X obj 131 241 * -1; +#X msg 131 299 \$1 \$1 \$1 \$1 \$2 \$1 \$1 \$1 \$1; +#X obj 131 276 pack f f; +#X obj 140 208 t f f; +#X text 26 14 Edge Detection abstraction; +#X text 25 55 Gemchain; +#X text 124 62 fxAmount 0-1; +#X obj 24 375 arrayRouterOut \$1 \$2; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 24 323 pix_convolve 3 3; +#X obj 166 81 inlet; +#X obj 37 295 inlet; +#X obj 144 144 interp1; +#X obj 44 351 outlet; +#X connect 0 0 4 1; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 11 2; +#X connect 4 0 3 0; +#X connect 5 0 2 0; +#X connect 5 1 1 0; +#X connect 10 0 11 0; +#X connect 10 1 14 0; +#X connect 11 0 9 0; +#X connect 11 0 15 0; +#X connect 12 0 14 0; +#X connect 13 0 11 0; +#X connect 14 0 5 0; diff --git a/abstractions/fx/emboss.pd b/abstractions/fx/emboss.pd new file mode 100644 index 0000000..54766e4 --- /dev/null +++ b/abstractions/fx/emboss.pd @@ -0,0 +1,11 @@ +#N canvas 576 244 478 328 10; +#X obj 44 230 pix_emboss; +#X obj 22 48 inlet; +#X text 64 47 Gemchain; +#X obj 42 80 arrayRouterIn \$1 \$2; +#X obj 44 286 arrayRouterOut \$1 \$2; +#X obj 61 260 outlet; +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 3 0 0 0; diff --git a/abstractions/fx/gain.pd b/abstractions/fx/gain.pd new file mode 100644 index 0000000..688011d --- /dev/null +++ b/abstractions/fx/gain.pd @@ -0,0 +1,20 @@ +#N canvas 443 137 474 324 10; +#X obj 34 213 pix_gain; +#X obj 59 182 * 5; +#X obj 96 123 inlet; +#X obj 46 125 inlet; +#X text 17 59 Gemchain; +#X text 100 63 fxAmount 0-1; +#X text 25 16 luminosity gain; +#X obj 17 86 arrayRouterIn \$1 \$2; +#X obj 34 264 arrayRouterOut \$1 \$2; +#X obj 59 158 interp1; +#X obj 50 239 outlet; +#X connect 0 0 8 0; +#X connect 0 0 10 0; +#X connect 1 0 0 1; +#X connect 2 0 9 0; +#X connect 3 0 0 0; +#X connect 7 0 0 0; +#X connect 7 1 9 0; +#X connect 9 0 1 0; diff --git a/abstractions/fx/motionblur.pd b/abstractions/fx/motionblur.pd new file mode 100644 index 0000000..4ad2e42 --- /dev/null +++ b/abstractions/fx/motionblur.pd @@ -0,0 +1,18 @@ +#N canvas 0 22 474 324 10; +#X obj 133 131 inlet; +#X obj 39 154 inlet; +#X text 6 67 Gemchain; +#X text 82 66 fxAmount 0-1; +#X obj 28 181 pix_motionblur; +#X text 21 18 Motion Blur; +#X obj 8 89 arrayRouterIn \$1 \$2; +#X obj 28 229 arrayRouterOut \$1 \$2; +#X obj 121 155 interp1; +#X obj 41 206 outlet; +#X connect 0 0 8 0; +#X connect 1 0 4 0; +#X connect 4 0 7 0; +#X connect 4 0 9 0; +#X connect 6 0 4 0; +#X connect 6 1 8 0; +#X connect 8 0 4 1; diff --git a/abstractions/fx/negative.pd b/abstractions/fx/negative.pd new file mode 100644 index 0000000..390f2b2 --- /dev/null +++ b/abstractions/fx/negative.pd @@ -0,0 +1,10 @@ +#N canvas 0 22 462 312 10; +#X text 64 47 Gemchain; +#X obj 37 170 pix_invert; +#X text 19 10 colour Negative; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 37 215 arrayRouterOut \$1 \$2; +#X obj 49 194 outlet; +#X connect 1 0 4 0; +#X connect 1 0 5 0; +#X connect 3 0 1 0; diff --git a/abstractions/fx/normalize.pd b/abstractions/fx/normalize.pd new file mode 100644 index 0000000..50810d1 --- /dev/null +++ b/abstractions/fx/normalize.pd @@ -0,0 +1,12 @@ +#N canvas 0 22 458 308 10; +#X obj 46 138 inlet; +#X text 25 54 Gemchain; +#X obj 32 168 pix_normalize; +#X text 28 16 Normalize pixels; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 32 220 arrayRouterOut \$1 \$2; +#X obj 47 193 outlet; +#X connect 0 0 2 0; +#X connect 2 0 5 0; +#X connect 2 0 6 0; +#X connect 4 0 2 0; diff --git a/abstractions/fx/posterize.pd b/abstractions/fx/posterize.pd new file mode 100644 index 0000000..92fc1d1 --- /dev/null +++ b/abstractions/fx/posterize.pd @@ -0,0 +1,22 @@ +#N canvas 482 104 414 459 10; +#X obj 37 247 pix_posterize; +#X obj 80 222 + 0.01; +#X obj 80 199 * 0.18; +#X obj 116 144 inlet; +#X obj 54 171 inlet; +#X text 24 52 Gemchain; +#X text 96 55 fxAmount 0-1; +#X text 25 4 Posterize; +#X obj 17 78 arrayRouterIn \$1 \$2; +#X obj 37 302 arrayRouterOut \$1 \$2; +#X obj 102 170 interp1; +#X obj 52 274 outlet; +#X connect 0 0 9 0; +#X connect 0 0 11 0; +#X connect 1 0 0 1; +#X connect 2 0 1 0; +#X connect 3 0 10 0; +#X connect 4 0 0 0; +#X connect 8 0 0 0; +#X connect 8 1 10 0; +#X connect 10 0 2 0; diff --git a/abstractions/fx/randomdot.pd b/abstractions/fx/randomdot.pd new file mode 100644 index 0000000..189b143 --- /dev/null +++ b/abstractions/fx/randomdot.pd @@ -0,0 +1,12 @@ +#N canvas 336 435 466 316 10; +#X text 15 9 randomdot; +#X obj 46 113 inlet; +#X text 64 47 Gemchain; +#X obj 32 144 pix_rds; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 32 206 arrayRouterOut \$1 \$2; +#X obj 56 171 outlet; +#X connect 1 0 3 0; +#X connect 3 0 5 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; diff --git a/abstractions/fx/roll.pd b/abstractions/fx/roll.pd new file mode 100644 index 0000000..0901cb7 --- /dev/null +++ b/abstractions/fx/roll.pd @@ -0,0 +1,20 @@ +#N canvas 506 429 470 320 10; +#X obj 50 188 pix_roll; +#X obj 101 163 * 480; +#X obj 117 107 inlet; +#X obj 58 156 inlet; +#X text 25 59 Gemchain; +#X text 97 57 fxAmount 0-1; +#X text 22 10 Offset pixels over Y.; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 50 258 arrayRouterOut \$1 \$2; +#X obj 101 138 interp1; +#X obj 74 225 outlet; +#X connect 0 0 8 0; +#X connect 0 0 10 0; +#X connect 1 0 0 1; +#X connect 2 0 9 0; +#X connect 3 0 0 0; +#X connect 7 0 0 0; +#X connect 7 1 9 0; +#X connect 9 0 1 0; diff --git a/abstractions/fx/rtx-DANGER_USE_AT_YOUR_OWN_RISK.pd b/abstractions/fx/rtx-DANGER_USE_AT_YOUR_OWN_RISK.pd new file mode 100644 index 0000000..ebe0de4 --- /dev/null +++ b/abstractions/fx/rtx-DANGER_USE_AT_YOUR_OWN_RISK.pd @@ -0,0 +1,12 @@ +#N canvas 0 22 458 308 10; +#X obj 23 146 pix_rtx; +#X obj 37 117 inlet; +#X text 30 55 Gemchain; +#X text 19 18 Time to X mapping; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 40 206 arrayRouterOut \$1 \$2; +#X obj 53 175 outlet; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 1 0 0 0; +#X connect 4 0 0 0; diff --git a/abstractions/fx/scanline.pd b/abstractions/fx/scanline.pd new file mode 100644 index 0000000..e2c4e24 --- /dev/null +++ b/abstractions/fx/scanline.pd @@ -0,0 +1,19 @@ +#N canvas 0 22 478 328 10; +#X obj 130 147 inlet; +#X obj 54 191 inlet; +#X text 33 53 Gemchain; +#X text 106 53 fxAmount 0-1; +#X obj 38 221 pix_scanline; +#X obj 118 196 * 500; +#X obj 24 81 arrayRouterIn \$1 \$2; +#X obj 38 285 arrayRouterOut \$1 \$2; +#X obj 117 173 interp1; +#X obj 53 253 outlet; +#X connect 0 0 8 0; +#X connect 1 0 4 0; +#X connect 4 0 7 0; +#X connect 4 0 9 0; +#X connect 5 0 4 1; +#X connect 6 0 4 0; +#X connect 6 1 8 0; +#X connect 8 0 5 0; diff --git a/abstractions/interp1.pd b/abstractions/interp1.pd new file mode 100644 index 0000000..f3cbb13 --- /dev/null +++ b/abstractions/interp1.pd @@ -0,0 +1,85 @@ +#N canvas 859 396 375 365 10; +#X obj 16 227 smooth 0.8 10; +#X obj 16 153 spigot; +#N canvas 591 359 419 260 selector 0; +#X obj 23 34 inlet; +#X obj 34 178 outlet; +#X obj 81 178 outlet; +#X obj 128 178 outlet; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 128 156 == 2; +#X obj 42 112 loadbang; +#X text 104 113 Default; +#X msg 42 132 0; +#X text 67 35 Which type? (0-lowpass \, 1-linear \, 2-none); +#X obj 116 86 r init; +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 9 0; +#X connect 9 0 4 0; +#X connect 11 0 9 0; +#X restore 53 84 pd selector; +#X obj 116 153 spigot; +#X obj 116 227 line; +#N canvas 0 22 478 328 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 116 204 pd pack; +#X text 10 29 linear (10 - 510); +#N canvas 0 22 490 340 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 59 204 pd scl; +#X obj 171 152 spigot; +#X obj 53 63 r ptInterpType; +#X obj 129 177 r ptInterpSmoothness; +#X text 9 11 lowpass (1.5 - 0.2); +#X obj 187 111 f; +#X obj 209 83 inlet; +#X obj 175 83 r \$1; +#X obj 81 294 f; +#X obj 81 315 outlet; +#X connect 0 0 15 0; +#X connect 1 0 0 0; +#X connect 2 0 1 1; +#X connect 2 1 3 1; +#X connect 2 2 8 1; +#X connect 3 0 5 0; +#X connect 4 0 15 0; +#X connect 5 0 4 0; +#X connect 7 0 0 1; +#X connect 8 0 15 0; +#X connect 9 0 2 0; +#X connect 10 0 5 1; +#X connect 10 0 7 0; +#X connect 12 0 1 0; +#X connect 12 0 3 0; +#X connect 12 0 8 0; +#X connect 13 0 12 0; +#X connect 14 0 12 0; +#X connect 15 0 16 0; diff --git a/abstractions/interp3.pd b/abstractions/interp3.pd new file mode 100644 index 0000000..58aceb6 --- /dev/null +++ b/abstractions/interp3.pd @@ -0,0 +1,189 @@ +#N canvas 524 405 728 375 10; +#X obj 171 314 outlet; +#X obj 16 277 smooth 0.8 10; +#X obj 16 153 spigot; +#N canvas 591 359 399 240 selector 0; +#X obj 23 34 inlet; +#X obj 33 178 outlet; +#X obj 81 178 outlet; +#X obj 128 178 outlet; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 128 156 == 2; +#X obj 42 112 loadbang; +#X text 104 113 Default; +#X msg 42 132 0; +#X text 67 35 Which type? (0-lowpass \, 1-linear \, 2-none); +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 9 0; +#X connect 9 0 4 0; +#X restore 263 38 pd selector; +#X obj 116 153 spigot; +#X obj 116 277 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 116 254 pd pack; +#X text 10 29 linear (10 - 510); +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 59 254 pd scl; +#X obj 171 152 spigot; +#X obj 263 17 r ptInterpType; +#X obj 294 193 r ptInterpSmoothness; +#X text 9 11 lowpass (1.5 - 0.2); +#X obj 381 313 outlet; +#X obj 226 276 smooth 0.8 10; +#X obj 226 152 spigot; +#X obj 326 152 spigot; +#X obj 326 276 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 326 253 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 269 253 pd scl; +#X obj 381 151 spigot; +#X obj 591 312 outlet; +#X obj 436 275 smooth 0.8 10; +#X obj 436 151 spigot; +#X obj 536 151 spigot; +#X obj 536 275 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 536 252 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 479 252 pd scl; +#X obj 591 150 spigot; +#X obj 83 72 r \$1; +#X obj 123 72 inlet; +#X obj 116 100 f; +#X obj 333 72 inlet; +#X obj 543 72 inlet; +#X obj 293 72 r \$2; +#X obj 503 72 r \$3; +#X obj 326 99 f; +#X obj 536 98 f; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X connect 3 0 15 1; +#X connect 3 0 23 1; +#X connect 3 1 4 1; +#X connect 3 1 16 1; +#X connect 3 1 24 1; +#X connect 3 2 9 1; +#X connect 3 2 20 1; +#X connect 3 2 28 1; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 5 0; +#X connect 8 0 1 1; +#X connect 9 0 0 0; +#X connect 10 0 3 0; +#X connect 11 0 6 1; +#X connect 11 0 8 0; +#X connect 11 0 18 1; +#X connect 11 0 19 0; +#X connect 11 0 26 1; +#X connect 11 0 27 0; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 13 0; +#X connect 18 0 17 0; +#X connect 19 0 14 1; +#X connect 20 0 13 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 24 0 26 0; +#X connect 25 0 21 0; +#X connect 26 0 25 0; +#X connect 27 0 22 1; +#X connect 28 0 21 0; +#X connect 29 0 31 0; +#X connect 30 0 31 0; +#X connect 31 0 2 0; +#X connect 31 0 4 0; +#X connect 31 0 9 0; +#X connect 32 0 36 0; +#X connect 33 0 37 0; +#X connect 34 0 36 0; +#X connect 35 0 37 0; +#X connect 36 0 15 0; +#X connect 36 0 16 0; +#X connect 36 0 20 0; +#X connect 37 0 23 0; +#X connect 37 0 24 0; +#X connect 37 0 28 0; diff --git a/abstractions/interp4.pd b/abstractions/interp4.pd new file mode 100644 index 0000000..2a08a4b --- /dev/null +++ b/abstractions/interp4.pd @@ -0,0 +1,246 @@ +#N canvas 175 40 1029 555 10; +#X obj 171 264 outlet; +#X obj 16 227 smooth 0.8 10; +#X obj 16 153 spigot; +#N canvas 591 359 399 240 selector 0; +#X obj 23 34 inlet; +#X obj 33 178 outlet; +#X obj 81 178 outlet; +#X obj 128 178 outlet; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 128 156 == 2; +#X obj 42 112 loadbang; +#X text 104 113 Default; +#X msg 42 132 0; +#X text 67 35 Which type? (0-lowpass \, 1-linear \, 2-none); +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 9 0; +#X connect 9 0 4 0; +#X restore 400 31 pd selector; +#X obj 116 153 spigot; +#X obj 116 227 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 116 204 pd pack; +#X text 10 29 linear (10 - 510); +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 59 204 pd scl; +#X obj 171 152 spigot; +#X obj 400 10 r ptInterpType; +#X obj 129 177 r ptInterpSmoothness; +#X text 9 11 lowpass (1.5 - 0.2); +#X obj 381 263 outlet; +#X obj 226 226 smooth 0.8 10; +#X obj 226 152 spigot; +#X obj 326 152 spigot; +#X obj 326 226 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 326 203 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 269 203 pd scl; +#X obj 381 151 spigot; +#X obj 339 176 r ptInterpSmoothness; +#X obj 591 262 outlet; +#X obj 436 225 smooth 0.8 10; +#X obj 436 151 spigot; +#X obj 536 151 spigot; +#X obj 536 225 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 536 202 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 479 202 pd scl; +#X obj 591 150 spigot; +#X obj 549 175 r ptInterpSmoothness; +#X obj 801 262 outlet; +#X obj 646 225 smooth 0.8 10; +#X obj 646 151 spigot; +#X obj 746 151 spigot; +#X obj 746 225 line; +#N canvas 0 22 466 316 pack 0; +#X obj 20 35 inlet; +#X obj 90 35 inlet; +#X msg 39 226 \$1 \$2; +#X obj 39 195 pack f f; +#X obj 39 250 outlet; +#X obj 155 95 * 5; +#X obj 155 116 + 10; +#X text 193 96 from 0-100 to 10-510; +#X connect 0 0 3 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 3 1; +#X restore 746 202 pd pack; +#N canvas 0 22 474 324 scl 0; +#X obj 19 16 inlet; +#X obj 17 118 outlet; +#X obj 19 65 / 77; +#X obj 19 40 * -1; +#X obj 19 89 + 1.5; +#X text 57 66 from 0-100 to 1.5-0.2; +#X connect 0 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X restore 689 202 pd scl; +#X obj 801 150 spigot; +#X obj 759 175 r ptInterpSmoothness; +#X obj 58 65 r \$1; +#X obj 91 65 inlet; +#X obj 78 89 f; +#X obj 291 49 inlet; +#X obj 551 29 inlet; +#X obj 711 59 inlet; +#X obj 258 49 r \$2; +#X obj 518 29 r \$3; +#X obj 678 59 r \$4; +#X obj 708 87 f; +#X obj 498 87 f; +#X obj 288 88 f; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 2 1; +#X connect 3 0 15 1; +#X connect 3 0 24 1; +#X connect 3 0 33 1; +#X connect 3 1 4 1; +#X connect 3 1 16 1; +#X connect 3 1 25 1; +#X connect 3 1 34 1; +#X connect 3 2 9 1; +#X connect 3 2 20 1; +#X connect 3 2 29 1; +#X connect 3 2 38 1; +#X connect 4 0 6 0; +#X connect 5 0 0 0; +#X connect 6 0 5 0; +#X connect 8 0 1 1; +#X connect 9 0 0 0; +#X connect 10 0 3 0; +#X connect 11 0 6 1; +#X connect 11 0 8 0; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 16 0 18 0; +#X connect 17 0 13 0; +#X connect 18 0 17 0; +#X connect 19 0 14 1; +#X connect 20 0 13 0; +#X connect 21 0 18 1; +#X connect 21 0 19 0; +#X connect 23 0 22 0; +#X connect 24 0 23 0; +#X connect 25 0 27 0; +#X connect 26 0 22 0; +#X connect 27 0 26 0; +#X connect 28 0 23 1; +#X connect 29 0 22 0; +#X connect 30 0 27 1; +#X connect 30 0 28 0; +#X connect 32 0 31 0; +#X connect 33 0 32 0; +#X connect 34 0 36 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 32 1; +#X connect 38 0 31 0; +#X connect 39 0 36 1; +#X connect 39 0 37 0; +#X connect 40 0 42 0; +#X connect 41 0 42 0; +#X connect 42 0 2 0; +#X connect 42 0 4 0; +#X connect 42 0 9 0; +#X connect 43 0 51 0; +#X connect 44 0 50 0; +#X connect 45 0 49 0; +#X connect 46 0 51 0; +#X connect 47 0 50 0; +#X connect 48 0 49 0; +#X connect 49 0 33 0; +#X connect 49 0 34 0; +#X connect 49 0 38 0; +#X connect 50 0 24 0; +#X connect 50 0 25 0; +#X connect 50 0 29 0; +#X connect 51 0 15 0; +#X connect 51 0 16 0; +#X connect 51 0 20 0; diff --git a/abstractions/invert_scale.pd b/abstractions/invert_scale.pd new file mode 100644 index 0000000..5985e78 --- /dev/null +++ b/abstractions/invert_scale.pd @@ -0,0 +1,15 @@ +#N canvas 343 241 489 295 10; +#X obj 25 74 inlet; +#X obj 45 207 outlet; +#X obj 41 103 * -1; +#X obj 46 141 + \$2; +#X obj 43 172 + \$1; +#X text 83 141 Upper Limit; +#X text 78 173 Lower Limit; +#X text 22 17 Inverts a scale of numbers so that the upper and lower +limits are reversed. This works for all states inbetween limits as +well. Usage: [invert_scale lower upper]; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; diff --git a/abstractions/list2osc.pd b/abstractions/list2osc.pd new file mode 100644 index 0000000..10757b8 --- /dev/null +++ b/abstractions/list2osc.pd @@ -0,0 +1,13 @@ +#N canvas 341 314 454 304 10; +#X obj 21 132 l2s; +#X msg 37 108 symbol /; +#X obj 21 160 makesymbol /%s; +#X obj 21 188 outlet; +#X obj 37 86 loadbang; +#X obj 21 57 inlet; +#X text 17 9 Make an OSC name from a list; +#X connect 0 0 2 0; +#X connect 1 0 0 1; +#X connect 2 0 3 0; +#X connect 4 0 1 0; +#X connect 5 0 0 0; diff --git a/abstractions/mementoSetup.pd b/abstractions/mementoSetup.pd new file mode 100644 index 0000000..697c4fa --- /dev/null +++ b/abstractions/mementoSetup.pd @@ -0,0 +1,69 @@ +#N canvas 702 30 540 777 10; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 222 230 route osc; +#X msg 338 160 instance \$1; +#X obj 117 230 prepend create; +#X obj 29 46 r pt.currentPreset; +#X text 16 9 Does all the crap for memento naming/collection and abstraction +registration \$1 is abst-name \$2 is \$0 variable; +#X obj 305 75 inlet; +#X obj 305 262 outlet; +#X text 97 129 Create OSC name here; +#X obj 117 202 createOscName \$1; +#X obj 118 252 originator NOTSET \$2; +#X obj 305 117 register \$1 \$2; +#X obj 87 149 route createOscName; +#X obj 87 174 t b b; +#X obj 50 328 outlet; +#X text 107 329 output a bang after we have created OSC Name; +#X obj 44 438 cnv 15 400 300 empty empty EXPERIMENTAL 20 12 0 14 -259544 +-1 0; +#X obj 216 701 pool OSC; +#X obj 141 490 r \$0-RRADMIN; +#X obj 139 668 prepend set; +#X obj 193 555 symbol \$1; +#X msg 233 670 mkchdir \$1; +#X text 48 359 The following section is experimental \, a design-concept +that will be properly implimented into the next version of memento +for OSC name collection. "commun" and "originator" are hacked versioned +from the offical release. We will hopefully be able to remove this +whole section in the future.; +#X obj 271 554 symbol; +#X obj 164 518 t a b b; +#X obj 223 635 makesymbol %s/%s; +#X obj 223 588 pack s s; +#X obj 334 668 print me; +#X msg 223 611 \$2 \$1; +#X text 97 508 Cut ->; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 12 0; +#X connect 2 0 12 0; +#X connect 3 0 12 1; +#X connect 4 0 11 1; +#X connect 5 0 12 0; +#X connect 6 0 0 0; +#X connect 8 0 3 0; +#X connect 8 0 11 1; +#X connect 8 0 13 0; +#X connect 8 0 14 0; +#X connect 11 0 5 0; +#X connect 11 0 25 1; +#X connect 13 0 9 0; +#X connect 13 1 4 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 15 1 11 0; +#X connect 21 0 19 0; +#X connect 22 0 28 0; +#X connect 23 0 19 0; +#X connect 25 0 28 1; +#X connect 26 0 21 0; +#X connect 26 1 22 0; +#X connect 26 2 25 0; +#X connect 27 0 23 0; +#X connect 27 0 29 0; +#X connect 28 0 30 0; +#X connect 30 0 27 0; diff --git a/abstractions/pix_dvts.pd b/abstractions/pix_dvts.pd new file mode 100644 index 0000000..22c16f2 --- /dev/null +++ b/abstractions/pix_dvts.pd @@ -0,0 +1,4 @@ +#N canvas 0 22 454 304 10; +#X text 18 14 pix_dvts placeholder; +#X obj 46 80 inlet; +#X obj 45 137 outlet; diff --git a/abstractions/popup_lister.pd b/abstractions/popup_lister.pd new file mode 100644 index 0000000..501329e --- /dev/null +++ b/abstractions/popup_lister.pd @@ -0,0 +1,19 @@ +#N canvas 0 22 458 308 10; +#X text 20 11 Our special message "options blah blah ..." needs this +kludge to be able to store the message in "lister" temporarily. UGLY! +is this PD or Zexy's fault? (or popup's?); +#X obj 49 183 lister; +#X obj 86 161 prepend list; +#X obj 49 204 route list; +#X obj 86 139 inlet; +#X obj 49 82 inlet; +#X obj 49 225 outlet; +#X obj 49 106 delay \$1; +#X obj 129 139 r \$2; +#X connect 1 0 3 0; +#X connect 2 0 1 1; +#X connect 3 0 6 0; +#X connect 4 0 2 0; +#X connect 5 0 7 0; +#X connect 7 0 1 0; +#X connect 8 0 2 0; diff --git a/abstractions/pt.animate.pd b/abstractions/pt.animate.pd new file mode 100644 index 0000000..af1f33d --- /dev/null +++ b/abstractions/pt.animate.pd @@ -0,0 +1,150 @@ +#N canvas 73 204 530 82 10; +#X obj 1 1 cnv 5 528 80 empty empty Animate_Presets 6 13 1 12 -133153 +-1 0; +#N canvas 349 89 765 585 interna 0; +#X obj 9 22 cnv 15 600 450 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 413 151 inlet; +#X obj 445 294 r \$0-save; +#X obj 430 223 r \$0-load; +#X text 458 150 care-taker commands; +#X obj 413 425 caretaker RRADICAL; +#X obj 430 243 openpanel; +#X obj 445 314 savepanel; +#X msg 445 334 file \$1 \, save RRADICAL; +#X msg 430 263 file \$1 \, load RRADICAL; +#X obj 17 438 outlet; +#X msg 17 416 numFrames \$1; +#X obj 17 353 f \$1; +#X obj 27 329 loadbang; +#X text 10 7 Preset Animation; +#X obj 165 299 + 1; +#X obj 277 299 - 1; +#X obj 165 237 r \$0-right; +#X obj 277 237 r \$0-left; +#X obj 194 151 inlet; +#X text 194 130 Frame; +#X obj 165 340 clip 0 \$1; +#X obj 277 340 clip 0 \$1; +#X obj 181 258 r \$0-slider-out; +#X obj 293 258 r \$0-slider-out; +#X obj 150 188 s \$0-slider-in; +#X obj 165 360 s \$0-slider-in; +#X obj 277 360 s \$0-slider-in; +#X obj 277 279 f; +#X obj 165 279 f; +#X obj 277 319 int; +#X obj 165 319 int; +#X obj 274 123 r \$0-slider-out; +#X obj 274 143 int; +#X obj 274 185 s pt.currentPreset; +#X obj 17 30 inlet; +#X text 24 526 Simple scrubbing interface for states \, dynamic number +of frames!; +#X text 24 501 \$1 Argument Specifies the # of Frames/Presets; +#X obj 111 437 s \$0-slider-in; +#X msg 111 416 range 0 \$1; +#X obj 17 61 route numKeys loopPos; +#X obj 215 416 s \$0-numKeys; +#X text 187 66 numFrames = NumKeys * 100 \, otherwise we're going at +30keyframes/s! too fast. 3s per keyframe is better; +#X obj 17 394 * 30; +#X obj 150 99 expr int($f1/30); +#N canvas 0 22 454 304 defaults 0; +#X obj 37 26 loadbang; +#X obj 37 49 f \$1; +#X obj 37 71 select 0; +#X obj 55 120 print pt.animate; +#X msg 55 98 No arguments given. Using 10 Key-Frames.; +#X msg 37 156 numKeys 10; +#X obj 37 179 outlet; +#X text 28 254 if (arg1 == "0" || not set) then sey numKeys 10; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 2 0 5 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X restore 60 30 pd defaults; +#X obj 274 164 change; +#X obj 348 396 bang; +#X text 385 397 Resend numFrames on load/save; +#N canvas 349 89 462 312 OSC-stuff 0; +#X obj 12 13 r pt.osc; +#X obj 12 34 OSCroute /pt; +#X obj 12 55 OSCroute /animate; +#X obj 12 76 OSCroute /frame; +#X text 172 16 How to register this OSC name?; +#X obj 12 97 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X restore 182 31 pd OSC-stuff; +#X text 274 32 Problem of registering this?; +#X connect 1 0 5 0; +#X connect 2 0 7 0; +#X connect 2 0 47 0; +#X connect 3 0 6 0; +#X connect 3 0 47 0; +#X connect 6 0 9 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X connect 9 0 5 0; +#X connect 11 0 10 0; +#X connect 12 0 39 0; +#X connect 12 0 41 0; +#X connect 12 0 43 0; +#X connect 13 0 12 0; +#X connect 15 0 31 0; +#X connect 16 0 30 0; +#X connect 17 0 29 0; +#X connect 18 0 28 0; +#X connect 19 0 25 0; +#X connect 21 0 26 0; +#X connect 22 0 27 0; +#X connect 23 0 29 1; +#X connect 24 0 28 1; +#X connect 28 0 16 0; +#X connect 29 0 15 0; +#X connect 30 0 22 0; +#X connect 31 0 21 0; +#X connect 32 0 33 0; +#X connect 33 0 46 0; +#X connect 35 0 40 0; +#X connect 39 0 38 0; +#X connect 40 0 12 0; +#X connect 40 0 21 2; +#X connect 40 0 22 2; +#X connect 40 1 44 0; +#X connect 43 0 11 0; +#X connect 44 0 25 0; +#X connect 45 0 40 0; +#X connect 46 0 34 0; +#X connect 47 0 12 0; +#X connect 49 0 25 0; +#X restore 7 148 pd interna; +#X obj 430 6 bng 15 250 50 0 \$0-save \$0 Save 20 8 1 9 -237178 -1 +-1; +#X obj 480 6 bng 15 250 50 0 \$0-load \$0 Load 20 8 1 9 -237178 -1 +-1; +#X obj 92 124 inlet; +#X obj 7 172 outlet; +#X text 4 104 Preset Animation; +#X obj 10 26 hsl 510 30 0 10 0 0 \$0-slider-out \$0-slider-in empty +-2 -6 0 8 -262144 -1 -1 0 0; +#X obj 7 60 nbx 5 14 -1e+37 1e+37 0 0 \$0- pt.currentPreset Current-Key-Frame +60 9 1 12 -262144 -1 -1 0 256; +#X obj 466 60 nbx 5 14 -1e+37 1e+37 0 0 empty \$0-numKeys Number-of-Key-Frames +-145 9 1 12 -262144 -1 -1 10 256; +#X obj 221 6 bng 15 250 50 0 \$0-left \$0 << 18 8 1 12 -237178 -1 -1 +; +#X obj 281 6 bng 15 250 50 0 \$0-right \$0 >> -17 8 1 12 -237178 -1 +-1; +#X obj 47 124 inlet; +#X obj 5 124 inlet; +#X connect 1 0 5 0; +#X connect 4 0 1 2; +#X connect 12 0 1 1; +#X connect 13 0 1 0; +#X coords 0 0 1 1 530 82 1; diff --git a/abstractions/pt.dualfx.pd b/abstractions/pt.dualfx.pd new file mode 100644 index 0000000..6de89b8 --- /dev/null +++ b/abstractions/pt.dualfx.pd @@ -0,0 +1,141 @@ +#N canvas 797 67 403 214 10; +#N canvas 161 339 670 348 interna 0; +#X obj 10 39 cnv 15 350 250 empty empty empty 5 8 1 10 -3121 -1 0; +#N canvas 591 359 469 378 selector 0; +#X obj 23 34 inlet; +#X obj 33 178 outlet; +#X obj 81 178 outlet; +#N canvas 0 22 454 304 another 0; +#X obj 24 75 select 1; +#X obj 74 96 select 2; +#X obj 124 115 select 3; +#X obj 175 136 select 4; +#X msg 25 122 1 0 0 0; +#X msg 75 152 0 1 0 0; +#X msg 125 182 0 0 1 0; +#X msg 175 212 0 0 0 1; +#X obj 26 252 unpack f f f f; +#X connect 0 0 4 0; +#X connect 0 1 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 6 0; +#X connect 2 1 3 0; +#X connect 3 0 7 0; +#X connect 4 0 8 0; +#X connect 5 0 8 0; +#X connect 6 0 8 0; +#X connect 7 0 8 0; +#X restore 286 75 pd another approach; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 44 101 loadbang; +#X msg 44 121 0; +#X text 67 35 Which effect?; +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 7 0; +#X connect 7 0 4 0; +#X restore 256 67 pd selector; +#X obj 22 42 inlet; +#X obj 22 266 outlet; +#X obj 22 200 pix_chroma_key; +#X obj 115 43 inlet; +#X obj 22 180 spigot; +#X obj 188 179 spigot; +#X obj 115 180 spigot; +#X obj 239 179 spigot; +#X obj 256 46 r \$0-effect; +#X text 23 9 2 Channel Pixel Effects; +#X obj 368 39 cnv 15 200 250 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 519 46 inlet; +#X obj 519 266 outlet; +#X text 426 268 Passthrough; +#N canvas 0 22 458 308 options 0; +#X obj 13 271 outlet; +#X obj 15 23 r \$0-rv; +#X obj 75 23 r \$0-gv; +#X obj 135 23 r \$0-bv; +#X obj 64 79 pack f f f; +#X obj 64 100 prepend value; +#X obj 145 52 bang; +#X obj 154 199 pack f f f; +#X obj 235 172 bang; +#X obj 105 143 r \$0-rr; +#X obj 165 143 r \$0-gr; +#X obj 225 143 r \$0-br; +#X obj 154 220 prepend range; +#X connect 1 0 4 0; +#X connect 2 0 4 1; +#X connect 2 0 6 0; +#X connect 3 0 4 2; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 0 0; +#X connect 6 0 4 0; +#X connect 7 0 12 0; +#X connect 8 0 7 0; +#X connect 9 0 7 0; +#X connect 10 0 7 1; +#X connect 10 0 8 0; +#X connect 11 0 7 2; +#X connect 11 0 8 0; +#X connect 12 0 0 0; +#X restore 34 130 pd options; +#X text 13 291 It would be good if the colour_key sliders ghosted when +on "mask" mode.; +#X obj 188 200 pix_compare; +#X obj 214 225 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X msg 214 251 direction \$1; +#X connect 1 0 6 1; +#X connect 1 0 8 1; +#X connect 1 1 7 1; +#X connect 1 1 9 1; +#X connect 2 0 6 0; +#X connect 2 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 8 0; +#X connect 5 0 9 0; +#X connect 6 0 4 0; +#X connect 7 0 18 0; +#X connect 8 0 4 1; +#X connect 9 0 18 1; +#X connect 10 0 1 0; +#X connect 13 0 14 0; +#X connect 16 0 4 0; +#X connect 18 0 3 0; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X restore 13 157 pd interna; +#X obj 13 93 inlet; +#X obj 45 114 inlet; +#X obj 78 135 inlet; +#X obj 13 177 outlet; +#X obj 78 177 outlet; +#X obj 4 21 popup 124 25 grey95 Channel_fx Chroma-Key Luma-Key; +#X obj 2 2 cnv 5 260 72 empty empty Channel_fx 5 6 1 9 -249661 -66577 +0; +#X obj 140 6 hsl 115 15 125 1898 0 0 \$0-rv \$0-rvs key_out 40 8 1 +8 -258699 -1 -1 0 1; +#X obj 140 21 hsl 115 15 125 1898 0 0 \$0-gv \$0-gvs key_out 40 8 1 +8 -24198 -1 -1 0 1; +#X obj 140 36 hsl 115 15 125 1898 0 0 \$0-bv \$0-bvs key_out 40 8 1 +8 -62784 -1 -1 0 1; +#X obj 137 55 nbx 4 15 0 1e+06 0 0 \$0-rr \$0-rrs empty -40 8 1 8 -258699 +-1 -1 0 256; +#X obj 180 55 nbx 4 15 0 1e+06 0 0 \$0-gr \$0-grs empty 40 8 1 8 -24198 +-1 -1 0 256; +#X obj 222 55 nbx 4 15 0 1e+06 0 0 \$0-br \$0-brs empty 40 8 1 8 -62784 +-1 -1 0 256; +#X obj 30 53 comment 0 10 helvetica ? 0 0 0 0 Key Range: ->; +#X obj 81 82 s \$0-effect; +#X connect 0 0 4 0; +#X connect 0 1 5 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 3 0 0 2; +#X connect 6 0 15 0; diff --git a/abstractions/pt.entry.pd b/abstractions/pt.entry.pd new file mode 100644 index 0000000..04b8a05 --- /dev/null +++ b/abstractions/pt.entry.pd @@ -0,0 +1,105 @@ +#N canvas 531 201 130 142 10; +#N canvas 667 321 508 411 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 +; +#X obj 386 31 inlet; +#X obj 402 350 outlet; +#X obj 26 261 prepend text; +#X obj 92 31 r \$0-text; +#X msg 44 227 font \$1; +#X obj 9 31 cnv 15 70 90 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 22 38 inlet; +#X obj 22 65 outlet; +#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 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 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 connect 2 0 13 0; +#X connect 4 0 3 0; +#X connect 5 0 12 0; +#X connect 6 0 4 0; +#X connect 8 0 9 0; +#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 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 restore 9 241 pd interna; +#X obj 9 219 inlet; +#X obj 74 219 inlet; +#X obj 9 263 outlet; +#X obj 74 263 outlet; +#X obj 160 65 s \$0-text; +#X obj 5 150 s \$0-font-size; +#X msg 114 145 clear; +#X obj 1 1 cnv 5 128 140 empty empty Text_Entry 5 6 1 9 -249661 -66577 +0; +#X obj 7 121 nbx 3 14 -1e+37 1e+37 0 0 empty empty Size 35 8 1 9 -262144 +-1 -1 0 256; +#X obj 114 2 bng 11 250 50 0 \$0- \$0 Send -22 6 1 8 -262144 -1 -1 +; +#X obj 114 123 bng 11 250 50 0 \$0- \$0 Clear -22 7 1 8 -262144 -1 +-1; +#X obj 141 3 commun /text \$0; +#X obj 39 175 commun /font-size \$0; +#X obj 171 43 prepend set; +#X obj 3 14 entry 124 75 white black; +#X obj 141 22 t b a; +#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 connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 7 0 15 0; +#X connect 9 0 6 0; +#X connect 9 0 13 0; +#X connect 10 0 15 0; +#X connect 11 0 7 0; +#X connect 11 0 15 0; +#X connect 12 0 16 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 5 0; +#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 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; diff --git a/abstractions/pt.fader.pd b/abstractions/pt.fader.pd new file mode 100644 index 0000000..5f545e5 --- /dev/null +++ b/abstractions/pt.fader.pd @@ -0,0 +1,119 @@ +#N canvas 1018 22 130 72 10; +#X obj 1 1 cnv 5 128 70 empty empty empty 5 6 1 9 -249661 -66577 0 +; +#X obj 9 23 hsl 112 15 0 255 0 0 \$0-r \$0-s empty -2 -6 0 8 -258699 +-1 -1 9744 1; +#X obj 9 38 hsl 112 15 0 255 0 0 \$0-g \$0-s empty -2 -6 0 8 -24198 +-1 -1 6644 1; +#X obj 9 53 hsl 112 15 0 255 0 0 \$0-b \$0-s empty -2 -6 0 8 -62784 +-1 -1 5600 1; +#X text 4 75 Fader; +#N canvas 59 504 724 521 interna 0; +#X obj 9 24 cnv 15 200 250 empty empty empty 5 8 1 10 -3121 -1 0; +#X text 10 7 Alpha based fader; +#X obj 18 61 inlet; +#X obj 35 247 outlet; +#X obj 104 214 alpha; +#X obj 52 142 colorRGB; +#X obj 229 21 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 480 330 outlet; +#X obj 427 29 inlet; +#X obj 236 319 prepend alpha; +#N canvas 147 263 235 178 invert 0; +#X text 22 17 0-1 to 1-0; +#X obj 25 49 inlet; +#X obj 25 104 outlet; +#X obj 25 76 expr (-1*$f1)+1; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 236 300 pd invert; +#X obj 236 338 outlet; +#X text 282 338 Xfade; +#X text 392 327 passthrough; +#X obj 14 33 interp4 \$0-r \$0-g \$0-b \$0-a; +#X obj 236 281 r \$0-a; +#X obj 317 115 mementoSetup pt.fader \$0; +#X text 20 313 test case for memento; +#X obj 274 223 s \$0-s; +#X text 312 204 <- conflict w/ state-saving?!; +#X obj 273 182 delay 25; +#X text 23 384 now turns alpha blending off when alpha value is set +to >= 1; +#X obj 126 170 r \$0-alpha; +#X obj 239 115 pack f f f; +#X obj 239 135 prepend colour; +#X obj 237 31 r \$0-r; +#X obj 287 31 r \$0-g; +#X obj 337 31 r \$0-b; +#X obj 287 53 t b f; +#X obj 337 53 t b f; +#X obj 42 86 / 255; +#X obj 67 62 / 255; +#X obj 97 87 / 255; +#X obj 239 85 int; +#X obj 284 85 int; +#X obj 324 85 int; +#X msg 274 202 255; +#X connect 2 0 5 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 8 0 16 0; +#X connect 9 0 11 0; +#X connect 10 0 9 0; +#X connect 14 0 30 0; +#X connect 14 1 31 0; +#X connect 14 2 32 0; +#X connect 14 3 5 4; +#X connect 15 0 10 0; +#X connect 16 0 20 0; +#X connect 16 1 7 0; +#X connect 20 0 36 0; +#X connect 22 0 4 0; +#X connect 23 0 24 0; +#X connect 24 0 7 0; +#X connect 25 0 33 0; +#X connect 26 0 28 0; +#X connect 27 0 29 0; +#X connect 28 0 23 0; +#X connect 28 1 34 0; +#X connect 29 0 23 0; +#X connect 29 1 35 0; +#X connect 30 0 5 1; +#X connect 31 0 5 2; +#X connect 32 0 5 3; +#X connect 33 0 23 0; +#X connect 34 0 23 1; +#X connect 35 0 23 2; +#X connect 36 0 18 0; +#X restore 14 123 pd interna; +#X obj 14 101 inlet; +#X obj 79 101 inlet; +#X obj 14 145 outlet; +#X obj 46 165 outlet; +#X obj 79 185 outlet; +#X obj 157 56 commun /a \$0; +#X obj 157 75 commun /r \$0; +#X obj 157 94 commun /g \$0; +#X obj 157 113 commun /b \$0; +#X obj 24 4 hsl 97 15 0 1 0 0 \$0-a \$0-s Fader 45 8 1 8 -225280 -1 +-1 9600 1; +#X obj 6 4 tgl 15 0 \$0-alpha \$0-s empty 0 -6 0 8 -225280 -1 -1 1 +1; +#X obj 157 36 commun /alpha \$0; +#X connect 1 0 12 0; +#X connect 2 0 13 0; +#X connect 3 0 14 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 5 2 10 0; +#X connect 6 0 5 0; +#X connect 7 0 5 1; +#X connect 11 0 15 0; +#X connect 12 0 1 0; +#X connect 13 0 2 0; +#X connect 14 0 3 0; +#X connect 15 0 11 0; +#X connect 16 0 17 0; +#X connect 17 0 16 0; +#X coords 0 0 1 1 130 72 1; diff --git a/abstractions/pt.feedback.pd b/abstractions/pt.feedback.pd new file mode 100644 index 0000000..46179f4 --- /dev/null +++ b/abstractions/pt.feedback.pd @@ -0,0 +1,204 @@ +#N canvas 433 42 134 136 10; +#N canvas 433 329 796 469 interna 0; +#X obj 425 20 cnv 15 300 300 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 8 20 cnv 15 400 350 empty empty empty 5 8 1 10 -3121 -1 0; +#X msg 49 75 snap; +#X obj 27 51 render_trigger; +#X text 331 47 Before; +#X obj 335 28 gemhead 1; +#X obj 27 326 outlet; +#X obj 27 28 inlet; +#X msg 298 162 \$1 \$2; +#X obj 198 138 pack f f; +#X obj 198 68 r \$0-x-off; +#X obj 219 112 t b f; +#X obj 298 138 pack f f; +#X obj 319 112 t b f; +#X obj 298 68 r \$0-x-size; +#X obj 319 89 r \$0-y-size; +#X obj 672 297 outlet; +#X obj 586 28 inlet; +#X obj 27 275 translateXYZ 0 0 -1; +#X obj 453 268 prepend videoPlaneCorrection; +#X msg 453 246 1.33333; +#X obj 219 89 r \$0-y-off; +#X msg 198 162 \$1 \$2; +#X text 511 246 A*; +#X text 12 379 A* The feedback surface goes in front of the stack \, +so it occludes anything that would normally feedback on it. We can't +make the surface ORTHO or it stays in front of everything. Only problem +with setting it back in the Z dimen is that it'll throw off the Video_Plane +size!!! This is how we correct for the video plane size.; +#X obj 453 181 delay 250; +#X obj 453 155 mementoSetup pt.feedback \$0; +#X obj 586 58 route headSet; +#X obj 27 100 t a; +#X obj 27 180 spigot; +#X obj 27 228 pix_snap2tex \$1 \$2 \$3 \$4; +#X obj 84 180 spigot; +#X obj 63 112 r \$0-type; +#N canvas 0 22 258 148 select 0; +#X obj 47 97 outlet; +#X obj 48 75 == 0; +#X obj 56 31 loadbang; +#X text 118 32 Default; +#X msg 56 51 0; +#X obj 103 97 outlet; +#X obj 104 75 == 1; +#X obj 32 8 inlet; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 4 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X connect 7 0 6 0; +#X restore 63 132 pd select; +#X obj 84 251 pix_snap \$1 \$2 \$3 \$4; +#N canvas 728 459 454 304 defaults 0; +#X obj 18 46 f \$0; +#X msg 18 67 \; \$1-x-off-set 64 \; \$1-y-off-set -16 \; \$1-x-size-set +512 \; \$1-y-size-set 512; +#X obj 18 25 inlet; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X restore 470 213 pd defaults; +#N canvas 21 57 832 445 windowResolution 0; +#X obj 62 23 r pt.windowResolution; +#X obj 157 115 strcmp 640 480; +#X obj 157 136 == 0; +#X obj 297 112 strcmp 512 512; +#X obj 437 112 strcmp 1024 512; +#X obj 297 134 == 0; +#X obj 437 134 == 0; +#X obj 25 288 prepend \$0; +#X msg 25 308 \; \$1-x-off-set 0 \; \$1-y-off-set 0 \; \$1-x-size-set +\$2 \; \$1-y-size-set \$3; +#X obj 157 267 select 1; +#X obj 297 264 select 1; +#X obj 437 264 select 1; +#X obj 157 288 f \$0; +#X msg 157 308 \; \$1-x-off-set 64 \; \$1-y-off-set -16 \; \$1-x-size-set +512 \; \$1-y-size-set 512; +#X obj 297 288 f \$0; +#X obj 437 288 f \$0; +#X msg 297 308 \; \$1-x-off-set 0 \; \$1-y-off-set 0 \; \$1-x-size-set +512 \; \$1-y-size-set 512; +#X msg 437 308 \; \$1-x-off-set 0 \; \$1-y-off-set 0 \; \$1-x-size-set +1024 \; \$1-y-size-set 512; +#X obj 62 44 prepend list; +#X obj 25 267 lister; +#X obj 72 67 t l l l; +#X obj 227 182 ||; +#X obj 211 207 ||; +#X obj 211 229 select 0; +#X text 226 22 Chooses good guess of pt.feedback settings for each +window resolution.; +#X text 319 379 ^ Redundant!; +#X text 437 380 ^ Redundant!; +#X connect 0 0 18 0; +#X connect 1 0 2 0; +#X connect 2 0 9 0; +#X connect 2 0 22 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 10 0; +#X connect 5 0 21 0; +#X connect 6 0 11 0; +#X connect 6 0 21 1; +#X connect 7 0 8 0; +#X connect 9 0 12 0; +#X connect 10 0 14 0; +#X connect 11 0 15 0; +#X connect 12 0 13 0; +#X connect 14 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 20 0; +#X connect 18 0 19 1; +#X connect 19 0 7 0; +#X connect 20 0 1 0; +#X connect 20 1 3 0; +#X connect 20 2 4 0; +#X connect 21 0 22 1; +#X connect 22 0 23 0; +#X connect 23 0 19 0; +#X restore 246 335 pd windowResolution; +#X connect 2 0 28 0; +#X connect 3 0 28 0; +#X connect 3 2 2 0; +#X connect 5 0 28 0; +#X connect 7 0 3 0; +#X connect 8 0 30 2; +#X connect 8 0 34 2; +#X connect 9 0 22 0; +#X connect 10 0 9 0; +#X connect 11 0 9 0; +#X connect 11 1 9 1; +#X connect 12 0 8 0; +#X connect 13 0 12 0; +#X connect 13 1 12 1; +#X connect 14 0 12 0; +#X connect 15 0 13 0; +#X connect 17 0 27 0; +#X connect 18 0 6 0; +#X connect 19 0 16 0; +#X connect 20 0 19 0; +#X connect 21 0 11 0; +#X connect 22 0 30 1; +#X connect 22 0 34 1; +#X connect 25 0 20 0; +#X connect 25 0 35 0; +#X connect 26 0 25 0; +#X connect 26 1 16 0; +#X connect 27 0 5 0; +#X connect 27 1 26 0; +#X connect 28 0 29 0; +#X connect 28 0 31 0; +#X connect 29 0 30 0; +#X connect 30 0 18 0; +#X connect 31 0 34 0; +#X connect 32 0 33 0; +#X connect 33 0 29 1; +#X connect 33 1 31 1; +#X connect 34 0 18 0; +#X restore 9 191 pd interna; +#X obj 9 169 inlet; +#X obj 74 169 inlet; +#X obj 9 213 outlet; +#X obj 74 213 outlet; +#X obj 1 1 cnv 5 128 130 empty empty Texture_Feedback 5 6 1 9 -249661 +-66577 0; +#X obj 23 50 nbx 4 14 -1e+37 1e+37 0 0 \$0-x-off \$0-x-off-set X_Offset +45 8 1 9 -262144 -1 -1 0 256; +#X obj 23 90 nbx 4 14 -1e+37 1e+37 0 0 \$0-x-size \$0-x-size-set X_Size +45 8 1 9 -262144 -1 -1 512 256; +#X obj 23 110 nbx 4 14 -1e+37 1e+37 0 0 \$0-y-size \$0-y-size-set Y_Size +45 8 1 9 -262144 -1 -1 512 256; +#X obj 23 70 nbx 4 14 -1e+37 1e+37 0 0 \$0-y-off \$0-y-off-set Y_Offset +45 8 1 9 -262144 -1 -1 0 256; +#X obj 157 76 commun /x_off \$0; +#X obj 157 95 commun /y_off \$0; +#X obj 157 114 commun /x_size \$0; +#X obj 157 134 commun /y_size \$0; +#X obj 2 17 popup 124 25 grey95 Type snap snap2tex; +#X obj 166 45 commun /type \$0; +#X obj 164 16 route bang; +#X text 8 244 Need to add functionality for popup and; +#X obj 277 45 s \$0-type; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 6 0 10 0; +#X connect 7 0 12 0; +#X connect 8 0 13 0; +#X connect 9 0 11 0; +#X connect 10 0 6 0; +#X connect 11 0 9 0; +#X connect 12 0 7 0; +#X connect 13 0 8 0; +#X connect 14 0 16 0; +#X connect 15 0 14 0; +#X connect 16 1 15 0; +#X connect 16 1 18 0; +#X coords 0 0 1 1 130 132 1; diff --git a/abstractions/pt.file.pd b/abstractions/pt.file.pd new file mode 100644 index 0000000..af05ce2 --- /dev/null +++ b/abstractions/pt.file.pd @@ -0,0 +1,36 @@ +#N canvas 706 141 134 46 10; +#X obj 1 1 cnv 5 128 40 empty empty File_Management 5 6 1 9 -249661 +-66577 0; +#X text 8 133 Facility to choose and select files; +#N canvas 0 22 489 278 interna 0; +#X text 9 4 Facility to choose and select files; +#X obj 115 20 cnv 15 350 240 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 293 156 prepend file; +#X obj 417 27 inlet; +#X obj 415 234 outlet; +#X obj 8 20 cnv 15 100 240 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 21 34 inlet; +#X obj 21 234 outlet; +#X obj 293 134 prepend open; +#X obj 293 112 openpanel; +#X obj 293 92 r \$0-open; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 6 0 7 0; +#X connect 8 0 2 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X restore 10 185 pd interna; +#X obj 10 163 inlet; +#X obj 75 164 inlet; +#X obj 10 207 outlet; +#X obj 75 208 outlet; +#X obj 143 110 s \$0-path; +#X obj 7 18 bng 15 250 50 0 \$0-open \$0 Open 20 8 1 9 -262144 -1 -1 +; +#X connect 2 0 5 0; +#X connect 2 1 6 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X coords 0 0 1 1 130 42 1; diff --git a/abstractions/pt.filelist.pd b/abstractions/pt.filelist.pd new file mode 100644 index 0000000..1b7bb71 --- /dev/null +++ b/abstractions/pt.filelist.pd @@ -0,0 +1,97 @@ +#N canvas 394 251 130 112 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; +#X obj 115 20 cnv 15 350 500 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 326 474 prepend file; +#X obj 236 29 inlet; +#X obj 420 503 outlet; +#X obj 8 20 cnv 15 100 340 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 21 34 inlet; +#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 236 50 mementoSetup pt.filelist \$0; +#X obj 236 90 f \$0; +#X obj 164 266 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 text 21 533 if the directory is the same then don't send back to +symbol; +#X obj 235 165 dirpanel; +#X connect 1 0 3 0; +#X connect 2 0 13 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 restore 10 295 pd interna; +#X obj 10 273 inlet; +#X obj 75 274 inlet; +#X obj 10 317 outlet; +#X obj 75 318 outlet; +#X obj 7 18 bng 15 250 50 0 \$0-dir \$0 Dir 20 8 1 9 -262144 -1 -1 +; +#X symbolatom 7 60 10 0 0 1 - #0-set-pattern #0-pattern; +#X obj 83 62 cnv 5 15 10 empty empty Pattern 5 6 1 9 -249661 -1 0; +#X obj 120 119 s \$0-file; +#X text 9 249 Facility to glob directories of files; +#X obj 386 30 commun /directory \$0; +#X obj 245 122 s \$0-set-pattern; +#X obj 245 30 commun /pattern \$0; +#X text 118 291 Only pattern and directory are state-saved.; +#X obj 245 10 r \$0-pattern; +#X obj 106 18 bng 15 250 50 0 \$0-reload \$0 Update -38 8 1 9 -262144 +-1 -1; +#X symbolatom 7 40 16 0 0 1 - #0-dir-in #0-dir-out; +#X obj 386 51 prepend set; +#X obj 245 51 prepend set; +#X obj 301 76 r \$0-reload; +#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 147 22 r \$0-files; +#X connect 1 0 4 0; +#X connect 1 1 5 0; +#X connect 2 0 1 0; +#X connect 3 0 1 1; +#X connect 11 0 18 0; +#X connect 13 0 19 0; +#X connect 15 0 13 0; +#X connect 18 0 22 0; +#X connect 19 0 12 0; +#X connect 20 0 23 0; +#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; diff --git a/abstractions/pt.interp.pd b/abstractions/pt.interp.pd new file mode 100644 index 0000000..44be78b --- /dev/null +++ b/abstractions/pt.interp.pd @@ -0,0 +1,60 @@ +#N canvas 330 211 130 49 10; +#X obj 1 1 cnv 5 128 47 empty empty empty 5 6 1 9 -133153 -66577 0 +; +#X text 6 52 Interpolation control; +#N canvas 0 22 773 342 defaults 0; +#X obj 80 74 f \$0; +#X obj 31 19 loadbang; +#X text 181 83 53.9 is equivalent to 0.8 after scaling.; +#X obj 31 194 outlet; +#X msg 31 169 0; +#X text 66 169 Low-pass is the default; +#X text 32 226 * Why does popup crash when you set its value? Is it +taking too long to initialize so that its getting caught in the middle?? +; +#X msg 79 96 53.9; +#X obj 82 135 outlet; +#X obj 57 51 delay 25; +#X connect 0 0 7 0; +#X connect 1 0 9 0; +#X connect 4 0 3 0; +#X connect 7 0 8 0; +#X connect 9 0 0 0; +#X restore 157 148 pd defaults; +#X obj 95 99 s ptInterpType; +#X obj 174 17 commun /smoothness \$0; +#X obj 198 99 commun /type \$0; +#N canvas 449 141 529 456 memento 0; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 222 217 route osc; +#X obj 29 46 r pt.currentPreset; +#X text 16 9 Does all the crap for memento naming/collection and abstraction +registration \$1 is abst-name \$2 is \$0 variable; +#X obj 305 75 inlet; +#X obj 115 252 originator /pt/interp \$0; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 7 0; +#X connect 2 0 7 0; +#X connect 3 0 7 1; +#X connect 4 0 0 0; +#X connect 6 0 3 0; +#X restore 42 175 pd memento; +#X obj 43 151 r pt.osc; +#X text 12 127 receive OSC on pt.osc; +#X obj 3 21 popup 124 25 grey50 Interpolate Low-Pass Linear None; +#X obj 9 4 hsl 112 14 1 100 1 0 ptInterpSmoothness \$0-set Smoothness +30 8 1 8 -262144 -1 -128992 9610 1; +#X obj 229 178 s \$0-set; +#X obj 90 75 route bang; +#X connect 2 1 11 0; +#X connect 4 0 10 0; +#X connect 5 0 9 0; +#X connect 7 0 6 0; +#X connect 9 0 12 0; +#X connect 10 0 4 0; +#X connect 12 1 5 0; +#X connect 12 1 3 0; +#X coords 0 0 1 1 130 49 1; diff --git a/abstractions/pt.layer.pd b/abstractions/pt.layer.pd new file mode 100644 index 0000000..667fd35 --- /dev/null +++ b/abstractions/pt.layer.pd @@ -0,0 +1,74 @@ +#N canvas 80 467 130 22 10; +#X obj 1 1 cnv 5 128 20 empty empty empty 5 6 1 9 -128992 -66577 0 +; +#X obj 7 3 tgl 15 0 \$0-head \$0-headset \$1-Layer 20 9 1 12 -262144 +-1 -33289 1 1; +#N canvas 100 22 579 363 interna 0; +#X text 5 6 Render priority \, layer visibility; +#X obj 263 6 cnv 15 200 250 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 414 230 outlet; +#X obj 10 23 cnv 15 100 230 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 22 185 outlet; +#X obj 22 160 gemhead \$1; +#X obj 22 55 r \$0-head; +#X obj 39 109 loadbang; +#X obj 287 171 r \$0-head; +#X obj 287 193 prepend headSet; +#X obj 339 130 register-head \$1; +#N canvas 47 258 474 324 memento 0; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 222 217 route osc; +#X obj 115 214 prepend create; +#X obj 29 46 r pt.currentPreset; +#X text 16 9 Does all the crap for memento naming/collection and abstraction +registration \$1 is abst-name \$2 is \$0 variable; +#X obj 305 75 inlet; +#X obj 305 262 outlet; +#X obj 150 168 list2osc; +#X obj 150 121 f \$1; +#X obj 150 99 loadbang; +#X msg 150 144 list pt \$1; +#X obj 115 252 originator NOTSET \$0; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 13 0; +#X connect 2 0 13 0; +#X connect 3 0 13 1; +#X connect 4 0 13 0; +#X connect 5 0 0 0; +#X connect 7 0 3 0; +#X connect 7 0 8 0; +#X connect 9 0 4 0; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 12 0 9 0; +#X restore 368 90 pd memento; +#X obj 416 14 inlet; +#X msg 39 133 0; +#X text 22 270 All layers are initiall invisible \, overridden by memento +state; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 13 0; +#X connect 8 0 9 0; +#X connect 9 0 2 0; +#X connect 10 0 2 0; +#X connect 11 0 2 0; +#X connect 12 0 11 0; +#X connect 13 0 5 0; +#X connect 13 0 9 0; +#X restore 5 73 pd interna; +#X text 3 29 Render priority \, layer visibility; +#X obj 5 96 outlet; +#X obj 69 96 outlet; +#X obj 5 50 inlet; +#X obj 145 58 commun /vis \$0; +#X connect 1 0 7 0; +#X connect 2 0 4 0; +#X connect 2 1 5 0; +#X connect 6 0 2 0; +#X connect 7 0 1 0; +#X coords 0 0 1 1 130 22 1; diff --git a/abstractions/pt.layerfx.pd b/abstractions/pt.layerfx.pd new file mode 100644 index 0000000..79deff6 --- /dev/null +++ b/abstractions/pt.layerfx.pd @@ -0,0 +1,100 @@ +#N canvas 76 42 130 49 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; +#X obj 10 91 inlet; +#X obj 10 135 outlet; +#X obj 75 135 outlet; +#X obj 152 4 commun /amount \$0; +#X obj 212 82 commun /fx-index \$0; +#X obj 9 4 hsl 112 14 0.01 1 0 0 \$0-fxAmount \$0 fx_amount 38 8 1 +8 -262144 -1 -128992 0 1; +#X obj 233 57 s \$0-index; +#X text 122 262 Due to dynamics this index could change!! Use symbol +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; +#X obj 13 28 inlet; +#X text 13 -1 Pixel Effects; +#X obj 13 447 outlet; +#X obj 380 8 cnv 15 250 140 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 569 20 inlet; +#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 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 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 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 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 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 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; +#X connect 12 0 3 0; +#X connect 12 1 4 0; +#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; diff --git a/abstractions/pt.light.pd b/abstractions/pt.light.pd new file mode 100644 index 0000000..70c7916 --- /dev/null +++ b/abstractions/pt.light.pd @@ -0,0 +1,125 @@ +#N canvas 607 382 130 132 10; +#X obj 1 1 cnv 5 128 130 empty empty \$1-Light 5 7 1 11 -133153 -1 +0; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 34 39 hsl 60 15 0 1 0 0 \$0-r \$0-sc empty -2 -6 2 8 -258699 +-1 -1 5900 1; +#X obj 34 56 hsl 60 15 0 1 0 0 \$0-g \$0-sc empty -2 -6 2 8 -24198 +-1 -1 5900 1; +#X obj 34 73 hsl 60 15 0 1 0 0 \$0-b \$0-sc empty -2 -6 2 8 -62784 +-1 -1 5900 1; +#X obj 14 111 hsl 100 15 -2 7 0 0 \$0-z \$0-sz empty -2 -6 2 8 -262144 +-1 -1 6600 1; +#X obj 11 35 vsl 15 70 -4 4 0 0 \$0-y \$0-sxy empty 0 -8 2 8 -262144 +-1 -1 3450 1; +#X obj 29 18 hsl 70 15 -4 4 0 0 \$0-x \$0-sxy empty -2 -6 2 8 -262144 +-1 -1 3450 1; +#X obj 101 33 cnv 15 15 75 empty empty empty 20 12 0 14 -166441 -66577 +0; +#X obj 34 90 hsl 60 15 0 1 0 0 \$0-sc \$0-sb empty -2 -6 2 8 -262144 +-1 -1 5900 1; +#N canvas 518 270 481 403 interna 0; +#X obj 19 127 translateXYZ; +#N canvas 736 91 337 192 defaults 0; +#X obj 151 25 r \$0-reset; +#X msg 30 69 1; +#X obj 30 90 s \$0-sc; +#X obj 87 90 s \$0-sxy; +#X msg 87 69 0; +#X msg 151 69 4; +#X obj 151 90 s \$0-sz; +#X obj 15 112 s \$0-sb; +#X obj 30 26 bang; +#X obj 30 5 inlet; +#X connect 0 0 5 0; +#X connect 0 0 4 0; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 8 0 1 0; +#X connect 8 0 4 0; +#X connect 8 0 5 0; +#X connect 9 0 8 0; +#X restore 241 185 pd defaults; +#X obj 29 86 interp3 \$0-x \$0-y \$0-z; +#X obj 19 325 light; +#X obj 49 285 pack f f f; +#X obj 125 285 bang; +#X text 7 3 Light; +#X obj 18 44 gemhead 5; +#N canvas 632 292 525 452 memento 0; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 222 237 route osc; +#X obj 29 46 r pt.currentPreset; +#X obj 305 75 inlet; +#X obj 66 281 originator /pt/light \$0; +#X obj 84 253 prepend create; +#X obj 84 225 list2osc; +#X msg 84 200 pt light \$1; +#X obj 84 179 f \$1; +#X obj 69 120 loadbang; +#X text 16 9 Here we are using the first creation argument to pt.light +as the instance number. 1-8; +#X obj 53 150 t b b; +#X obj 53 328 outlet; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 3 0 6 1; +#X connect 4 0 0 0; +#X connect 5 0 3 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 11 0 13 0; +#X connect 13 0 14 0; +#X connect 13 1 10 0; +#X restore 241 139 pd memento; +#X obj 241 117 r pt.osc; +#X text 210 93 receive OSC on pt.osc; +#X obj 241 162 delay 25; +#X text 32 362 Added interpolation for light colours (for state-animation) +; +#X obj 49 241 interp3 \$0-r \$0-g \$0-b; +#X connect 0 0 3 0; +#X connect 2 0 0 1; +#X connect 2 1 0 2; +#X connect 2 2 0 3; +#X connect 4 0 3 1; +#X connect 5 0 4 0; +#X connect 7 0 0 0; +#X connect 8 0 11 0; +#X connect 9 0 8 0; +#X connect 11 0 1 0; +#X connect 13 0 4 0; +#X connect 13 1 4 1; +#X connect 13 1 5 0; +#X connect 13 2 4 2; +#X connect 13 2 5 0; +#X restore 11 141 pd interna; +#X obj 157 55 commun /r \$0; +#X obj 157 74 commun /g \$0; +#X obj 157 93 commun /b \$0; +#X obj 157 16 commun /x \$0; +#X obj 157 36 commun /y \$0; +#X obj 157 112 commun /z \$0; +#X connect 2 0 11 0; +#X connect 3 0 12 0; +#X connect 4 0 13 0; +#X connect 5 0 16 0; +#X connect 6 0 15 0; +#X connect 7 0 14 0; +#X connect 11 0 2 0; +#X connect 12 0 3 0; +#X connect 13 0 4 0; +#X connect 14 0 7 0; +#X connect 15 0 6 0; +#X connect 16 0 5 0; +#X coords 0 0 0.00214592 0.00316456 130 132 1; diff --git a/abstractions/pt.live.pd b/abstractions/pt.live.pd new file mode 100644 index 0000000..0dd694b --- /dev/null +++ b/abstractions/pt.live.pd @@ -0,0 +1,58 @@ +#N canvas 774 401 130 25 10; +#X obj 1 1 cnv 5 128 23 empty empty live 5 10 1 9 -249661 -66577 0 +; +#N canvas 659 355 538 319 interna 0; +#X obj 20 38 inlet; +#X obj 22 266 outlet; +#X obj 225 32 cnv 15 300 250 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 441 46 inlet; +#X obj 442 259 outlet; +#X text 23 9 Live Video; +#X obj 32 191 pix_video \$1 \$2; +#X msg 100 112 dimen \$1 \$2; +#X obj 102 48 r \$0-x; +#X obj 152 48 r \$0-y; +#X obj 110 82 pack f f; +#X obj 172 82 bang; +#N canvas 0 22 466 316 defaults 0; +#X obj 17 75 f \$1; +#X obj 57 75 f \$2; +#X obj 17 104 s \$0-xs; +#X obj 57 129 s \$0-ys; +#X obj 17 17 inlet; +#X text 42 203 Do these make any sense as defaults???; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 4 0 0 0; +#X connect 4 0 1 0; +#X restore 286 167 pd defaults; +#X obj 286 142 delay 25; +#X obj 286 115 mementoSetup pt.live \$0; +#X connect 0 0 6 0; +#X connect 3 0 14 0; +#X connect 6 0 1 0; +#X connect 7 0 6 0; +#X connect 8 0 10 0; +#X connect 9 0 11 0; +#X connect 9 0 10 1; +#X connect 10 0 7 0; +#X connect 11 0 10 0; +#X connect 13 0 12 0; +#X connect 14 0 13 0; +#X connect 14 1 4 0; +#X restore 10 103 pd interna; +#X obj 10 81 inlet; +#X obj 75 81 inlet; +#X obj 10 125 outlet; +#X obj 75 125 outlet; +#X obj 27 4 nbx 4 14 -1e+37 1e+37 0 0 \$0-x \$0-xs empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 77 4 nbx 4 14 -1e+37 1e+37 0 0 \$0-y \$0-ys empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X text 6 52 live video; +#X connect 1 0 4 0; +#X connect 1 1 5 0; +#X connect 2 0 1 0; +#X connect 3 0 1 1; +#X coords 0 0 1 1 130 25 1; diff --git a/abstractions/pt.loop.pd b/abstractions/pt.loop.pd new file mode 100644 index 0000000..6657ceb --- /dev/null +++ b/abstractions/pt.loop.pd @@ -0,0 +1,153 @@ +#N canvas 1024 150 130 138 10; +#X obj 1 1 cnv 5 128 136 empty empty empty 5 6 1 9 -249661 -66577 0 +; +#X obj 4 4 tgl 15 0 \$0-loop \$0- Loop_Film 25 8 1 8 -262144 -1 -33289 +0 1; +#X obj 8 92 hsl 112 15 198 5 1 0 \$0-rate empty play_rate 38 8 1 8 +-262144 -1 -128992 0 1; +#X obj 8 23 hsl 115 15 0 100 0 0 \$0-in_slider \$0-ins in_point 40 +8 1 8 -262144 -1 -128992 0 1; +#X obj 8 38 hsl 115 15 0 100 0 0 \$0-out_slider \$0-outs out_point +37 8 1 8 -262144 -1 -128992 0 1; +#N canvas 722 265 625 550 interna 0; +#X text 15 9 Film Looper; +#X obj 146 8 cnv 15 270 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 353 16 inlet; +#X obj 366 325 outlet; +#X obj 8 27 cnv 15 100 320 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 16 38 inlet; +#X obj 19 326 outlet; +#X obj 178 259 prepend loopPos; +#X obj 151 149 route loop rate type in out numFrames; +#N canvas 207 285 609 630 looper 0; +#X text 74 18 Initialize; +#X msg 26 78 33; +#X obj 87 157 r \$0-loop; +#X obj 87 205 metro 33; +#X obj 152 231 + 1; +#X obj 152 206 r \$0-direction; +#X obj 86 407 outlet; +#X obj 87 382 counter 1 100 3; +#X obj 102 102 s \$0-ins; +#X obj 163 102 s \$0-outs; +#X obj 43 157 inlet; +#X obj 247 179 inlet; +#X obj 257 206 inlet; +#X obj 283 240 inlet; +#X obj 312 312 inlet; +#X obj 158 328 t b f; +#X msg 163 77 100; +#X obj 382 107 inlet; +#X obj 211 355 expr ($f1/100)*$f2; +#X obj 189 283 expr ($f1/100)*$f2; +#X obj 122 38 r \$0-reset; +#X obj 233 101 s \$0-directions; +#X obj 26 102 s \$0-rates; +#X msg 233 77 0; +#X obj 382 134 t b b f f; +#X msg 102 77 0; +#X text 42 455 Replace with cyclone counter in future?; +#X text 45 476 * added to fix expr /0 error; +#X msg 99 355 clear; +#X obj 21 39 bang; +#X obj 20 14 inlet; +#X obj 189 240 r \$0-loop-in; +#X obj 211 312 r \$0-loop-out; +#X obj 137 179 r \$0-rate; +#X connect 1 0 22 0; +#X connect 2 0 3 0; +#X connect 3 0 7 0; +#X connect 4 0 7 1; +#X connect 5 0 4 0; +#X connect 7 0 6 0; +#X connect 10 0 3 0; +#X connect 11 0 3 1; +#X connect 12 0 4 0; +#X connect 13 0 19 0; +#X connect 14 0 18 0; +#X connect 15 0 28 0; +#X connect 15 1 7 2; +#X connect 16 0 9 0; +#X connect 17 0 24 0; +#X connect 18 0 7 3; +#X connect 19 0 15 0; +#X connect 20 0 1 0; +#X connect 20 0 25 0; +#X connect 20 0 16 0; +#X connect 20 0 23 0; +#X connect 23 0 21 0; +#X connect 24 0 25 0; +#X connect 24 1 16 0; +#X connect 24 2 19 1; +#X connect 24 3 18 1; +#X connect 25 0 8 0; +#X connect 28 0 7 0; +#X connect 29 0 1 0; +#X connect 29 0 25 0; +#X connect 29 0 16 0; +#X connect 30 0 29 0; +#X connect 31 0 19 0; +#X connect 32 0 18 0; +#X connect 33 0 3 1; +#X restore 178 216 pd looper ------------; +#X text 16 356 Outputs absolute frame numbers; +#X text 19 378 Find different method to send "numFrames" through control +bus.; +#X obj 178 46 mementoSetup pt.loop \$0; +#X obj 178 72 delay 250; +#X connect 2 0 12 0; +#X connect 2 0 8 0; +#X connect 5 0 6 0; +#X connect 7 0 3 0; +#X connect 8 0 9 1; +#X connect 8 1 9 2; +#X connect 8 2 9 3; +#X connect 8 3 9 4; +#X connect 8 4 9 5; +#X connect 8 5 9 6; +#X connect 8 6 3 0; +#X connect 9 0 7 0; +#X connect 12 0 13 0; +#X connect 12 1 3 0; +#X connect 13 0 9 0; +#X restore 10 219 pd interna; +#X obj 10 197 inlet; +#X obj 75 198 inlet; +#X obj 10 241 outlet; +#X obj 75 242 outlet; +#X obj 193 185 s \$0-direction; +#X obj 5 57 nbx 8 15 0 1e+06 0 0 \$0-loop-in \$0-in_slider In_Point +65 8 1 8 -262144 -1 -1 0 256; +#X obj 5 73 nbx 8 15 0 1e+06 0 0 \$0-loop-out \$0-out_slider Out_Point +65 8 1 8 -262144 -1 -1 0 256; +#X obj 113 6 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 168 136 r \$0-directions; +#X obj 143 5 commun /loop \$0; +#X obj 151 51 commun /in-point \$0; +#X obj 151 74 commun /out-point \$0; +#X obj 151 106 commun /rate \$0; +#X obj 151 205 commun /direction \$0; +#X text 14 148 Film Looper; +#X obj 128 163 route bang; +#X obj 2 110 popup 124 25 grey95 Direction Forward Reverse Ping-Pong +; +#X connect 1 0 15 0; +#X connect 2 0 18 0; +#X connect 3 0 16 0; +#X connect 4 0 17 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 5 0; +#X connect 7 0 5 1; +#X connect 14 0 22 0; +#X connect 15 0 1 0; +#X connect 16 0 3 0; +#X connect 17 0 4 0; +#X connect 18 0 2 0; +#X connect 19 0 22 0; +#X connect 21 1 19 0; +#X connect 21 1 10 0; +#X connect 22 0 21 0; +#X coords 0 0 1 1 130 138 1; diff --git a/abstractions/pt.model.pd b/abstractions/pt.model.pd new file mode 100644 index 0000000..6035e3a --- /dev/null +++ b/abstractions/pt.model.pd @@ -0,0 +1,22 @@ +#N canvas 684 385 150 42 10; +#N canvas 594 292 458 308 interna 0; +#X obj 16 33 inlet; +#X obj 18 228 model; +#X text 12 5 Obj Model; +#X obj 159 5 cnv 15 200 250 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 311 15 inlet; +#X obj 195 109 route file; +#X obj 232 185 register-tail; +#X connect 0 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 5 1 6 0; +#X restore 13 52 pd interna; +#X obj 13 29 inlet; +#X obj 78 30 inlet; +#X obj 2 1 cnv 5 128 16 empty empty 3D_Model 5 9 1 12 -128992 -1 0 +; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X coords 0 0 1 1 130 16 1; diff --git a/abstractions/pt.presets.pd b/abstractions/pt.presets.pd new file mode 100644 index 0000000..7902570 --- /dev/null +++ b/abstractions/pt.presets.pd @@ -0,0 +1,65 @@ +#N canvas 110 194 130 71 10; +#X obj 1 1 cnv 5 128 70 empty empty Parameter_Presets 5 6 1 9 -133153 +-1 0; +#N canvas 390 164 447 548 interna 0; +#X obj 10 24 cnv 15 280 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X text 10 7 Manage Memento Presets; +#X obj 43 39 inlet; +#X obj 106 230 r \$0-save; +#X obj 65 93 r \$0-load; +#X text 89 38 care-taker commands; +#X obj 43 327 caretaker RRADICAL; +#X obj 65 113 openpanel; +#X obj 106 250 savepanel; +#X msg 106 270 file \$1 \, save RRADICAL; +#X text 21 394 Recreate pt.presets with a "symbol" to store the preset +name. The default name should be [patchname-presets.dat] saved to the +same folder as the main patch. Need externas (toxy?) to get the directory +of the main patch \, and also the name of the main patch. You know +what is better? Leave it like this and add a space for a custom name +for each preset state.; +#X msg 65 133 file \$1 \, load RRADICAL; +#X connect 2 0 6 0; +#X connect 3 0 8 0; +#X connect 4 0 7 0; +#X connect 7 0 11 0; +#X connect 8 0 9 0; +#X connect 9 0 6 0; +#X connect 11 0 6 0; +#X restore 7 168 pd interna; +#X obj 10 46 bng 15 250 50 0 \$0-save \$0 Save 20 8 1 9 -237178 -1 +-1; +#X text 218 76 The file Management here is a little ugly...; +#X obj 60 46 bng 15 250 50 0 \$0-load \$0 Load 20 8 1 9 -237178 -1 +-1; +#X text 4 124 Preset Control; +#X text 233 399 TODO: Add "append" functionality to popup so that each +of the presets can be named.; +#X text 239 115 What is the easiest and most simple way to create this +object? On loadbang it could load the pool \, and this way you would +not really have to worry about it \, unless you need to manage the +files \, ie sets of sets... This would be most useful for the animation +stuff... maybe only the "save" bang should be available? Other methods +can be accessed via messages? open \, save and file can be accessed +by sending messages to inlet; +#X obj 52 144 inlet; +#X obj 4 79 inlet; +#X text 48 80 Set Preset; +#X obj 3 14 popup 124 25 grey50 Presets Preset-01 Preset-02 Preset-03 +Preset-04 Preset-05 Preset-06 Preset-07 Preset-08 Preset-09 Preset-10 +; +#X obj 140 35 s pt.currentPreset; +#X text 237 230 After discussion on mailinglist you decided that both +"load" and "save" would actually set the filename explicitly first. +[file \$1 \, load] [file \$1 \, save]; +#X text 236 295 Recreate pt.presets with a "symbol" to store the preset +name. The default name should be [patchname-presets.dat] saved to the +same folder as the main patch. Need externas (toxy?) to get the directory +of the main patch \, and also the name of the main patch. You know +what is better? Leave it like this and add a space for a custom name +for each preset state.; +#X connect 8 0 1 0; +#X connect 9 0 11 0; +#X connect 11 0 12 0; +#X coords 0 0 1 1 130 72 1; diff --git a/abstractions/pt.rotate.pd b/abstractions/pt.rotate.pd new file mode 100644 index 0000000..88f0466 --- /dev/null +++ b/abstractions/pt.rotate.pd @@ -0,0 +1,57 @@ +#N canvas 568 49 130 68 10; +#N canvas 608 369 558 377 interna 0; +#X obj 12 43 inlet; +#X obj 19 325 outlet; +#X obj 222 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 407 14 inlet; +#X obj 424 319 outlet; +#X obj 65 251 rotateXYZ; +#X text 7 3 Rotate; +#X obj 43 121 interp3 \$0-x \$0-y \$0-z; +#X obj 237 247 s \$0-s; +#X obj 247 205 delay 250; +#X text 317 205 <- conflict w/ state-saving!; +#X msg 237 226 0; +#X obj 237 79 r \$0-reset; +#X obj 254 148 mementoSetup pt.rotate \$0; +#X connect 0 0 5 0; +#X connect 3 0 13 0; +#X connect 5 0 1 0; +#X connect 7 0 5 1; +#X connect 7 1 5 2; +#X connect 7 2 5 3; +#X connect 9 0 11 0; +#X connect 11 0 8 0; +#X connect 12 0 11 0; +#X connect 13 0 9 0; +#X connect 13 1 4 0; +#X restore 11 99 pd interna; +#X obj 1 1 cnv 5 128 66 empty empty Rotate 5 7 1 9 -249661 -66577 0 +; +#X obj 6 19 hsl 117 15 -180 180 0 0 \$0-x \$0-s X 53 8 1 8 -262144 +-1 -1 2950 1; +#X obj 6 34 hsl 117 15 -180 180 0 0 \$0-y \$0-s Y 53 8 1 8 -262144 +-1 -1 5350 1; +#X obj 6 49 hsl 117 15 -180 180 0 0 \$0-z \$0-s Z 53 8 1 8 -262144 +-1 -1 2950 1; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 11 78 inlet; +#X obj 76 78 inlet; +#X obj 11 120 outlet; +#X obj 76 120 outlet; +#X obj 157 56 commun /x \$0; +#X obj 157 75 commun /y \$0; +#X obj 157 94 commun /z \$0; +#X connect 0 0 8 0; +#X connect 0 1 9 0; +#X connect 2 0 10 0; +#X connect 3 0 11 0; +#X connect 4 0 12 0; +#X connect 6 0 0 0; +#X connect 7 0 0 1; +#X connect 10 0 2 0; +#X connect 11 0 3 0; +#X connect 12 0 4 0; +#X coords 0 0 1 1 130 68 1; diff --git a/abstractions/pt.scale.pd b/abstractions/pt.scale.pd new file mode 100644 index 0000000..9963fd5 --- /dev/null +++ b/abstractions/pt.scale.pd @@ -0,0 +1,49 @@ +#N canvas 277 474 130 42 10; +#N canvas 96 361 525 397 intera 0; +#X obj 26 56 inlet; +#X obj 26 322 outlet; +#X obj 154 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 407 14 inlet; +#X obj 411 319 outlet; +#X obj 26 277 scaleXYZ; +#X text 7 3 Scale; +#X obj 53 182 r \$0-scale; +#X obj 53 236 interp1; +#X obj 170 247 s \$0-s; +#X obj 180 205 delay 250; +#X text 250 205 <- conflict w/ state-saving!; +#X obj 170 79 r \$0-reset; +#X msg 170 226 1; +#X obj 248 140 mementoSetup pt.scale \$0; +#X connect 0 0 5 0; +#X connect 3 0 14 0; +#X connect 5 0 1 0; +#X connect 7 0 8 0; +#X connect 8 0 5 1; +#X connect 8 0 5 2; +#X connect 8 0 5 3; +#X connect 10 0 13 0; +#X connect 12 0 13 0; +#X connect 13 0 9 0; +#X connect 14 0 10 0; +#X connect 14 1 4 0; +#X restore 16 104 pd intera; +#X obj 1 1 cnv 5 128 40 empty empty Scale 5 7 1 9 -249661 -66577 0 +; +#X obj 10 19 hsl 112 15 0.1 7 0 0 \$0-scale \$0-s Scale 47 8 1 8 -262144 +-1 -1 0 1; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 16 82 inlet; +#X obj 74 82 inlet; +#X obj 16 126 outlet; +#X obj 74 126 outlet; +#X obj 157 56 commun /s \$0; +#X connect 0 0 6 0; +#X connect 0 1 7 0; +#X connect 2 0 8 0; +#X connect 4 0 0 0; +#X connect 5 0 0 1; +#X connect 8 0 2 0; +#X coords 0 0 1 1 130 42 1; diff --git a/abstractions/pt.source.pd b/abstractions/pt.source.pd new file mode 100644 index 0000000..2b6d96b --- /dev/null +++ b/abstractions/pt.source.pd @@ -0,0 +1,131 @@ +#N canvas 262 445 130 32 10; +#N canvas 207 307 869 475 interna 0; +#X obj 364 47 cnv 15 300 250 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 605 57 inlet; +#X obj 11 47 cnv 15 350 250 empty empty empty 5 8 1 10 -3121 -1 0; +#X text 10 3 Input Source Selection (dv \, stream \, analog \, qt \, +image \, buffer); +#X obj 22 187 pix_image; +#X obj 110 187 pix_film; +#X obj 22 162 spigot; +#X obj 110 163 spigot; +#X obj 615 276 outlet; +#X obj 21 57 inlet; +#N canvas 591 359 481 390 selector 0; +#X obj 23 34 inlet; +#X obj 33 178 outlet; +#X obj 81 178 outlet; +#X obj 128 178 outlet; +#X obj 34 156 == 0; +#X obj 81 156 == 1; +#X obj 128 156 == 2; +#X obj 84 111 loadbang; +#X msg 84 131 1; +#X text 146 112 Default; +#X text 67 35 Which stream? (0-image \, 1-movie \, 2-stream); +#X connect 0 0 4 0; +#X connect 0 0 5 0; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X connect 8 0 4 0; +#X connect 8 0 6 0; +#X restore 256 77 pd selector; +#X obj 211 162 spigot; +#X obj 256 56 r \$0-source; +#X obj 439 119 s \$0-ip; +#X obj 493 119 s \$0-port; +#X obj 561 119 s \$0-connect; +#X obj 567 144 s \$0-loopPos; +#N canvas 650 370 503 404 loop 0; +#X text 2 6 Changes incoming relative loopPos into frame numbers for +this film.; +#X obj 167 60 r \$0-numFrames; +#X obj 18 220 outlet; +#X obj 18 42 r \$0-loopPos; +#X floatatom 39 160 8 0 0 0 - - -; +#X floatatom 49 100 8 0 0 0 - - -; +#X obj 18 187 int; +#X text 16 274 I'm not quite sure how to fix this... suggestions? How +can we get this relative loop reference to work? We still need a high-resolution +relative position \, but want 33ms per frame \, not for the least significant +digit!; +#X obj 18 131 expr $f1/(1000000/$f2); +#X floatatom 199 105 5 0 0 0 - - -; +#X floatatom 56 186 5 0 0 0 - - -; +#X text 184 131 frame = loopPos/(1000000/numFrames); +#X text 19 252 This does not work. each 1/100 of a frame takes 33ms!! +; +#X text 17 335 Using non-relative frames seems to be the only answer +\, but how best to pass numframes data from pt.source to pt.loop? 3rd +inlet??; +#X connect 1 0 8 1; +#X connect 1 0 9 0; +#X connect 3 0 5 0; +#X connect 3 0 8 0; +#X connect 6 0 2 0; +#X connect 8 0 4 0; +#X connect 8 0 6 0; +#X connect 10 0 2 0; +#X restore 37 343 pd loop; +#X obj 22 267 outlet; +#X obj 69 57 r \$0-file; +#X obj 371 119 s \$0-file; +#X obj 135 206 unpack f f f; +#X obj 211 187 pix_dvts; +#X obj 172 187 t f; +#X obj 382 90 route file ip port connect loopPos; +#X obj 135 225 prepend numFrames; +#X text 229 145 Deferred for TOT2; +#X text 248 310 Accept absolute frame number! (loopPos); +#X obj 161 55 r \$0-loopPos; +#X text 94 343 Depreciated method using relative frame; +#X obj 135 244 prepend loopBack; +#X connect 1 0 24 0; +#X connect 4 0 18 0; +#X connect 5 0 18 0; +#X connect 5 1 21 0; +#X connect 5 2 23 0; +#X connect 6 0 4 0; +#X connect 7 0 5 0; +#X connect 9 0 6 0; +#X connect 9 0 7 0; +#X connect 9 0 11 0; +#X connect 10 0 6 1; +#X connect 10 1 7 1; +#X connect 11 0 22 0; +#X connect 12 0 10 0; +#X connect 19 0 6 0; +#X connect 19 0 7 0; +#X connect 21 0 25 0; +#X connect 22 0 18 0; +#X connect 23 0 5 1; +#X connect 24 0 20 0; +#X connect 24 1 13 0; +#X connect 24 2 14 0; +#X connect 24 3 15 0; +#X connect 24 4 16 0; +#X connect 24 5 8 0; +#X connect 25 0 30 0; +#X connect 28 0 5 1; +#X connect 30 0 8 0; +#X restore 10 90 pd interna; +#X obj 10 67 inlet; +#X obj 75 68 inlet; +#X obj 9 112 outlet; +#X obj 75 112 outlet; +#X text 14 43 Input Source; +#X obj 1 1 cnv 5 128 30 empty empty empty 5 6 1 9 -249661 -66577 0 +; +#X obj 141 8 s \$0-source; +#X obj 3 3 popup 124 25 grey95 Source Image Movie; +#X connect 0 0 3 0; +#X connect 0 1 4 0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X connect 8 0 7 0; +#X coords 0 0 1 1 130 32 1; diff --git a/abstractions/pt.squeeze.pd b/abstractions/pt.squeeze.pd new file mode 100644 index 0000000..e4f8f4f --- /dev/null +++ b/abstractions/pt.squeeze.pd @@ -0,0 +1,57 @@ +#N canvas 502 22 130 68 10; +#N canvas 67 346 536 371 intera 0; +#X obj 26 56 inlet; +#X obj 19 325 outlet; +#X obj 214 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 459 12 inlet; +#X obj 461 319 outlet; +#X obj 26 277 scaleXYZ; +#X obj 43 134 interp3 \$0-x \$0-y \$0-z; +#X text 7 3 Squeeze; +#X obj 237 247 s \$0-s; +#X obj 247 205 delay 250; +#X text 317 205 <- conflict w/ state-saving!; +#X obj 237 79 r \$0-reset; +#X msg 237 226 1; +#X obj 284 147 mementoSetup pt.squeeze \$0; +#X connect 0 0 5 0; +#X connect 3 0 13 0; +#X connect 5 0 1 0; +#X connect 6 0 5 1; +#X connect 6 1 5 2; +#X connect 6 2 5 3; +#X connect 9 0 12 0; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 13 0 9 0; +#X connect 13 1 4 0; +#X restore 16 104 pd intera; +#X obj 1 1 cnv 5 128 66 empty empty Squeeze 5 7 1 9 -249661 -66577 +0; +#X obj 10 19 hsl 112 15 0.1 4 0 0 \$0-x \$0-s X 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 10 34 hsl 112 15 0.1 4 0 0 \$0-y \$0-s Y 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 10 49 hsl 112 15 0.1 4 0 0 \$0-z \$0-s Z 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#X obj 16 82 inlet; +#X obj 74 82 inlet; +#X obj 16 126 outlet; +#X obj 74 126 outlet; +#X obj 157 56 commun /x \$0; +#X obj 157 75 commun /y \$0; +#X obj 157 94 commun /z \$0; +#X connect 0 0 8 0; +#X connect 0 1 9 0; +#X connect 2 0 10 0; +#X connect 3 0 11 0; +#X connect 4 0 12 0; +#X connect 6 0 0 0; +#X connect 7 0 0 1; +#X connect 10 0 2 0; +#X connect 11 0 3 0; +#X connect 12 0 4 0; +#X coords 0 0 1 1 130 68 1; diff --git a/abstractions/pt.stream.pd b/abstractions/pt.stream.pd new file mode 100644 index 0000000..e4a9276 --- /dev/null +++ b/abstractions/pt.stream.pd @@ -0,0 +1,38 @@ +#N canvas 0 22 145 181 10; +#X obj 2 2 cnv 5 128 82 empty empty Stream_Management 5 6 1 9 -249661 +-66577 0; +#X symbolatom 5 16 15 0 0 1 IP - -; +#X obj 5 33 nbx 5 14 -1e+37 1e+37 0 0 empty empty Port 47 8 1 9 -262144 +-1 -1 0 256; +#X obj 5 51 tgl 30 0 \$0- \$0 Connect/Disconnect 35 15 1 8 -262144 +-1 -33289 0 1; +#N canvas 0 22 454 304 interna 0; +#X obj 73 22 cnv 15 300 250 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 11 24 inlet; +#X obj 11 234 outlet; +#X obj 317 33 inlet; +#X obj 315 250 outlet; +#X obj 81 171 prepend ip; +#X obj 81 148 r \$0-ip; +#X obj 161 148 r \$0-port; +#X obj 161 171 prepend port; +#X obj 251 148 r \$0-port; +#X obj 251 171 prepend port; +#X text 9 4 Facility to choose and select streams; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 9 0 10 0; +#X restore 15 127 pd interna; +#X obj 15 104 inlet; +#X obj 80 104 inlet; +#X obj 15 150 outlet; +#X obj 80 150 outlet; +#X connect 4 0 7 0; +#X connect 4 1 8 0; +#X connect 5 0 4 0; +#X connect 6 0 4 1; diff --git a/abstractions/pt.text.pd b/abstractions/pt.text.pd new file mode 100644 index 0000000..78ef4fd --- /dev/null +++ b/abstractions/pt.text.pd @@ -0,0 +1,25 @@ +#N canvas 328 143 130 16 10; +#N canvas 665 93 406 418 interna 0; +#X obj 172 37 cnv 15 200 340 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 9 37 cnv 15 150 340 empty empty empty 5 8 1 10 -3121 -1 0; +#X text 12 5 Text (size \, type \, font etc..); +#X obj 16 58 inlet; +#X obj 322 51 inlet; +#X obj 257 131 route text; +#X obj 216 175 route size; +#X obj 16 350 text3d pixelTANGO; +#X obj 241 295 register-tail; +#X connect 3 0 7 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 1 8 0; +#X connect 6 0 7 1; +#X connect 6 1 7 0; +#X restore 12 54 pd interna; +#X obj 77 33 inlet; +#X obj 12 33 inlet; +#X obj 1 1 cnv 5 128 16 empty empty Text 5 9 1 12 -128992 -1 0; +#X connect 1 0 0 1; +#X connect 2 0 0 0; +#X coords 0 0 1 1 130 16 1; diff --git a/abstractions/pt.translate.pd b/abstractions/pt.translate.pd new file mode 100644 index 0000000..8caeaf7 --- /dev/null +++ b/abstractions/pt.translate.pd @@ -0,0 +1,59 @@ +#N canvas 181 373 130 68 10; +#X obj 1 1 cnv 5 128 66 empty empty Translate 5 7 1 9 -249661 -66577 +0; +#X obj 10 19 hsl 112 15 -11 11 0 0 \$0-x \$0-s X 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 10 34 hsl 112 15 -11 11 0 0 \$0-y \$0-s Y 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 10 49 hsl 112 15 -11 11 0 0 \$0-z \$0-s Z 53 8 1 8 -262144 -1 +-1 0 1; +#X obj 113 3 bng 11 250 50 0 \$0-reset \$0- Reset -25 6 1 8 -262144 +-1 -1; +#N canvas 400 284 666 434 interna 0; +#X obj 12 43 inlet; +#X obj 77 257 translateXYZ; +#X obj 19 325 outlet; +#X obj 224 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 407 14 inlet; +#X obj 411 319 outlet; +#X text 7 3 Translate; +#X obj 60 145 interp3 \$0-x \$0-y \$0-z; +#X obj 237 247 s \$0-s; +#X obj 247 205 delay 250; +#X text 317 205 <- conflict w/ state-saving!; +#X text 51 371 removed "route" based remote control \, waiting for +OSCroute changes.; +#X obj 294 158 mementoSetup pt.translate \$0; +#X msg 237 226 0; +#X obj 237 79 r \$0-reset; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 4 0 12 0; +#X connect 7 0 1 1; +#X connect 7 1 1 2; +#X connect 7 2 1 3; +#X connect 9 0 13 0; +#X connect 12 0 9 0; +#X connect 12 1 5 0; +#X connect 13 0 8 0; +#X connect 14 0 13 0; +#X restore 13 109 pd interna; +#X obj 13 86 inlet; +#X obj 78 86 inlet; +#X obj 13 132 outlet; +#X obj 78 132 outlet; +#X obj 157 56 commun /x \$0; +#X obj 157 75 commun /y \$0; +#X obj 157 94 commun /z \$0; +#X connect 1 0 10 0; +#X connect 2 0 11 0; +#X connect 3 0 12 0; +#X connect 5 0 8 0; +#X connect 5 1 9 0; +#X connect 6 0 5 0; +#X connect 7 0 5 1; +#X connect 10 0 1 0; +#X connect 11 0 2 0; +#X connect 12 0 3 0; +#X coords 0 0 1 1 130 68 1; diff --git a/abstractions/pt.video.pd b/abstractions/pt.video.pd new file mode 100644 index 0000000..cc98e42 --- /dev/null +++ b/abstractions/pt.video.pd @@ -0,0 +1,35 @@ +#N canvas 492 644 130 18 10; +#N canvas 85 81 670 362 interna 0; +#X obj 15 42 inlet; +#X obj 192 26 cnv 15 300 250 empty empty empty 5 8 1 10 -260390 -1 +0; +#X obj 14 255 rectangle; +#X obj 342 37 inlet; +#X obj 43 184 unpack f f; +#X text 13 7 Video Plane; +#X obj 15 63 pix_texture; +#X text 22 84 Where else to put this?; +#X obj 108 225 * 1; +#X obj 43 225 * 1; +#X obj 199 111 register-tail; +#X obj 43 156 r pt.videoPlaneSize; +#X obj 285 148 route videoPlaneCorrection; +#X connect 0 0 6 0; +#X connect 3 0 10 0; +#X connect 4 0 9 0; +#X connect 4 1 8 0; +#X connect 6 0 2 0; +#X connect 8 0 2 2; +#X connect 9 0 2 1; +#X connect 10 1 12 0; +#X connect 11 0 4 0; +#X connect 12 0 8 1; +#X connect 12 0 9 1; +#X restore 13 55 pd interna; +#X obj 13 34 inlet; +#X obj 78 34 inlet; +#X obj 1 1 cnv 5 128 16 empty empty Video_Plane 5 9 1 12 -128992 -1 +0; +#X connect 1 0 0 0; +#X connect 2 0 0 1; +#X coords 0 0 1 1 130 16 1; diff --git a/abstractions/pt.whatcolour.pd b/abstractions/pt.whatcolour.pd new file mode 100644 index 0000000..b5c97de --- /dev/null +++ b/abstractions/pt.whatcolour.pd @@ -0,0 +1,105 @@ +#N canvas 295 360 130 42 10; +#N canvas 590 361 553 425 intera 0; +#X obj 26 56 inlet; +#X obj 154 4 cnv 15 300 340 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X obj 387 14 inlet; +#X obj 387 319 outlet; +#X obj 26 322 outlet; +#X text 7 3 WhatColour?; +#X obj 213 77 route colour; +#X obj 213 120 unpack f f f; +#N canvas 88 146 620 498 colourMess 0; +#X obj 156 4 inlet; +#X obj 233 6 inlet; +#X obj 299 7 inlet; +#X text 161 -21 red; +#X text 231 -19 green; +#X text 303 -19 blue; +#X obj 183 119 t b f; +#X obj 117 177 +; +#X obj 117 202 t b f; +#X obj 117 233 +; +#X obj 40 96 * -65536; +#X obj 117 97 * -256; +#X obj 183 97 * -1; +#X obj 117 264 - 1; +#X obj 189 391 outlet; +#X obj 232 69 invert_scale 0 255; +#X obj 374 158 t b f; +#X obj 308 216 +; +#X obj 308 241 t b f; +#X obj 308 272 +; +#X obj 231 135 * -65536; +#X obj 308 136 * -256; +#X obj 374 136 * -1; +#X obj 308 303 - 1; +#X obj 308 91 invert_scale 0 255; +#X obj 374 113 invert_scale 0 255; +#X obj 299 29 t f f; +#X obj 233 28 t f f; +#X obj 156 27 t f f; +#X obj 189 341 pack f f; +#X msg 189 365 color \$1 \$2; +#X obj 383 11 loadbang; +#X msg 383 35 200; +#X connect 0 0 28 0; +#X connect 1 0 27 0; +#X connect 2 0 26 0; +#X connect 6 0 7 0; +#X connect 6 1 7 1; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 9 0 13 0; +#X connect 10 0 9 0; +#X connect 11 0 7 0; +#X connect 12 0 6 0; +#X connect 13 0 29 0; +#X connect 15 0 20 0; +#X connect 16 0 17 0; +#X connect 16 1 17 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 1 19 1; +#X connect 19 0 23 0; +#X connect 20 0 19 0; +#X connect 21 0 17 0; +#X connect 22 0 16 0; +#X connect 23 0 29 1; +#X connect 24 0 21 0; +#X connect 25 0 22 0; +#X connect 26 0 12 0; +#X connect 26 1 25 0; +#X connect 27 0 11 0; +#X connect 27 1 24 0; +#X connect 28 0 10 0; +#X connect 28 1 15 0; +#X connect 29 0 30 0; +#X connect 30 0 14 0; +#X connect 31 0 32 0; +#X connect 32 0 26 0; +#X connect 32 0 27 0; +#X connect 32 0 28 0; +#X restore 185 167 pd colourMess; +#X obj 190 230 s \$0-whatColour; +#X connect 0 0 4 0; +#X connect 2 0 6 0; +#X connect 6 0 7 0; +#X connect 6 1 3 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 7 2 8 2; +#X connect 8 0 9 0; +#X restore 16 104 pd intera; +#X obj 1 1 cnv 5 128 40 empty \$0-whatColour Colour? 5 7 1 9 -208051 +-54094 0; +#X obj 16 82 inlet; +#X obj 74 82 inlet; +#X obj 16 126 outlet; +#X obj 74 126 outlet; +#X connect 0 0 4 0; +#X connect 0 1 5 0; +#X connect 2 0 0 0; +#X connect 3 0 0 1; +#X coords 0 0 1 1 130 42 1; diff --git a/abstractions/pt.window.pd b/abstractions/pt.window.pd new file mode 100644 index 0000000..811ec3d --- /dev/null +++ b/abstractions/pt.window.pd @@ -0,0 +1,306 @@ +#N canvas 687 246 130 212 10; +#X text 8 259 Gemwin Control (for gemwin); +#X obj 229 200 s \$0-resolution; +#X obj 1 1 cnv 5 128 210 empty empty Window_Management 5 6 1 9 -133153 +-1 0; +#X obj 7 53 tgl 15 0 \$0-window \$0 Window 20 8 1 8 -262144 -1 -1 0 +1; +#X obj 7 35 tgl 15 0 \$0-fsaa \$0 FSAA(6) 20 8 1 8 -262144 -1 -1 0 +1; +#X obj 7 17 tgl 15 0 \$0-fullscreen \$0 Fullscreen 20 8 1 8 -262144 +-1 -1 0 1; +#X obj 10 74 hsl 112 15 0 1 0 0 \$0-r \$0-s empty -2 -6 0 8 -258699 +-1 -1 0 1; +#X obj 10 89 hsl 112 15 0 1 0 0 \$0-g \$0-s empty -2 -6 0 8 -24198 +-1 -1 0 1; +#X obj 10 104 hsl 112 15 0 1 0 0 \$0-b \$0-s empty -2 -6 0 8 -62784 +-1 -1 0 1; +#X obj 76 17 tgl 15 0 \$0-light \$0 Light 20 8 1 8 -262144 -1 -1 0 +1; +#X text 6 352 In the future it would be nice to visuall choose a corner +of the window to put the gemwin. We can get the size of the screen +in tcl with winfo vrootheight . and winfo vrootwidth . Suggest on gem-dev? +; +#X obj 215 115 commun /r \$0; +#X obj 215 134 commun /g \$0; +#X obj 215 153 commun /b \$0; +#X obj 6 285 inlet; +#X obj 226 253 s \$0-offset; +#X obj 339 200 commun /resolution \$0; +#X obj 76 35 tgl 15 0 \$0-cursor \$0-cursor-set Cursor 20 8 1 8 -262144 +-1 -1 0 1; +#X obj 309 253 commun /offset \$0; +#X obj 215 5 commun /fullscreen \$0; +#X obj 215 25 commun /fsaa \$0; +#X obj 215 45 commun /light \$0; +#X obj 215 65 commun /cursor \$0; +#X obj 206 227 route bang; +#X text 287 227 <- fix for initial bang; +#X obj 222 170 route bang; +#N canvas 107 93 694 550 interna 0; +#X text 7 6 Gemwin Control (for gemwin); +#X obj 10 44 cnv 15 650 400 empty empty empty 5 8 1 10 -260390 -1 0 +; +#X msg 27 162 color \$1 \$2 \$3; +#X obj 27 142 pack f f f; +#X obj 27 223 s \$0-ctrl; +#X obj 546 238 s \$0-ctrl; +#X msg 546 133 640 480; +#X obj 546 85 r \$0-resolution; +#X obj 12 464 cnv 15 130 50 empty empty empty 5 8 1 10 -3121 -1 0; +#X obj 214 57 r \$0-window; +#X obj 220 150 s \$0-ctrl; +#X obj 348 54 r \$0-fsaa; +#X obj 348 147 s \$0-ctrl; +#X msg 377 124 FSAA 0; +#X obj 214 80 route 1 0; +#X obj 348 77 route 1 0; +#X obj 546 107 route 0 1 2; +#X msg 563 153 1024 512; +#X msg 580 173 512 512; +#X obj 430 416 s \$0-ctrl; +#X msg 430 395 offset \$1 \$2; +#X msg 249 127 0 \, destroy; +#X msg 220 104 create \, 1; +#X obj 282 245 r \$0-resolution; +#X obj 282 267 route 0 1 2; +#X msg 282 293 5.3333 4; +#X msg 299 313 8 4; +#X msg 316 333 4 4; +#X obj 443 130 loadbang; +#X text 442 152 Defaults; +#X obj 202 179 s windowCreate; +#X text 198 199 Signal to FTGL render; +#X msg 348 101 FSAA 6; +#X obj 24 263 r \$0-frameRate; +#X obj 24 285 route 0 1; +#X msg 24 311 30; +#X msg 54 331 60; +#N canvas 0 22 455 226 dynamic 0; +#X obj 82 69 f \$0; +#X obj 81 93 makefilename pd-%d-interna; +#X msg 16 144 \; \$3 obj 21 423 gemwindow \$1 \$2; +#X obj 16 118 pack f f s; +#X text 8 7 Dynamically generates the gemwindow abstraction at the +correct framerate with the correct receive name.; +#X obj 16 45 inlet; +#X obj 82 46 loadbang; +#X msg 143 46 bang; +#X text 11 189 Crap \, we need to be able to delete the old one first! +How? "cut" crashes when the patcher is not open!; +#X connect 0 0 1 0; +#X connect 0 0 3 1; +#X connect 1 0 3 2; +#X connect 3 0 2 0; +#X connect 5 0 3 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X restore 24 357 pd dynamic patcher; +#X obj 165 270 s \$0-ctrl; +#X obj 165 230 r \$0-light; +#X msg 165 250 lighting \$1; +#X obj 166 334 s \$0-ctrl; +#X obj 166 296 r \$0-fullscreen; +#X msg 166 315 fullscreen \$1; +#X obj 282 359 s pt.videoPlaneSize; +#X obj 21 471 inlet; +#N canvas 276 506 466 316 select 0; +#X obj 18 17 inlet; +#X obj 18 43 select 0 1 2 3 4 5; +#X msg 18 67 1600 -50; +#X msg 38 87 1600 0; +#X msg 58 107 1280 -50; +#X msg 78 127 1280 0; +#X msg 98 147 1024 -50; +#X msg 118 167 1024 0; +#X msg 139 187 0 0; +#X obj 35 226 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 1 2 4 0; +#X connect 1 3 5 0; +#X connect 1 4 6 0; +#X connect 1 5 7 0; +#X connect 1 6 8 0; +#X connect 2 0 9 0; +#X connect 3 0 9 0; +#X connect 4 0 9 0; +#X connect 5 0 9 0; +#X connect 6 0 9 0; +#X connect 7 0 9 0; +#X connect 8 0 9 0; +#X restore 430 374 pd select; +#X obj 430 352 r \$0-offset; +#X obj 427 311 s \$0-ctrl; +#X obj 427 258 r \$0-cursor; +#X msg 427 285 cursor \$1; +#N canvas 672 103 529 518 memento 0; +#X obj 29 66 t b f; +#X msg 29 90 set; +#X msg 59 90 substate \$1; +#X obj 29 46 r pt.currentPreset; +#X text 16 9 Does all the crap for memento naming/collection and abstraction +registration \$1 is abst-name \$2 is \$0 variable; +#X obj 305 75 inlet; +#X obj 115 122 originator /pt/window \$0; +#X obj 44 158 cnv 15 400 300 empty empty EXPERIMENTAL 20 12 0 14 -259544 +-1 0; +#X obj 234 360 pool OSC; +#X obj 175 218 r \$0-RRADMIN; +#X obj 157 307 prepend set; +#X obj 182 252 t a b; +#X obj 258 284 symbol \$1; +#X msg 251 309 mkchdir \$1; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 3 0 0 0; +#X connect 5 0 6 1; +#X connect 9 0 11 0; +#X connect 10 0 8 0; +#X connect 11 0 10 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 8 0; +#X restore 449 96 pd memento; +#X obj 449 74 r pt.osc; +#X text 431 51 receive OSC on pt.osc; +#X obj 27 201 spigot; +#X obj 27 73 interp3 \$0-r \$0-g \$0-b; +#X obj 104 142 bang; +#X obj 65 471 r \$0-ctrl; +#X obj 546 418 s \$0-ctrl; +#X obj 546 265 r \$0-framerate; +#X obj 546 287 route 0 1 2 3; +#X msg 546 313 15; +#X msg 563 333 30; +#X msg 580 353 60; +#X msg 600 373 100; +#X obj 546 396 prepend frame; +#X text 8 25 Render \, Creation \, Colour? \, frame-rate \,; +#X obj 165 400 s \$0-ctrl; +#X obj 165 360 r \$0-border; +#X msg 165 380 border \$1; +#X obj 413 184 f \$0; +#X obj 511 463 s pt.windowResolution; +#X obj 546 216 prepend dimen; +#X obj 21 493 gemwin 30; +#X obj 546 196 t a; +#X msg 414 204 \; \$1-border-set 1 \; \$1-cursor-set 1 \;; +#X connect 2 0 54 0; +#X connect 3 0 2 0; +#X connect 6 0 74 0; +#X connect 7 0 16 0; +#X connect 9 0 14 0; +#X connect 9 0 54 1; +#X connect 11 0 15 0; +#X connect 13 0 12 0; +#X connect 14 0 22 0; +#X connect 14 0 30 0; +#X connect 14 1 21 0; +#X connect 15 0 32 0; +#X connect 15 1 13 0; +#X connect 16 0 6 0; +#X connect 16 1 17 0; +#X connect 16 2 18 0; +#X connect 17 0 74 0; +#X connect 18 0 74 0; +#X connect 20 0 19 0; +#X connect 21 0 10 0; +#X connect 22 0 10 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 24 1 26 0; +#X connect 24 2 27 0; +#X connect 25 0 44 0; +#X connect 26 0 44 0; +#X connect 27 0 44 0; +#X connect 28 0 6 0; +#X connect 28 0 25 0; +#X connect 28 0 70 0; +#X connect 32 0 12 0; +#X connect 33 0 34 0; +#X connect 34 0 35 0; +#X connect 34 1 36 0; +#X connect 35 0 37 0; +#X connect 36 0 37 0; +#X connect 39 0 40 0; +#X connect 40 0 38 0; +#X connect 42 0 43 0; +#X connect 43 0 41 0; +#X connect 45 0 73 0; +#X connect 46 0 20 0; +#X connect 47 0 46 0; +#X connect 49 0 50 0; +#X connect 50 0 48 0; +#X connect 52 0 51 0; +#X connect 54 0 4 0; +#X connect 55 0 3 0; +#X connect 55 1 56 0; +#X connect 55 1 3 1; +#X connect 55 2 56 0; +#X connect 55 2 3 2; +#X connect 56 0 3 0; +#X connect 57 0 73 0; +#X connect 59 0 60 0; +#X connect 60 0 61 0; +#X connect 60 1 62 0; +#X connect 60 2 63 0; +#X connect 60 3 64 0; +#X connect 61 0 65 0; +#X connect 62 0 65 0; +#X connect 63 0 65 0; +#X connect 64 0 65 0; +#X connect 65 0 58 0; +#X connect 68 0 69 0; +#X connect 69 0 67 0; +#X connect 70 0 75 0; +#X connect 72 0 5 0; +#X connect 74 0 72 0; +#X connect 74 0 71 0; +#X restore 6 307 pd interna; +#X obj 215 280 route bang; +#X text 296 280 <- fix for initial bang; +#X obj 215 306 s \$0-framerate; +#X obj 318 306 commun /framerate \$0; +#X obj 76 53 tgl 15 0 \$0-border \$0-border-set Border 20 8 1 8 -262144 +-1 -1 1 1; +#X obj 215 85 commun /border \$0; +#X obj 4 124 popup 124 25 grey50 Resolution 640x480 1024x512 512x512 +; +#X obj 4 153 popup 124 25 grey50 Offset 1600/-50 1600/0 1280/-50 1280/0 +1024/-50 1024/0 0/0; +#X obj 4 181 popup 124 25 grey50 Frame-rate 15fps 30fps 60fps 100fps +; +#X connect 4 0 20 0; +#X connect 5 0 19 0; +#X connect 6 0 11 0; +#X connect 7 0 12 0; +#X connect 8 0 13 0; +#X connect 9 0 21 0; +#X connect 11 0 6 0; +#X connect 12 0 7 0; +#X connect 13 0 8 0; +#X connect 14 0 26 0; +#X connect 16 0 33 0; +#X connect 17 0 22 0; +#X connect 18 0 34 0; +#X connect 19 0 5 0; +#X connect 20 0 4 0; +#X connect 21 0 9 0; +#X connect 22 0 17 0; +#X connect 23 1 15 0; +#X connect 23 1 18 0; +#X connect 25 1 16 0; +#X connect 25 1 1 0; +#X connect 27 1 29 0; +#X connect 27 1 30 0; +#X connect 30 0 35 0; +#X connect 31 0 32 0; +#X connect 32 0 31 0; +#X connect 33 0 25 0; +#X connect 34 0 23 0; +#X connect 35 0 27 0; +#X coords 0 0 1 1 130 212 1; diff --git a/abstractions/register-dump.pd b/abstractions/register-dump.pd new file mode 100644 index 0000000..a2bc8b9 --- /dev/null +++ b/abstractions/register-dump.pd @@ -0,0 +1,16 @@ +#N canvas 599 155 280 253 10; +#X msg 24 51 getrec; +#X obj 24 88 pool register; +#X obj 45 187 print pt.register; +#X obj 67 112 prepend Directory; +#X obj 45 134 prepend Key; +#X obj 24 157 prepend Value; +#X obj 24 28 inlet; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 4 0; +#X connect 1 2 3 0; +#X connect 3 0 2 0; +#X connect 4 0 2 0; +#X connect 5 0 2 0; +#X connect 6 0 0 0; diff --git a/abstractions/register-get.pd b/abstractions/register-get.pd new file mode 100644 index 0000000..f846322 --- /dev/null +++ b/abstractions/register-get.pd @@ -0,0 +1,30 @@ +#N canvas 219 138 473 435 10; +#X obj 34 54 inlet; +#X obj 29 368 pool register; +#X text 25 8 This abstraction is used to access the unique \$0 ID from +the instance number of a particular abstraction on a particular layer. +; +#X obj 29 393 outlet; +#X msg 29 314 chdir \$1 \$2; +#X obj 149 314 prepend get; +#X obj 61 107 route dir; +#X text 117 286 \$1 layerNum \, \$2 Abstraction Name; +#X obj 29 144 prepend list; +#X obj 119 188 oneshot; +#X obj 119 144 t b f; +#X obj 39 288 pack \$1 s; +#X obj 97 265 symbol \$2; +#X obj 97 243 loadbang; +#X connect 0 0 6 0; +#X connect 1 0 3 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 8 0; +#X connect 6 1 10 0; +#X connect 8 0 4 0; +#X connect 9 0 11 0; +#X connect 10 0 9 0; +#X connect 10 1 5 0; +#X connect 11 0 4 0; +#X connect 12 0 11 1; +#X connect 13 0 12 0; diff --git a/abstractions/register-head.pd b/abstractions/register-head.pd new file mode 100644 index 0000000..4e4758a --- /dev/null +++ b/abstractions/register-head.pd @@ -0,0 +1,50 @@ +#N canvas 257 138 873 497 10; +#X obj 203 383 outlet; +#X msg 203 298 register-head 0; +#X obj 10 165 loadbang; +#X msg 10 298 layerNum \$1; +#X obj 10 277 f \$1; +#X text 49 278 Layer Number Argument; +#X text 9 5 Register-head (starts the abstraction registration process.) +; +#X obj 203 165 r pt.layerNumDone; +#X obj 203 193 select \$1; +#X obj 219 264 r pt.register; +#X obj 9 453 delay 250; +#X msg 72 165 bang; +#X text 9 140 1 Send LayerNum; +#X text 155 140 2 when layerNum gets to end send register-head; +#X text 347 163 3 When register-head gets to end then send createOscName +; +#X obj 357 212 select \$1; +#X obj 357 184 r pt.registerDone; +#X obj 373 283 r pt.createOsc; +#X msg 357 317 createOscName; +#X text 10 30 When layerNum reacher the footer it sends a signal here +to register layer which in turn sends a signal to generate OSC names +; +#X obj 217 227 delay 250; +#X obj 379 246 delay 250; +#X text 83 452 This is really ugly... May cause problems later... what +to do about it? short answer for future problems is to increase the +delay! 250 is pretty long though...; +#X obj 474 306 r pt.loopBack; +#X text 10 87 Added pt.loopBack to send misc messages from tail to +head.; +#X obj 474 331 route \$1; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; +#X connect 7 0 8 0; +#X connect 8 0 20 0; +#X connect 9 0 1 0; +#X connect 11 0 4 0; +#X connect 15 0 21 0; +#X connect 16 0 15 0; +#X connect 17 0 18 0; +#X connect 18 0 0 0; +#X connect 20 0 1 0; +#X connect 21 0 18 0; +#X connect 23 0 25 0; +#X connect 25 0 0 0; diff --git a/abstractions/register-tail.pd b/abstractions/register-tail.pd new file mode 100644 index 0000000..81a0010 --- /dev/null +++ b/abstractions/register-tail.pd @@ -0,0 +1,53 @@ +#N canvas 554 62 607 624 10; +#X obj 29 365 prepend list; +#X msg 29 391 mkdir \$1 \$2 \, chsub \$1 \$2 \, set \$3 \$4 \, updir +2; +#X obj 29 112 inlet; +#X msg 63 500 save register.dat; +#X text 63 468 Since the contents of this pool may change on boot-up +there is really no reason to save it. Temporary storage only.; +#X obj 346 161 outlet; +#X obj 29 528 pool register; +#X msg 55 448 reset; +#X text 25 8 This abstraction routes the data from register and puts +it in a pool. Sent a "registerReset" message to clear abstractions. +(when you modify a patch); +#X obj 55 425 r pt.registerReset; +#X text 120 366 when we get the layerNum signal \, then register THIS +layer; +#X obj 43 327 s pt.layerNumDone; +#X obj 187 216 s pt.registerDone; +#X obj 166 187 f; +#X text 133 532 This pool is not functionally required. It may be useful +in the future though (rewritten to store OSC names for all params? +Or could this be generated from the memento pool? Better place is probably +inside the "register" abstraction. using the state-saving pool?; +#X text 100 188 layerNum; +#X obj 166 162 bang; +#X text 198 186 when we get register-head then send layerNum to pt.registerDone +; +#X obj 166 327 outlet; +#X obj 266 260 prepend N; +#X msg 108 231 set \$1; +#X obj 266 285 s pt.loopBack; +#X obj 29 137 route register layerNum register-head loopBack; +#X text 32 68 Added loopBack to send messages from tail to head; +#X text 236 306 on getting loopBack message \, add layerNum and send +to global receive; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 22 0; +#X connect 3 0 6 0; +#X connect 7 0 6 0; +#X connect 9 0 7 0; +#X connect 13 0 12 0; +#X connect 13 0 18 0; +#X connect 16 0 13 0; +#X connect 19 0 21 0; +#X connect 20 0 19 0; +#X connect 22 1 11 0; +#X connect 22 1 13 1; +#X connect 22 1 20 0; +#X connect 22 2 16 0; +#X connect 22 3 19 0; +#X connect 22 4 5 0; diff --git a/abstractions/register.pd b/abstractions/register.pd new file mode 100644 index 0000000..498aecb --- /dev/null +++ b/abstractions/register.pd @@ -0,0 +1,59 @@ +#N canvas 217 86 800 557 10; +#X obj -78 116 inlet; +#X obj -59 266 + 1; +#X obj 166 177 loadbang; +#X obj 115 437 prepend register; +#X obj -24 240 spigot; +#X msg 25 216 1; +#X obj -4 194 bang; +#X msg -4 216 0; +#X text -75 13 This is the abstraction registration system.; +#X text -75 33 Usage: [register abstraction-name \$0]; +#X obj -59 340 prepend \$1; +#X obj -78 364 prepend register-head; +#X obj 166 293 f \$2; +#X text -75 53 Start the registration process by sending register-head +0 message.; +#X text 241 215 For some reason four abstractions seem to send 5 register +messages! This is because each sends out a value in the process of +it counting! how to avoid this? Of course the newer value will over-write +the older one \, but this is a bit ugly.; +#X obj -78 139 route register-head \$1 layerNum; +#X obj 81 260 f; +#X obj 115 320 pack f f; +#X obj 115 346 prepend \$1; +#X msg 81 284 set \$1; +#X text 240 155 Once this abstraction has been counted ignore "register-head" +messages.; +#X obj 63 402 prepend layerNum; +#X obj 115 372 prepend N; +#X obj 120 498 outlet; +#X obj -78 474 outlet; +#X text -18 474 how to Make sure that messages pass in order??; +#X connect 0 0 15 0; +#X connect 1 0 10 0; +#X connect 1 0 17 0; +#X connect 1 0 23 0; +#X connect 2 0 5 0; +#X connect 2 0 12 0; +#X connect 3 0 24 0; +#X connect 4 0 1 0; +#X connect 5 0 4 1; +#X connect 6 0 7 0; +#X connect 7 0 4 1; +#X connect 10 0 24 0; +#X connect 11 0 24 0; +#X connect 12 0 17 1; +#X connect 15 0 4 0; +#X connect 15 0 11 0; +#X connect 15 1 6 0; +#X connect 15 1 1 0; +#X connect 15 2 16 0; +#X connect 15 2 21 0; +#X connect 15 3 24 0; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 22 0; +#X connect 19 0 22 0; +#X connect 21 0 24 0; +#X connect 22 0 3 0; diff --git a/abstractions/smooth.pd b/abstractions/smooth.pd new file mode 100755 index 0000000..c69ee88 --- /dev/null +++ b/abstractions/smooth.pd @@ -0,0 +1,27 @@ +#N canvas 447 234 696 300 12;
+#X obj 38 63 sig~;
+#X obj 39 141 snapshot~;
+#X obj 151 68 loadbang;
+#X obj 38 99 lop~ \$1;
+#X obj 151 97 metro \$2;
+#X obj 38 23 inlet;
+#X obj 41 214 outlet;
+#X obj 40 178 change;
+#X text 258 66 arguments:;
+#X text 258 85 \$1 ... smoothing (the higher \, the faster);
+#X text 258 103 \$2 ... message output interval (in ms);
+#X text 258 26 low-pass filters a message stream (by use of dsp);
+#X obj 98 23 inlet;
+#X obj 161 23 inlet;
+#X text 401 263 Copyright Thomas Grill 2003;
+#X msg 140 124 \; pd dsp 1;
+#X connect 0 0 3 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 0;
+#X connect 2 0 15 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 7 0 6 0;
+#X connect 12 0 3 1;
+#X connect 13 0 4 1;
diff --git a/abstractions/stripExtension.pd b/abstractions/stripExtension.pd new file mode 100644 index 0000000..942a51f --- /dev/null +++ b/abstractions/stripExtension.pd @@ -0,0 +1,8 @@ +#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; diff --git a/abstractions/stripPath.pd b/abstractions/stripPath.pd new file mode 100644 index 0000000..ca3129e --- /dev/null +++ b/abstractions/stripPath.pd @@ -0,0 +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; |