aboutsummaryrefslogtreecommitdiff
path: root/abs
diff options
context:
space:
mode:
authorThomas O Fredericks <mrtof@users.sourceforge.net>2010-05-27 21:22:28 +0000
committerThomas O Fredericks <mrtof@users.sourceforge.net>2010-05-27 21:22:28 +0000
commitba3f7a4f80b4fc85785d2538c624cc201630cbd1 (patch)
treea1add9bd78cafc8c85b55792c2de4a793464bf59 /abs
parent3767b3a53a8f0dc410f097a521a9cd7dbe3783a1 (diff)
Added a few abstractions
svn path=/trunk/externals/tof/; revision=13569
Diffstat (limited to 'abs')
-rw-r--r--abs/animate.pd361
-rw-r--r--abs/gemwin+.pd252
-rw-r--r--abs/pix_film+.pd101
3 files changed, 714 insertions, 0 deletions
diff --git a/abs/animate.pd b/abs/animate.pd
new file mode 100644
index 0000000..b5a786d
--- /dev/null
+++ b/abs/animate.pd
@@ -0,0 +1,361 @@
+#N canvas 1210 191 838 577 10;
+#X obj 578 131 table \$0x 100;
+#X obj 578 174 table \$0y 100;
+#X obj 245 278 delay;
+#X obj 241 200 random 2000;
+#X obj 83 130 t b b b;
+#X obj 319 222 t b b;
+#X msg 299 263 stop;
+#X obj 578 152 table \$0xt 100;
+#X obj 579 196 table \$0yt 100;
+#N canvas 0 0 834 623 restore 0;
+#X obj 520 148 f;
+#X obj 518 193 until;
+#X obj 539 242 f;
+#X obj 622 267 + 1;
+#X msg 612 215 0;
+#X obj 521 169 t f b;
+#X obj 537 272 t f f f f;
+#X obj 571 348 tabread \$0x;
+#X obj 661 348 tabread \$0y;
+#X obj 589 386 pack;
+#X obj 255 19 inlet doit;
+#X obj 552 46 r \$0count;
+#X obj 423 53 t b b;
+#X msg 435 93 0;
+#X obj 562 430 iemguts/canvasobjectposition 2 0;
+#X connect 0 0 5 0;
+#X connect 1 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 5 0 1 0;
+#X connect 5 1 4 0;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 6 2 14 1;
+#X connect 6 3 3 0;
+#X connect 7 0 9 0;
+#X connect 8 0 9 1;
+#X connect 9 0 14 0;
+#X connect 10 0 12 0;
+#X connect 11 0 0 1;
+#X connect 12 0 13 0;
+#X connect 12 1 0 0;
+#X connect 13 0 0 1;
+#X restore 355 344 pd restore;
+#N canvas 1273 155 720 553 save 0;
+#X obj 126 163 t b b f b;
+#X obj 266 479 unpack f f;
+#X obj 265 517 tabwrite \$0x;
+#X obj 358 517 tabwrite \$0y;
+#X obj 109 67 until;
+#X msg 118 39 100;
+#X obj 142 273 spigot;
+#X msg 184 231 1;
+#X obj 265 437 t l b;
+#X msg 341 450 0;
+#X obj 96 97 f;
+#X obj 179 122 + 1;
+#X obj 57 299 f;
+#X obj 94 127 t f f f;
+#X obj 267 226 t f f;
+#X obj 375 467 t f f;
+#X obj 41 63 t b b b;
+#X msg 169 70 0;
+#X obj 51 354 s \$0count;
+#X obj 49 12 inlet;
+#X obj 265 407 iemguts/canvasobjectposition 2 0;
+#X connect 0 0 6 0;
+#X connect 0 1 20 0;
+#X connect 0 2 14 0;
+#X connect 0 3 7 0;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 4 0 10 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 1;
+#X connect 7 0 6 1;
+#X connect 8 0 1 0;
+#X connect 8 1 9 0;
+#X connect 9 0 6 1;
+#X connect 10 0 13 0;
+#X connect 11 0 10 1;
+#X connect 12 0 18 0;
+#X connect 13 0 0 0;
+#X connect 13 1 12 1;
+#X connect 13 2 11 0;
+#X connect 14 0 15 0;
+#X connect 14 1 20 1;
+#X connect 15 0 2 1;
+#X connect 15 1 3 1;
+#X connect 16 0 12 0;
+#X connect 16 1 5 0;
+#X connect 16 2 17 0;
+#X connect 17 0 10 1;
+#X connect 17 0 12 1;
+#X connect 19 0 16 0;
+#X connect 20 0 8 0;
+#X restore 130 295 pd save;
+#N canvas 48 0 912 684 animate 0;
+#X obj 109 4 inlet;
+#X obj 249 81 r \$0count;
+#X obj 209 115 f;
+#X obj 267 224 until;
+#X obj 279 262 f;
+#X obj 362 287 + 1;
+#X msg 366 129 0;
+#X obj 280 285 t f f;
+#X obj 404 354 t b b f f;
+#X obj 401 40 inlet stop;
+#X obj 352 551 tabwrite \$0xt;
+#X obj 491 525 tabwrite \$0yt;
+#X obj 432 82 t b b;
+#X obj 112 64 t f b b;
+#X obj 397 323 zexy/demultiplex 0 1;
+#X obj 639 39 inlet animation;
+#X obj 593 486 tabwrite \$0xt;
+#X obj 717 486 tabwrite \$0yt;
+#X obj 624 368 t f b f f;
+#N canvas 1197 215 779 663 smooth 0;
+#X obj 231 415 tabread \$0xt;
+#X obj 156 413 tabread \$0x;
+#X obj 152 345 t f f;
+#X obj 328 335 t f f;
+#X obj 358 379 t f f;
+#X obj 135 496 pack;
+#X obj 348 413 tabread \$0y;
+#X obj 423 414 tabread \$0yt;
+#X obj 111 466 expr $f3*($f2-$f1)+$f1;
+#X obj 310 466 expr $f3*($f2-$f1)+$f1;
+#X obj 156 299 t f f f;
+#X obj 258 150 unpack f f;
+#X obj 302 26 inlet;
+#X obj 149 543 s \$0pos;
+#X obj 378 541 s \$0index;
+#X connect 0 0 8 1;
+#X connect 1 0 8 0;
+#X connect 2 0 1 0;
+#X connect 2 1 0 0;
+#X connect 3 0 8 2;
+#X connect 3 1 9 2;
+#X connect 4 0 6 0;
+#X connect 4 1 7 0;
+#X connect 5 0 13 0;
+#X connect 6 0 9 0;
+#X connect 7 0 9 1;
+#X connect 8 0 5 0;
+#X connect 9 0 5 1;
+#X connect 10 0 2 0;
+#X connect 10 1 4 0;
+#X connect 10 2 14 0;
+#X connect 11 0 10 0;
+#X connect 11 1 3 0;
+#X connect 12 0 11 0;
+#X restore 17 480 pd smooth;
+#X obj 428 144 s \$0stop;
+#X obj 514 285 unpack;
+#X msg 635 254 1 1;
+#X msg 611 424 0;
+#N canvas 1614 215 779 663 accelerate 0;
+#X obj 231 415 tabread \$0xt;
+#X obj 156 413 tabread \$0x;
+#X obj 152 345 t f f;
+#X obj 328 335 t f f;
+#X obj 135 496 pack;
+#X obj 348 413 tabread \$0y;
+#X obj 423 414 tabread \$0yt;
+#X obj 132 33 inlet;
+#X obj 358 379 t f f f;
+#X obj 310 466 expr pow($f3 \, 2)*$f2+$f1;
+#X obj 110 466 expr pow($f3 \, 2)*$f2+$f1;
+#X obj 157 300 t f f f;
+#X obj 172 176 unpack f f;
+#X obj 159 553 s \$0pos;
+#X obj 330 553 s \$0index;
+#X connect 0 0 10 1;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 2 1 0 0;
+#X connect 3 0 10 2;
+#X connect 3 1 9 2;
+#X connect 4 0 13 0;
+#X connect 5 0 9 0;
+#X connect 6 0 9 1;
+#X connect 7 0 12 0;
+#X connect 8 0 5 0;
+#X connect 8 1 6 0;
+#X connect 9 0 4 1;
+#X connect 10 0 4 0;
+#X connect 11 0 2 0;
+#X connect 11 1 8 0;
+#X connect 11 2 14 0;
+#X connect 12 0 11 0;
+#X connect 12 1 3 0;
+#X restore 86 481 pd accelerate;
+#X obj 698 415 random 500;
+#X obj 703 448 + 300;
+#N canvas 1446 285 856 573 steady 0;
+#X obj 241 425 tabread \$0xt;
+#X obj 166 423 tabread \$0x;
+#X obj 162 355 t f f;
+#X obj 338 345 t f f;
+#X obj 368 389 t f f;
+#X obj 145 506 pack;
+#X obj 358 423 tabread \$0y;
+#X obj 433 424 tabread \$0yt;
+#X obj 142 43 inlet;
+#X obj 121 476 expr $f3*$f2+$f1;
+#X obj 320 476 expr $f3*$f2+$f1;
+#X obj 171 203 unpack f f;
+#X obj 167 311 t f f f;
+#X obj 128 547 s \$0pos;
+#X obj 266 540 s \$0index;
+#X connect 0 0 9 1;
+#X connect 1 0 9 0;
+#X connect 2 0 1 0;
+#X connect 2 1 0 0;
+#X connect 3 0 9 2;
+#X connect 3 1 10 2;
+#X connect 4 0 6 0;
+#X connect 4 1 7 0;
+#X connect 5 0 13 0;
+#X connect 6 0 10 0;
+#X connect 7 0 10 1;
+#X connect 8 0 11 0;
+#X connect 9 0 5 0;
+#X connect 10 0 5 1;
+#X connect 11 0 12 0;
+#X connect 11 1 3 0;
+#X connect 12 0 2 0;
+#X connect 12 1 4 0;
+#X connect 12 2 14 0;
+#X restore 175 484 pd steady;
+#X obj 46 362 zexy/demultiplex 0 1 3;
+#X msg 571 249 3 0;
+#X obj 412 502 tabread \$0x;
+#X obj 367 522 +;
+#X obj 514 468 tabread \$0y;
+#X obj 497 502 +;
+#N canvas 0 0 604 527 timeline 0;
+#X obj 168 284 f;
+#X obj 261 295 + 1;
+#X msg 222 243 0;
+#X obj 161 206 r \$0count;
+#X obj 151 228 f;
+#X obj 153 256 until;
+#X msg 248 63 stop;
+#X obj 132 171 t b b f;
+#X msg 132 66 0 \, 1 \$1;
+#X obj 250 41 r \$0stop;
+#X obj 139 28 inlet;
+#X obj 152 459 outlet;
+#X obj 170 310 t f f;
+#X obj 181 407 pack f f;
+#X obj 285 153 moses 0.5;
+#X floatatom 346 213 5 0 0 0 - - -;
+#X obj 337 175 expr 0.5-($f1-0.5);
+#X obj 137 116 line 0 50;
+#X connect 0 0 12 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 1;
+#X connect 3 0 4 1;
+#X connect 4 0 5 0;
+#X connect 5 0 0 0;
+#X connect 6 0 17 0;
+#X connect 7 0 4 0;
+#X connect 7 1 2 0;
+#X connect 7 2 13 1;
+#X connect 8 0 17 0;
+#X connect 9 0 6 0;
+#X connect 10 0 8 0;
+#X connect 12 0 13 0;
+#X connect 12 1 1 0;
+#X connect 13 0 11 0;
+#X connect 14 0 7 0;
+#X connect 14 0 15 0;
+#X connect 14 1 16 0;
+#X connect 16 0 7 0;
+#X connect 16 0 15 0;
+#X connect 17 0 7 0;
+#X restore 93 285 pd timeline;
+#X obj 359 421 random 2000;
+#X obj 365 481 - 1000;
+#X obj 444 401 random 2000;
+#X obj 460 452 - 1000;
+#X obj 605 194 route bang fall;
+#X connect 0 0 13 0;
+#X connect 1 0 2 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 1;
+#X connect 7 0 14 0;
+#X connect 7 1 5 0;
+#X connect 8 0 35 0;
+#X connect 8 1 37 0;
+#X connect 8 2 10 1;
+#X connect 8 2 30 0;
+#X connect 8 3 11 1;
+#X connect 8 3 32 0;
+#X connect 9 0 12 0;
+#X connect 12 0 20 0;
+#X connect 13 0 34 0;
+#X connect 13 1 2 0;
+#X connect 13 2 6 0;
+#X connect 14 0 8 0;
+#X connect 14 1 18 0;
+#X connect 15 0 39 0;
+#X connect 18 0 23 0;
+#X connect 18 1 25 0;
+#X connect 18 2 16 1;
+#X connect 18 3 17 1;
+#X connect 21 0 28 1;
+#X connect 21 1 14 1;
+#X connect 22 0 21 0;
+#X connect 23 0 16 0;
+#X connect 25 0 26 0;
+#X connect 26 0 17 0;
+#X connect 28 0 19 0;
+#X connect 28 1 24 0;
+#X connect 28 2 27 0;
+#X connect 29 0 21 0;
+#X connect 30 0 31 1;
+#X connect 31 0 10 0;
+#X connect 32 0 33 1;
+#X connect 33 0 11 0;
+#X connect 34 0 28 0;
+#X connect 35 0 36 0;
+#X connect 36 0 31 0;
+#X connect 37 0 38 0;
+#X connect 38 0 33 0;
+#X connect 39 0 29 0;
+#X connect 39 1 22 0;
+#X restore 121 364 pd animate;
+#X obj 316 306 t b b;
+#X obj 92 279 f;
+#X obj 241 227 + 2000;
+#X obj 536 -26 inlet;
+#X obj 482 341 iemguts/canvasobjectposition 1 0;
+#X obj 481 299 r \$0pos;
+#X obj 672 302 r \$0index;
+#X obj 304 58 t b a;
+#X connect 2 0 12 0;
+#X connect 3 0 14 0;
+#X connect 4 0 13 0;
+#X connect 4 1 10 0;
+#X connect 4 2 3 0;
+#X connect 5 0 6 0;
+#X connect 5 1 12 0;
+#X connect 6 0 2 0;
+#X connect 12 0 11 1;
+#X connect 12 1 9 0;
+#X connect 13 0 11 0;
+#X connect 14 0 2 0;
+#X connect 14 0 13 1;
+#X connect 15 0 19 0;
+#X connect 17 0 16 0;
+#X connect 18 0 16 1;
+#X connect 19 0 4 0;
+#X connect 19 1 11 2;
diff --git a/abs/gemwin+.pd b/abs/gemwin+.pd
new file mode 100644
index 0000000..11d6226
--- /dev/null
+++ b/abs/gemwin+.pd
@@ -0,0 +1,252 @@
+#N canvas 162 76 861 657 10;
+#X obj 178 213 gemwin;
+#X obj -1 -331 inlet;
+#X obj -1 -172 sel 1 0;
+#X msg 140 129 0;
+#X msg 83 132 destroy;
+#X obj 96 29 t b b;
+#X msg 25 168 create;
+#X msg -12 168 1;
+#N canvas 609 89 830 679 CREATE&DESTROY 0;
+#X obj 104 -313 inlet;
+#X msg 138 -180 0;
+#X obj 27 -183 t b b;
+#X msg 90 -138 0;
+#X msg 36 -104 1;
+#X obj 16 -138 delay 201;
+#X obj 91 -280 route 1 0;
+#X obj 95 -243 route create destroy;
+#X obj 176 42 outlet;
+#X connect 0 0 6 0;
+#X connect 1 0 8 0;
+#X connect 2 0 5 0;
+#X connect 2 1 3 0;
+#X connect 3 0 8 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 2 0;
+#X connect 6 1 1 0;
+#X connect 6 2 7 0;
+#X connect 7 0 2 0;
+#X connect 7 1 1 0;
+#X restore -1 -203 pd CREATE&DESTROY;
+#X obj -53 106 t b b b;
+#N canvas 5 95 1019 673 SETTINGS 0;
+#X obj 144 -139 inlet;
+#X obj 69 461 outlet;
+#X msg 274 199 frame \$1;
+#X msg 509 118 border \$1;
+#X msg 723 156 lighting \$1;
+#N canvas 2 27 1022 686 dimen 0;
+#X msg 73 494 dimen \$1 \$2;
+#X obj 58 391 pack;
+#X obj 65 272 t f f;
+#X obj 284 236 t f f;
+#X obj 60 20 inlet;
+#X obj 65 570 outlet;
+#X obj 104 58 t b b;
+#X obj 465 22 inlet;
+#X obj 308 567 outlet;
+#X obj 539 564 outlet;
+#X obj 445 52 unpack;
+#X obj 154 357 s gemwin+_w_r;
+#X obj 354 343 s gemwin+_h_r;
+#X obj 230 450 r gemwin+_w_r;
+#X obj 454 458 r gemwin+_h_r;
+#X obj 489 110 loadbang;
+#X msg 452 134 320;
+#X msg 512 139 240;
+#X obj 73 200 f;
+#X obj 282 197 f;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 2 1 11 0;
+#X connect 3 0 1 1;
+#X connect 3 1 12 0;
+#X connect 4 0 6 0;
+#X connect 6 0 18 0;
+#X connect 6 1 19 0;
+#X connect 7 0 10 0;
+#X connect 10 0 18 1;
+#X connect 10 1 19 1;
+#X connect 13 0 8 0;
+#X connect 14 0 9 0;
+#X connect 15 0 16 0;
+#X connect 15 0 17 0;
+#X connect 16 0 18 1;
+#X connect 17 0 19 1;
+#X connect 18 0 2 0;
+#X connect 19 0 3 0;
+#X restore 47 102 pd dimen;
+#N canvas 1096 133 1022 686 offset 0;
+#X obj 102 258 pack;
+#X obj 60 20 inlet;
+#X obj 109 468 outlet;
+#X msg 117 392 offset \$1 \$2;
+#X obj 123 67 t b b;
+#X obj 401 28 inlet;
+#X obj 66 203 f 0;
+#X obj 298 200 f 0;
+#X obj 398 59 unpack;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 6 0;
+#X connect 4 1 7 0;
+#X connect 5 0 8 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 1;
+#X connect 8 0 6 1;
+#X connect 8 1 7 1;
+#X restore 178 113 pd offset;
+#X obj 218 -39 t b b b b b b;
+#X msg 620 319 FSAA \$1;
+#X obj 621 294 * 2;
+#X obj 563 -149 inlet;
+#X obj 505 85 f 1;
+#X obj 564 -96 route dimen offset fps border anti-aliasing lighting
+;
+#X obj 723 120 f 0;
+#X obj 623 269 f 0;
+#X obj 308 460 outlet w;
+#X obj 520 449 outlet h;
+#X obj 299 140 f 20;
+#X connect 0 0 7 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 5 1 15 0;
+#X connect 5 2 16 0;
+#X connect 6 0 1 0;
+#X connect 7 0 5 0;
+#X connect 7 1 6 0;
+#X connect 7 2 17 0;
+#X connect 7 3 11 0;
+#X connect 7 4 13 0;
+#X connect 7 5 14 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 12 0;
+#X connect 11 0 3 0;
+#X connect 12 0 5 1;
+#X connect 12 1 6 1;
+#X connect 12 2 17 1;
+#X connect 12 3 11 1;
+#X connect 12 4 14 1;
+#X connect 12 5 13 1;
+#X connect 13 0 4 0;
+#X connect 14 0 9 0;
+#X connect 17 0 2 0;
+#X restore 217 81 pd SETTINGS;
+#X obj -1 -305 route float bang;
+#X msg 45 -273 1;
+#X obj 4 -124 t b b b;
+#N canvas 9 159 826 574 mouse 0;
+#X obj 153 67 gemmouse 1 1;
+#X obj 347 93 expr $f1/$f2*-4 \; $f1/$f2*4;
+#X obj 154 340 expr ($f1 * ($f3 - $f2)) + $f2;
+#X obj 230 -27 inlet;
+#X obj 382 -34 inlet;
+#X obj 282 284 expr $f1*-8+4;
+#X obj 551 -28 inlet mode;
+#X obj 148 223 zexy/demultiplex 0 1;
+#X obj 302 229 zexy/demultiplex 0 1;
+#X obj 103 515 outlet;
+#X obj 16 -5 inlet do_output;
+#X obj 136 403 f;
+#X obj 198 430 pack f f f f f;
+#X obj 113 142 t f b;
+#X obj 206 125 t f b;
+#X obj 247 125 t f b;
+#X obj 287 126 t f b;
+#X obj 22 217 spigot;
+#X obj 26 242 t b b;
+#X msg 74 246 0;
+#X msg 96 195 1;
+#X obj 372 335 expr ($f1-0.5)*2;
+#X obj 535 348 expr ($f1-0.5)*-2;
+#X connect 0 0 13 0;
+#X connect 0 1 8 0;
+#X connect 0 2 14 0;
+#X connect 0 3 15 0;
+#X connect 0 4 16 0;
+#X connect 1 0 2 1;
+#X connect 1 1 2 2;
+#X connect 2 0 11 1;
+#X connect 3 0 1 0;
+#X connect 4 0 1 1;
+#X connect 5 0 12 1;
+#X connect 6 0 7 1;
+#X connect 6 0 8 1;
+#X connect 7 0 2 0;
+#X connect 7 1 21 0;
+#X connect 8 0 5 0;
+#X connect 8 1 22 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 9 0;
+#X connect 13 0 7 0;
+#X connect 13 1 20 0;
+#X connect 14 0 12 2;
+#X connect 14 1 20 0;
+#X connect 15 0 12 3;
+#X connect 15 1 20 0;
+#X connect 16 0 12 4;
+#X connect 16 1 20 0;
+#X connect 17 0 18 0;
+#X connect 18 0 11 0;
+#X connect 18 1 19 0;
+#X connect 19 0 17 1;
+#X connect 20 0 17 1;
+#X connect 21 0 11 1;
+#X connect 22 0 12 1;
+#X restore 247 143 pd mouse;
+#X obj -30 350 outlet;
+#X obj 289 287 outlet;
+#X obj 12 270 /;
+#X obj 10 295 * 4;
+#X obj -29 324 scaleXYZ 4 4 4;
+#X obj -29 220 gemhead 1;
+#X obj 523 -231 loadbang;
+#X msg 206 180 1;
+#X obj 97 58 delay 100;
+#X obj 319 -320 inlet mouse_mode;
+#X obj 516 -188 tof/arguments comma;
+#X obj -36 247 t a b;
+#X connect 1 0 11 0;
+#X connect 2 0 13 0;
+#X connect 2 1 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 23 0;
+#X connect 5 1 3 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 2 0;
+#X connect 9 1 7 0;
+#X connect 9 2 6 0;
+#X connect 10 0 0 0;
+#X connect 10 1 14 1;
+#X connect 10 1 17 0;
+#X connect 10 2 14 2;
+#X connect 10 2 17 1;
+#X connect 11 0 8 0;
+#X connect 11 1 12 0;
+#X connect 11 2 10 1;
+#X connect 12 0 8 0;
+#X connect 13 0 9 0;
+#X connect 13 1 10 0;
+#X connect 14 0 16 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 1;
+#X connect 19 0 15 0;
+#X connect 20 0 26 0;
+#X connect 21 0 25 0;
+#X connect 22 0 0 0;
+#X connect 23 0 4 0;
+#X connect 24 0 14 3;
+#X connect 25 0 10 1;
+#X connect 26 0 19 0;
+#X connect 26 1 14 0;
diff --git a/abs/pix_film+.pd b/abs/pix_film+.pd
new file mode 100644
index 0000000..0cf416e
--- /dev/null
+++ b/abs/pix_film+.pd
@@ -0,0 +1,101 @@
+#N canvas 1026 52 1022 684 10;
+#X obj 98 32 inlet;
+#X obj 99 574 outlet;
+#X obj 106 119 t a b;
+#X obj 244 -28 inlet;
+#X obj 278 580 outlet frame;
+#X msg 175 121 open \$1;
+#X obj 454 578 outlet length;
+#X obj 417 25 inlet speed;
+#X obj 616 91 loadbang;
+#X obj 617 130 tof/argument 1;
+#X msg 217 141 set -1;
+#X obj 141 253 change -1;
+#X obj 166 69 t a b;
+#X obj 620 202 t b f;
+#X obj 422 99 f 1;
+#X obj 616 282 *;
+#X msg 420 54 1 \$1;
+#X obj 423 79 /;
+#X obj 504 418 / 33.36;
+#X obj 230 10 zexy/relay open;
+#X obj 161 386 t f f;
+#N canvas 0 0 786 535 length&ms/frame 0;
+#X obj 143 139 unpack f f f f;
+#X obj 149 109 t a b;
+#X msg 254 136 29.97;
+#X obj 233 193 f;
+#X obj 368 243 expr 1000/$f1;
+#X obj 305 186 sel -1;
+#X msg 287 214 29.97;
+#X obj 151 58 inlet;
+#X obj 155 167 t f b;
+#X obj 195 363 outlet length;
+#X obj 367 364 outlet ms/frame;
+#X connect 0 0 8 0;
+#X connect 0 3 3 1;
+#X connect 1 0 0 0;
+#X connect 1 1 2 0;
+#X connect 2 0 3 1;
+#X connect 3 0 5 0;
+#X connect 4 0 10 0;
+#X connect 5 0 6 0;
+#X connect 5 1 4 0;
+#X connect 6 0 4 0;
+#X connect 7 0 1 0;
+#X connect 8 0 9 0;
+#X connect 8 1 3 0;
+#X restore 161 330 pd length&ms/frame;
+#X obj 505 345 realtime;
+#X obj 505 294 t b b;
+#X obj 448 456 + 0;
+#X obj 449 484 maxlib/wrap 0 100;
+#X obj 332 66 t f b b;
+#X msg 376 188 0;
+#X obj 224 202 spigot;
+#X obj 94 281 pix_film;
+#X obj 454 530 int;
+#X obj 451 508 t f f;
+#X obj 457 552 t f f;
+#X connect 0 0 2 0;
+#X connect 2 0 29 0;
+#X connect 2 1 28 0;
+#X connect 3 0 19 0;
+#X connect 5 0 29 0;
+#X connect 7 0 16 0;
+#X connect 8 0 9 0;
+#X connect 9 0 5 0;
+#X connect 10 0 11 0;
+#X connect 11 0 29 1;
+#X connect 12 0 5 0;
+#X connect 12 1 10 0;
+#X connect 13 0 14 0;
+#X connect 13 1 15 1;
+#X connect 14 0 15 0;
+#X connect 15 0 18 1;
+#X connect 16 0 17 0;
+#X connect 17 0 14 0;
+#X connect 18 0 24 0;
+#X connect 19 0 12 0;
+#X connect 19 1 26 0;
+#X connect 20 0 6 0;
+#X connect 20 1 25 2;
+#X connect 21 0 20 0;
+#X connect 21 1 13 0;
+#X connect 22 0 18 0;
+#X connect 23 0 22 0;
+#X connect 23 1 22 1;
+#X connect 24 0 25 0;
+#X connect 25 0 31 0;
+#X connect 26 0 28 1;
+#X connect 26 1 22 0;
+#X connect 26 2 27 0;
+#X connect 27 0 24 1;
+#X connect 28 0 23 0;
+#X connect 29 0 1 0;
+#X connect 29 1 21 0;
+#X connect 30 0 32 0;
+#X connect 31 0 30 0;
+#X connect 31 1 24 1;
+#X connect 32 0 4 0;
+#X connect 32 1 11 0;