aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuha Vehviläinen <jusu@users.sourceforge.net>2002-07-22 12:43:46 +0000
committerJuha Vehviläinen <jusu@users.sourceforge.net>2002-07-22 12:43:46 +0000
commit6106d047e91a07604586ed2632579f85fddf35bc (patch)
tree7712736a7536076d44a907b0e51e44ed96989d02
parent23d3378c698f16a267e89f8d94f4505fb3dd8709 (diff)
updating docs
svn path=/trunk/Framestein/; revision=44
-rw-r--r--Patches/00 example-basics.pd9
-rw-r--r--Patches/02 example-docking.pd6
-rw-r--r--Patches/04 example-draganddrop.pd8
-rw-r--r--Patches/06 example-photoshopfilters.pd36
-rw-r--r--Patches/09 example-sonogram.pd37
-rw-r--r--Patches/12 example-network.pd40
-rw-r--r--Patches/13 example-avioutput.pd10
-rw-r--r--Patches/16 example-PeRColate.pd10
-rw-r--r--Patches/17-01 example-PixelPack.pd4
-rw-r--r--Patches/50 example-externals.pd176
-rw-r--r--Patches/fs.copy.pd2
-rw-r--r--Patches/fs.frame.pd141
-rw-r--r--Patches/fs.fx.pd4
13 files changed, 249 insertions, 234 deletions
diff --git a/Patches/00 example-basics.pd b/Patches/00 example-basics.pd
index ca9ab3f..dba54df 100644
--- a/Patches/00 example-basics.pd
+++ b/Patches/00 example-basics.pd
@@ -1,4 +1,4 @@
-#N canvas 228 3 648 661 12;
+#N canvas 228 3 650 663 12;
#X obj 5 31 fs.main;
#X msg 5 7 6001;
#X msg 56 7 reset;
@@ -8,8 +8,6 @@ at a time!;
;
#X text 33 159 2nd inlet: "reset" will re-create all fs.*-objects;
#X obj 36 206 fs.frame;
-#X text 119 206 -- load images and video \, perform effects \, run
-plugins \, photoshop-filters \, and more ...;
#X text 120 273 some commands are listed here;
#X obj 358 273 fs.fx;
#X text 120 304 1st outlet: fs.frame ID. Connect this to other fs.*-objects
@@ -28,11 +26,14 @@ See inside fs.copy for list of built-ins. See example-plugins.pd and
example-photoshopfilters.pd.;
#X text 123 557 1st outlet: connect to the fs.frame to copy to.;
#X text 31 70 The central objects to get started with:;
-#X text 49 602 Have fun!;
#X text 119 253 1st inlet: for a list of commands \, look inside the
patch.;
#X obj 344 320 fs.info;
#X obj 416 320 fs.event;
+#X text 120 205 -- load images and video \, perform effects \, run
+plugins \, photoshop-filters \, interaction and more ...;
+#X text 49 602 Have fun! (close this patch before loading another)
+;
#X connect 1 0 0 0;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
diff --git a/Patches/02 example-docking.pd b/Patches/02 example-docking.pd
index 370380e..08a3548 100644
--- a/Patches/02 example-docking.pd
+++ b/Patches/02 example-docking.pd
@@ -1,4 +1,4 @@
-#N canvas 248 12 718 586 12;
+#N canvas 248 12 720 588 12;
#X obj 13 33 fs.main;
#X msg 13 6 6001;
#X msg 64 5 reset;
@@ -8,15 +8,15 @@
#X obj 284 263 fs.frame;
#X msg 284 233 head.avi;
#X obj 284 203 init;
-#X msg 62 170 dock example-docking;
#X text 63 320 There's a wrapper for the dock-command \, fs.framed.pd:
;
#X obj 65 348 fs.framed example-docking 50+420;
#X msg 62 203 500+150;
+#X msg 62 170 dock ample-docki;
#X connect 1 0 0 0;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
#X connect 6 0 5 0;
#X connect 7 0 6 0;
-#X connect 8 0 5 0;
+#X connect 10 0 5 0;
#X connect 11 0 5 0;
diff --git a/Patches/04 example-draganddrop.pd b/Patches/04 example-draganddrop.pd
index 2c68f99..69757f4 100644
--- a/Patches/04 example-draganddrop.pd
+++ b/Patches/04 example-draganddrop.pd
@@ -1,17 +1,17 @@
-#N canvas 323 36 587 428 12;
+#N canvas 323 36 589 430 12;
#X obj 15 37 fs.main;
#X msg 66 12 reset;
#X obj 38 185 fs.framed draganddrop;
-#X msg 201 212 352 + 233;
+#X msg 210 185 352 + 233;
#X obj 38 244 fs.event;
#X msg 50 288 set \$1;
-#X obj 92 150 init;
+#X obj 134 146 init;
#X obj 48 151 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 18 95 Using fs.frame to provide drag & drop:;
#X text 352 180 Drop a file here:;
#X msg 15 12 6001;
-#X msg 67 329;
+#X msg 50 387 G:/fsrel!;
#X connect 1 0 0 1;
#X connect 2 0 4 0;
#X connect 2 2 3 0;
diff --git a/Patches/06 example-photoshopfilters.pd b/Patches/06 example-photoshopfilters.pd
index 3acda28..229fb5c 100644
--- a/Patches/06 example-photoshopfilters.pd
+++ b/Patches/06 example-photoshopfilters.pd
@@ -1,4 +1,4 @@
-#N canvas 76 11 897 646 12;
+#N canvas 76 11 899 648 12;
#X obj 16 54 fs.main;
#X msg 16 27 6001;
#X msg 58 27 reset;
@@ -26,13 +26,13 @@
#X obj 519 438 pack s s;
#X msg 519 464 \$2 \$1;
#X obj 652 355 vsl 15 128 0 255 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 8000 1;
+-1 -1 8600 1;
#X obj 669 355 vsl 15 128 0 255 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7500 1;
+-1 -1 12200 1;
#X obj 686 355 vsl 15 128 0 255 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 703 355 vsl 15 128 0 255 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 12700 1;
+-1 -1 0 1;
#X obj 720 355 vsl 15 128 0 255 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
#X obj 737 355 vsl 15 128 0 255 0 0 empty empty empty 0 -8 0 8 -262144
@@ -48,12 +48,12 @@
#X msg 530 128 yage;
#X msg 530 192 yage 74 74;
#X text 634 191 with parameters \, no dialog;
-#X obj 652 562 delay 50;
#X msg 652 536 bang;
#X obj 364 95 r next;
#X obj 327 476 s next;
#X text 529 281 select filter -> try the sliders ...;
#X text 448 33 Using Photoshop-filters;
+#X obj 652 562 delay 25;
#X connect 1 0 0 0;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
@@ -69,33 +69,33 @@
#X connect 9 0 37 0;
#X connect 10 0 5 1;
#X connect 10 0 37 0;
-#X connect 10 0 44 0;
+#X connect 10 0 43 0;
#X connect 11 0 7 0;
#X connect 12 0 5 1;
#X connect 12 0 37 0;
-#X connect 12 0 44 0;
+#X connect 12 0 43 0;
#X connect 13 0 5 1;
#X connect 13 0 37 0;
-#X connect 13 0 44 0;
+#X connect 13 0 43 0;
#X connect 14 0 5 1;
#X connect 14 0 37 0;
-#X connect 14 0 44 0;
+#X connect 14 0 43 0;
#X connect 18 0 7 0;
#X connect 19 0 5 1;
#X connect 19 0 37 0;
-#X connect 19 0 44 0;
+#X connect 19 0 43 0;
#X connect 20 0 5 1;
#X connect 20 0 37 0;
-#X connect 20 0 44 0;
+#X connect 20 0 43 0;
#X connect 21 0 5 1;
#X connect 21 0 37 0;
-#X connect 21 0 44 0;
+#X connect 21 0 43 0;
#X connect 22 0 5 1;
#X connect 22 0 37 0;
-#X connect 22 0 44 0;
+#X connect 22 0 43 0;
#X connect 23 0 5 1;
#X connect 23 0 37 0;
-#X connect 23 0 44 0;
+#X connect 23 0 43 0;
#X connect 24 0 25 0;
#X connect 25 0 5 1;
#X connect 26 0 36 0;
@@ -115,13 +115,13 @@
#X connect 33 0 36 7;
#X connect 34 0 36 0;
#X connect 35 0 24 0;
-#X connect 35 0 42 0;
+#X connect 35 0 41 0;
#X connect 36 0 35 0;
#X connect 37 0 24 1;
#X connect 38 0 5 1;
#X connect 38 0 11 0;
#X connect 39 0 5 1;
#X connect 39 0 11 0;
-#X connect 41 0 44 0;
-#X connect 42 0 41 0;
-#X connect 43 0 11 0;
+#X connect 41 0 46 0;
+#X connect 42 0 11 0;
+#X connect 46 0 43 0;
diff --git a/Patches/09 example-sonogram.pd b/Patches/09 example-sonogram.pd
index 5c99688..319e943 100644
--- a/Patches/09 example-sonogram.pd
+++ b/Patches/09 example-sonogram.pd
@@ -1,4 +1,4 @@
-#N canvas 308 -3 605 676 12;
+#N canvas 308 -3 607 678 12;
#X obj 13 40 fs.main;
#X msg 13 13 6001;
#X msg 64 12 reset;
@@ -8,9 +8,10 @@
#X floatatom 488 392 5 0 0;
#X msg 488 364 5;
#N canvas 0 0 608 408 play 0;
-#X graph graph2 0 -1 114739 1 70 171 270 31;
+#N canvas 0 0 450 300 graph2 0;
#X array music 114740 float 0;
-#X pop;
+#X coords 0 1 114739 -1 200 140 1;
+#X restore 70 31 graph;
#X msg 341 137 read -resize \$1 music;
#X obj 341 168 soundfiler;
#X obj 333 70 inlet;
@@ -33,7 +34,6 @@
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X restore 330 349 pd play;
-#X msg 248 48 c:/fsrel/framestein/extract.wav;
#X obj 251 480 dac~;
#X msg 364 558 200x128 \, display 200x512;
#X floatatom 355 427 5 0 0;
@@ -51,24 +51,25 @@
#X text 77 636 modify fs.sonogram.pd for a proper temporary path.;
#X obj 330 451 *~ 4;
#X obj 479 592 init;
+#X msg 248 48 g:/fsrel/framestein/extract.wav;
#X connect 1 0 0 0;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
-#X connect 3 0 15 0;
+#X connect 3 0 14 0;
#X connect 4 0 3 1;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 7 0 6 0;
-#X connect 8 0 13 0;
-#X connect 8 0 24 0;
-#X connect 9 0 8 0;
-#X connect 11 0 15 0;
-#X connect 12 0 24 1;
-#X connect 13 0 10 0;
-#X connect 13 0 10 0;
-#X connect 13 0 10 1;
-#X connect 16 0 15 0;
-#X connect 18 0 2 0;
-#X connect 24 0 3 0;
-#X connect 25 0 11 0;
-#X connect 25 0 16 0;
+#X connect 8 0 12 0;
+#X connect 8 0 23 0;
+#X connect 10 0 14 0;
+#X connect 11 0 23 1;
+#X connect 12 0 9 0;
+#X connect 12 0 9 0;
+#X connect 12 0 9 1;
+#X connect 15 0 14 0;
+#X connect 17 0 2 0;
+#X connect 23 0 3 0;
+#X connect 24 0 10 0;
+#X connect 24 0 15 0;
+#X connect 25 0 8 0;
diff --git a/Patches/12 example-network.pd b/Patches/12 example-network.pd
index 81490d1..f28e983 100644
--- a/Patches/12 example-network.pd
+++ b/Patches/12 example-network.pd
@@ -1,9 +1,8 @@
-#N canvas 242 39 740 613 12;
+#N canvas 242 39 744 617 12;
#X obj 15 44 fs.main;
#X msg 15 14 6001;
#X msg 66 14 reset;
#X obj 108 221 fs.frame;
-#X msg 143 113 buffer c:/fsrel/Framestein/Reija;
#X msg 207 179 next;
#X obj 82 520 fs.frame;
#X msg 29 481 receive hello;
@@ -23,10 +22,10 @@ flip);
#X msg 347 440 bang;
#X msg 398 378 bang;
#X msg 398 465 source_random \, dest_random \, srcand;
-#N canvas 519 266 380 369 test 0;
-#X obj 110 209 outlet;
-#X obj 113 54 inlet;
-#X msg 122 87 bang;
+#N canvas 519 266 382 371 test 0;
+#X obj 115 209 outlet;
+#X obj 115 46 inlet;
+#X msg 115 87 bang;
#X obj 115 122 random 20;
#X obj 115 149 bangx;
#X connect 1 0 2 0;
@@ -38,25 +37,28 @@ flip);
#X obj 29 454 reset;
#X obj 398 440 init;
#X text 414 112 correct this path;
-#X text 139 37 -- Sending frames through network --;
+#X text 143 29 -- Sending frames through network --;
+#X msg 143 113 buffer g:/fsrel/Framestein/Reija;
+#X text 144 52 (you must enable "Listen to Framestein connections"
+in the configuration);
#X connect 1 0 0 0;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
-#X connect 3 0 17 0;
+#X connect 3 0 16 0;
#X connect 4 0 3 0;
-#X connect 5 0 3 0;
-#X connect 5 0 12 0;
-#X connect 7 0 6 0;
+#X connect 4 0 11 0;
+#X connect 6 0 5 0;
+#X connect 11 0 3 0;
#X connect 12 0 3 0;
-#X connect 13 0 3 0;
+#X connect 14 0 3 0;
#X connect 15 0 3 0;
#X connect 16 0 3 0;
#X connect 17 0 3 0;
-#X connect 18 0 3 0;
-#X connect 19 0 16 0;
-#X connect 19 0 21 0;
-#X connect 20 0 17 1;
+#X connect 18 0 15 0;
+#X connect 18 0 20 0;
+#X connect 19 0 16 1;
+#X connect 20 0 3 0;
#X connect 21 0 3 0;
-#X connect 22 0 3 0;
-#X connect 23 0 7 0;
-#X connect 24 0 20 0;
+#X connect 22 0 6 0;
+#X connect 23 0 19 0;
+#X connect 26 0 3 0;
diff --git a/Patches/13 example-avioutput.pd b/Patches/13 example-avioutput.pd
index b7fad86..eb83312 100644
--- a/Patches/13 example-avioutput.pd
+++ b/Patches/13 example-avioutput.pd
@@ -1,4 +1,4 @@
-#N canvas 252 23 721 631 12;
+#N canvas 252 23 723 633 12;
#X obj 13 39 fs.main;
#X msg 13 12 6001;
#X msg 64 13 reset;
@@ -23,14 +23,16 @@
#X msg 349 318 write;
#X text 400 318 apply compression and finish;
#X text 482 50 start writing!;
-#X text 158 481 Bang fs.frame to fs.avi to save one frame of video
-;
-#X text 158 508 Finish it off with "write [filename.avi]";
+#X text 90 440 Bang fs.frame to fs.avi to save one frame of video;
+#X text 90 467 Finish it off with "write [filename.avi]";
#X msg 434 220 xbend \$1;
#X floatatom 507 220 5 0 0;
#X msg 507 195 75;
#X msg 550 103 0;
#X text 584 102 stop;
+#X text 90 518 WARNING: This feature is currently UNSTABLE. I recommend
+using the "save" feature of fs.frame to ensure your work won't be lost.
+;
#X connect 1 0 0 0;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
diff --git a/Patches/16 example-PeRColate.pd b/Patches/16 example-PeRColate.pd
index 4bd278a..3113edd 100644
--- a/Patches/16 example-PeRColate.pd
+++ b/Patches/16 example-PeRColate.pd
@@ -1,4 +1,4 @@
-#N canvas 230 1 792 686 10;
+#N canvas 230 1 794 688 10;
#X obj 11 41 fs.main;
#X msg 11 11 6001;
#X msg 62 12 reset;
@@ -58,9 +58,9 @@ fuzz> <blue fuzz>);
#X text 325 453 averaging of rgb values (rgbavg <r> <g> <b> <mode>)
;
#X text 326 466 mode :: 1 .. 12 (0 = bypass);
-#X text 64 644 get PeRColate at http://www.akustische-kunst.de/puredata/PeRColate
-;
#X msg 206 454 rgbavg 12 230 50 9;
+#X text 64 644 get PeRColate at http://www.akustische-kunst.org/puredata/PeRColate
+;
#X connect 1 0 0 0;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
@@ -92,5 +92,5 @@ fuzz> <blue fuzz>);
#X connect 46 0 35 0;
#X connect 47 0 5 1;
#X connect 47 0 35 0;
-#X connect 52 0 35 0;
-#X connect 52 0 5 1;
+#X connect 51 0 35 0;
+#X connect 51 0 5 1;
diff --git a/Patches/17-01 example-PixelPack.pd b/Patches/17-01 example-PixelPack.pd
index 6d8a92b..81e0bce 100644
--- a/Patches/17-01 example-PixelPack.pd
+++ b/Patches/17-01 example-PixelPack.pd
@@ -1,8 +1,8 @@
-#N canvas 190 88 658 327 12;
+#N canvas 190 88 660 329 12;
#X text 25 18 PixelPack :: examples and help;
#X text 130 47 PixelPack contains several objects that would just overcrowd
a single helpfile. thus I've splitted them into a few categories:;
#X text 250 135 note: uses fs.layermode.pd perform the effects;
#X text 130 116 layer modes :: example-PixelPack-layermodes.pd;
-#X text 31 244 PixelPack can be found at: http://www.akustische-kunst.de/puredata/framestein
+#X text 31 244 PixelPack can be found at: http://www.akustische-kunst.org/puredata/framestein
;
diff --git a/Patches/50 example-externals.pd b/Patches/50 example-externals.pd
index 5204ec2..cf776b0 100644
--- a/Patches/50 example-externals.pd
+++ b/Patches/50 example-externals.pd
@@ -1,6 +1,5 @@
-#N canvas 438 30 547 593 12;
-#X text 21 21 Externals for video:;
-#N canvas 148 3 736 665 vframe 0;
+#N canvas 438 30 549 595 12;
+#N canvas 148 3 738 667 vframe 0;
#X obj 34 275 fs.frame;
#X obj 55 377 vimport;
#X obj 221 427 fs.frame;
@@ -43,7 +42,7 @@ Images can be imported to and from fs.frame:;
#X obj 67 122 fs.main;
#X msg 67 86 6001;
#X text 160 215 basic image container;
-#N canvas 256 206 618 418 vplugin 0;
+#N canvas 256 206 620 420 vplugin 0;
#X obj 94 226 vframe;
#X obj 143 156 vplugin;
#X text 13 10 vframe can execute Framestein-plugins. vplugin has the
@@ -60,7 +59,7 @@ path to these plugins - open it up \, correct the path \, and try it.
#X connect 6 0 5 0;
#X restore 64 262 pd vplugin;
#X text 158 261 execute Framestein-plugins;
-#N canvas 187 -3 640 677 vcopy 0;
+#N canvas 187 -3 642 679 vcopy 0;
#X obj 87 204 vcopy;
#X msg 240 145 tile \$1;
#X floatatom 240 116 5 0 0;
@@ -173,88 +172,13 @@ vcopy:;
#X connect 31 0 7 0;
#X connect 32 0 10 0;
#X restore 64 360 pd vsig~ and vsnapshot~;
-#X text 161 392 convert image to signal and back;
-#N canvas 239 28 735 584 vrgb~ 0;
-#X obj 389 140 vframe 320 240;
-#X obj 389 171 vsig~;
-#X text 9 7 vrgb~: separate red \, green and blue channels;
-#X obj 240 239 vimport;
-#X obj 181 188 fs.frame;
-#X obj 188 77 reset;
-#X obj 188 102 t b b b;
-#X msg 234 77 bang;
-#X msg 277 77 \; pd dsp 1;
-#X obj 435 174 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
--1;
-#X obj 389 221 vrgb~;
-#X obj 389 345 vsnapshot~;
-#X obj 482 327 vframe 320 240;
-#X obj 482 277 reset;
-#X msg 482 302 bang;
-#X obj 389 387 fs.frame;
-#X msg 482 379 320x240;
-#X obj 427 269 *~ 1;
-#X obj 571 88 phasor~ 1;
-#X obj 571 112 avg~;
-#X obj 571 141 < 0.5;
-#X obj 571 166 * -1;
-#X obj 616 141 >= 0.5;
-#X obj 616 166 * 1;
-#X obj 571 191 +;
-#X floatatom 571 216 5 0 0;
-#X floatatom 571 63 5 0 0;
-#X msg 367 429 dock vrgb~ \, 25+300;
-#X obj 567 360 s vcopyexample;
-#X obj 389 304 vcolor~;
-#X obj 389 269 *~ 1;
-#X text 8 26 vcolor~: merge red \, green and blue channels;
-#X msg 41 152 yska320x240.jpg \, bang;
-#X connect 0 0 1 0;
-#X connect 0 0 3 1;
-#X connect 1 0 10 0;
-#X connect 1 1 11 1;
-#X connect 1 2 9 0;
-#X connect 4 0 3 0;
-#X connect 5 0 6 0;
-#X connect 5 0 7 0;
-#X connect 6 0 0 0;
-#X connect 6 1 32 0;
-#X connect 6 2 0 0;
-#X connect 7 0 6 0;
-#X connect 7 0 8 0;
-#X connect 7 0 6 0;
-#X connect 10 0 30 0;
-#X connect 10 1 17 0;
-#X connect 11 0 15 0;
-#X connect 12 0 11 2;
-#X connect 12 0 28 0;
-#X connect 13 0 14 0;
-#X connect 14 0 12 0;
-#X connect 14 0 16 0;
-#X connect 16 0 15 0;
-#X connect 17 0 29 1;
-#X connect 18 0 19 0;
-#X connect 19 0 22 0;
-#X connect 19 0 20 0;
-#X connect 20 0 21 0;
-#X connect 21 0 24 0;
-#X connect 22 0 23 0;
-#X connect 23 0 24 1;
-#X connect 24 0 25 0;
-#X connect 25 0 17 1;
-#X connect 25 0 30 1;
-#X connect 26 0 18 0;
-#X connect 27 0 15 0;
-#X connect 29 0 11 0;
-#X connect 30 0 29 0;
-#X connect 32 0 4 0;
-#X restore 64 440 pd vrgb~;
-#X text 162 439 separate red \, green and blue channels;
+#X text 257 359 convert image to signal and back;
+#X text 232 440 separate red \, green and blue channels;
#X text 159 144 ... click on "dock" on subpatches.;
#X msg 118 86 reset;
#X msg 339 82 minimizeall;
#X text 159 122 start by clicking reset... and minimizeall;
-#N canvas 233 -13 700 660 vframeread~ 0;
+#N canvas 233 -13 702 662 vframeread~ 0;
#X text 11 7 vframeread~ uses a sync-signal to read the image:;
#X obj 212 308 vframe;
#X obj 161 337 vimport;
@@ -335,8 +259,84 @@ quality..;
#X text 195 486 read image with a sync-signal;
#X obj 339 57 init;
#X text 65 530 vdrawarray is documented on example-vdrawarray.;
-#X connect 3 0 2 0;
-#X connect 3 0 14 0;
-#X connect 14 0 2 1;
-#X connect 15 0 2 1;
-#X connect 19 0 15 0;
+#X text 21 21 Framestein v* family of video externals;
+#N canvas 239 28 735 584 vrgb~ 0;
+#X obj 389 140 vframe 320 240;
+#X obj 389 171 vsig~;
+#X text 9 7 vrgb~: separate red \, green and blue channels;
+#X obj 240 239 vimport;
+#X obj 181 188 fs.frame;
+#X obj 188 77 reset;
+#X obj 188 102 t b b b;
+#X msg 234 77 bang;
+#X msg 277 77 \; pd dsp 1;
+#X obj 435 174 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X obj 389 221 vrgb~;
+#X obj 389 345 vsnapshot~;
+#X obj 482 327 vframe 320 240;
+#X obj 482 277 reset;
+#X msg 482 302 bang;
+#X obj 389 387 fs.frame;
+#X msg 482 379 320x240;
+#X obj 427 269 *~ 1;
+#X obj 571 88 phasor~ 1;
+#X obj 571 112 avg~;
+#X obj 571 141 < 0.5;
+#X obj 571 166 * -1;
+#X obj 616 141 >= 0.5;
+#X obj 616 166 * 1;
+#X obj 571 191 +;
+#X floatatom 571 216 5 0 0;
+#X floatatom 571 63 5 0 0;
+#X msg 367 429 dock vrgb~ \, 25+300;
+#X obj 567 360 s vcopyexample;
+#X obj 389 304 vcolor~;
+#X obj 389 269 *~ 1;
+#X text 8 26 vcolor~: merge red \, green and blue channels;
+#X msg 41 152 yska320x240.jpg \, bang;
+#X connect 0 0 1 0;
+#X connect 0 0 3 1;
+#X connect 1 0 10 0;
+#X connect 1 1 11 1;
+#X connect 1 2 9 0;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 5 0 7 0;
+#X connect 6 0 0 0;
+#X connect 6 1 32 0;
+#X connect 6 2 0 0;
+#X connect 7 0 6 0;
+#X connect 7 0 8 0;
+#X connect 7 0 6 0;
+#X connect 10 0 30 0;
+#X connect 10 1 17 0;
+#X connect 11 0 15 0;
+#X connect 12 0 11 2;
+#X connect 12 0 28 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 14 0 16 0;
+#X connect 16 0 15 0;
+#X connect 17 0 29 1;
+#X connect 18 0 19 0;
+#X connect 19 0 22 0;
+#X connect 19 0 20 0;
+#X connect 20 0 21 0;
+#X connect 21 0 24 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 1;
+#X connect 24 0 25 0;
+#X connect 25 0 17 1;
+#X connect 25 0 30 1;
+#X connect 26 0 18 0;
+#X connect 27 0 15 0;
+#X connect 29 0 11 0;
+#X connect 30 0 29 0;
+#X connect 32 0 4 0;
+#X restore 64 440 pd vrgb~ and vcolor~;
+#X connect 2 0 1 0;
+#X connect 2 0 12 0;
+#X connect 12 0 1 1;
+#X connect 13 0 1 1;
+#X connect 17 0 13 0;
diff --git a/Patches/fs.copy.pd b/Patches/fs.copy.pd
index 8598ae9..cf6a311 100644
--- a/Patches/fs.copy.pd
+++ b/Patches/fs.copy.pd
@@ -1,4 +1,4 @@
-#N canvas 205 60 932 444 12;
+#N canvas 52 54 934 446 12;
#X obj 173 21 loadbang;
#X obj 208 271 fs_sender;
#X msg 173 204 copy \$1;
diff --git a/Patches/fs.frame.pd b/Patches/fs.frame.pd
index bac2004..7ec1c9d 100644
--- a/Patches/fs.frame.pd
+++ b/Patches/fs.frame.pd
@@ -1,39 +1,75 @@
-#N canvas 19 -3 1010 686 12;
-#X msg 444 119 frame \$1;
-#X obj 276 355 fs_sender;
-#X obj 76 25 inlet;
-#X obj 76 145 symbol;
-#X obj 151 126 route fs_op;
-#X obj 151 168 pack s s s;
-#X obj 76 192 outlet;
-#X obj 276 193 l2s;
-#X obj 276 226 pack s s;
-#X msg 276 259 \$2 \$1;
-#X text 468 227 "next" "prev" "random" "seek <number>" to show frames
+#N canvas 44 16 905 629 12;
+#X text 346 170 "next" "prev" "random" "seek <number>" to show frames
in video or buffered images.;
-#X text 469 264 "clear" to flush buffered images.;
-#X text 468 300 "flip_auto" "flip_manual" "flip" controls how the display
+#X text 347 211 "clear" to flush buffered images.;
+#X text 347 237 "flip_auto" "flip_manual" "flip" controls how the display
should reflect changes in the image.;
-#X text 468 343 "320x240" to set image size "100+100" to set frame
+#X text 348 282 "320x240" to set image size "100+100" to set frame
position "display 600x450" to set display size;
-#X text 469 382 "borders_0" "borders_1" "stayontop_0"/1 "mute_0"/1
+#X text 348 329 "borders_0" "borders_1" "stayontop_0"/1 "mute_0"/1
\, also right-click the image for display options.;
-#X text 450 149 inlet accepts:;
-#X obj 444 91 symbol;
-#X text 469 428 "save <directory> <"bmp" or number for jpeg quality>"
+#X text 327 59 inlet accepts:;
+#X text 348 371 "save <directory> <"bmp" or number for jpeg quality>"
save image in directory under name fs000001 \, fs000002 ...;
-#X text 467 470 "plugin_name" (see example-plugins.pd);
-#X text 471 494 mousetrack_1 and mousetrack_0 to report mouse x \,
+#X text 347 420 "plugin_name" (see example-plugins.pd);
+#X text 350 453 mousetrack_1 and mousetrack_0 to report mouse x \,
y thru second outlet;
-#X msg 19 295 bang;
-#X text 27 244 drag&drop will bang;
-#X obj 275 482 outlet;
-#X text 471 530 mouserect_1 and mouserect_0 to report dragged rectangle
+#X obj 128 127 outlet;
+#X text 350 492 mouserect_1 and mouserect_0 to report dragged rectangle
;
-#X obj 444 24 reset;
-#X obj 76 55 route bang float;
-#X msg 137 98 vf2fs \$1;
-#N canvas 0 0 646 581 report 0;
+#X obj 195 127 outlet;
+#X text 346 106 "buffer <filename(.bmp .jpg)>" to load to memory;
+#X text 346 81 filename to load and display (.avi .bmp .jpg);
+#X text 346 124 "buffer <directory>" to load all images in dir;
+#N canvas 216 35 557 597 guts 0;
+#X msg 405 180 frame \$1;
+#X obj 296 388 fs_sender;
+#X obj 96 45 inlet;
+#X obj 96 409 symbol;
+#X obj 171 159 route fs_op;
+#X obj 171 201 pack s s s;
+#X obj 96 456 outlet;
+#X obj 296 226 l2s;
+#X obj 296 259 pack s s;
+#X msg 296 292 \$2 \$1;
+#X obj 405 152 symbol;
+#X msg 27 320 bang;
+#X text 35 269 drag&drop will bang;
+#X obj 405 85 reset;
+#X obj 96 88 route bang float;
+#X msg 157 131 vf2fs \$1;
+#X obj 405 115 symbol \$0F;
+#X obj 160 58 r \$0Finlet;
+#X obj 27 294 r \$0Fbang;
+#X text 65 496 If you wish to know what is going on \, right-click
+the Framestein-logo \, choose "Show debug" and watch the log while
+you load a patch.;
+#X connect 0 0 1 0;
+#X connect 2 0 14 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 4 1 7 0;
+#X connect 5 0 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 1 0;
+#X connect 10 0 0 0;
+#X connect 11 0 3 0;
+#X connect 13 0 16 0;
+#X connect 14 0 3 0;
+#X connect 14 1 15 0;
+#X connect 14 2 4 0;
+#X connect 15 0 4 0;
+#X connect 16 0 3 1;
+#X connect 16 0 5 2;
+#X connect 16 0 8 1;
+#X connect 16 0 10 0;
+#X connect 17 0 14 0;
+#X connect 18 0 11 0;
+#X restore 56 92 pd guts;
+#X obj 56 59 inlet;
+#X obj 56 127 outlet;
+#N canvas 0 0 646 581 events 0;
#X obj 54 94 pack f f;
#X obj 88 248 pack f f f f;
#X text 58 17 report mouse x \, y;
@@ -97,41 +133,14 @@ y thru second outlet;
#X connect 33 0 34 0;
#X connect 34 0 32 1;
#X connect 36 0 31 0;
-#X restore 275 440 pd report;
-#X obj 444 54 symbol \$0F;
-#X obj 140 25 r \$0Finlet;
-#X obj 19 269 r \$0Fbang;
-#X obj 327 482 outlet;
-#X text 472 575 minimize \, maximize \, bringtofront;
-#X text 471 553 bufferize will copy the current image to image buffer
+#X restore 128 92 pd events;
+#X text 346 142 "use <directory>" - like buffer \, but without preloading
;
-#X text 471 600 hidecursor_1 \, hidecursor_0;
-#X text 470 622 use "directory" - like buffer \, without buffering
-(load on demand);
-#X text 468 190 "buffer <filename(.bmp .jpg)>" to load to memory;
-#X text 469 171 filename to load and display (.avi .bmp .jpg);
-#X text 468 208 "buffer <directory>" to load all images in dir;
-#X connect 0 0 1 0;
-#X connect 2 0 25 0;
-#X connect 3 0 6 0;
-#X connect 4 0 5 0;
-#X connect 4 1 7 0;
-#X connect 5 0 1 0;
-#X connect 7 0 8 0;
-#X connect 8 0 9 0;
-#X connect 9 0 1 0;
-#X connect 16 0 0 0;
-#X connect 20 0 3 0;
-#X connect 24 0 28 0;
-#X connect 25 0 3 0;
-#X connect 25 1 26 0;
-#X connect 25 2 4 0;
-#X connect 26 0 4 0;
-#X connect 27 0 22 0;
-#X connect 27 1 31 0;
-#X connect 28 0 3 1;
-#X connect 28 0 5 2;
-#X connect 28 0 8 1;
-#X connect 28 0 16 0;
-#X connect 29 0 25 0;
-#X connect 30 0 20 0;
+#X text 349 519 "bufferize" will copy the current image to image buffer
+;
+#X text 351 544 minimize \, maximize \, bringtofront \, hidecursor_1
+\, hidecursor_0;
+#X connect 15 0 17 0;
+#X connect 16 0 15 0;
+#X connect 18 0 9 0;
+#X connect 18 1 11 0;
diff --git a/Patches/fs.fx.pd b/Patches/fs.fx.pd
index f6bedc2..f21206f 100644
--- a/Patches/fs.fx.pd
+++ b/Patches/fs.fx.pd
@@ -1,4 +1,4 @@
-#N canvas 275 32 645 476 12;
+#N canvas 275 32 647 478 12;
#X obj 22 171 outlet;
#X obj 22 138 inlet;
#X text 114 91 - effects:;
@@ -15,7 +15,7 @@
;
#X text 130 190 "smooth_1" and "smooth_0" sets smoothing on/off for
rotate and rotozoom (default is on).;
+#X text 10 6 Yeah \, quite an abstraction!;
#X text 9 34 (you can send these commands directly to fs.frame \, but
using fs.fx might make your patches more clear);
-#X text 10 6 Yeah \, quite an abstraction!;
#X connect 1 0 0 0;