Update of /cvsroot/pure-data/abstractions/pixelTANGO/abstractions
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4841/abstractions
Added Files:
arrayRouterIn.pd arrayRouterOut.pd cclearn.pd createOscName.pd
dir2abstractionArray.pd dirlist.pd dirpanel.pd interp1.pd
interp3.pd interp4.pd invert_scale.pd list2osc.pd
mementoSetup.pd pix_dvts.pd popup_lister.pd pt.animate.pd
pt.dualfx.pd pt.entry.pd pt.fader.pd pt.feedback.pd pt.file.pd
pt.filelist.pd pt.interp.pd pt.layer.pd pt.layerfx.pd
pt.light.pd pt.live.pd pt.loop.pd pt.model.pd pt.presets.pd
pt.rotate.pd pt.scale.pd pt.source.pd pt.squeeze.pd
pt.stream.pd pt.text.pd pt.translate.pd pt.video.pd
pt.whatcolour.pd pt.window.pd register-dump.pd register-get.pd
register-head.pd register-tail.pd register.pd smooth.pd
stripExtension.pd stripPath.pd
Log Message:
Initial Commit of pixelTANGO 0.3.4
--- NEW FILE: register.pd ---
#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;
--- NEW FILE: pt.squeeze.pd ---
#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;
--- NEW FILE: stripPath.pd ---
#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;
--- NEW FILE: pt.dualfx.pd ---
#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;
--- NEW FILE: pt.feedback.pd ---
#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;
--- NEW FILE: pt.window.pd ---
#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;
--- NEW FILE: register-get.pd ---
#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;
--- NEW FILE: pt.animate.pd ---
#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;
--- NEW FILE: dir2abstractionArray.pd ---
#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;
--- NEW FILE: pt.live.pd ---
#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;
--- NEW FILE: mementoSetup.pd ---
#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;
--- NEW FILE: pt.translate.pd ---
#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;
--- NEW FILE: pt.layerfx.pd ---
#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;
--- NEW FILE: register-tail.pd ---
#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;
--- NEW FILE: stripExtension.pd ---
#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;
--- NEW FILE: arrayRouterOut.pd ---
#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;
--- NEW FILE: smooth.pd ---
#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;
--- NEW FILE: popup_lister.pd ---
#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;
--- NEW FILE: pt.presets.pd ---
#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;
--- NEW FILE: dirlist.pd ---
#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;
--- NEW FILE: pt.text.pd ---
#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;
--- NEW FILE: interp3.pd ---
#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;
--- NEW FILE: list2osc.pd ---
#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;
--- NEW FILE: pt.layer.pd ---
#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;
--- NEW FILE: dirpanel.pd ---
#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;
--- NEW FILE: arrayRouterIn.pd ---
#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;
--- NEW FILE: pt.file.pd ---
#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;
--- NEW FILE: pt.loop.pd ---
#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;
--- NEW FILE: pt.entry.pd ---
#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;
--- NEW FILE: invert_scale.pd ---
#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;
--- NEW FILE: pt.source.pd ---
#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;
--- NEW FILE: cclearn.pd ---
#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;
--- NEW FILE: pt.whatcolour.pd ---
#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;
--- NEW FILE: pt.rotate.pd ---
#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;
--- NEW FILE: pt.video.pd ---
#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;
--- NEW FILE: register-dump.pd ---
#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;
--- NEW FILE: interp1.pd ---
#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;
--- NEW FILE: createOscName.pd ---
#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;
--- NEW FILE: pt.model.pd ---
#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;
--- NEW FILE: pt.light.pd ---
#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;
--- NEW FILE: interp4.pd ---
#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;
--- NEW FILE: pt.interp.pd ---
#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;
--- NEW FILE: pt.scale.pd ---
#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;
--- NEW FILE: pt.stream.pd ---
#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;
--- NEW FILE: pt.fader.pd ---
#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;
--- NEW FILE: pix_dvts.pd ---
#N canvas 0 22 454 304 10;
#X text 18 14 pix_dvts placeholder;
#X obj 46 80 inlet;
#X obj 45 137 outlet;
--- NEW FILE: register-head.pd ---
#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;
--- NEW FILE: pt.filelist.pd ---
#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;