aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/pd_examples
diff options
context:
space:
mode:
authorN.N. <matju@users.sourceforge.net>2008-04-28 18:10:15 +0000
committerN.N. <matju@users.sourceforge.net>2008-04-28 18:10:15 +0000
commit91c0003b158e5f0ed9d0677fb136ae8bb6f86ec5 (patch)
treed413a48086819f6a2620cd27d030861d122d4f3f /externals/gridflow/pd_examples
parent98dfdfa2fc1c92ba69e33fd77ed3392034297c1f (diff)
this is an old gridflow, and there's already a svn repository at http://gridflow.ca/svn/trunk
svn path=/trunk/; revision=9739
Diffstat (limited to 'externals/gridflow/pd_examples')
-rw-r--r--externals/gridflow/pd_examples/binary_operations.pd73
-rw-r--r--externals/gridflow/pd_examples/blob.pd106
-rw-r--r--externals/gridflow/pd_examples/cellular_1d.pd160
-rw-r--r--externals/gridflow/pd_examples/color_correction.pd154
-rw-r--r--externals/gridflow/pd_examples/color_detect.pd218
-rw-r--r--externals/gridflow/pd_examples/convolve.pd94
-rw-r--r--externals/gridflow/pd_examples/cross_fade.pd74
-rw-r--r--externals/gridflow/pd_examples/drag_rectangle.pd110
-rw-r--r--externals/gridflow/pd_examples/eclipse.pd80
-rw-r--r--externals/gridflow/pd_examples/epicycloid.pd125
-rw-r--r--externals/gridflow/pd_examples/feedback_fractal.pd147
-rw-r--r--externals/gridflow/pd_examples/fire.pd289
-rw-r--r--externals/gridflow/pd_examples/game_of_life.pd65
-rw-r--r--externals/gridflow/pd_examples/goop.pd138
-rw-r--r--externals/gridflow/pd_examples/hello-world.pd50
-rw-r--r--externals/gridflow/pd_examples/image_stats.pd62
-rw-r--r--externals/gridflow/pd_examples/linear_transform.pd215
-rw-r--r--externals/gridflow/pd_examples/motion_detect.pd44
-rw-r--r--externals/gridflow/pd_examples/nervous_video.pd154
-rw-r--r--externals/gridflow/pd_examples/photo_pianoroll.pd158
-rw-r--r--externals/gridflow/pd_examples/plot.pd73
-rw-r--r--externals/gridflow/pd_examples/polygon.pd123
-rw-r--r--externals/gridflow/pd_examples/ripple.pd190
-rw-r--r--externals/gridflow/pd_examples/sand.pd415
-rw-r--r--externals/gridflow/pd_examples/saturation.pd81
-rw-r--r--externals/gridflow/pd_examples/scratch_video.pd121
-rw-r--r--externals/gridflow/pd_examples/spectrogram.pd108
-rw-r--r--externals/gridflow/pd_examples/threshold.pd78
-rw-r--r--externals/gridflow/pd_examples/transform.pd61
-rw-r--r--externals/gridflow/pd_examples/videodev_effects.pd313
-rw-r--r--externals/gridflow/pd_examples/waves.pd360
31 files changed, 0 insertions, 4439 deletions
diff --git a/externals/gridflow/pd_examples/binary_operations.pd b/externals/gridflow/pd_examples/binary_operations.pd
deleted file mode 100644
index cf4df98a..00000000
--- a/externals/gridflow/pd_examples/binary_operations.pd
+++ /dev/null
@@ -1,73 +0,0 @@
-#N canvas 401 211 734 490 10;
-#X text 163 212 posterize;
-#X obj 99 187 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 143 187 hsl 59 15 2 8 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 0 1;
-#X obj 65 103 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 87 361 # ^;
-#X obj 135 336 hsl 137 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 0 1;
-#X obj 99 237 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X text 124 144 negative;
-#X obj 39 121 #in;
-#X text 146 361 munchies (XOR effect) in the colour domain;
-#X obj 39 187 shunt 2;
-#X obj 39 338 shunt 2;
-#X text 157 297 color wrapping;
-#X obj 88 261 # %;
-#X obj 98 338 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 87 164 # inv+ 255;
-#X obj 99 142 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 65 54 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
-#X obj 89 304 # /;
-#X obj 39 142 shunt 2;
-#X obj 39 423 #out window;
-#X obj 88 283 # * 255;
-#X obj 166 265 hsl 137 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 0 1;
-#X obj 39 237 shunt 2;
-#X text 88 105 image loader;
-#X msg 65 121 open r001.jpg \, bang;
-#X obj 65 78 metro 33.3667;
-#X obj 87 212 #posterize;
-#X obj 8 456 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 16 463 GridFlow 0.8.0;
-#X obj 8 5 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 5 binary_operations.pd;
-#X text 222 143 <-- try various combinations of checkboxes and settings.
-then click on the image loader to see the result.;
-#X text 11 19 Copyright Mathieu Bouchard;
-#X connect 1 0 10 1;
-#X connect 2 0 27 1;
-#X connect 3 0 25 0;
-#X connect 4 0 20 0;
-#X connect 5 0 4 1;
-#X connect 6 0 23 1;
-#X connect 8 0 19 0;
-#X connect 10 0 23 0;
-#X connect 10 1 27 0;
-#X connect 11 0 20 0;
-#X connect 11 1 4 0;
-#X connect 13 0 21 0;
-#X connect 14 0 11 1;
-#X connect 15 0 10 0;
-#X connect 16 0 19 1;
-#X connect 17 0 26 0;
-#X connect 18 0 11 0;
-#X connect 19 0 10 0;
-#X connect 19 1 15 0;
-#X connect 21 0 18 0;
-#X connect 22 0 18 1;
-#X connect 22 0 13 1;
-#X connect 23 0 11 0;
-#X connect 23 1 13 0;
-#X connect 25 0 8 0;
-#X connect 26 0 3 0;
-#X connect 27 0 23 0;
diff --git a/externals/gridflow/pd_examples/blob.pd b/externals/gridflow/pd_examples/blob.pd
deleted file mode 100644
index 12ea5ee6..00000000
--- a/externals/gridflow/pd_examples/blob.pd
+++ /dev/null
@@ -1,106 +0,0 @@
-#N canvas 19 81 792 575 10;
-#X floatatom 398 265 5 0 0 0 - - -;
-#X obj 368 225 r move;
-#X obj 56 129 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 56 162 240 320 3 # 0;
-#X msg 461 407 300;
-#X obj 398 392 # * 300;
-#X obj 261 475 # cos*;
-#X msg 461 369 1600;
-#X msg 513 299 25;
-#X obj 368 263 +;
-#X msg 513 318 100;
-#X obj 505 244 hsl 128 15 100 2600 0 1 empty empty empty -2 -6 0 8
--260818 -1 -1 2297 1;
-#X text 314 474 make circular orbit of variable radius;
-#X floatatom 502 261 5 0 0 0 - - -;
-#X msg 461 388 800;
-#X text 294 375 frequency of the orbit;
-#X text 501 229 increment;
-#X msg 368 244 1;
-#X obj 58 108 s move;
-#X obj 73 128 loadbang;
-#X obj 19 50 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
-#X obj 75 392 #out window;
-#X obj 186 236 # +;
-#X obj 437 345 # + 50;
-#X text 394 250 counter;
-#X obj 19 91 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 261 494 # + ( 120 160 );
-#X obj 19 354 #store;
-#X text 65 147 blank image to start with;
-#X text 212 237 translate the square;
-#X text 546 297 make a wavy radius (50-100) \; the 1100 is its frequency
-\; tune it for fun and profit.;
-#X obj 19 108 t b b;
-#X obj 368 282 t a a a;
-#X msg 186 198 4 2 # -1 -1 -1 1 1 1 1 -1;
-#X obj 19 72 metro 1.367;
-#X obj 8 541 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 16 548 GridFlow 0.8.0;
-#X obj 8 12 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 21 12 Blob.pd;
-#X msg 514 337 10;
-#X obj 437 307 # * 1000;
-#X obj 101 265 #color;
-#X obj 101 221 loadbang;
-#X text 385 432 duplicate the angle \; make the 2nd 90 degrees apart
-(required for a circle \; else it'll be an oval or a line);
-#X obj 75 354 #draw_polygon + (3 # );
-#X text 21 25 Copyright 2002 Mathieu Bouchard and Alexandre Castonguay
-;
-#X text 185 182 a 2x2 square's coordinates;
-#X text 228 218 scale factor;
-#X obj 186 217 # * 8;
-#X obj 75 373 #solarize;
-#X text 400 49 This is the classic "Shadebob" effect of the demoscene
-;
-#X msg 101 243 12 24 36;
-#X text 6 331 superimpose the light of many squares;
-#X obj 437 326 # cos* 100;
-#X obj 261 444 #outer + (0 9000);
-#X connect 0 0 9 1;
-#X connect 1 0 17 0;
-#X connect 2 0 3 0;
-#X connect 3 0 27 1;
-#X connect 4 0 5 1;
-#X connect 5 0 54 0;
-#X connect 6 0 26 0;
-#X connect 7 0 5 1;
-#X connect 8 0 53 1;
-#X connect 9 0 0 0;
-#X connect 9 0 32 0;
-#X connect 10 0 53 1;
-#X connect 11 0 13 0;
-#X connect 13 0 40 1;
-#X connect 14 0 5 1;
-#X connect 17 0 9 0;
-#X connect 19 0 2 0;
-#X connect 20 0 34 0;
-#X connect 22 0 44 2;
-#X connect 23 0 6 1;
-#X connect 25 0 31 0;
-#X connect 26 0 22 1;
-#X connect 27 0 44 0;
-#X connect 31 0 27 0;
-#X connect 31 1 18 0;
-#X connect 32 0 33 0;
-#X connect 32 1 5 0;
-#X connect 32 2 40 0;
-#X connect 33 0 48 0;
-#X connect 34 0 25 0;
-#X connect 39 0 53 1;
-#X connect 40 0 53 0;
-#X connect 41 0 44 1;
-#X connect 42 0 51 0;
-#X connect 44 0 27 1;
-#X connect 44 0 49 0;
-#X connect 48 0 22 0;
-#X connect 49 0 21 0;
-#X connect 51 0 41 0;
-#X connect 53 0 23 0;
-#X connect 54 0 6 0;
diff --git a/externals/gridflow/pd_examples/cellular_1d.pd b/externals/gridflow/pd_examples/cellular_1d.pd
deleted file mode 100644
index 138b20a1..00000000
--- a/externals/gridflow/pd_examples/cellular_1d.pd
+++ /dev/null
@@ -1,160 +0,0 @@
-#N canvas 355 53 786 544 10;
-#X obj 33 103 loadbang;
-#X obj 93 352 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 1
-;
-#X obj 108 352 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1
-1;
-#X obj 123 352 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1
-1;
-#X obj 138 352 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0
-1;
-#X obj 153 352 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1
-1;
-#X obj 168 352 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0
-1;
-#X obj 183 352 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1
-1;
-#X obj 198 352 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0
-1;
-#X obj 124 468 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 86 256;
-#X obj -1 215 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X msg 17 312 1 256 # 1;
-#X msg 33 122 1 256 # 2;
-#X obj -1 77 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
-#X obj 415 245 loadbang;
-#X msg 415 264 1 256 # 0;
-#X text 131 452 characteristic number;
-#X obj 352 86 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--241291 -1 -1 0 256;
-#X msg 466 127 \$1 256;
-#X msg 352 122 set \$1;
-#X text 79 141 randomizer;
-#X text 91 331 specify behaviour here;
-#X text 24 234 compute new state;
-#X text 315 283 make scrollie;
-#X text 367 313 convert bit matrix to rgb image;
-#X text 313 296 (window height = 128);
-#X obj 159 74 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 151 307 loadbang;
-#X obj 95 182 t a a;
-#X obj 17 76 metro 33.3667;
-#X obj 366 165 t a a;
-#X obj 534 403 loadbang;
-#X msg 419 404 3 # 0;
-#X msg 595 405 3 # 255;
-#X text 460 405 background;
-#X text 648 407 foreground;
-#X obj 17 272 t a a;
-#X obj 33 141 # rand;
-#X obj 17 214 #store;
-#X obj 17 292 #finished;
-#X obj 17 332 # <<;
-#X obj 17 352 # &;
-#X obj 17 372 # != 0;
-#X obj 123 376 #pack 8;
-#X obj 124 415 #fold +;
-#X obj 124 436 #export;
-#X obj 159 91 #for 0 256 1;
-#X obj 159 110 # == 128;
-#X obj 159 129 #redim ( 1 256 );
-#X obj 366 184 #finished;
-#X obj 352 207 #for 1 128 1;
-#X obj 352 245 #store;
-#X obj 352 264 @join 0;
-#X obj 351 349 #store;
-#X obj 419 424 #color;
-#X obj 595 424 #color;
-#X obj 513 485 #pack 6;
-#X obj 17 252 #convolve (1 3 # 1 2 4);
-#X obj 124 396 # << (0 1 2 3 4 5 6 7);
-#X obj -4 510 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 4 517 GridFlow 0.8.0;
-#X obj -7 0 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 351 368 #out window;
-#X text -3 15 Copyright 2002 Mathieu Bouchard;
-#X text -3 1 Cellular_1d;
-#X obj 352 102 max 1;
-#X text 419 84 <-- number of new lines per frame;
-#X text 178 73 <-- make single dot;
-#X text 100 123 restart;
-#X obj 352 226 #outer ignore (0);
-#X obj 351 330 #outer ignore (0);
-#X obj 398 349 #redim (2 3);
-#X obj 366 146 #import (1 256);
-#X obj 419 484 #unpack 3;
-#X obj 595 484 #unpack 3;
-#X connect 0 0 12 0;
-#X connect 1 0 43 0;
-#X connect 2 0 43 1;
-#X connect 3 0 43 2;
-#X connect 4 0 43 3;
-#X connect 5 0 43 4;
-#X connect 6 0 43 5;
-#X connect 7 0 43 6;
-#X connect 8 0 43 7;
-#X connect 9 0 41 1;
-#X connect 10 0 38 0;
-#X connect 11 0 40 0;
-#X connect 12 0 37 0;
-#X connect 13 0 29 0;
-#X connect 14 0 15 0;
-#X connect 15 0 51 1;
-#X connect 17 0 65 0;
-#X connect 18 0 72 1;
-#X connect 19 0 50 0;
-#X connect 26 0 46 0;
-#X connect 27 0 2 0;
-#X connect 27 0 3 0;
-#X connect 27 0 7 0;
-#X connect 27 0 5 0;
-#X connect 28 0 38 1;
-#X connect 28 1 72 0;
-#X connect 29 0 38 0;
-#X connect 30 0 49 0;
-#X connect 30 1 52 1;
-#X connect 31 0 32 0;
-#X connect 31 0 33 0;
-#X connect 32 0 54 0;
-#X connect 33 0 55 0;
-#X connect 36 0 39 0;
-#X connect 36 1 40 1;
-#X connect 37 0 28 0;
-#X connect 38 0 57 0;
-#X connect 39 0 11 0;
-#X connect 40 0 41 0;
-#X connect 41 0 42 0;
-#X connect 42 0 28 0;
-#X connect 43 0 58 0;
-#X connect 44 0 45 0;
-#X connect 45 0 9 0;
-#X connect 46 0 47 0;
-#X connect 47 0 48 0;
-#X connect 48 0 28 0;
-#X connect 49 0 50 0;
-#X connect 50 0 69 0;
-#X connect 51 0 52 0;
-#X connect 52 0 51 1;
-#X connect 52 0 70 0;
-#X connect 53 0 62 0;
-#X connect 54 0 73 0;
-#X connect 55 0 74 0;
-#X connect 56 0 71 0;
-#X connect 57 0 36 0;
-#X connect 58 0 44 0;
-#X connect 65 0 19 0;
-#X connect 65 0 18 0;
-#X connect 69 0 51 0;
-#X connect 70 0 53 0;
-#X connect 71 0 53 1;
-#X connect 72 0 30 0;
-#X connect 73 0 56 0;
-#X connect 73 1 56 1;
-#X connect 73 2 56 2;
-#X connect 74 0 56 3;
-#X connect 74 1 56 4;
-#X connect 74 2 56 5;
diff --git a/externals/gridflow/pd_examples/color_correction.pd b/externals/gridflow/pd_examples/color_correction.pd
deleted file mode 100644
index 8c276f11..00000000
--- a/externals/gridflow/pd_examples/color_correction.pd
+++ /dev/null
@@ -1,154 +0,0 @@
-#N canvas 459 129 672 521 10;
-#X text 360 136 sigma (extremes);
-#X obj 134 465 #out window;
-#X text 361 211 linear (contrast);
-#X obj 134 404 shunt 2;
-#N canvas 1 96 188 188 color 0;
-#X obj 55 134 # inv+;
-#X obj 55 90 # inv+ 255;
-#X obj 127 89 inlet;
-#X obj 55 177 outlet 0;
-#X obj 55 43 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 55 22 inlet;
-#X obj 55 112 #outer <;
-#X obj 55 155 # & 255;
-#X obj 55 67 #for 0 256 1;
-#X connect 0 0 7 0;
-#X connect 1 0 6 0;
-#X connect 2 0 6 1;
-#X connect 4 0 8 0;
-#X connect 5 0 4 0;
-#X connect 6 0 0 0;
-#X connect 7 0 3 0;
-#X connect 8 0 1 0;
-#X restore 184 425 pd color correction graph generator;
-#X obj 59 285 #in;
-#X text 360 284 constant (brightness);
-#N canvas 604 262 237 400 color-correction 0;
-#X obj 23 214 # + 128;
-#X obj 23 194 # /;
-#X obj 23 112 # *;
-#X obj 23 291 # +;
-#X obj 77 112 # max 32;
-#X obj 23 317 # max 0;
-#X obj 77 151 # tanh* 512;
-#X obj 23 340 # min 255;
-#X obj 23 64 # gamma;
-#X obj 77 131 # << 5;
-#X obj 23 93 # - 128;
-#X obj 23 172 # tanh* 65535;
-#X obj 23 132 # >> 2;
-#X text 89 327 trim;
-#X obj 95 242 inlet linear;
-#X obj 114 264 inlet constant;
-#X obj 23 243 # *>>8;
-#X obj 77 93 inlet sigma;
-#X obj 34 38 inlet gamma;
-#X obj 23 12 inlet image;
-#X obj 23 369 outlet image;
-#X connect 0 0 16 0;
-#X connect 1 0 0 0;
-#X connect 2 0 12 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 1;
-#X connect 4 0 9 0;
-#X connect 5 0 7 0;
-#X connect 6 0 1 1;
-#X connect 7 0 20 0;
-#X connect 8 0 10 0;
-#X connect 9 0 6 0;
-#X connect 10 0 2 0;
-#X connect 11 0 1 0;
-#X connect 12 0 11 0;
-#X connect 14 0 16 1;
-#X connect 15 0 3 1;
-#X connect 16 0 3 0;
-#X connect 17 0 4 0;
-#X connect 18 0 8 1;
-#X connect 19 0 8 0;
-#X restore 176 314 pd color-correction;
-#X obj 134 425 #store;
-#X obj 29 45 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
-#X obj 29 81 #for 0 256 1;
-#X obj 164 338 #finished;
-#X obj 29 62 metro 33.3667;
-#X obj 59 247 loadbang;
-#X obj 256 92 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X text 277 93 regular;
-#X text 276 108 solarize;
-#X text 277 122 solarize 2;
-#X obj 29 119 shunt 3;
-#X obj 29 173 t a;
-#X obj 119 174 # sin* 255;
-#X obj 120 155 # / 255;
-#X obj 120 136 # * 18000;
-#X obj 190 391 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X text 209 391 see picture;
-#X text 209 406 see graph;
-#X obj 8 221 spigot;
-#X obj 57 222 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X text 13 204 enable stream;
-#X text 361 60 gamma (midtones);
-#X msg 254 183 3 # 256;
-#X obj 253 163 loadbang;
-#X msg 238 212 3 # 0;
-#X obj 8 310 #camera;
-#X obj 362 77 #color 0 1024 1;
-#X obj 362 152 #color 0 1024 1;
-#X obj 362 226 #color 0 1024 1;
-#X obj 362 298 #color -256 256 1;
-#X obj 51 140 #solarize;
-#X obj 134 445 #apply_colormap_channelwise;
-#X obj 2 2 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 15 15 Copyright 2002 Mathieu Bouchard;
-#X obj 2 487 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 10 494 GridFlow 0.8.0;
-#X text 15 2 color_correction.pd;
-#X obj 29 100 #outer + (0 0 0);
-#X msg 59 266 load teapot.png;
-#X connect 3 0 8 0;
-#X connect 3 1 4 0;
-#X connect 4 0 1 0;
-#X connect 5 0 8 1;
-#X connect 7 0 11 0;
-#X connect 7 0 4 1;
-#X connect 7 0 39 1;
-#X connect 8 0 39 0;
-#X connect 9 0 12 0;
-#X connect 10 0 45 0;
-#X connect 11 0 3 0;
-#X connect 12 0 10 0;
-#X connect 12 0 26 0;
-#X connect 13 0 46 0;
-#X connect 14 0 18 1;
-#X connect 18 0 19 0;
-#X connect 18 1 38 0;
-#X connect 18 2 22 0;
-#X connect 19 0 7 0;
-#X connect 20 0 19 0;
-#X connect 21 0 20 0;
-#X connect 22 0 21 0;
-#X connect 23 0 3 1;
-#X connect 26 0 33 0;
-#X connect 27 0 26 1;
-#X connect 30 0 34 0;
-#X connect 30 0 35 0;
-#X connect 30 0 36 0;
-#X connect 31 0 30 0;
-#X connect 31 0 32 0;
-#X connect 32 0 37 0;
-#X connect 33 0 8 1;
-#X connect 34 0 7 1;
-#X connect 35 0 7 2;
-#X connect 36 0 7 3;
-#X connect 37 0 7 4;
-#X connect 38 0 19 0;
-#X connect 39 0 1 0;
-#X connect 45 0 18 0;
-#X connect 46 0 5 0;
diff --git a/externals/gridflow/pd_examples/color_detect.pd b/externals/gridflow/pd_examples/color_detect.pd
deleted file mode 100644
index 91610cdb..00000000
--- a/externals/gridflow/pd_examples/color_detect.pd
+++ /dev/null
@@ -1,218 +0,0 @@
-#N canvas 562 75 668 715 10;
-#X obj 14 262 # > 0;
-#X obj 68 284 # + 128;
-#X obj 383 135 hsl 222 15 0 442 0 0 empty empty tolerance 8 8 0 8 -260818
--1 -1 10300 1;
-#X obj 224 530 #out window;
-#X obj 68 262 # tanh* 127;
-#X obj 86 2 #store;
-#X obj 277 177 tgl 15 1 empty empty empty 0 -6 0 8 -261689 -258699
--1 1 1;
-#X obj 31 -64 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1
-;
-#X obj 14 179 # inv+;
-#X obj 14 284 # << 8;
-#X obj 14 160 #fold +;
-#X obj 315 360 loadbang;
-#X obj 298 398 #checkers;
-#X obj 224 468 # +;
-#X obj 224 445 # *;
-#X obj 297 446 # *;
-#X obj 224 489 # >> 8;
-#X obj 297 424 # inv+ 256;
-#X obj 271 490 # min 255;
-#X obj 298 362 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 380 76 #color;
-#X obj 72 22 s image;
-#X obj 240 426 r image;
-#X text 374 46 select a point in the color cube \; and a radius of
-accepted similarity.;
-#X obj 277 196 #pack 3;
-#X obj 299 177 tgl 15 1 empty empty empty 0 -6 0 8 -225271 -24198 -1
-1 1;
-#X obj 321 177 tgl 15 1 empty empty empty 0 -6 0 8 -228992 -62784 -1
-1 1;
-#X text 271 161 enable selection on:;
-#X text 339 178 all three = select sphere in color cube \; pick two
-= select circle in a color square \; pick one = select range in one
-channel;
-#X text 377 360 make background;
-#X obj 57 217 # inv+;
-#X obj 295 229 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -66577
--1 0;
-#X text 314 228 erase nonselected;
-#X text 314 245 erase selected;
-#X obj 295 269 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -66577
--1 1;
-#X text 317 268 strict;
-#X text 316 284 fuzzy;
-#X obj 296 325 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -66577
--1 0;
-#X text 318 324 see filtered image on checkers;
-#X text 318 339 see opacity mask;
-#X obj 224 406 t a a;
-#N canvas 414 518 450 216 color 0;
-#X obj 25 3 inlet bang;
-#X obj 26 182 outlet image;
-#X obj 26 144 # min 255;
-#X obj 26 163 # max 0;
-#X obj 178 31 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 25 25 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 178 88 #outer + ( 0 0 9000 );
-#X obj 48 24 t b b;
-#X obj 26 81 #outer * ( 1 0 0 );
-#X obj 26 105 # +;
-#X obj 178 132 # + ( 0 128 128 );
-#X obj 178 48 #for 0 320 1;
-#X obj 179 67 # * 113;
-#X obj 26 62 #outer + ( 320 # 0 );
-#X obj 26 43 #for -120 360 2;
-#X obj 178 155 #redim ( 240 320 3 );
-#X obj 178 109 # cos* ( 0 128 128 );
-#X obj 26 124 #yuv_to_rgb;
-#X connect 0 0 7 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 11 0;
-#X connect 5 0 14 0;
-#X connect 6 0 16 0;
-#X connect 7 0 5 0;
-#X connect 7 1 4 0;
-#X connect 8 0 9 0;
-#X connect 9 0 17 0;
-#X connect 10 0 15 0;
-#X connect 11 0 12 0;
-#X connect 12 0 6 0;
-#X connect 13 0 8 0;
-#X connect 14 0 13 0;
-#X connect 15 0 9 1;
-#X connect 16 0 10 0;
-#X connect 17 0 2 0;
-#X restore 133 21 pd color panorama;
-#X obj 133 2 loadbang;
-#X obj 210 -53 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -66577
--1 1;
-#X text 229 -54 on video;
-#X text 229 -38 on color panorama;
-#X floatatom 336 136 5 0 0 0 - - -;
-#X obj 76 240 # *>>8 256;
-#X obj 338 302 hsl 129 15 4 4096 1 1 empty empty empty -2 -6 0 8 -260818
--1 -1 7000 1;
-#X floatatom 295 302 5 0 0 0 - - -;
-#X obj 58 87 #rgb_to_yuv;
-#X obj 90 55 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X text 107 55 RGB;
-#X text 107 70 YUV;
-#X text 141 55 warning: in YUV mode \,;
-#X text 140 81 green slider = U chroma;
-#X text 147 94 blue slider = V chroma;
-#X text 154 68 red slider = Y luma;
-#X obj 31 -39 metro 33.3667;
-#X obj 31 22 t a a;
-#X obj 31 1 #camera;
-#X obj 332 446 spigot;
-#X obj 379 447 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X text 398 448 recurrent layering;
-#X obj 224 511 t a;
-#X obj 14 141 # &;
-#X obj 40 141 # inv+;
-#X obj 36 397 # >> 6;
-#X obj 14 198 shunt 2;
-#X obj 14 241 shunt 2;
-#X obj 14 55 shunt 2;
-#X obj 14 306 shunt 2;
-#X obj 68 308 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X text 87 302 sort-of feather;
-#X obj 224 385 shunt 2;
-#X text 87 317 (8x8 square blur on mask);
-#X obj 31 -18 shunt 2;
-#X obj 36 377 # + 32;
-#X obj -2 561 cnv 15 740 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 6 568 GridFlow 0.8.0;
-#X obj 1 -118 cnv 15 740 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 14 -118 color_detect.pd;
-#X text 13 -105 Copyright 2001-2004 Mathieu Bouchard;
-#X obj 14 122 # sq-;
-#X obj 61 179 # sq-;
-#X obj 36 337 #convolve (8 1 # 1);
-#X obj 36 357 #convolve (1 8 # 1);
-#X obj 14 457 #outer ignore (3 # 0);
-#X obj 298 379 #for (0 0) (240 320) (1 1);
-#X connect 0 0 9 0;
-#X connect 1 0 71 0;
-#X connect 2 0 46 0;
-#X connect 4 0 1 0;
-#X connect 5 0 59 0;
-#X connect 6 0 24 0;
-#X connect 7 0 58 0;
-#X connect 8 0 68 0;
-#X connect 9 0 71 0;
-#X connect 10 0 8 0;
-#X connect 11 0 19 0;
-#X connect 12 0 15 1;
-#X connect 13 0 16 0;
-#X connect 14 0 13 0;
-#X connect 15 0 13 1;
-#X connect 16 0 64 0;
-#X connect 17 0 15 0;
-#X connect 18 0 64 0;
-#X connect 19 0 88 0;
-#X connect 20 0 83 1;
-#X connect 22 0 14 1;
-#X connect 24 0 66 0;
-#X connect 25 0 24 1;
-#X connect 26 0 24 2;
-#X connect 30 0 69 0;
-#X connect 31 0 68 1;
-#X connect 34 0 69 1;
-#X connect 37 0 74 1;
-#X connect 40 0 14 0;
-#X connect 40 1 17 0;
-#X connect 41 0 5 1;
-#X connect 42 0 41 0;
-#X connect 43 0 76 1;
-#X connect 46 0 84 0;
-#X connect 47 0 4 0;
-#X connect 48 0 49 0;
-#X connect 49 0 47 1;
-#X connect 50 0 83 0;
-#X connect 51 0 70 1;
-#X connect 58 0 76 0;
-#X connect 59 0 70 0;
-#X connect 59 1 21 0;
-#X connect 60 0 59 0;
-#X connect 61 0 15 1;
-#X connect 62 0 61 1;
-#X connect 64 0 3 0;
-#X connect 64 0 61 0;
-#X connect 65 0 10 0;
-#X connect 66 0 65 1;
-#X connect 67 0 87 0;
-#X connect 68 0 69 0;
-#X connect 68 1 30 0;
-#X connect 69 0 0 0;
-#X connect 69 1 47 0;
-#X connect 70 0 83 0;
-#X connect 70 1 50 0;
-#X connect 71 0 87 0;
-#X connect 71 1 85 0;
-#X connect 72 0 71 1;
-#X connect 74 0 40 0;
-#X connect 74 1 18 0;
-#X connect 76 0 60 0;
-#X connect 76 1 5 0;
-#X connect 77 0 67 0;
-#X connect 83 0 65 0;
-#X connect 84 0 8 1;
-#X connect 85 0 86 0;
-#X connect 86 0 77 0;
-#X connect 87 0 74 0;
-#X connect 88 0 12 0;
diff --git a/externals/gridflow/pd_examples/convolve.pd b/externals/gridflow/pd_examples/convolve.pd
deleted file mode 100644
index 19a08510..00000000
--- a/externals/gridflow/pd_examples/convolve.pd
+++ /dev/null
@@ -1,94 +0,0 @@
-#N canvas 17 90 652 511 10;
-#X msg 382 117 3 3 # 0 4 0 4 9 -4 0 -4 0;
-#X obj 20 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 386 63 3 3 # 4 0 0 0 1 0 0 0 4;
-#X obj 20 130 #store;
-#X obj 116 218 # / 9;
-#X msg 381 37 3 3 # 1 1 1 1 1 1 1 1 1;
-#X obj 76 131 #out window;
-#X msg 399 180 1 3 # 0 9 -9;
-#X obj 58 85 #in;
-#X msg 387 90 3 3 # 2 2 2 2 -7 2 2 2 2;
-#X obj 20 -24 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 116 286 @! abs;
-#X obj 116 352 # max 0;
-#X text 331 -15 step 1: select one of those six grids;
-#X obj 116 331 # min 255;
-#X obj 58 45 loadbang;
-#X obj 20 2 metro 33.3667;
-#X obj 58 107 t a;
-#X obj 116 197 #convolve \, seed 4;
-#X obj 332 5 loadbang;
-#X text -7 149 feedback loop;
-#X obj 116 244 shunt 2;
-#X obj 171 246 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X msg 253 227 0;
-#X obj 163 307 # + 128;
-#X msg 253 251 1;
-#X obj 331 307 display;
-#X obj 48 233 fps;
-#X obj 40 277 print;
-#X obj -15 391 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 398 GridFlow 0.8.0;
-#X text -7 398 GridFlow 0.8.0;
-#X obj -13 -85 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 0 -72 Copyright 2002 Mathieu Bouchard;
-#X text 0 -85 convolve.pd;
-#X msg 399 159 1 3 # 0 2 -2;
-#X msg 399 212 3 3 # 0 -1 0 -1 4 -1 0 -1 0;
-#X msg 397 235 3 3 # -1 -1 -1 -1 8 -1 -1 -1 -1;
-#X text 506 192 Laplacian masks;
-#X msg 396 280 3 3 # 0 -1 0 -1 13 -1 0 -1 0;
-#X text 542 261 Sharpen;
-#X text 507 17 Blurs;
-#X obj 163 265 # << 4;
-#X text 416 140 Edge detection;
-#X msg 58 65 open babbage.jpg \, bang;
-#X connect 0 0 23 0;
-#X connect 0 0 18 1;
-#X connect 0 0 26 0;
-#X connect 1 0 3 0;
-#X connect 2 0 23 0;
-#X connect 2 0 18 1;
-#X connect 3 0 18 0;
-#X connect 4 0 21 0;
-#X connect 5 0 23 0;
-#X connect 5 0 18 1;
-#X connect 6 0 27 0;
-#X connect 7 0 18 1;
-#X connect 7 0 25 0;
-#X connect 8 0 17 0;
-#X connect 9 0 23 0;
-#X connect 9 0 18 1;
-#X connect 10 0 16 0;
-#X connect 11 0 14 0;
-#X connect 12 0 17 0;
-#X connect 14 0 12 0;
-#X connect 15 0 44 0;
-#X connect 16 0 1 0;
-#X connect 17 0 3 1;
-#X connect 17 0 6 0;
-#X connect 18 0 4 0;
-#X connect 19 0 5 0;
-#X connect 21 0 11 0;
-#X connect 21 1 42 0;
-#X connect 22 0 21 1;
-#X connect 23 0 22 0;
-#X connect 24 0 14 0;
-#X connect 25 0 22 0;
-#X connect 27 0 28 0;
-#X connect 35 0 23 0;
-#X connect 35 0 18 1;
-#X connect 36 0 18 1;
-#X connect 36 0 25 0;
-#X connect 37 0 25 0;
-#X connect 37 0 18 1;
-#X connect 39 0 23 0;
-#X connect 39 0 18 1;
-#X connect 42 0 24 0;
-#X connect 44 0 8 0;
diff --git a/externals/gridflow/pd_examples/cross_fade.pd b/externals/gridflow/pd_examples/cross_fade.pd
deleted file mode 100644
index 1656b935..00000000
--- a/externals/gridflow/pd_examples/cross_fade.pd
+++ /dev/null
@@ -1,74 +0,0 @@
-#N canvas 397 101 680 501 10;
-#X obj 13 229 # *>>8;
-#X text 40 293 first picture plus a fraction of the difference;
-#X obj 13 291 # +;
-#X obj 13 210 #store;
-#X obj 211 157 # inv+;
-#X obj 68 311 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X text 12 372 note: the #layer/#join objects can make the crossfade
-process simpler but it's still not faster.;
-#X obj 13 46 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
-#X obj 264 130 #in;
-#X obj 13 191 #finished;
-#X text 85 311 click to clip out-of-range colours;
-#X text 60 229 multiply by a N/256 fraction;
-#X obj 211 111 #in;
-#X obj 13 353 #out window;
-#X obj 13 153 #cast int16;
-#X text 61 213 keep the difference between both pictures;
-#X obj 249 91 t b b;
-#X obj 249 72 loadbang;
-#X obj 13 310 shunt 2;
-#X obj 13 63 metro 33.3667;
-#X obj 13 82 float;
-#X obj 25 101 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 52 82 + 4;
-#X obj 13 117 pingpong 256;
-#X obj 21 136 hsl 129 15 0 256 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 0 1;
-#X obj 13 172 t a a;
-#X text 11 406 also #draw_image/#join is a possibility;
-#X obj 0 1 cnv 15 680 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 14 14 Copyright 2002 Mathieu Bouchard;
-#X text 14 -2 cross_fade.pd;
-#X obj 0 469 cnv 15 680 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 8 477 GridFlow 0.8.0;
-#X obj 57 329 #clip;
-#X msg 237 111 load b001.jpg;
-#X msg 289 130 load r001.jpg;
-#X obj 264 149 #cast s;
-#X obj 211 130 #cast s;
-#X connect 0 0 2 0;
-#X connect 2 0 18 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 1;
-#X connect 5 0 18 1;
-#X connect 7 0 19 0;
-#X connect 8 0 35 0;
-#X connect 9 0 3 0;
-#X connect 12 0 36 0;
-#X connect 14 0 25 0;
-#X connect 16 0 33 0;
-#X connect 16 1 34 0;
-#X connect 17 0 16 0;
-#X connect 18 0 13 0;
-#X connect 18 1 32 0;
-#X connect 19 0 20 0;
-#X connect 20 0 21 0;
-#X connect 20 0 22 0;
-#X connect 20 0 23 0;
-#X connect 22 0 20 1;
-#X connect 23 0 24 0;
-#X connect 23 0 14 0;
-#X connect 25 0 9 0;
-#X connect 25 1 0 1;
-#X connect 32 0 13 0;
-#X connect 33 0 12 0;
-#X connect 34 0 8 0;
-#X connect 35 0 4 1;
-#X connect 36 0 4 0;
-#X connect 36 0 2 1;
diff --git a/externals/gridflow/pd_examples/drag_rectangle.pd b/externals/gridflow/pd_examples/drag_rectangle.pd
deleted file mode 100644
index ab0d8ea8..00000000
--- a/externals/gridflow/pd_examples/drag_rectangle.pd
+++ /dev/null
@@ -1,110 +0,0 @@
-#N canvas 702 123 647 484 10;
-#X obj 231 -7 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 231 117 #out window;
-#X obj 21 144 hsl 128 15 0 319 0 0 h_end_o h_end_i empty -2 -8 1 10
--262144 -1 -1 0 1;
-#X obj 21 -4 hsl 128 15 0 319 0 0 h_start_o h_start_i empty 0 8 1 10
--262144 -66577 -258699 0 0;
-#X obj 3 13 vsl 15 128 239 0 0 0 v_start_o v_start_i empty 0 -8 1 10
--262144 -1 -1 0 1;
-#X obj 151 13 vsl 15 128 239 0 0 0 v_end_o v_end_i empty 0 -8 1 10
--262144 -1 -1 0 1;
-#N canvas 504 374 452 302 make_rectangle 0;
-#X obj 27 16 inlet;
-#X text 25 -3 image;
-#X obj 93 17 inlet;
-#X text 92 0 start pos;
-#X obj 172 18 inlet;
-#X text 172 1 end pos;
-#X obj 27 244 outlet;
-#X text 27 264 image;
-#X obj 93 37 unpack 0 0;
-#X obj 173 37 unpack 0 0;
-#X obj 126 61 #pack 4;
-#X obj 125 81 #export_list;
-#X msg 95 135 4 2 # \$1 \$2 \$1 \$4 \$3 \$4 \$3 \$2;
-#X obj 27 177 #draw_polygon >> ( 1 1 1 );
-#X connect 0 0 13 0;
-#X connect 2 0 8 0;
-#X connect 4 0 9 0;
-#X connect 8 0 10 0;
-#X connect 8 1 10 1;
-#X connect 9 0 10 2;
-#X connect 9 1 10 3;
-#X connect 10 0 11 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 2;
-#X connect 13 0 6 0;
-#X restore 231 97 pd make_rectangle;
-#X obj 231 43 metro 33.3667;
-#X text -22 -5 start;
-#X text 155 144 end;
-#X obj 328 23 loadbang;
-#X obj 231 72 #store;
-#X obj 393 25 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 315 117 #mouse \, ...;
-#X obj 260 268 listelement 0;
-#X obj 367 190 listelement 1;
-#X obj 260 225 listelement 0;
-#X obj 368 149 listelement 1;
-#X obj 368 168 s h_start_i;
-#X obj 367 209 s h_end_i;
-#X obj 260 287 s v_end_i;
-#X obj 260 244 s v_start_i;
-#X obj 378 65 loadbang;
-#X msg 378 84 0 0;
-#X obj 328 161 t a;
-#X obj 47 322 #out window;
-#X obj 86 221 t b a;
-#X obj 47 286 #store;
-#X msg 48 243 set ( \$1 \$2 );
-#X obj 327 43 #in b001.jpg;
-#X text 30 35 drag the mouse;
-#X text 56 20 step 2:;
-#X text 39 51 inside the;
-#X text 37 66 first window;
-#X text 218 -25 step 1: turn on;
-#X text 52 304 cropping (to 2nd window);
-#X obj -41 373 cnv 15 640 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -33 380 GridFlow 0.8.0;
-#X text -33 380 GridFlow 0.8.0;
-#X obj -40 -77 cnv 15 640 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text -27 -64 Copyright 2002 Mathieu Bouchard;
-#X text -27 -77 drag_rectangle.pd;
-#X obj 47 267 #for (0 0) (0 0) (1 1);
-#X connect 0 0 7 0;
-#X connect 1 0 13 0;
-#X connect 6 0 1 0;
-#X connect 7 0 11 0;
-#X connect 10 0 29 0;
-#X connect 11 0 6 0;
-#X connect 12 0 29 0;
-#X connect 13 0 6 1;
-#X connect 13 0 16 0;
-#X connect 13 0 17 0;
-#X connect 13 0 28 0;
-#X connect 13 0 24 0;
-#X connect 13 1 24 0;
-#X connect 13 2 24 0;
-#X connect 13 2 26 0;
-#X connect 14 0 20 0;
-#X connect 15 0 19 0;
-#X connect 16 0 21 0;
-#X connect 17 0 18 0;
-#X connect 22 0 23 0;
-#X connect 23 0 6 1;
-#X connect 23 0 6 2;
-#X connect 24 0 14 0;
-#X connect 24 0 15 0;
-#X connect 24 0 6 2;
-#X connect 26 0 42 0;
-#X connect 26 1 42 1;
-#X connect 27 0 25 0;
-#X connect 28 0 42 0;
-#X connect 29 0 11 1;
-#X connect 29 0 27 1;
-#X connect 42 0 27 0;
diff --git a/externals/gridflow/pd_examples/eclipse.pd b/externals/gridflow/pd_examples/eclipse.pd
deleted file mode 100644
index 0c94440b..00000000
--- a/externals/gridflow/pd_examples/eclipse.pd
+++ /dev/null
@@ -1,80 +0,0 @@
-#N canvas 623 182 635 533 10;
-#X floatatom 242 293 5 0 0 0 - - -;
-#X msg 194 273 24;
-#X obj 61 -35 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 194 251 loadbang;
-#X msg 242 273 32;
-#X floatatom 194 293 5 0 0 0 - - -;
-#X obj 38 17 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 61 -6 metro 33.3667;
-#X text 189 228 size of subimages;
-#X obj 61 144 t a a;
-#X text 204 44 gain on colour blue;
-#X obj 61 17 #camera;
-#X obj 61 63 #scale_by 2;
-#X obj 141 119 #dim;
-#X obj 141 139 #inner (3 2 # 1 0 0 1 0 0);
-#X obj 61 125 #finished;
-#X obj 61 183 # /;
-#X obj 61 202 # *;
-#X obj 61 229 #store;
-#X obj 61 256 # *;
-#X obj 61 275 # >> 7;
-#X obj 61 294 # min 255;
-#X obj 61 313 #out window;
-#X obj 194 313 #pack 2;
-#X obj 141 206 # /;
-#X obj 107 229 #store;
-#X obj 107 206 # *;
-#X obj 61 164 #for (0 0) (240 320) (1 1);
-#X obj 107 186 #for (0 0) (240 320) (1 1);
-#X obj 61 44 # *>>8 (256 256 384);
-#X obj 1 418 cnv 15 640 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 9 425 GridFlow 0.8.0;
-#X text 9 425 GridFlow 0.8.0;
-#X obj 3 -85 cnv 15 640 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 16 -72 Copyright 2002 Mathieu Bouchard;
-#X text 121 17 <-- open this;
-#X text 16 -85 eclipse.pd;
-#X obj 61 102 t a a;
-#X connect 0 0 23 1;
-#X connect 1 0 5 0;
-#X connect 2 0 7 0;
-#X connect 3 0 4 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 23 0;
-#X connect 6 0 11 0;
-#X connect 7 0 11 0;
-#X connect 9 0 27 0;
-#X connect 9 1 28 0;
-#X connect 11 0 29 0;
-#X connect 12 0 37 0;
-#X connect 13 0 14 0;
-#X connect 14 0 24 0;
-#X connect 14 0 27 1;
-#X connect 14 0 28 1;
-#X connect 15 0 9 0;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 21 0;
-#X connect 21 0 22 0;
-#X connect 23 0 16 1;
-#X connect 23 0 17 1;
-#X connect 23 0 24 1;
-#X connect 24 0 26 1;
-#X connect 25 0 19 1;
-#X connect 26 0 25 0;
-#X connect 27 0 16 0;
-#X connect 28 0 26 0;
-#X connect 29 0 12 0;
-#X connect 37 0 15 0;
-#X connect 37 1 13 0;
-#X connect 37 1 18 1;
-#X connect 37 1 25 1;
diff --git a/externals/gridflow/pd_examples/epicycloid.pd b/externals/gridflow/pd_examples/epicycloid.pd
deleted file mode 100644
index 000bc8c0..00000000
--- a/externals/gridflow/pd_examples/epicycloid.pd
+++ /dev/null
@@ -1,125 +0,0 @@
-#N canvas 301 73 904 550 10;
-#X text 158 43 epicycloid;
-#X text 168 56 x(t) = (R+r) cos(t) - p*cos((R+r)t/r);
-#X text 168 69 y(t) = (R+r) sin(t) - p*sin((R+r)t/r);
-#X obj 24 273 #draw_polygon put 1;
-#X obj 24 292 #out window;
-#X obj -22 68 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 297 428 pack f f f f;
-#X msg 297 447 \$2 \$1 \$4 \$1 \$4 \$3 \$2 \$3;
-#X text 304 403 x;
-#X text 364 405 y;
-#X text 391 407 y+1;
-#X text 327 405 x+1;
-#X floatatom 303 381 5 0 0 0 - - -;
-#X obj 345 379 + 1;
-#X floatatom 390 382 5 0 0 0 - - -;
-#X obj 432 379 + 1;
-#X obj 303 358 t f f;
-#X obj 390 361 t f f;
-#X obj -16 108 s met;
-#X obj 258 428 r met;
-#X obj 388 197 hsl 128 15 5 100 0 1 empty empty empty -2 -6 0 8 -24198
--1 -1 5500 1;
-#X obj 515 238 hsl 128 15 -100 100 0 1 empty empty empty -2 -6 0 8
--44926 -1 -1 4000 1;
-#X obj 665 263 hsl 128 15 -150 150 0 1 empty empty empty -2 -6 0 8
--258699 -1 -1 3200 1;
-#X text 313 155 t = valeur en angles de 0 a 360;
-#X obj 385 241 t f f;
-#X obj 512 270 t f f;
-#X obj 662 283 t f f;
-#X obj 303 217 * 6.28319;
-#X obj 303 196 / 360;
-#X floatatom 303 178 5 0 0 0 - - -;
-#X obj 303 236 t f f;
-#X obj -22 273 #store;
-#X obj -14 129 loadbang;
-#X obj 390 323 expr ($f2+$f3)*sin($f1) - $f4*sin(($f2+$f3)*$f1/$f3)
-;
-#X obj 303 302 expr ($f2+$f3)*cos($f1) - $f4*cos(($f2+$f3)*$f1/$f3)
-;
-#X obj 303 135 + 1;
-#X msg 303 111 1;
-#X floatatom 335 138 5 0 0 0 - - -;
-#X msg 335 119 0;
-#X text 366 122 reset count;
-#X text 100 147 reset image;
-#X text 470 216 r = Rayon du deuxieme cercle -100 a 100;
-#X obj 390 342 + 150;
-#X obj 303 339 + 150;
-#X floatatom 397 223 5 0 0 0 - - -;
-#X floatatom 563 263 5 0 0 0 - - -;
-#X floatatom 712 286 5 0 0 0 - - -;
-#X obj -22 85 metro 1;
-#X obj 25 68 hsl 128 15 0 15 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 0 1;
-#X text 360 178 R = Rayon du premier cercle 5 a 100;
-#X obj -38 515 cnv 15 900 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -29 522 GridFlow 0.8.0;
-#X text -29 522 GridFlow 0.8.0;
-#X obj -35 5 cnv 15 800 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 88 213 #color;
-#X obj 88 175 loadbang;
-#X msg 88 194 230 224 0;
-#X msg -14 148 300 300 3 # 0;
-#X text -22 18 Copyright 2004 Alexandre Castonguay;
-#X text -22 5 epicycloid.pd;
-#X text 51 128 start with a blank \, black image;
-#X text 660 248 deuxieme cercle - 150 a 150;
-#X text 660 233 p = distance du centre du;
-#X obj 297 466 #import (4 2);
-#X connect 3 0 4 0;
-#X connect 3 0 31 1;
-#X connect 5 0 47 0;
-#X connect 6 0 7 0;
-#X connect 7 0 63 0;
-#X connect 12 0 6 0;
-#X connect 13 0 6 2;
-#X connect 14 0 6 1;
-#X connect 15 0 6 3;
-#X connect 16 0 12 0;
-#X connect 16 1 13 0;
-#X connect 17 0 14 0;
-#X connect 17 1 15 0;
-#X connect 19 0 6 0;
-#X connect 20 0 24 0;
-#X connect 20 0 44 0;
-#X connect 21 0 25 0;
-#X connect 21 0 45 0;
-#X connect 22 0 26 0;
-#X connect 22 0 46 0;
-#X connect 24 0 34 1;
-#X connect 24 1 33 1;
-#X connect 25 0 34 2;
-#X connect 25 1 33 2;
-#X connect 26 0 34 3;
-#X connect 26 1 33 3;
-#X connect 27 0 30 0;
-#X connect 28 0 27 0;
-#X connect 29 0 28 0;
-#X connect 30 0 34 0;
-#X connect 30 1 33 0;
-#X connect 31 0 3 0;
-#X connect 32 0 57 0;
-#X connect 33 0 42 0;
-#X connect 34 0 43 0;
-#X connect 35 0 37 0;
-#X connect 35 0 29 0;
-#X connect 36 0 35 0;
-#X connect 37 0 35 1;
-#X connect 38 0 37 0;
-#X connect 42 0 17 0;
-#X connect 43 0 16 0;
-#X connect 47 0 18 0;
-#X connect 47 0 31 0;
-#X connect 47 0 36 0;
-#X connect 48 0 47 1;
-#X connect 54 0 3 1;
-#X connect 55 0 56 0;
-#X connect 56 0 54 0;
-#X connect 57 0 31 1;
-#X connect 63 0 3 2;
diff --git a/externals/gridflow/pd_examples/feedback_fractal.pd b/externals/gridflow/pd_examples/feedback_fractal.pd
deleted file mode 100644
index abb70e80..00000000
--- a/externals/gridflow/pd_examples/feedback_fractal.pd
+++ /dev/null
@@ -1,147 +0,0 @@
-#N canvas 609 30 779 549 10;
-#N canvas 0 0 450 300 experimental 0;
-#X obj 32 212 outlet 0;
-#X obj 39 81 @for ( 0 0 ) ( 256 256 ) ( 1 1 );
-#X obj 39 55 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 207 64 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 206 87 @for ( 0 0 ) ( 256 256 ) ( 1 1 );
-#X obj 206 109 @ >> ( 4 6 );
-#X obj 39 104 @ << ( 4 2 );
-#X obj 198 140 @inner & ^ 1 ( 2 2 # 85 170 170 85 );
-#X obj 39 126 @ +;
-#X obj 39 33 inlet;
-#X connect 1 0 6 0;
-#X connect 2 0 1 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 1;
-#X connect 6 0 8 0;
-#X connect 8 0 0 0;
-#X connect 9 0 2 0;
-#X restore 545 260 pd experimental features;
-#X text 515 193 Choose Julia Mapping or Rotation;
-#X obj 31 53 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1;
-#X obj 414 145 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X text 135 196 apply transform (with feedback);
-#X floatatom 430 363 5 0 0 0 - - -;
-#X floatatom 518 387 5 0 0 0 - - -;
-#X text 434 375 zoom;
-#X text 518 397 move x;
-#X msg 518 368 -45;
-#X msg 430 344 128;
-#X obj 119 197 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X obj 444 119 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X obj 497 193 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X floatatom 472 387 5 0 0 0 - - -;
-#X text 471 398 move y;
-#X msg 472 368 193;
-#X obj 31 80 metro 33.3667;
-#X obj 442 191 shunt 2;
-#X obj 77 365 loadbang;
-#X obj 414 91 t b b;
-#X obj 414 67 loadbang;
-#X obj 31 338 t a;
-#X obj 131 220 loadbang;
-#X obj 131 239 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X obj 119 317 t a;
-#X obj 31 108 t b b;
-#X obj 73 109 float;
-#X obj 73 128 + 1;
-#X obj 84 148 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 57 256;
-#X obj 486 323 t b;
-#X text 149 240 reset transform;
-#X obj 99 128 mod 60;
-#X obj 73 168 sel 59;
-#X obj 31 200 #store;
-#X obj 31 276 # << 7;
-#X obj 31 295 #fade 10;
-#X obj 31 314 # >> 7;
-#X obj 31 422 #store;
-#X obj 31 451 #out window;
-#X obj 414 478 # -;
-#X obj 438 454 # - 128;
-#X obj 414 390 # /;
-#X obj 414 296 #store;
-#X obj 442 172 #for ( -128 -128 ) ( 128 128 ) ( 1 1 );
-#X obj 442 210 @complex_sq;
-#X obj 485 229 #inner (2 2 # 120 30 -30 120);
-#X obj -13 0 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj -15 518 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 525 GridFlow 0.8.0;
-#X text -7 525 GridFlow 0.8.0;
-#X text 0 0 feedback_fractal.pd;
-#X text 0 13 Copyright 2001 Mathieu Bouchard;
-#X obj 131 258 #for (0 0) (256 256) (1 1);
-#X obj 119 298 #store;
-#X obj 119 279 #store;
-#X obj 77 422 #cast b;
-#X obj 77 403 #in;
-#X msg 77 384 load teapot.png;
-#X obj 438 432 #pack;
-#X text 431 145 apply coords;
-#X text 462 118 apply type of transform;
-#X connect 0 0 43 1;
-#X connect 2 0 17 0;
-#X connect 3 0 43 0;
-#X connect 5 0 42 1;
-#X connect 6 0 59 1;
-#X connect 9 0 6 0;
-#X connect 10 0 5 0;
-#X connect 11 0 55 0;
-#X connect 12 0 44 0;
-#X connect 13 0 18 1;
-#X connect 14 0 59 0;
-#X connect 16 0 14 0;
-#X connect 17 0 26 0;
-#X connect 18 0 45 0;
-#X connect 18 1 46 0;
-#X connect 19 0 58 0;
-#X connect 20 0 3 0;
-#X connect 20 1 12 0;
-#X connect 20 1 30 0;
-#X connect 21 0 20 0;
-#X connect 22 0 38 0;
-#X connect 23 0 24 0;
-#X connect 24 0 53 0;
-#X connect 25 0 34 1;
-#X connect 25 0 54 1;
-#X connect 26 0 34 0;
-#X connect 26 1 27 0;
-#X connect 27 0 28 0;
-#X connect 28 0 29 0;
-#X connect 28 0 32 0;
-#X connect 28 0 33 0;
-#X connect 30 0 10 0;
-#X connect 30 0 16 0;
-#X connect 30 0 9 0;
-#X connect 32 0 27 1;
-#X connect 33 0 11 0;
-#X connect 34 0 35 0;
-#X connect 35 0 36 0;
-#X connect 36 0 37 0;
-#X connect 37 0 22 0;
-#X connect 38 0 39 0;
-#X connect 40 0 55 1;
-#X connect 41 0 40 1;
-#X connect 42 0 40 0;
-#X connect 43 0 42 0;
-#X connect 44 0 18 0;
-#X connect 45 0 43 1;
-#X connect 46 0 43 1;
-#X connect 53 0 34 1;
-#X connect 53 0 54 1;
-#X connect 54 0 25 0;
-#X connect 55 0 54 0;
-#X connect 56 0 38 1;
-#X connect 57 0 56 0;
-#X connect 58 0 57 0;
diff --git a/externals/gridflow/pd_examples/fire.pd b/externals/gridflow/pd_examples/fire.pd
deleted file mode 100644
index 2e9f8606..00000000
--- a/externals/gridflow/pd_examples/fire.pd
+++ /dev/null
@@ -1,289 +0,0 @@
-#N canvas 55 53 634 527 10;
-#X obj 377 355 loadbang;
-#X text 243 362 palette generator;
-#X obj 100 383 fps detailed;
-#X obj 264 400 #for 0 256 1;
-#X obj 19 240 #store;
-#X obj 264 422 #outer gamma;
-#X obj 100 402 print;
-#X msg 56 200 \$1 \$2 # 0;
-#X obj 264 379 #finished;
-#X obj 19 35 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1;
-#X obj 200 39 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 332 379 fork;
-#X text 258 62 height width;
-#X obj 100 364 #out window;
-#X text 97 308 applying palette;
-#X obj 99 326 #store;
-#N canvas 127 200 450 300 circle 0;
-#X obj 47 146 #fold +;
-#X obj 47 203 # << 7;
-#X obj 47 165 # >> 6;
-#X obj 47 184 # == 10;
-#X obj 47 15 inlet size;
-#X obj 47 222 outlet matrix;
-#X obj 77 108 inlet pos;
-#X obj 47 53 t b a;
-#X obj 47 127 # sq-;
-#X obj 47 79 #for (0 0) (0 0) (1 1);
-#X obj 90 53 #export_list;
-#X connect 0 0 2 0;
-#X connect 1 0 5 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 7 0;
-#X connect 6 0 8 1;
-#X connect 7 0 9 0;
-#X connect 7 1 10 0;
-#X connect 8 0 0 0;
-#X connect 9 0 8 0;
-#X connect 10 0 9 1;
-#X restore 222 200 pd circle generator;
-#N canvas 498 387 361 260 baseline 0;
-#X obj 18 123 #fold +;
-#X obj 127 149 - 4;
-#X obj 18 56 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 18 101 # & ( -1 0 );
-#X obj 18 146 # ==;
-#X obj 127 130 listelement 0;
-#X text 93 10 line generator;
-#X obj 18 166 # << 7;
-#X obj 18 79 #for ( 0 0 ) ( 0 0 ) ( 1 1 );
-#X obj 127 110 #export_list;
-#X obj 18 9 inlet size;
-#X obj 18 187 outlet matrix;
-#X obj 18 33 fork;
-#X text 154 151 four pixels from bottom;
-#X connect 0 0 4 0;
-#X connect 1 0 4 1;
-#X connect 2 0 8 0;
-#X connect 3 0 0 0;
-#X connect 4 0 7 0;
-#X connect 5 0 1 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 5 0;
-#X connect 10 0 12 0;
-#X connect 12 0 2 0;
-#X connect 12 1 9 0;
-#X connect 12 1 8 1;
-#X restore 200 220 pd baseline generator;
-#X text 45 183 make blank image;
-#X text 26 223 feedback loop;
-#X obj 377 393 #color 0 800 1;
-#X msg 377 374 600 200 75;
-#X obj 220 38 loadbang;
-#N canvas 645 360 400 289 fire 0;
-#X obj 174 180 #store;
-#X obj 61 196 #export_list;
-#X obj 6 65 # >> 2;
-#X obj 6 26 fork;
-#X obj 6 235 # & 255;
-#X obj 174 115 listmake;
-#X obj 6 103 # / 80;
-#X msg 174 138 \$1 1 # 256;
-#X obj 174 97 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 174 78 route grid;
-#X obj 60 155 inlet;
-#X obj 274 146 # + 32;
-#X obj 60 177 #dim;
-#X obj 6 214 # +;
-#X obj 6 258 outlet 0;
-#X msg 274 101 256 \$2 # 64;
-#X obj 6 84 # *;
-#X obj 6 7 inlet image;
-#X obj 274 79 inlet size;
-#X text 102 8 this fire algorithm;
-#X text 101 22 was designed by matju in 1994;
-#X text 264 167 makes a cache of;
-#X text 264 180 random numbers;
-#X obj 174 159 # rand;
-#X obj 274 123 # rand;
-#X obj 6 46 #convolve (3 3 # 1 0 0 0 1 0 1 1 1);
-#X connect 0 0 16 1;
-#X connect 1 0 5 1;
-#X connect 2 0 16 0;
-#X connect 3 0 25 0;
-#X connect 3 1 9 0;
-#X connect 4 0 14 0;
-#X connect 5 0 7 0;
-#X connect 6 0 13 0;
-#X connect 7 0 23 0;
-#X connect 8 0 5 0;
-#X connect 9 0 8 0;
-#X connect 10 0 13 1;
-#X connect 10 0 12 0;
-#X connect 11 0 0 1;
-#X connect 12 0 1 0;
-#X connect 13 0 4 0;
-#X connect 15 0 24 0;
-#X connect 16 0 6 0;
-#X connect 17 0 3 0;
-#X connect 18 0 15 0;
-#X connect 23 0 0 0;
-#X connect 24 0 11 0;
-#X connect 25 0 2 0;
-#X restore 65 240 pd fire generator;
-#X text 166 108 note: reset the size if you change the generator;
-#X obj 19 58 metro 33.3667;
-#X obj 5 -4 cnv 15 620 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 15 -4 fire.pd;
-#X obj 5 483 cnv 15 620 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 13 491 GridFlow 0.8.0;
-#X obj 139 402 route position;
-#N canvas 268 301 442 406 cursor 0;
-#X obj 30 29 listmake;
-#X obj 107 48 listsublist 0 2;
-#X obj 107 10 inlet;
-#X obj 132 151 listsublist 0 48;
-#X obj 30 49 fork;
-#X obj 30 285 outlet;
-#X obj 30 131 @export_list;
-#X obj 30 151 listappend 0 0;
-#X obj 107 29 #export_list;
-#X obj 30 79 # -;
-#X obj 115 86 #finished;
-#X obj 115 105 #store (0 0);
-#X obj 30 170 #redim (25 2);
-#X obj 30 189 # sq-;
-#X obj 30 208 #fold +;
-#X obj 30 227 # sqrt;
-#X obj 30 246 #fold +;
-#X obj 30 266 # / 5;
-#X obj 30 9 r metro;
-#X connect 0 0 4 0;
-#X connect 1 0 0 1;
-#X connect 2 0 8 0;
-#X connect 3 0 7 1;
-#X connect 4 0 9 0;
-#X connect 4 1 11 1;
-#X connect 6 0 7 0;
-#X connect 7 0 3 0;
-#X connect 7 0 12 0;
-#X connect 8 0 1 0;
-#X connect 9 0 6 0;
-#X connect 9 0 10 0;
-#X connect 10 0 11 0;
-#X connect 11 0 9 1;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X connect 17 0 5 0;
-#X connect 18 0 0 0;
-#X restore 371 162 pd cursor motion detector;
-#X obj 139 460 s cursor;
-#X msg 20 341 hidecursor;
-#N canvas 238 140 484 503 fuzzy 0;
-#X obj 47 281 outlet;
-#X obj 229 74 listsublist 0 2;
-#X obj 47 110 @fold +;
-#X obj 47 68 #for (0 0) (0 0) (1 1);
-#X obj 47 13 inlet size;
-#X obj 47 32 t b a;
-#X obj 86 32 #export_list;
-#X obj 47 91 # sq-;
-#X obj 47 263 # - 10;
-#X obj 47 243 # max 10;
-#X obj 47 224 # min 255;
-#X obj 47 205 # + 64;
-#X obj 47 186 # tanh* 64;
-#X obj 47 167 # << 8;
-#X obj 47 148 # inv+ 2;
-#X obj 47 129 # >> 2;
-#X obj 104 125 inlet radius;
-#X obj 229 55 #export_list;
-#X obj 229 36 inlet pos;
-#X connect 1 0 7 1;
-#X connect 2 0 15 0;
-#X connect 3 0 7 0;
-#X connect 4 0 5 0;
-#X connect 5 0 3 0;
-#X connect 5 1 6 0;
-#X connect 6 0 3 1;
-#X connect 7 0 2 0;
-#X connect 8 0 0 0;
-#X connect 9 0 8 0;
-#X connect 10 0 9 0;
-#X connect 11 0 10 0;
-#X connect 12 0 11 0;
-#X connect 13 0 12 0;
-#X connect 14 0 13 0;
-#X connect 15 0 14 0;
-#X connect 16 0 14 1;
-#X connect 17 0 1 0;
-#X connect 18 0 17 0;
-#X restore 276 181 pd fuzzy disk seed generator;
-#X text 177 440 #scale_by compensation;
-#X msg 139 421 \$1 \$2;
-#X obj 99 345 #scale_by 2;
-#X obj 139 440 # / 2;
-#X text 15 294 (height \, width \, 1) grid = grey image;
-#X text 16 260 (height \, width) grid = matrix;
-#X obj 200 123 shunt 3;
-#X obj 253 125 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -1
--1 1;
-#X obj 500 203 r cursor;
-#X obj 501 222 t a;
-#X obj 204 90 listmake;
-#X obj 58 86 spigot;
-#X obj 19 86 t b b;
-#X obj 104 87 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 1 1
-;
-#X msg 200 62 120 160;
-#X obj 49 109 s metro;
-#X obj 67 277 #outer ignore (0);
-#X text 15 9 Copyright 2001 \, 2005 Mathieu Bouchard;
-#X connect 0 0 21 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 23 0;
-#X connect 5 0 15 1;
-#X connect 7 0 4 1;
-#X connect 8 0 3 0;
-#X connect 9 0 25 0;
-#X connect 10 0 49 0;
-#X connect 11 0 8 0;
-#X connect 11 1 5 1;
-#X connect 13 0 2 0;
-#X connect 13 0 30 0;
-#X connect 15 0 37 0;
-#X connect 16 0 23 1;
-#X connect 17 0 23 1;
-#X connect 20 0 11 0;
-#X connect 21 0 20 0;
-#X connect 22 0 49 0;
-#X connect 23 0 4 1;
-#X connect 23 0 51 0;
-#X connect 25 0 47 0;
-#X connect 30 0 36 0;
-#X connect 31 0 34 1;
-#X connect 33 0 13 0;
-#X connect 34 0 23 1;
-#X connect 36 0 38 0;
-#X connect 37 0 13 0;
-#X connect 38 0 32 0;
-#X connect 41 0 17 0;
-#X connect 41 1 16 0;
-#X connect 41 2 34 0;
-#X connect 42 0 41 1;
-#X connect 43 0 44 0;
-#X connect 44 0 31 0;
-#X connect 44 0 16 1;
-#X connect 44 0 34 2;
-#X connect 45 0 41 0;
-#X connect 46 0 45 0;
-#X connect 47 0 4 0;
-#X connect 47 1 46 0;
-#X connect 47 1 50 0;
-#X connect 48 0 46 1;
-#X connect 49 0 7 0;
-#X connect 49 0 23 2;
-#X connect 49 0 45 0;
-#X connect 51 0 15 0;
diff --git a/externals/gridflow/pd_examples/game_of_life.pd b/externals/gridflow/pd_examples/game_of_life.pd
deleted file mode 100644
index d8820876..00000000
--- a/externals/gridflow/pd_examples/game_of_life.pd
+++ /dev/null
@@ -1,65 +0,0 @@
-#N canvas 400 83 791 374 10;
-#X obj 36 46 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
-#X obj 31 237 #out window;
-#X text 48 122 this is the feedback loop;
-#X obj 143 50 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 161 49 for 0 10 1;
-#X obj 262 87 loadbang;
-#X obj 141 103 #store;
-#X obj 161 68 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 31 275 print;
-#X obj 31 256 fps detailed;
-#X obj 31 143 fork;
-#X text 179 68 next;
-#N canvas 0 0 450 210 game 0;
-#X obj 28 64 inlet matrix;
-#X obj 28 141 outlet matrix;
-#X text 18 14 this part at the left defines the rule of the game (this
-is my own rewriting of the rules. it is equivalent to the original
-but faster to compute.);
-#X obj 28 83 # << (b # 1);
-#X obj 28 103 #convolve (3 3 b # 0 0 0 0 1) \, op >> \, seed (b # -5)
-;
-#X obj 28 122 # < (b # 3);
-#X connect 0 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 0;
-#X restore 31 102 pd game of life;
-#X text 260 60 init with a random map;
-#X text 261 72 10% white dots;
-#X text 33 169 convert this 1-bit matrix to standard RGB \; 1 becomes
--1 becomes 255 \, but 0 stays 0;
-#X obj 53 45 metro 5;
-#X obj 5 329 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 13 336 GridFlow 0.8.0;
-#X text 13 336 GridFlow 0.8.0;
-#X obj 7 5 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 20 5 game_of_life.pd;
-#X text 20 18 Copyright 2001 Mathieu Bouchard;
-#X obj 262 125 # rand (b #);
-#X obj 262 144 # == (b # 0);
-#X msg 262 106 240 320 b # 10;
-#X obj 31 199 # inv+ (b # 0);
-#X obj 31 218 #outer ignore (3 b #);
-#X connect 0 0 16 0;
-#X connect 1 0 9 0;
-#X connect 3 0 4 0;
-#X connect 4 0 7 0;
-#X connect 5 0 25 0;
-#X connect 6 0 12 0;
-#X connect 7 0 6 0;
-#X connect 9 0 8 0;
-#X connect 10 0 26 0;
-#X connect 10 1 6 1;
-#X connect 12 0 10 0;
-#X connect 16 0 6 0;
-#X connect 23 0 24 0;
-#X connect 24 0 10 0;
-#X connect 25 0 23 0;
-#X connect 26 0 27 0;
-#X connect 27 0 1 0;
diff --git a/externals/gridflow/pd_examples/goop.pd b/externals/gridflow/pd_examples/goop.pd
deleted file mode 100644
index 8f96d2c4..00000000
--- a/externals/gridflow/pd_examples/goop.pd
+++ /dev/null
@@ -1,138 +0,0 @@
-#N canvas 481 120 730 701 10;
-#X obj 91 -43 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 91 8 #camera;
-#X obj 38 113 t a a;
-#X msg 96 114 240 320 3 #;
-#X obj 95 92 loadbang;
-#N canvas 286 95 450 300 analysis 0;
-#X obj 46 17 inlet;
-#X obj 49 236 outlet;
-#X obj 64 67 spigot;
-#X obj 46 44 t a a;
-#X obj 114 68 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 114 15 inlet;
-#X obj 49 86 # -;
-#X obj 49 129 # - 30;
-#X obj 49 154 # max 0;
-#X obj 49 182 # * 20;
-#X obj 49 211 # min 256;
-#X obj 49 108 @! abs;
-#X connect 0 0 3 0;
-#X connect 2 0 6 1;
-#X connect 3 0 2 0;
-#X connect 3 1 6 0;
-#X connect 4 0 2 1;
-#X connect 5 0 4 0;
-#X connect 6 0 11 0;
-#X connect 7 0 8 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 10 0 1 0;
-#X connect 11 0 7 0;
-#X restore 192 94 pd analysis;
-#X obj 275 94 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 123 433 r cam;
-#X obj 113 67 s cam;
-#X obj 91 33 t a a b;
-#X obj 340 65 loadbang;
-#X msg 307 66 1;
-#X obj 417 85 loadbang;
-#X msg 306 88 0;
-#X obj 150 484 loadbang;
-#X msg 150 504 set_geometry 0 0 480 640 \, hidecursor;
-#X obj 338 89 delay 5000;
-#X obj 91 -17 metro 33.3667;
-#X obj -15 -84 cnv 15 640 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj -17 582 cnv 15 640 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -6 592 GridFlow 0.8.0;
-#X text 157 9 <-- open this and set your camera up;
-#X obj 38 92 #store;
-#X obj 71 143 # put 63;
-#X obj 71 164 # rand;
-#X obj 38 184 # +;
-#X obj 161 144 # *>>8;
-#X obj 192 121 # inv+ 256;
-#X obj 38 211 #convolve (1 5 # 1);
-#X obj 39 233 #convolve (5 1 # 1);
-#X obj 39 306 # max -128;
-#X obj 39 325 # min 127;
-#X obj 39 344 # + 128;
-#X obj 39 365 #inner (3 3 # 3 0 1 1 3 0 0 1 3);
-#X obj 39 387 # >> 2;
-#X obj 113 383 # inv+ 255;
-#X obj 39 407 # *>>8;
-#X obj 39 431 # +;
-#X obj 70 431 # *>>8;
-#X obj 39 457 #clip;
-#X obj 337 209 #rgb_to_greyscale;
-#X obj 337 235 # +;
-#X obj 337 256 #convolve (1 3 # 1);
-#X obj 337 278 #convolve (3 1 # 1);
-#X obj 337 324 # min 255;
-#X obj 337 345 #greyscale_to_rgb;
-#X obj 116 547 #out window;
-#X text 1 -85 goop.pd;
-#X obj 39 478 #scale_by 2;
-#X obj 71 185 # - 31;
-#X obj 337 301 # *>>8 27;
-#X obj 39 287 # *>>8 25;
-#X text 1 -71 Copyright 2004 Mathieu Bouchard;
-#X obj 39 261 # + 5;
-#X connect 0 0 17 0;
-#X connect 1 0 9 0;
-#X connect 2 0 25 0;
-#X connect 2 1 23 0;
-#X connect 3 0 22 1;
-#X connect 4 0 3 0;
-#X connect 5 0 27 0;
-#X connect 5 0 40 0;
-#X connect 6 0 5 1;
-#X connect 7 0 38 0;
-#X connect 9 0 5 0;
-#X connect 9 1 8 0;
-#X connect 9 2 22 0;
-#X connect 10 0 11 0;
-#X connect 11 0 6 0;
-#X connect 12 0 16 0;
-#X connect 13 0 6 0;
-#X connect 14 0 15 0;
-#X connect 15 0 46 0;
-#X connect 16 0 13 0;
-#X connect 17 0 1 0;
-#X connect 22 0 2 0;
-#X connect 23 0 24 0;
-#X connect 24 0 49 0;
-#X connect 25 0 28 0;
-#X connect 26 0 22 1;
-#X connect 27 0 26 1;
-#X connect 28 0 29 0;
-#X connect 29 0 53 0;
-#X connect 30 0 31 0;
-#X connect 31 0 26 0;
-#X connect 31 0 32 0;
-#X connect 32 0 33 0;
-#X connect 33 0 34 0;
-#X connect 34 0 36 0;
-#X connect 35 0 36 1;
-#X connect 36 0 37 0;
-#X connect 37 0 39 0;
-#X connect 38 0 37 1;
-#X connect 39 0 48 0;
-#X connect 40 0 41 0;
-#X connect 41 0 42 0;
-#X connect 42 0 43 0;
-#X connect 43 0 50 0;
-#X connect 44 0 41 1;
-#X connect 44 0 45 0;
-#X connect 45 0 35 0;
-#X connect 45 0 38 1;
-#X connect 48 0 46 0;
-#X connect 49 0 25 1;
-#X connect 50 0 44 0;
-#X connect 51 0 30 0;
-#X connect 53 0 51 0;
diff --git a/externals/gridflow/pd_examples/hello-world.pd b/externals/gridflow/pd_examples/hello-world.pd
deleted file mode 100644
index e43e1a71..00000000
--- a/externals/gridflow/pd_examples/hello-world.pd
+++ /dev/null
@@ -1,50 +0,0 @@
-#N canvas 165 50 640 466 10;
-#X obj 6 67 # / 320;
-#X obj 6 187 # * 255;
-#X obj 6 153 # != 0;
-#X obj 6 -12 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1
-;
-#X obj 6 99 # inv+ 7;
-#X obj 6 15 #for 0 320 1;
-#X obj 6 48 # * 7;
-#X obj 6 -34 loadbang;
-#X text 26 -12 make one line:;
-#X text 14 31 numbers 0 to 319;
-#X text 15 84 numbers 0 to 6 repeated 45 or 46 times;
-#X text 16 116 numbers 7 down to 1 ...;
-#X text 13 172 3*1-bit rgb image line;
-#X text 13 205 3*8-bit rgb image line;
-#X text 135 223 repeat line 240 times;
-#X obj -13 -85 cnv 15 500 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 0 -86 hello-world.pd;
-#X obj 6 134 #outer & (2 4 1);
-#X obj 6 222 #redim (240 320 3);
-#X obj -14 349 cnv 15 500 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 355 GridFlow 0.8.0;
-#X text -7 355 GridFlow 0.8.0;
-#X text 0 -72 Copyright 2001 Mathieu Bouchard;
-#X obj 289 297 #text_to_image;
-#X obj 289 278 #import per_message;
-#X msg 289 259 symbol Hello_World!;
-#X obj 290 319 #draw_image put (3 # 0) (0 0);
-#X obj 6 290 #out window;
-#X msg 288 240 load grid gzfile lucida-typewriter-12.grid.gz;
-#X obj 391 297 #in;
-#X text 328 216 FOR FUTURE USE:;
-#X connect 0 0 4 0;
-#X connect 1 0 18 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 17 0;
-#X connect 5 0 6 0;
-#X connect 6 0 0 0;
-#X connect 7 0 3 0;
-#X connect 17 0 2 0;
-#X connect 18 0 27 0;
-#X connect 23 0 26 1;
-#X connect 24 0 23 0;
-#X connect 25 0 24 0;
-#X connect 28 0 29 0;
-#X connect 29 0 23 2;
diff --git a/externals/gridflow/pd_examples/image_stats.pd b/externals/gridflow/pd_examples/image_stats.pd
deleted file mode 100644
index ecb60e01..00000000
--- a/externals/gridflow/pd_examples/image_stats.pd
+++ /dev/null
@@ -1,62 +0,0 @@
-#N canvas 391 151 716 426 10;
-#X obj 214 261 print total_value;
-#X obj 473 191 #dim;
-#X obj 42 220 #export_list;
-#X obj 278 231 print number_of_values;
-#X obj 473 229 print number_of_dimensions;
-#X obj 473 210 #export;
-#X obj 205 181 #fold +;
-#X obj 205 301 /;
-#X obj 205 219 #fold +;
-#X obj 42 239 print total_pixel;
-#X obj 205 147 fork;
-#X obj 265 118 #in;
-#X obj 278 193 #fold * \, seed 1;
-#X obj 420 166 print dimensions;
-#X obj 205 320 print average_value;
-#X obj 205 238 #export;
-#X obj 205 200 #fold +;
-#X obj 420 147 #export_list;
-#X obj 420 128 #dim;
-#X obj 278 174 #dim;
-#X obj 278 212 #export;
-#X msg 291 55 open bluemarble.jpg \, bang;
-#X msg 291 75 open teapot.png \, bang;
-#X msg 291 95 open r001.jpg \, bang;
-#X obj 5 394 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 13 401 GridFlow 0.8.0;
-#X text 13 401 GridFlow 0.8.0;
-#X obj 7 5 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 15 18 Copyright 2001 Mathieu Bouchard;
-#X text 15 4 image_stats.pd;
-#X obj 42 201 #fold + \, seed (3 #);
-#X obj 42 182 #fold + \, seed (3 #);
-#X text 480 54 <-- click on one of these;
-#X connect 1 0 5 0;
-#X connect 2 0 9 0;
-#X connect 5 0 4 0;
-#X connect 6 0 16 0;
-#X connect 7 0 14 0;
-#X connect 8 0 15 0;
-#X connect 10 0 6 0;
-#X connect 10 0 31 0;
-#X connect 10 1 19 0;
-#X connect 11 0 10 0;
-#X connect 11 0 18 0;
-#X connect 12 0 20 0;
-#X connect 15 0 0 0;
-#X connect 15 0 7 0;
-#X connect 16 0 8 0;
-#X connect 17 0 13 0;
-#X connect 18 0 17 0;
-#X connect 18 0 1 0;
-#X connect 19 0 12 0;
-#X connect 20 0 3 0;
-#X connect 20 0 7 1;
-#X connect 21 0 11 0;
-#X connect 22 0 11 0;
-#X connect 23 0 11 0;
-#X connect 30 0 2 0;
-#X connect 31 0 30 0;
diff --git a/externals/gridflow/pd_examples/linear_transform.pd b/externals/gridflow/pd_examples/linear_transform.pd
deleted file mode 100644
index 1c2d4749..00000000
--- a/externals/gridflow/pd_examples/linear_transform.pd
+++ /dev/null
@@ -1,215 +0,0 @@
-#N canvas 76 11 784 587 10;
-#X text 359 43 click here to go in manual mode;
-#X floatatom 141 311 5 0 0 0 - - -;
-#X obj 27 374 # >> 11;
-#X obj 27 139 #store;
-#X obj 183 291 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0
-8 -260818 -1 -1 0 1;
-#X obj 505 208 * 3;
-#X obj 428 435 # sin*;
-#X obj 183 310 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0
-8 -260818 -1 -1 0 1;
-#X floatatom 141 257 5 0 0 0 - - -;
-#X msg 444 238 10000;
-#X obj 27 59 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1;
-#X obj 183 253 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0
-8 -260818 -1 -1 0 1;
-#X obj 77 138 loadbang;
-#X text 180 234 linear transform;
-#X obj 27 395 # + 128;
-#X floatatom 141 275 5 0 0 0 - - -;
-#X floatatom 141 293 5 0 0 0 - - -;
-#X obj 183 272 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0
-8 -260818 -1 -1 0 1;
-#X obj 428 260 vsl 15 128 0 35999 0 0 empty empty empty 0 -8 0 8 -260818
--1 -1 0 1;
-#X obj 444 259 vsl 15 128 -32768 32768 0 0 empty empty empty 0 -8 0
-8 -260818 -1 -1 12700 1;
-#X obj 327 82 % 36000;
-#X obj 444 219 loadbang;
-#X text 432 185 rotozoomer;
-#X obj 505 227 # sin* 100;
-#X obj 288 43 shunt 2;
-#X msg 505 284 set \$1;
-#X obj 152 416 loadbang;
-#X obj 27 448 #store;
-#X obj 27 469 #out window;
-#X obj 343 44 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 1 1
-;
-#X obj 88 334 #pack 4;
-#X obj 27 95 t b b;
-#X obj 288 82 float;
-#X obj 327 63 + 100;
-#X obj 505 246 # inv* 100000;
-#X obj 505 265 #export;
-#X obj 83 426 #camera;
-#X obj 152 454 #in;
-#X obj 83 406 spigot;
-#X obj 131 407 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X obj 27 353 #inner;
-#X obj 88 237 loadbang;
-#X obj 27 488 fps detailed;
-#X obj 27 507 print;
-#X obj 2 0 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 21 13 Copyright 2002 Mathieu Bouchard;
-#X text 21 0 convolve.pd;
-#X obj 2 0 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 21 0 linear_transform.pd;
-#X obj 77 157 #for (-128 -128) (128 128) (1 1);
-#X obj 428 416 #outer + (9000 18000 0 9000);
-#X text 21 13 Copyright 2001 Mathieu Bouchard;
-#X obj 2 549 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 10 556 GridFlow 0.8.0;
-#X text 10 556 GridFlow 0.8.0;
-#X msg 152 435 load teapot.png;
-#X obj 27 76 metro 33.3667;
-#X obj 89 353 #redim (2 2);
-#X obj 333 335 #export;
-#X obj 333 316 # % 36000;
-#N canvas 0 0 450 300 scratch 0;
-#X obj 40 38 inlet;
-#X obj 40 245 outlet;
-#X obj 40 57 route keypress;
-#X msg 40 76 \$4;
-#X msg 40 115 -1;
-#X msg 79 115 1;
-#X obj 40 182 +;
-#X obj 40 207 int;
-#X obj 72 185 nbx 8 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 40 226 #fade 2;
-#X obj 65 207 inlet;
-#X obj 40 139 * 1500;
-#X obj 40 95 route Left Right;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 12 0;
-#X connect 4 0 11 0;
-#X connect 5 0 11 0;
-#X connect 6 0 7 1;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 6 1;
-#X connect 9 0 1 0;
-#X connect 10 0 7 0;
-#X connect 11 0 6 0;
-#X connect 12 0 4 0;
-#X connect 12 1 5 0;
-#X restore 333 297 pd scratch;
-#N canvas 0 0 304 312 scratch2 0;
-#X obj 30 23 inlet;
-#X obj 46 263 outlet;
-#X obj 30 42 route keypress;
-#X msg 30 90 \$4;
-#X msg 69 130 1;
-#X obj 45 197 +;
-#X obj 46 218 int;
-#X obj 71 199 nbx 8 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 131526 256;
-#X obj 46 243 #fade 2;
-#X obj 71 218 inlet;
-#X obj 30 109 route Up Down;
-#X msg 30 130 -1;
-#X obj 30 70 t l l;
-#X msg 129 62 \$3;
-#X obj 129 81 & 1;
-#X obj 129 100 sel 0 1;
-#X obj 49 161 *;
-#X msg 130 120 1000;
-#X msg 168 120 5;
-#X connect 0 0 2 0;
-#X connect 2 0 12 0;
-#X connect 3 0 10 0;
-#X connect 4 0 16 0;
-#X connect 5 0 6 1;
-#X connect 5 0 7 0;
-#X connect 6 0 8 0;
-#X connect 7 0 5 1;
-#X connect 8 0 1 0;
-#X connect 9 0 6 0;
-#X connect 10 0 11 0;
-#X connect 10 1 4 0;
-#X connect 11 0 16 0;
-#X connect 12 0 3 0;
-#X connect 12 1 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 17 0;
-#X connect 15 1 18 0;
-#X connect 16 0 5 0;
-#X connect 17 0 16 1;
-#X connect 18 0 16 1;
-#X restore 336 367 pd scratch2;
-#X obj 336 386 #export;
-#X floatatom 336 443 8 0 0 0 - - -;
-#X obj 336 405 / 10000;
-#X obj 336 424 exp;
-#X obj 505 373 t b;
-#X connect 1 0 30 3;
-#X connect 2 0 14 0;
-#X connect 3 0 40 0;
-#X connect 4 0 16 0;
-#X connect 5 0 23 0;
-#X connect 6 0 57 0;
-#X connect 7 0 1 0;
-#X connect 8 0 30 0;
-#X connect 9 0 19 0;
-#X connect 10 0 56 0;
-#X connect 11 0 8 0;
-#X connect 12 0 49 0;
-#X connect 14 0 27 0;
-#X connect 15 0 30 1;
-#X connect 16 0 30 2;
-#X connect 17 0 15 0;
-#X connect 18 0 50 0;
-#X connect 19 0 66 0;
-#X connect 20 0 32 1;
-#X connect 21 0 9 0;
-#X connect 23 0 34 0;
-#X connect 24 0 32 0;
-#X connect 25 0 19 0;
-#X connect 26 0 55 0;
-#X connect 27 0 28 0;
-#X connect 28 0 42 0;
-#X connect 28 0 60 0;
-#X connect 28 0 61 0;
-#X connect 29 0 24 1;
-#X connect 30 0 57 0;
-#X connect 31 0 3 0;
-#X connect 31 1 24 0;
-#X connect 31 1 38 0;
-#X connect 31 1 60 1;
-#X connect 31 1 61 1;
-#X connect 32 0 33 0;
-#X connect 32 0 18 0;
-#X connect 32 0 5 0;
-#X connect 33 0 20 0;
-#X connect 34 0 35 0;
-#X connect 35 0 25 0;
-#X connect 35 0 66 0;
-#X connect 36 0 27 1;
-#X connect 37 0 27 1;
-#X connect 38 0 36 0;
-#X connect 39 0 38 1;
-#X connect 40 0 2 0;
-#X connect 41 0 30 0;
-#X connect 42 0 43 0;
-#X connect 49 0 3 1;
-#X connect 50 0 6 0;
-#X connect 55 0 37 0;
-#X connect 56 0 31 0;
-#X connect 57 0 40 1;
-#X connect 58 0 18 0;
-#X connect 59 0 58 0;
-#X connect 60 0 59 0;
-#X connect 61 0 62 0;
-#X connect 62 0 64 0;
-#X connect 64 0 65 0;
-#X connect 65 0 63 0;
-#X connect 65 0 19 0;
-#X connect 65 0 6 1;
-#X connect 66 0 18 0;
diff --git a/externals/gridflow/pd_examples/motion_detect.pd b/externals/gridflow/pd_examples/motion_detect.pd
deleted file mode 100644
index c0d00178..00000000
--- a/externals/gridflow/pd_examples/motion_detect.pd
+++ /dev/null
@@ -1,44 +0,0 @@
-#N canvas 564 180 494 470 10;
-#X obj 32 -33 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 37 193 #downscale_by ( 15 20 ) smoothly;
-#X obj 37 219 #scale_by ( 32 32 );
-#X obj 37 251 #out window;
-#X obj 32 42 t a a;
-#X obj 37 68 # -;
-#X obj 37 91 @! abs;
-#X obj 37 114 # * 8;
-#X obj 37 140 # - 64;
-#X obj 61 291 fps detailed;
-#X obj 61 311 print;
-#X obj 32 -6 metro 33.3667;
-#X obj 32 18 #camera;
-#X obj 37 165 #clip;
-#X obj -15 353 cnv 15 500 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 360 GridFlow 0.8.0;
-#X text -7 360 GridFlow 0.8.0;
-#X obj -13 -85 cnv 15 500 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text -5 -85 motion_detect.pd;
-#X text -6 -72 Copyright 2001 Mathieu Bouchard;
-#X obj 181 253 display;
-#X text 127 79 This patch demonstrates the basis of motion detection.
-The substraction of two subsequent frames after [t a a]. It then downscales
-and rescales the image \, breaking it down into larger regions that
-can be monitored for changes.;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 1 0 20 0;
-#X connect 2 0 3 0;
-#X connect 3 0 9 0;
-#X connect 4 0 5 1;
-#X connect 4 1 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 8 0 13 0;
-#X connect 9 0 10 0;
-#X connect 11 0 12 0;
-#X connect 12 0 4 0;
-#X connect 13 0 1 0;
diff --git a/externals/gridflow/pd_examples/nervous_video.pd b/externals/gridflow/pd_examples/nervous_video.pd
deleted file mode 100644
index 1f20094e..00000000
--- a/externals/gridflow/pd_examples/nervous_video.pd
+++ /dev/null
@@ -1,154 +0,0 @@
-#N canvas 446 102 590 659 10;
-#X obj 33 30 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 123 298 450 300 counter 0;
-#X obj 131 70 + 1;
-#X obj 131 23 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X floatatom 170 70 5 0 0 0 - - -;
-#X msg 131 47 1;
-#X floatatom 170 114 5 0 0 0 - - -;
-#X obj 132 157 select 1;
-#X msg 170 44 0;
-#X obj 132 178 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 70 25 inlet;
-#X obj 132 195 outlet;
-#X obj 220 65 inlet;
-#X obj 298 106 outlet;
-#X obj 170 95 >= 32;
-#X connect 0 0 2 0;
-#X connect 1 0 3 0;
-#X connect 2 0 0 1;
-#X connect 2 0 11 0;
-#X connect 2 0 12 0;
-#X connect 3 0 0 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 5 0 7 0;
-#X connect 6 0 2 0;
-#X connect 7 0 9 0;
-#X connect 8 0 1 0;
-#X connect 10 0 12 1;
-#X connect 12 0 4 0;
-#X restore 241 137 pd counter;
-#X obj 24 252 / 10;
-#X floatatom 24 290 5 0 0 0 - - -;
-#X obj 24 -26 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X floatatom 25 504 5 0 0 0 - - -;
-#X obj 24 484 fps;
-#X obj 24 2 metro 33.3667;
-#X msg 24 314 list \$1;
-#X msg 225 315 reassign \, 32 240 320 3 #;
-#X msg 225 295 reassign \, 32 120 160 3 #;
-#X msg 225 335 reassign \, 32 480 640 3 #;
-#X msg 316 94 32;
-#X obj 24 233 random 320;
-#X obj 24 461 #out window;
-#X floatatom 316 114 5 0 0 0 - - -;
-#X obj 347 94 loadbang;
-#X text 358 113 maximum value is 32;
-#X text 359 126 (see below);
-#X obj 24 120 float;
-#X text 203 277 the buffer size decides the maximum loop length;
-#X obj 24 189 shunt 4;
-#X obj 24 213 bang;
-#X obj 24 271 int;
-#X obj 145 163 vradio 15 1 0 4 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X text 166 163 caffeine twitch;
-#X text 166 178 ethanol lag;
-#X obj 131 233 * 2;
-#X obj 160 234 * -1;
-#X text 166 209 back flash acid;
-#X text 165 193 acid flash back;
-#X obj 255 369 vradio 15 1 0 4 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X text 273 366 plain;
-#X text 274 399 hilitemotion;
-#X text 273 415 embossmotion;
-#X obj 80 402 @! abs;
-#X text 133 -3 This patch was created by Alexandre Castonguay \,;
-#X text 133 10 as a clone of Edo Tannenbaum's "nervous video" effect
-\, http://effectv.sourceforge.net;
-#X text 133 38 Later modified by Mathieu to add more effects;
-#X obj 80 381 # -;
-#X obj 81 421 # << 2;
-#X obj 102 233 + 1;
-#X obj 135 382 # -;
-#X obj 136 401 # + 128;
-#X obj 136 421 # max 0;
-#X obj 80 441 # min 255;
-#X obj 24 358 shunt 4;
-#X obj 119 353 shunt 4;
-#X text 273 384 mix 50%;
-#X obj 34 421 # >> 1;
-#X obj 38 388 # +;
-#X obj 89 101 #camera;
-#X obj 24 53 t b b b;
-#X obj -16 536 cnv 15 700 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 543 GridFlow 0.8.0;
-#X text -7 543 GridFlow 0.8.0;
-#X obj -17 -85 cnv 15 700 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text -6 -86 nervous_video.pd;
-#X text -7 -74 Copyright 2002 Alexandre Castonguay \, Mathieu Bouchard
-;
-#X text 146 101 <-- open this;
-#X obj 24 333 #store (32 240 320 3 #);
-#X msg 316 165 put_at ( \$1 0 0 0 );
-#X connect 0 0 52 0;
-#X connect 1 1 61 0;
-#X connect 1 1 19 1;
-#X connect 2 0 23 0;
-#X connect 3 0 8 0;
-#X connect 4 0 7 0;
-#X connect 6 0 5 0;
-#X connect 7 0 52 0;
-#X connect 8 0 60 0;
-#X connect 9 0 60 1;
-#X connect 10 0 60 1;
-#X connect 11 0 60 1;
-#X connect 12 0 15 0;
-#X connect 13 0 2 0;
-#X connect 14 0 6 0;
-#X connect 15 0 1 1;
-#X connect 16 0 12 0;
-#X connect 19 0 21 0;
-#X connect 21 0 22 0;
-#X connect 21 1 41 0;
-#X connect 21 2 27 0;
-#X connect 21 3 28 0;
-#X connect 22 0 13 0;
-#X connect 23 0 3 0;
-#X connect 24 0 21 1;
-#X connect 27 0 8 0;
-#X connect 28 0 8 0;
-#X connect 31 0 47 1;
-#X connect 31 0 46 1;
-#X connect 35 0 40 0;
-#X connect 39 0 35 0;
-#X connect 40 0 45 0;
-#X connect 41 0 8 0;
-#X connect 42 0 43 0;
-#X connect 43 0 44 0;
-#X connect 44 0 45 0;
-#X connect 45 0 14 0;
-#X connect 46 0 14 0;
-#X connect 46 1 50 0;
-#X connect 46 2 39 0;
-#X connect 46 3 42 0;
-#X connect 47 1 50 1;
-#X connect 47 2 39 1;
-#X connect 47 3 42 1;
-#X connect 49 0 14 0;
-#X connect 50 0 49 0;
-#X connect 51 0 47 0;
-#X connect 51 0 60 1;
-#X connect 52 0 19 0;
-#X connect 52 1 51 0;
-#X connect 52 2 1 0;
-#X connect 60 0 46 0;
-#X connect 61 0 60 1;
diff --git a/externals/gridflow/pd_examples/photo_pianoroll.pd b/externals/gridflow/pd_examples/photo_pianoroll.pd
deleted file mode 100644
index 9ad80e38..00000000
--- a/externals/gridflow/pd_examples/photo_pianoroll.pd
+++ /dev/null
@@ -1,158 +0,0 @@
-#N canvas 329 40 705 535 10;
-#X obj 146 62 #in lada.jpg;
-#X obj 38 290 #out window;
-#X obj 38 48 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1;
-#X obj 38 114 #store;
-#X obj 164 41 loadbang;
-#X obj 146 42 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 255 466 dac~;
-#X obj 329 58 +;
-#X msg 329 39 1;
-#X obj 361 39 % 365;
-#N canvas 0 0 450 300 fft 0;
-#X obj 23 68 rifft~;
-#X obj 23 88 outlet~;
-#X obj 359 16 block~ 1024;
-#X obj 23 48 tabreceive~ array2;
-#X connect 0 0 1 0;
-#X connect 3 0 0 0;
-#X restore 255 423 pd fft;
-#X obj 17 85 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 38 84 t b b;
-#X msg 260 252 4 2 # 0 0 0 502 1 502 1 0;
-#X obj 260 271 # +;
-#X obj 38 233 t a b;
-#X msg 287 271 \$1 0;
-#X obj 38 252 #greyscale_to_rgb;
-#X obj 462 77 #store;
-#X obj 462 153 #export_list;
-#X obj 501 172 s array1;
-#X obj 171 177 # inv+ 255;
-#X obj 146 100 # min 255;
-#X obj 146 81 # * 3;
-#X msg 474 58 1 1 # \$1;
-#X obj 255 339 table array1 502;
-#X obj 462 172 t b a;
-#X obj 326 271 r row;
-#X obj 361 58 s row;
-#X obj 462 210 t f f;
-#X obj 462 305 tabwrite array2;
-#X obj 462 248 exp;
-#X obj 38 309 #mouse \, ...;
-#X obj 79 383 #draw_polygon put;
-#X obj 79 364 spigot;
-#X obj 29 413 t a a;
-#X obj 29 470 # +;
-#X obj 146 177 t a;
-#X msg 29 432 4 2 # 0 0 0 1 1 1 1 0;
-#X obj 29 451 # *;
-#X obj 105 459 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10
--262131 -1 -1 20 256;
-#X msg 185 217 365 502 1 # 255;
-#X text 296 217 clear;
-#X obj 462 286 tabread4 array1;
-#X obj 462 191 for 0 64 1;
-#X obj 462 96 #fade 5;
-#X obj 255 358 table array2 1024;
-#X obj 255 442 lop~ 1000;
-#X obj 462 229 / 20;
-#X obj 462 267 * 22;
-#X obj 105 473 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10
--262131 -1 -1 20 256;
-#X obj 54 470 #pack 2;
-#X obj 499 39 # >> 4;
-#X obj 146 138 # >> 2;
-#X obj 38 271 #draw_polygon put (3 # 255 0 0);
-#X obj 2 499 cnv 15 700 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 10 506 GridFlow 0.8.0;
-#X text 10 506 GridFlow 0.8.0;
-#X obj 2 0 cnv 15 700 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 17 -1 photo_pianoroll.pd;
-#X text 15 13 Copyright 2004 Mathieu Bouchard;
-#X obj 462 134 # / (f # 4000);
-#X obj 462 115 #cast f;
-#X obj 171 196 #convolve (1 7 # 1 1 2 8 2 1 1);
-#X obj 146 119 #convolve (2 2 # 1);
-#X msg 132 344 0;
-#X msg 136 364 1 # \$1;
-#X msg 162 344 255;
-#X obj 79 402 s feedback;
-#X obj 152 158 r feedback;
-#X obj 38 65 metro 46.44;
-#X text 575 7 How to play a car;
-#X connect 0 0 23 0;
-#X connect 1 0 32 0;
-#X connect 2 0 70 0;
-#X connect 3 0 15 0;
-#X connect 3 0 34 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 9 0 7 1;
-#X connect 9 0 28 0;
-#X connect 9 0 24 0;
-#X connect 10 0 47 0;
-#X connect 11 0 12 0;
-#X connect 12 0 8 0;
-#X connect 12 1 3 0;
-#X connect 13 0 14 0;
-#X connect 14 0 54 2;
-#X connect 15 0 17 0;
-#X connect 15 1 13 0;
-#X connect 16 0 14 1;
-#X connect 17 0 54 0;
-#X connect 18 0 45 0;
-#X connect 19 0 26 0;
-#X connect 21 0 63 0;
-#X connect 22 0 64 0;
-#X connect 23 0 22 0;
-#X connect 24 0 18 0;
-#X connect 26 0 44 0;
-#X connect 26 1 20 0;
-#X connect 27 0 16 0;
-#X connect 29 0 48 0;
-#X connect 29 1 30 1;
-#X connect 31 0 49 0;
-#X connect 32 0 35 0;
-#X connect 32 1 35 0;
-#X connect 32 4 34 1;
-#X connect 32 4 65 0;
-#X connect 32 6 34 1;
-#X connect 32 6 67 0;
-#X connect 33 0 68 0;
-#X connect 34 0 33 0;
-#X connect 35 0 38 0;
-#X connect 35 1 36 1;
-#X connect 36 0 33 2;
-#X connect 37 0 3 1;
-#X connect 37 0 21 0;
-#X connect 38 0 39 0;
-#X connect 39 0 36 0;
-#X connect 40 0 51 0;
-#X connect 41 0 37 0;
-#X connect 43 0 30 0;
-#X connect 44 0 29 0;
-#X connect 45 0 62 0;
-#X connect 47 0 6 0;
-#X connect 47 0 6 1;
-#X connect 48 0 31 0;
-#X connect 49 0 43 0;
-#X connect 50 0 51 1;
-#X connect 51 0 39 1;
-#X connect 52 0 18 1;
-#X connect 53 0 37 0;
-#X connect 54 0 1 0;
-#X connect 61 0 19 0;
-#X connect 62 0 61 0;
-#X connect 63 0 52 0;
-#X connect 64 0 53 0;
-#X connect 65 0 66 0;
-#X connect 66 0 33 1;
-#X connect 67 0 33 1;
-#X connect 69 0 37 0;
-#X connect 70 0 12 0;
diff --git a/externals/gridflow/pd_examples/plot.pd b/externals/gridflow/pd_examples/plot.pd
deleted file mode 100644
index dad9db76..00000000
--- a/externals/gridflow/pd_examples/plot.pd
+++ /dev/null
@@ -1,73 +0,0 @@
-#N canvas 211 415 621 272 10;
-#N canvas 803 450 420 235 plot-a-function 0;
-#X obj 8 61 # inv+ 640;
-#X obj 8 40 #for 0 640 1;
-#X obj 105 59 outlet;
-#X obj 33 175 #outer <;
-#X obj 105 80 inlet;
-#X text 209 199 to rgb;
-#X text 97 176 make graph \, twotone channelless;
-#X obj 35 232 outlet;
-#X obj 105 34 #for 0 640 1;
-#X obj 105 10 inlet;
-#X obj 92 132 #finished;
-#X obj 105 103 t a a;
-#X obj 33 200 #outer * (255 255 255);
-#X connect 0 0 3 0;
-#X connect 1 0 0 0;
-#X connect 3 0 12 0;
-#X connect 4 0 11 0;
-#X connect 8 0 2 0;
-#X connect 9 0 8 0;
-#X connect 10 0 1 0;
-#X connect 11 0 10 0;
-#X connect 11 1 3 1;
-#X connect 12 0 7 0;
-#X restore 57 47 pd plot-a-function ( tm );
-#X obj 257 81 # + 320;
-#X obj 57 72 #out window;
-#X obj 256 -3 # - 320;
-#X obj 256 53 # tanh* 343;
-#X obj 256 25 # * 30;
-#X obj 33 15 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1
-;
-#X obj -16 -85 cnv 15 620 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj -15 152 cnv 15 620 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 159 GridFlow 0.8.0;
-#X text -7 159 GridFlow 0.8.0;
-#X text -3 -86 plot.pd;
-#X obj 57 -10 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1
-;
-#X obj 57 14 metro 100;
-#X obj 360 -3 hsl 128 15 0 500 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 3600 1;
-#X floatatom 314 -2 5 0 0 0 - - -;
-#X obj 358 25 hsl 128 15 0 500 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 1300 1;
-#X floatatom 311 26 5 0 0 0 - - -;
-#X obj 390 54 hsl 128 15 0 500 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 6700 1;
-#X floatatom 343 54 5 0 0 0 - - -;
-#X obj 361 82 hsl 128 15 0 500 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 5600 1;
-#X floatatom 314 82 5 0 0 0 - - -;
-#X text -3 -72 Copyright 2003 Mathieu Bouchard;
-#X connect 0 0 2 0;
-#X connect 0 1 3 0;
-#X connect 1 0 0 1;
-#X connect 3 0 5 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X connect 6 0 0 0;
-#X connect 12 0 13 0;
-#X connect 13 0 0 0;
-#X connect 14 0 15 0;
-#X connect 15 0 3 1;
-#X connect 16 0 17 0;
-#X connect 17 0 5 1;
-#X connect 18 0 19 0;
-#X connect 19 0 4 1;
-#X connect 20 0 21 0;
-#X connect 21 0 1 1;
diff --git a/externals/gridflow/pd_examples/polygon.pd b/externals/gridflow/pd_examples/polygon.pd
deleted file mode 100644
index a18980ea..00000000
--- a/externals/gridflow/pd_examples/polygon.pd
+++ /dev/null
@@ -1,123 +0,0 @@
-#N canvas 130 96 584 565 10;
-#X obj 35 250 #draw_polygon +;
-#X obj 18 1 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1
-;
-#X obj 35 214 #store;
-#X obj 35 -36 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1
-;
-#X obj 35 378 #out window;
-#X obj 306 7 vsl 15 137 0 36000 0 1 empty empty empty -2 -6 0 8 -260818
--1 -1 3400 1;
-#N canvas 0 0 415 291 create 0;
-#X msg 82 66 0 \$1;
-#X obj 5 131 #outer + ( 0 9000 );
-#X obj 5 153 # +;
-#X obj 5 197 # + ( 120 160 );
-#X obj 5 175 # cos* 116;
-#X obj 5 109 # * 14400;
-#X obj 5 87 #for 0 5 1;
-#X obj 34 153 inlet rotation_angle;
-#X obj 5 10 inlet bang;
-#X obj 5 219 outlet polygon;
-#X obj 82 44 inlet tilt_factor;
-#X text 81 27 default: 9000 \, for flatness;
-#X connect 0 0 1 1;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 3 0 9 0;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X connect 6 0 5 0;
-#X connect 7 0 2 1;
-#X connect 8 0 6 0;
-#X connect 10 0 0 0;
-#X restore 204 149 pd create star;
-#N canvas 0 0 450 300 color 0;
-#X obj 18 141 outlet 0;
-#X obj 18 95 # sin* 128;
-#X obj 18 117 # + 128;
-#X obj 18 37 # * 1146;
-#X obj 18 13 inlet;
-#X obj 18 60 #outer + ( 0 12000 24000 );
-#X text 139 52 each channel is a sine wave \; the three are offset
-from each other 120 degrees. it is almost like turning around in the
-color wheel except we don't support the HSV color model for now.;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X restore 62 102 pd color generator;
-#X obj 35 -19 metro 33.3667;
-#X obj 35 0 t b b b;
-#X obj 35 71 t b;
-#X floatatom 307 151 6 0 0 0 - - -;
-#X obj 88 194 loadbang;
-#X obj 51 272 shunt 2;
-#X obj 104 274 tgl 15 1 empty empty empty 0 -6 0 8 -241291 -1 -1 1
-1;
-#X text 122 273 blur;
-#X msg 88 214 240 320 3 b # 0;
-#X obj 62 140 #cast b;
-#X obj 79 355 #solarize;
-#X obj 35 317 shunt 2;
-#X obj 88 319 tgl 15 1 empty empty empty 0 -6 0 8 -241291 -1 -1 1 1
-;
-#X obj 155 303 # >> (b # 2);
-#X obj 155 322 #convolve (1 3 b # 1 2 1) \, seed (b # 0);
-#X obj -15 442 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 450 GridFlow 0.8.0;
-#X text -7 450 GridFlow 0.8.0;
-#X obj -13 -85 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 0 -72 Copyright 2002 Mathieu Bouchard;
-#X text 0 -86 polygon.pd;
-#X obj 79 336 #cast i;
-#X obj 82 30 + 1;
-#X obj 57 30 i;
-#X msg 22 26 0;
-#X obj 182 75 expr ($f1*$f1/2);
-#X obj 155 341 # >> (b # 2);
-#X obj 155 360 #convolve (3 1 b # 1 2 1) \, seed (b # 0);
-#X obj 5 27 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 -1
-;
-#X obj 62 121 # >> 3;
-#X connect 0 0 13 0;
-#X connect 0 0 19 0;
-#X connect 1 0 9 0;
-#X connect 2 0 0 0;
-#X connect 3 0 8 0;
-#X connect 5 0 11 0;
-#X connect 6 0 0 2;
-#X connect 7 0 37 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 9 1 31 0;
-#X connect 9 2 6 0;
-#X connect 10 0 2 0;
-#X connect 11 0 6 2;
-#X connect 12 0 16 0;
-#X connect 13 0 2 1;
-#X connect 13 1 21 0;
-#X connect 14 0 13 1;
-#X connect 16 0 2 1;
-#X connect 17 0 0 1;
-#X connect 18 0 4 0;
-#X connect 19 0 4 0;
-#X connect 19 1 29 0;
-#X connect 20 0 19 1;
-#X connect 21 0 22 0;
-#X connect 22 0 34 0;
-#X connect 29 0 18 0;
-#X connect 30 0 31 1;
-#X connect 31 0 30 0;
-#X connect 31 0 7 0;
-#X connect 31 0 33 0;
-#X connect 32 0 31 0;
-#X connect 33 0 6 1;
-#X connect 34 0 35 0;
-#X connect 35 0 2 1;
-#X connect 36 0 32 0;
-#X connect 36 0 16 0;
-#X connect 37 0 17 0;
diff --git a/externals/gridflow/pd_examples/ripple.pd b/externals/gridflow/pd_examples/ripple.pd
deleted file mode 100644
index 634122d0..00000000
--- a/externals/gridflow/pd_examples/ripple.pd
+++ /dev/null
@@ -1,190 +0,0 @@
-#N canvas 103 42 683 618 10;
-#X obj 78 419 #out window;
-#X obj 47 173 #outer ignore ( 0 0 );
-#X obj 78 105 +;
-#X obj 47 326 # +;
-#X obj 283 170 #outer + ( 0 9000 );
-#X obj 47 370 shunt 2;
-#X obj 283 189 # sin* 256;
-#N canvas 609 247 325 236 distance 0;
-#X text 16 15 bang;
-#X obj 18 58 #for ( -128 -128 ) ( 128 128 ) ( 1 1 );
-#X text 15 167 distances to middle;
-#X obj 18 125 @! sqrt;
-#X obj 18 36 inlet;
-#X obj 18 103 #fold +;
-#X obj 18 81 # ** 2;
-#X text 89 101 pythagoras' theorem;
-#X obj 18 149 outlet;
-#X connect 1 0 6 0;
-#X connect 3 0 8 0;
-#X connect 4 0 1 0;
-#X connect 5 0 3 0;
-#X connect 6 0 5 0;
-#X restore 164 41 pd distance map;
-#X obj 78 440 fps detailed;
-#X obj 283 130 loadbang;
-#X obj 47 42 fork;
-#X obj 168 278 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X msg 78 86 1;
-#X obj 47 105 # -;
-#X obj 47 62 #store;
-#N canvas 659 552 420 225 apply 0;
-#X obj 60 48 #fold +;
-#X obj 12 190 outlet 0;
-#X obj 60 16 inlet;
-#X obj 12 124 # +;
-#X obj 12 167 # max 0;
-#X obj 12 146 # min 255;
-#X obj 12 16 inlet;
-#X obj 58 101 #outer *>>8;
-#X obj 130 69 inlet;
-#X obj 60 73 # << 2;
-#X connect 0 0 9 0;
-#X connect 2 0 0 0;
-#X connect 3 0 5 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X connect 6 0 3 0;
-#X connect 7 0 3 1;
-#X connect 8 0 7 1;
-#X connect 9 0 7 0;
-#X restore 78 400 pd apply shading;
-#X obj 47 -27 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 47 348 #store;
-#X obj 47 25 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 48 281 #finished;
-#X obj 164 329 #for ( 0 0 ) ( 256 256 ) ( 1 1 );
-#X obj 164 130 # + 10;
-#X text 187 278 shading on/off;
-#X obj 47 240 shunt 2;
-#X floatatom 106 108 5 0 0 0 - - -;
-#X obj 47 195 # *>>8;
-#X obj 164 310 loadbang;
-#X obj 164 21 loadbang;
-#X obj 47 303 #store;
-#X obj 78 462 print;
-#X obj 164 149 # inv* 10000;
-#N canvas 588 233 480 480 angle 0;
-#X obj 71 163 #outer atan;
-#X obj 71 55 #finished;
-#X text 70 210 angles to centre;
-#X text 168 63 bang;
-#X obj 167 82 inlet;
-#X obj 168 106 #for -128 128 1;
-#X obj 71 78 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 72 188 outlet 0;
-#X obj 71 107 #for -128 128 1;
-#X connect 0 0 7 0;
-#X connect 1 0 6 0;
-#X connect 4 0 5 0;
-#X connect 5 0 0 1;
-#X connect 5 0 1 0;
-#X connect 6 0 8 0;
-#X connect 8 0 0 0;
-#X restore 283 151 pd angle map;
-#X obj 47 151 # *>>8;
-#X obj 46 218 # *>>8;
-#X obj 259 235 hsl 128 15 -256 256 0 1 empty empty empty -2 -6 0 8
--260818 -1 -1 12600 1;
-#X obj 259 252 hsl 128 15 -256 256 0 1 empty empty empty -2 -6 0 8
--260818 -1 -1 3200 1;
-#N canvas 715 537 387 220 compute 0;
-#X obj 8 113 #store;
-#X obj 55 113 # sin* 64;
-#X obj 55 71 #for 0 1024 1;
-#X obj 55 50 loadbang;
-#X obj 55 92 # * 900;
-#X obj 125 51 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 8 135 outlet;
-#X text 75 151 This is somewhat like [# sin];
-#X text 75 166 but much faster (lookup table);
-#X obj 8 11 inlet;
-#X obj 8 30 #outer ignore (0);
-#X connect 0 0 6 0;
-#X connect 1 0 0 1;
-#X connect 2 0 4 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 2 0;
-#X connect 9 0 10 0;
-#X connect 10 0 0 0;
-#X restore 47 128 pd compute sine;
-#X text 232 358 background image;
-#X obj 165 375 #in teapot.png;
-#X obj 165 356 loadbang;
-#X obj 48 261 t a a;
-#X text 215 219 intensity of wave;
-#X obj 47 4 metro 33.3667;
-#X text 246 5 waves.pd is more interesting;
-#X text 225 -9 this is a quite boring wave generator;
-#X text 95 61 table for distance map;
-#X floatatom 216 237 5 0 0 0 - - -;
-#X floatatom 216 253 5 0 0 0 - - -;
-#X obj 157 239 #pack 2;
-#X obj -13 -85 cnv 15 680 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 0 -72 Copyright 2002 Mathieu Bouchard;
-#X text 0 -85 ripple.pd;
-#X obj -15 501 cnv 15 680 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 508 GridFlow 0.8.0;
-#X text -7 508 GridFlow 0.8.0;
-#X obj 246 410 #color;
-#X text 430 407 color of ripple shading;
-#X connect 0 0 8 0;
-#X connect 1 0 25 0;
-#X connect 2 0 24 0;
-#X connect 2 0 13 1;
-#X connect 3 0 17 0;
-#X connect 4 0 6 0;
-#X connect 5 0 15 0;
-#X connect 5 1 0 0;
-#X connect 6 0 25 1;
-#X connect 7 0 21 0;
-#X connect 7 0 14 1;
-#X connect 8 0 29 0;
-#X connect 9 0 31 0;
-#X connect 10 0 14 0;
-#X connect 10 1 12 0;
-#X connect 11 0 23 1;
-#X connect 11 0 5 1;
-#X connect 12 0 2 0;
-#X connect 13 0 36 0;
-#X connect 14 0 13 0;
-#X connect 15 0 0 0;
-#X connect 16 0 42 0;
-#X connect 17 0 5 0;
-#X connect 18 0 10 0;
-#X connect 19 0 28 0;
-#X connect 20 0 3 1;
-#X connect 21 0 30 0;
-#X connect 23 0 15 1;
-#X connect 23 0 40 0;
-#X connect 23 1 3 0;
-#X connect 24 0 2 1;
-#X connect 25 0 33 0;
-#X connect 26 0 20 0;
-#X connect 27 0 7 0;
-#X connect 28 0 3 0;
-#X connect 30 0 32 1;
-#X connect 31 0 4 0;
-#X connect 32 0 1 0;
-#X connect 33 0 23 0;
-#X connect 34 0 46 0;
-#X connect 35 0 47 0;
-#X connect 36 0 32 0;
-#X connect 38 0 17 1;
-#X connect 39 0 38 0;
-#X connect 40 0 19 0;
-#X connect 40 1 28 1;
-#X connect 42 0 18 0;
-#X connect 46 0 48 0;
-#X connect 47 0 48 1;
-#X connect 48 0 33 1;
-#X connect 55 0 15 2;
diff --git a/externals/gridflow/pd_examples/sand.pd b/externals/gridflow/pd_examples/sand.pd
deleted file mode 100644
index 1ba43753..00000000
--- a/externals/gridflow/pd_examples/sand.pd
+++ /dev/null
@@ -1,415 +0,0 @@
-#N canvas 524 30 680 557 10;
-#X text 287 159 disable falling;
-#X obj 2 96 fork;
-#X obj 273 294 # != 0;
-#X obj 334 332 #fold +;
-#X obj 8 414 s position;
-#X obj 192 29 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1
-;
-#X obj 273 351 #export;
-#X obj 192 82 #store;
-#X obj 217 113 shunt 2;
-#N canvas 25 226 369 359 mouse 0;
-#X text 143 214 is there a click?;
-#X obj 44 114 != 0;
-#X text 112 256 coordinates;
-#X obj 19 8 inlet;
-#X text 56 9 #out's outlet 0;
-#X obj 44 93 >> 8;
-#X obj 65 237 listsublist 0 2;
-#X obj 16 31 route position;
-#X obj 94 214 outlet;
-#X obj 65 257 outlet;
-#X obj 16 214 shunt 2;
-#X obj 44 72 listelement 2;
-#X obj 16 51 t a a;
-#X connect 1 0 8 0;
-#X connect 1 0 10 1;
-#X connect 3 0 7 0;
-#X connect 5 0 1 0;
-#X connect 6 0 9 0;
-#X connect 7 0 12 0;
-#X connect 10 1 6 0;
-#X connect 11 0 5 0;
-#X connect 12 0 10 0;
-#X connect 12 1 11 0;
-#X restore 366 132 pd mouse click/drag;
-#X obj 327 132 # / 2;
-#X obj 273 313 #ravel;
-#X msg 8 76 100 100;
-#X obj 217 158 shunt 2;
-#X obj 34 96 s size;
-#X obj 273 332 #fold +;
-#X obj 420 95 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 334 294 @! abs;
-#X obj 402 338 #export;
-#X obj 402 300 #ravel;
-#X obj 256 220 shunt 2;
-#X obj 271 159 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X obj 334 351 #export;
-#X obj 367 94 shunt 2;
-#X obj 2 230 #greyscale_to_rgb;
-#X obj 367 113 r position;
-#N canvas 504 75 496 430 falling 0;
-#X obj 42 147 # +;
-#X text 228 286 vertical falling;
-#X obj 70 327 # / 3;
-#X obj 138 25 inlet;
-#X text 179 25 Dim[rows \, columns \, {height}];
-#X obj 43 281 #store;
-#X obj 43 260 #finished;
-#X obj 69 168 # / 3;
-#X obj 70 306 # / 3;
-#X obj 42 168 # +;
-#X obj 43 306 # +;
-#X text 105 366 Dim[rows \, columns \, {height}];
-#X text 197 129 horizontal falling;
-#X obj 69 147 # / 3;
-#X obj 43 327 # +;
-#X obj 42 123 #store;
-#X obj 52 365 outlet;
-#X obj 42 104 #finished;
-#X obj 138 58 t a a;
-#X obj 133 218 t a a;
-#X obj 110 147 #convolve ( 1 2 # 1 1 0 ) \, fold inv+;
-#X obj 110 168 #convolve ( 1 3 # 1 1 0 ) \, fold inv+;
-#X obj 111 306 #convolve ( 2 1 # 1 1 ) \, fold inv+;
-#X obj 111 327 #convolve ( 3 1 # 1 1 0 ) \, fold inv+;
-#X connect 0 0 9 0;
-#X connect 2 0 14 1;
-#X connect 3 0 18 0;
-#X connect 5 0 10 0;
-#X connect 6 0 5 0;
-#X connect 7 0 9 1;
-#X connect 8 0 10 1;
-#X connect 9 0 19 0;
-#X connect 10 0 14 0;
-#X connect 13 0 0 1;
-#X connect 14 0 16 0;
-#X connect 15 0 0 0;
-#X connect 17 0 15 0;
-#X connect 18 0 17 0;
-#X connect 18 1 15 1;
-#X connect 18 1 20 0;
-#X connect 18 1 21 0;
-#X connect 19 0 6 0;
-#X connect 19 1 5 1;
-#X connect 19 1 22 0;
-#X connect 19 1 23 0;
-#X connect 20 0 13 0;
-#X connect 21 0 7 0;
-#X connect 22 0 8 0;
-#X connect 23 0 2 0;
-#X restore 217 178 pd falling sand;
-#X obj 2 373 #scale_by 2;
-#X obj 2 170 shunt 3;
-#X obj 2 452 print;
-#X obj 197 65 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X text 253 46 auto;
-#N canvas 292 75 480 513 falling 0;
-#X obj 105 177 # div 5;
-#X text 292 85 horizontal falling;
-#X obj 42 118 #store;
-#X obj 153 58 fork;
-#X obj 171 230 fork;
-#X obj 46 392 outlet;
-#X obj 42 147 # +;
-#X obj 46 307 # +;
-#X obj 46 281 #store;
-#X obj 42 91 #finished;
-#X obj 42 176 # +;
-#X obj 48 260 #finished;
-#X text 88 17 Dim[rows \, columns \, {height}];
-#X text 293 262 vertical falling;
-#X obj 106 336 # div 5;
-#X obj 102 148 # div 5;
-#X obj 46 336 # +;
-#X obj 103 307 # div 5;
-#X text 101 392 Dim[rows \, columns \, {height}];
-#X obj 47 17 inlet;
-#X obj 162 149 #convolve (1 2 # 1 1) \, fold inv+ \, seed -3;
-#X obj 166 177 #convolve (1 3 # 1 1 0) \, fold inv+ \, seed -3;
-#X obj 170 305 #convolve (2 1 # 1 1) \, fold inv+ \, seed -3;
-#X obj 171 335 #convolve (3 1 # 1 1 0) \, fold inv+ \, seed -3;
-#X connect 0 0 10 1;
-#X connect 2 0 6 0;
-#X connect 3 0 9 0;
-#X connect 3 1 2 1;
-#X connect 3 1 20 0;
-#X connect 3 1 21 0;
-#X connect 4 0 11 0;
-#X connect 4 1 8 1;
-#X connect 4 1 22 0;
-#X connect 4 1 23 0;
-#X connect 6 0 10 0;
-#X connect 7 0 16 0;
-#X connect 8 0 7 0;
-#X connect 9 0 2 0;
-#X connect 10 0 4 0;
-#X connect 11 0 8 0;
-#X connect 14 0 16 1;
-#X connect 15 0 6 1;
-#X connect 16 0 5 0;
-#X connect 17 0 7 1;
-#X connect 19 0 3 0;
-#X connect 20 0 15 0;
-#X connect 21 0 0 0;
-#X connect 22 0 17 0;
-#X connect 23 0 14 0;
-#X restore 262 198 pd falling sand ( 2 );
-#N canvas 525 58 536 584 finger 0;
-#X obj 192 7 inlet;
-#X obj 36 78 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 63 267 # / 20;
-#X obj 74 327 # *;
-#X obj 12 436 #store;
-#X obj 14 18 inlet;
-#X obj 73 309 #redim ( 64 64 1 );
-#X obj 279 51 loadbang;
-#X obj 13 38 fork;
-#X obj 63 247 #fold +;
-#X text 22 159 "dig" the sphere into the sand;
-#X text 240 104 compute a halfsphere;
-#X obj 192 29 # - 32;
-#X obj 63 225 #ravel;
-#N canvas 1 58 415 284 make 0;
-#X obj 28 129 #fold +;
-#X obj 28 66 # -;
-#X obj 28 108 @! sq;
-#X obj 28 45 #for ( -32 -32 ) ( 32 32 ) ( 1 1 );
-#X obj 28 171 outlet;
-#X obj 28 87 # << 2;
-#X obj 28 150 @! sqrt;
-#X text 63 21 bang;
-#X obj 27 20 inlet;
-#X text 98 92 make distance map;
-#X connect 0 0 6 0;
-#X connect 1 0 5 0;
-#X connect 2 0 0 0;
-#X connect 3 0 1 0;
-#X connect 5 0 2 0;
-#X connect 6 0 4 0;
-#X connect 8 0 3 0;
-#X restore 259 74 pd make distance map with center 32;
-#X obj 12 480 outlet;
-#X obj 260 53 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 83 293 find out how high the compensation torus should be;
-#X obj 73 349 # div 256;
-#X obj 36 58 route grid;
-#X obj 12 417 #finished;
-#X obj 13 206 t a a;
-#N canvas 669 471 315 202 halfsphere 0;
-#X obj 45 19 inlet distancemap;
-#X obj 45 143 outlet image;
-#X obj 46 102 @! sqrt;
-#X obj 46 122 #outer ignore ( 0 );
-#X obj 46 62 # inv+ 200;
-#X text 121 63 16 * radius^2;
-#X obj 46 41 @! sq;
-#X obj 46 82 # max 0;
-#X connect 0 0 6 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 7 0;
-#X connect 6 0 4 0;
-#X connect 7 0 2 0;
-#X restore 126 120 pd halfsphere;
-#X obj 13 141 #draw_image - ( 1 1 1 # ) ( 0 0 );
-#X obj 12 457 #draw_image - ( 1 1 1 # ) ( 0 0 );
-#N canvas 0 0 323 279 torus 0;
-#X obj 59 26 inlet;
-#X obj 56 185 outlet;
-#X obj 57 97 # inv+ 200;
-#X obj 57 76 @! sq;
-#X text 102 54 toroidal radius;
-#X obj 57 162 #outer ignore ( 0 );
-#X obj 56 120 # max 0;
-#X text 138 99 16*radius^2;
-#X obj 57 141 @! sqrt;
-#X obj 57 56 # - 20;
-#X connect 0 0 9 0;
-#X connect 2 0 6 0;
-#X connect 3 0 2 0;
-#X connect 5 0 1 0;
-#X connect 6 0 8 0;
-#X connect 8 0 5 0;
-#X connect 9 0 3 0;
-#X restore 296 346 pd torus;
-#X text 65 475 put extra sand as a ring around the hole;
-#X connect 0 0 12 0;
-#X connect 1 0 16 0;
-#X connect 2 0 6 0;
-#X connect 3 0 18 0;
-#X connect 4 0 24 0;
-#X connect 5 0 8 0;
-#X connect 6 0 3 0;
-#X connect 7 0 14 0;
-#X connect 8 0 23 0;
-#X connect 8 1 19 0;
-#X connect 9 0 2 0;
-#X connect 12 0 23 2;
-#X connect 12 0 24 2;
-#X connect 13 0 9 0;
-#X connect 14 0 22 0;
-#X connect 14 0 25 0;
-#X connect 16 0 14 0;
-#X connect 18 0 24 1;
-#X connect 19 0 1 0;
-#X connect 20 0 4 0;
-#X connect 21 0 20 0;
-#X connect 21 1 13 0;
-#X connect 21 1 4 1;
-#X connect 22 0 23 1;
-#X connect 23 0 21 0;
-#X connect 24 0 15 0;
-#X connect 25 0 3 1;
-#X restore 260 132 pd finger;
-#X obj 310 266 # -;
-#X obj 334 313 #ravel;
-#X msg 2 56 240 320;
-#X obj 402 319 #fold +;
-#X obj 2 211 # + 128;
-#X obj 55 344 #greyscale_to_rgb;
-#X obj 270 115 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X text 325 220 enable stats;
-#X text 239 391 checking for conservation of amounts of sand;
-#X msg 2 115 \$1 \$2 1 # 0;
-#N canvas 56 229 441 265 lighting 0;
-#X obj 27 209 outlet;
-#X obj 27 180 # +;
-#X obj 17 9 inlet;
-#X obj 99 142 #convolve ( 2 1 # 1 1 ) \, op inv+;
-#X obj 100 65 #convolve ( 1 2 # 1 1 ) \, op inv+;
-#X obj 103 39 r size;
-#X obj 27 39 #redim ( );
-#X obj 27 79 #finished;
-#X obj 27 120 #store;
-#X obj 25 149 # + 128;
-#X obj 27 59 t a a;
-#X text 163 47 colourize the horizontal differences;
-#X text 113 123 colourize the vertical differences;
-#X obj 100 86 #outer & ( -1 0 0 );
-#X obj 99 164 #outer & ( -1 -1 0 );
-#X connect 1 0 0 0;
-#X connect 2 0 6 0;
-#X connect 3 0 14 0;
-#X connect 4 0 13 0;
-#X connect 5 0 6 1;
-#X connect 6 0 10 0;
-#X connect 7 0 8 0;
-#X connect 8 0 9 0;
-#X connect 9 0 1 0;
-#X connect 10 0 7 0;
-#X connect 10 1 4 0;
-#X connect 10 1 3 0;
-#X connect 13 0 8 1;
-#X connect 14 0 1 1;
-#X restore 26 268 pd lighting;
-#X obj 2 433 fps detailed;
-#X obj 309 221 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X text 213 65 step;
-#X obj 55 144 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -1
--1 2;
-#X obj 2 394 #out window;
-#X obj 273 372 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 334 372 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 402 357 nbx 8 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X text 74 158 differential;
-#X text 73 143 heightmap;
-#X text 73 174 topographic;
-#X obj 152 82 t a a;
-#X obj 217 220 t a a;
-#X obj 56 325 # * 255;
-#X obj 56 306 # >= 6;
-#X obj 56 287 # & 7;
-#X obj 2 37 loadbang;
-#X text 436 95 disable finger;
-#X obj 300 244 t a a;
-#X obj 2 192 # << 2;
-#X obj 192 46 metro 20;
-#X obj -15 499 cnv 15 680 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 506 GridFlow 0.8.0;
-#X text -7 506 GridFlow 0.8.0;
-#X obj -13 -25 cnv 15 680 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 0 -12 Copyright 2002 Mathieu Bouchard;
-#X text 0 -25 sand.pd;
-#X text -1 21 set size & reset;
-#X obj 2 295 #clip;
-#X obj 26 249 # << 0;
-#X connect 1 0 43 0;
-#X connect 1 1 14 0;
-#X connect 2 0 11 0;
-#X connect 3 0 22 0;
-#X connect 5 0 65 0;
-#X connect 6 0 50 0;
-#X connect 7 0 8 0;
-#X connect 8 0 13 0;
-#X connect 8 1 33 0;
-#X connect 9 0 10 0;
-#X connect 9 1 23 0;
-#X connect 10 0 33 1;
-#X connect 11 0 15 0;
-#X connect 12 0 1 0;
-#X connect 13 0 26 0;
-#X connect 13 1 57 0;
-#X connect 15 0 6 0;
-#X connect 16 0 23 1;
-#X connect 17 0 35 0;
-#X connect 18 0 52 0;
-#X connect 19 0 37 0;
-#X connect 20 1 19 0;
-#X connect 20 1 63 0;
-#X connect 21 0 13 1;
-#X connect 22 0 51 0;
-#X connect 23 0 8 1;
-#X connect 24 0 73 0;
-#X connect 25 0 9 0;
-#X connect 26 0 57 0;
-#X connect 27 0 49 0;
-#X connect 28 0 64 0;
-#X connect 28 1 74 0;
-#X connect 28 2 60 0;
-#X connect 30 0 7 0;
-#X connect 32 0 57 0;
-#X connect 33 0 13 0;
-#X connect 34 0 17 0;
-#X connect 34 0 2 0;
-#X connect 35 0 3 0;
-#X connect 36 0 1 0;
-#X connect 37 0 18 0;
-#X connect 38 0 24 0;
-#X connect 39 0 27 0;
-#X connect 40 0 8 1;
-#X connect 43 0 56 0;
-#X connect 44 0 73 0;
-#X connect 45 0 29 0;
-#X connect 46 0 20 1;
-#X connect 48 0 28 1;
-#X connect 49 0 45 0;
-#X connect 49 0 4 0;
-#X connect 56 0 28 0;
-#X connect 56 1 7 1;
-#X connect 57 0 56 0;
-#X connect 57 1 20 0;
-#X connect 58 0 39 0;
-#X connect 59 0 58 0;
-#X connect 60 0 59 0;
-#X connect 61 0 36 0;
-#X connect 63 0 34 1;
-#X connect 63 1 34 0;
-#X connect 64 0 38 0;
-#X connect 65 0 7 0;
-#X connect 73 0 27 0;
-#X connect 74 0 44 0;
diff --git a/externals/gridflow/pd_examples/saturation.pd b/externals/gridflow/pd_examples/saturation.pd
deleted file mode 100644
index d6cbda6c..00000000
--- a/externals/gridflow/pd_examples/saturation.pd
+++ /dev/null
@@ -1,81 +0,0 @@
-#N canvas 904 61 449 319 10;
-#X obj 11 117 print;
-#X obj 11 77 #out window;
-#X text 342 55 OR;
-#X text 238 30 global saturation;
-#N canvas 0 0 441 339 #saturation 0;
-#X obj 63 88 # inv+ 255;
-#X obj 14 219 # +;
-#X obj 37 47 #rgb_to_greyscale;
-#X obj 14 239 # >> 8;
-#X obj 162 146 loadbang;
-#X obj 14 158 #finished;
-#X text 68 266 keep values inside visible range;
-#X obj 14 199 # *;
-#X obj 14 178 #store;
-#X obj 37 88 # *;
-#X msg 133 146 0;
-#X obj 8 9 inlet image;
-#X obj 14 293 outlet image;
-#X obj 107 126 inlet saturation;
-#X text 230 130 0 = grey \; 256 = identity;
-#X text 40 222 mix the original picture with its greyed version;
-#X obj 37 107 t a a;
-#X obj 8 28 t a a;
-#X obj 37 67 #greyscale_to_rgb;
-#X obj 107 146 t a;
-#X obj 14 265 #clip;
-#X connect 0 0 9 1;
-#X connect 1 0 3 0;
-#X connect 2 0 18 0;
-#X connect 3 0 20 0;
-#X connect 4 0 10 0;
-#X connect 5 0 8 0;
-#X connect 7 0 1 0;
-#X connect 8 0 7 0;
-#X connect 9 0 16 0;
-#X connect 10 0 19 0;
-#X connect 11 0 17 0;
-#X connect 13 0 19 0;
-#X connect 16 0 5 0;
-#X connect 16 1 1 1;
-#X connect 17 0 8 1;
-#X connect 17 1 2 0;
-#X connect 18 0 9 0;
-#X connect 19 0 7 1;
-#X connect 19 0 0 0;
-#X connect 20 0 12 0;
-#X restore 11 53 pd #saturation;
-#X obj 11 98 fps detailed;
-#X text 203 68 per-channel saturation;
-#X msg 194 25 0;
-#X obj 194 4 loadbang;
-#X obj 197 46 hsl 137 15 -256 512 0 0 empty empty empty -2 -6 0 8 -260818
--128992 -1 4533 1;
-#X floatatom 155 47 5 0 0 0 - - -;
-#X obj 11 -26 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 11 3 metro 33.3667;
-#X obj 11 30 #in teapot.png;
-#X obj 147 95 #color -256 512 1;
-#X msg 147 69 3 # \$1;
-#X obj -16 -85 cnv 15 450 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text -3 -72 Copyright 2002 Mathieu Bouchard;
-#X obj -15 203 cnv 15 450 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 210 GridFlow 0.8.0;
-#X text -7 210 GridFlow 0.8.0;
-#X text -3 -85 saturation.pd;
-#X connect 1 0 5 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 9 0 10 0;
-#X connect 9 0 15 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 4 0;
-#X connect 14 0 4 1;
-#X connect 15 0 14 0;
diff --git a/externals/gridflow/pd_examples/scratch_video.pd b/externals/gridflow/pd_examples/scratch_video.pd
deleted file mode 100644
index d7a38e7e..00000000
--- a/externals/gridflow/pd_examples/scratch_video.pd
+++ /dev/null
@@ -1,121 +0,0 @@
-#N canvas 503 45 580 510 10;
-#X obj 109 94 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 109 352 listelement 1;
-#X floatatom 109 371 5 0 0 0 - - -;
-#X floatatom 132 279 5 0 0 0 - - -;
-#X obj 109 333 route position;
-#X obj 109 256 #in;
-#X msg 142 202 open /home/alx/Documents/images/videos/bus_1.mov;
-#X obj 112 410 hsl 128 15 1 320 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 0 1;
-#X obj -13 0 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj -16 477 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 16 484 GridFlow 0.8.0;
-#X text 16 484 GridFlow 0.8.0;
-#X text 0 13 Copyright 2003 Alexandre Castonguay;
-#X text 2 52 Use the mouse position to scratch the video \, a touchscreen
-works well.;
-#N canvas 0 0 450 300 decide_framerate 0;
-#X obj 6 56 - 160;
-#X floatatom 6 80 5 0 0 0 - - -;
-#X obj 55 122 hsl 128 15 20 150 0 0 empty empty empty -2 -6 0 8 -24198
--1 -1 0 1;
-#X obj 6 99 abs;
-#X floatatom 6 142 5 0 0 0 - - -;
-#X obj 6 121 / 3;
-#X floatatom 6 226 5 0 0 0 - - -;
-#X obj 6 184 abs;
-#X obj 6 162 - 64;
-#X obj 6 205 + 5;
-#X obj -25 21 inlet;
-#X obj 34 263 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 2 0;
-#X connect 3 0 5 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 0;
-#X connect 6 0 11 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 9 0 6 0;
-#X connect 10 0 0 0;
-#X restore 257 409 pd decide_framerate;
-#X obj 257 433 s framerate;
-#X obj 188 92 r framerate;
-#X obj 109 314 #out window;
-#X text 176 277 <-- frame number;
-#X text 213 351 <-- get x values;
-#X text 142 219 load your own until we get a bundled video for the
-docs;
-#X text 142 232 this one is 320 x 240;
-#N canvas 94 214 571 216 frame_count 0;
-#X msg 16 -5 1;
-#X floatatom 16 50 5 0 0 0 - - -;
-#X obj 48 30 float \$1;
-#X obj 16 -24 shunt 2;
-#X obj 16 30 + 1;
-#X msg 60 -5 -1;
-#X msg 111 49 0;
-#X obj 16 -54 inlet;
-#X obj 111 30 inlet;
-#X obj 16 102 outlet;
-#X floatatom 100 -38 5 0 0 0 - - -;
-#X obj 100 -22 > 160;
-#X text 145 -23 <-- is the direction left or right on a width of 320
-pixels;
-#X text 145 49 <-- reset;
-#X obj 100 -57 r position;
-#X obj 100 -3 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 1 0 9 0;
-#X connect 2 0 4 1;
-#X connect 3 0 0 0;
-#X connect 3 1 5 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 8 0 6 0;
-#X connect 10 0 11 0;
-#X connect 11 0 15 0;
-#X connect 14 0 10 0;
-#X connect 15 0 3 1;
-#X restore 109 168 pd frame_count;
-#X obj 202 141 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1
--1;
-#X text 226 140 <-- reset;
-#X obj 93 433 s position;
-#X msg 314 265 loop 1;
-#X obj 206 301 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 330 146 r loopit;
-#X obj 236 299 print loopit;
-#X obj 109 111 metro 100.33;
-#X obj 91 257 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X text 0 0 scratch_video.pd;
-#X connect 0 0 30 0;
-#X connect 1 0 2 0;
-#X connect 2 0 7 0;
-#X connect 2 0 14 0;
-#X connect 2 0 25 0;
-#X connect 4 0 1 0;
-#X connect 5 0 17 0;
-#X connect 5 1 3 0;
-#X connect 5 1 27 0;
-#X connect 6 0 5 0;
-#X connect 14 0 15 0;
-#X connect 16 0 30 1;
-#X connect 17 0 4 0;
-#X connect 22 0 5 0;
-#X connect 23 0 22 1;
-#X connect 26 0 5 0;
-#X connect 27 0 29 0;
-#X connect 30 0 22 0;
-#X connect 31 0 5 0;
diff --git a/externals/gridflow/pd_examples/spectrogram.pd b/externals/gridflow/pd_examples/spectrogram.pd
deleted file mode 100644
index fb6730d2..00000000
--- a/externals/gridflow/pd_examples/spectrogram.pd
+++ /dev/null
@@ -1,108 +0,0 @@
-#N canvas 370 65 588 508 10;
-#X msg 147 208 reset;
-#X obj 21 50 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
-#X obj 297 54 adc~;
-#X obj 38 170 tabread4 array1;
-#X obj 21 69 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1
-;
-#X obj 332 55 table array1 1024;
-#X obj 208 212 loadbang;
-#X obj 191 214 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 306 167 analysis 0;
-#X obj 24 -205 inlet~;
-#X obj 26 -135 tabsend~ array1;
-#X obj 24 -184 rfft~;
-#X obj 25 -157 expr~ sqrt($v1*$v1+$v2*$v2)/64;
-#X obj 148 -198 block~ 1024;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 3 1;
-#X connect 3 0 1 0;
-#X restore 298 77 pd analysis;
-#X obj 284 256 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X obj 190 291 loadbang;
-#X obj 173 293 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 38 68 for 0 320 1;
-#X obj 38 189 * 2000;
-#X text 303 257 black stripes;
-#X text 302 270 graph;
-#X obj 38 117 / 2;
-#X text 83 189 <-- adding some extra gain;
-#X obj 81 138 exp;
-#X obj 194 136 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X text 216 136 linear;
-#X text 214 150 logarithmic;
-#X obj 82 117 / 51;
-#X obj 38 395 #fade;
-#X obj 130 396 loadbang;
-#X msg 79 395 16 4 1;
-#X obj 38 49 metro 23.22;
-#X text 115 117 = 1000*1024/44100;
-#X obj 38 208 #import ( 320 );
-#X obj 38 227 # *>>8;
-#X obj 38 246 #fade 2;
-#X obj 38 309 # inv+ 255;
-#X obj 113 292 #outer <;
-#X obj 113 311 # * 255;
-#X obj 113 330 #transpose;
-#X obj 38 357 #redim (120 320 1);
-#X obj 38 376 #greyscale_to_rgb;
-#X obj 38 414 #clip;
-#X obj 38 433 #scale_by 2;
-#X obj 38 452 #out window;
-#X obj 6 476 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 14 483 GridFlow 0.8.0;
-#X text 14 483 GridFlow 0.8.0;
-#X obj 6 5 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 19 5 spectrogram.pd;
-#X obj 173 310 #for 120 0 -1;
-#X obj 191 231 #for 0 320 1;
-#X obj 191 250 # + 10;
-#X text 19 18 Copyright 2004 Mathieu Bouchard;
-#X obj 38 91 shunt 2;
-#X obj 38 265 shunt 2;
-#X connect 0 0 28 0;
-#X connect 1 0 26 0;
-#X connect 2 0 8 0;
-#X connect 2 1 8 0;
-#X connect 3 0 13 0;
-#X connect 4 0 12 0;
-#X connect 6 0 7 0;
-#X connect 7 0 46 0;
-#X connect 9 0 50 1;
-#X connect 10 0 11 0;
-#X connect 11 0 45 0;
-#X connect 12 0 49 0;
-#X connect 13 0 28 0;
-#X connect 16 0 3 0;
-#X connect 18 0 3 0;
-#X connect 19 0 49 1;
-#X connect 22 0 18 0;
-#X connect 23 0 37 0;
-#X connect 24 0 25 0;
-#X connect 25 0 23 1;
-#X connect 26 0 12 0;
-#X connect 28 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 50 0;
-#X connect 31 0 35 0;
-#X connect 32 0 33 0;
-#X connect 33 0 34 0;
-#X connect 34 0 35 0;
-#X connect 35 0 36 0;
-#X connect 36 0 23 0;
-#X connect 37 0 38 0;
-#X connect 38 0 39 0;
-#X connect 45 0 32 1;
-#X connect 46 0 47 0;
-#X connect 47 0 29 1;
-#X connect 49 0 16 0;
-#X connect 49 1 22 0;
-#X connect 50 0 31 0;
-#X connect 50 1 32 0;
diff --git a/externals/gridflow/pd_examples/threshold.pd b/externals/gridflow/pd_examples/threshold.pd
deleted file mode 100644
index 0b90b07f..00000000
--- a/externals/gridflow/pd_examples/threshold.pd
+++ /dev/null
@@ -1,78 +0,0 @@
-#N canvas 660 79 581 531 10;
-#X obj 72 208 inv+ 0;
-#X obj 40 8 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
-#X obj 99 57 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X floatatom 124 224 5 0 0 0 - - -;
-#X obj 124 91 vsl 15 128 0 256 0 0 empty empty empty 0 -8 0 8 -260818
--1 -1 0 1;
-#X obj 40 67 shunt 2;
-#X text 7 104 simple per-channel threshold;
-#X text 276 53 bluescreen luma threshold;
-#X text 340 195 here we have a mask;
-#X text 320 207 (alpha as separate image);
-#X obj 257 278 @join 2;
-#X text 346 226 make a RGBA image;
-#X obj 270 88 t b a a;
-#X text 210 379 = medium blue;
-#X obj 257 221 t a a;
-#X obj 121 416 fps;
-#X floatatom 146 418 5 0 0 0 - - -;
-#X obj 40 29 metro 100;
-#X msg 70 378 240 320 3 # 0 0 170;
-#X text 279 68 with alpha channel;
-#X text 13 349 you could also load a picture;
-#X text 13 361 instead of using uniform blue;
-#X text 58 10 1000/100 = 10 fps (max) (adjustable);
-#X obj 40 48 #camera;
-#X obj -13 -45 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 0 -32 Copyright 2002 Mathieu Bouchard;
-#X obj -15 450 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 457 GridFlow 0.8.0;
-#X text -7 457 GridFlow 0.8.0;
-#X text 0 -45 threshold.pd;
-#X obj 257 259 #store;
-#X obj 257 240 #finished;
-#X obj 314 145 # * 255;
-#X obj 314 126 # >=;
-#X obj 314 107 #rgb_to_greyscale;
-#X obj 70 397 #draw_image put \, alpha 1;
-#X obj 40 166 # -;
-#X obj 40 185 # max 0;
-#X obj 40 208 # ||;
-#X obj 40 227 # +;
-#X obj 40 416 #out window;
-#X text 387 -38 see also color_detect.pd;
-#X connect 0 0 38 1;
-#X connect 1 0 17 0;
-#X connect 2 0 5 1;
-#X connect 3 0 0 0;
-#X connect 3 0 33 1;
-#X connect 3 0 36 1;
-#X connect 3 0 39 1;
-#X connect 4 0 3 0;
-#X connect 5 0 36 0;
-#X connect 5 1 12 0;
-#X connect 10 0 35 1;
-#X connect 12 0 18 0;
-#X connect 12 1 14 0;
-#X connect 12 2 34 0;
-#X connect 14 0 31 0;
-#X connect 14 1 30 1;
-#X connect 15 0 16 0;
-#X connect 17 0 23 0;
-#X connect 18 0 35 0;
-#X connect 23 0 5 0;
-#X connect 30 0 10 0;
-#X connect 31 0 30 0;
-#X connect 32 0 10 1;
-#X connect 33 0 32 0;
-#X connect 34 0 33 0;
-#X connect 35 0 40 0;
-#X connect 36 0 37 0;
-#X connect 37 0 38 0;
-#X connect 38 0 39 0;
-#X connect 39 0 40 0;
-#X connect 40 0 15 0;
diff --git a/externals/gridflow/pd_examples/transform.pd b/externals/gridflow/pd_examples/transform.pd
deleted file mode 100644
index d8785933..00000000
--- a/externals/gridflow/pd_examples/transform.pd
+++ /dev/null
@@ -1,61 +0,0 @@
-#N canvas 726 225 674 481 10;
-#X obj 136 286 #remap_image;
-#X obj 136 324 #out window;
-#X obj 125 103 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1
-;
-#X obj 294 376 # -;
-#X obj 294 202 t a a a;
-#X obj 356 261 # % 2;
-#X obj 356 280 # * -2;
-#X obj 356 299 # + 1;
-#X obj 316 300 # *;
-#X obj 403 230 # / 2;
-#X obj 377 167 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -261681
--1 -1 0 1;
-#X obj 316 281 # -;
-#X obj 374 190 t f;
-#X obj 316 262 # %;
-#X obj 356 242 # /;
-#X obj 186 214 #camera;
-#X obj 125 120 metro 10;
-#X obj 8 442 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text 16 449 GridFlow 0.8.0;
-#X obj 374 449 #reverse;
-#X text 293 450 see also :;
-#X obj 1 -2 cnv 15 720 15 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 4 -2 Transform.pd;
-#X obj 95 215 #in r001.jpg;
-#X obj 125 139 shunt;
-#X obj 164 140 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X text 68 32 By Mathieu Bouchard \, based on Clifford Smith's 'Transform'
-effect that is part of Fukuchi Kentaro's EffecTV : http://effectv.sourceforge.net
-;
-#X text 187 138 <-- choose from a still image or camera input;
-#X connect 0 0 1 0;
-#X connect 0 1 4 0;
-#X connect 2 0 16 0;
-#X connect 3 0 0 1;
-#X connect 4 0 3 0;
-#X connect 4 1 13 0;
-#X connect 4 2 14 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 1;
-#X connect 8 0 3 1;
-#X connect 9 0 11 1;
-#X connect 10 0 12 0;
-#X connect 11 0 8 0;
-#X connect 12 0 9 0;
-#X connect 12 0 13 1;
-#X connect 12 0 14 1;
-#X connect 13 0 11 0;
-#X connect 14 0 5 0;
-#X connect 15 0 0 0;
-#X connect 16 0 24 0;
-#X connect 23 0 0 0;
-#X connect 24 0 23 0;
-#X connect 24 1 15 0;
-#X connect 25 0 24 1;
diff --git a/externals/gridflow/pd_examples/videodev_effects.pd b/externals/gridflow/pd_examples/videodev_effects.pd
deleted file mode 100644
index 36782931..00000000
--- a/externals/gridflow/pd_examples/videodev_effects.pd
+++ /dev/null
@@ -1,313 +0,0 @@
-#N canvas 522 50 597 660 10;
-#X obj 85 386 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 71 138 # max 0;
-#N canvas 52 305 399 248 motion 0;
-#X obj 60 49 inlet;
-#X obj 60 72 # +;
-#X obj 60 158 outlet;
-#X msg 108 51 0;
-#X obj 60 142 fork;
-#X text 164 114 divide by 32 \, 16 \, 4;
-#X text 4 1 we do like #fade but faster (because of >>);
-#X text 4 15 feedback factors are 1/32 for red \, 1/16 for green \,
-1/8 for blue.;
-#X obj 60 114 # >> ( 5 4 2 );
-#X obj 175 85 # * ( 31 15 3 );
-#X connect 0 0 1 0;
-#X connect 1 0 8 0;
-#X connect 3 0 1 1;
-#X connect 4 0 2 0;
-#X connect 4 1 9 0;
-#X connect 8 0 4 0;
-#X connect 9 0 1 1;
-#X restore 129 207 pd motion fade;
-#X obj 27 252 shunt 2;
-#X obj 71 58 #downscale_by 2 smoothly;
-#X obj 27 387 shunt 2;
-#X obj 81 254 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 86 77 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 26 -36 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 315 250 fork;
-#X obj 27 37 shunt 2;
-#X msg 285 232 256;
-#X obj 27 463 #out window;
-#X obj 83 38 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 27 504 print;
-#X obj 284 273 #for 0 256 1;
-#X floatatom 315 231 5 0 0 0 - - -;
-#N canvas 67 462 236 230 detect 0;
-#X obj 66 59 # * ( -1 -1 2 );
-#X obj 66 171 # max 0;
-#X obj 66 31 inlet;
-#X obj 66 222 #outer ignore ( 0 0 0 );
-#X obj 66 197 # min 255;
-#X obj 66 249 outlet;
-#X obj 65 82 #fold + \, seed -20;
-#X connect 0 0 6 0;
-#X connect 1 0 4 0;
-#X connect 2 0 0 0;
-#X connect 3 0 5 0;
-#X connect 4 0 3 0;
-#X connect 6 0 1 0;
-#X restore 436 225 pd detect blue;
-#X obj 71 274 #outer ignore ( 0 );
-#X obj 102 120 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -260818
--1 -1 0 1;
-#X obj 27 178 shunt 2;
-#X obj 169 324 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
-1;
-#X obj 27 324 shunt 2;
-#X obj 27 484 fps detailed;
-#X obj 285 212 loadbang;
-#X obj 86 324 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 71 296 #store;
-#N canvas 81 205 480 500 sort 0;
-#X obj 10 305 # * ( 1 0 );
-#X obj 180 260 # * 255;
-#X obj 194 331 #outer ignore ( 0 0 0 );
-#X obj 10 345 # >> 0;
-#X obj 43 432 outlet;
-#X obj 181 53 inlet;
-#X obj 225 191 # / 2;
-#X obj 10 285 #for ( 0 0 ) ( 288 352 ) ( 1 1 );
-#X obj 10 325 # +;
-#X obj 44 9 inlet;
-#X obj 242 150 # - 1;
-#X obj 121 382 # +;
-#X obj 180 238 # < 176;
-#X obj 10 369 #store;
-#X obj 97 31 #grade;
-#X obj 121 404 # >> 1;
-#X obj 283 269 # / 351;
-#X obj 97 53 shunt 2;
-#X obj 145 77 #grade;
-#X obj 112 210 #outer & ( 0 -1 );
-#X obj 121 127 inlet;
-#X text 271 128 extract width;
-#X obj 10 266 #finished;
-#X obj 283 247 # * 255;
-#X obj 96 9 #fold +;
-#X obj 97 153 shunt 4;
-#X obj 107 359 shunt 4;
-#X msg 235 126 \$2;
-#X obj 204 77 #dim;
-#X obj 44 37 t a a;
-#X msg 186 127 \$1 \$2;
-#X obj 204 97 #export_list;
-#X connect 0 0 8 0;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 3 0 13 0;
-#X connect 5 0 17 1;
-#X connect 6 0 12 1;
-#X connect 7 0 0 0;
-#X connect 8 0 3 0;
-#X connect 9 0 29 0;
-#X connect 10 0 16 1;
-#X connect 11 0 15 0;
-#X connect 12 0 1 0;
-#X connect 13 0 26 0;
-#X connect 14 0 17 0;
-#X connect 15 0 4 0;
-#X connect 16 0 2 0;
-#X connect 17 0 25 0;
-#X connect 17 1 18 0;
-#X connect 18 0 25 0;
-#X connect 19 0 8 1;
-#X connect 20 0 25 1;
-#X connect 20 0 26 1;
-#X connect 22 0 7 0;
-#X connect 23 0 16 0;
-#X connect 24 0 14 0;
-#X connect 25 0 22 0;
-#X connect 25 0 19 0;
-#X connect 25 1 22 0;
-#X connect 25 1 19 0;
-#X connect 25 2 12 0;
-#X connect 25 3 23 0;
-#X connect 26 0 4 0;
-#X connect 26 1 11 0;
-#X connect 27 0 6 0;
-#X connect 27 0 10 0;
-#X connect 28 0 31 0;
-#X connect 29 0 24 0;
-#X connect 29 1 13 1;
-#X connect 29 1 28 0;
-#X connect 29 1 11 1;
-#X connect 30 0 7 1;
-#X connect 31 0 27 0;
-#X connect 31 0 30 0;
-#X restore 86 344 pd sort me out;
-#X obj 284 293 # gamma;
-#X obj 71 118 # -;
-#X obj 81 180 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X text 73 227 enable gamma correction;
-#X obj 284 255 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1
--1;
-#N canvas 372 198 399 273 motion 0;
-#X obj 15 113 # << 2;
-#X obj 15 162 @! abs;
-#X obj 15 9 inlet;
-#X obj 18 80 # -;
-#X obj 70 174 # + 128;
-#X obj 15 245 outlet;
-#X obj 15 204 # min 255;
-#X obj 15 224 # max 0;
-#X obj 70 155 # << 2;
-#X obj 15 35 t a a;
-#X obj 15 134 shunt 2;
-#X obj 70 133 inlet render;
-#X obj 155 54 inlet type;
-#X obj 15 54 shunt 2;
-#X connect 0 0 10 0;
-#X connect 1 0 6 0;
-#X connect 2 0 9 0;
-#X connect 3 0 0 0;
-#X connect 4 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 5 0;
-#X connect 8 0 4 0;
-#X connect 9 0 13 0;
-#X connect 9 1 3 0;
-#X connect 10 0 1 0;
-#X connect 10 1 8 0;
-#X connect 11 0 10 1;
-#X connect 12 0 13 1;
-#X connect 13 0 3 1;
-#X restore 71 98 pd motion detection;
-#X obj 104 324 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X text 125 138 noise reduction (on find-edges only);
-#N canvas 67 462 236 230 detect 0;
-#X obj 66 171 # max 0;
-#X obj 66 31 inlet;
-#X obj 66 222 #outer ignore ( 0 0 0 );
-#X obj 66 197 # min 255;
-#X obj 66 249 outlet;
-#X obj 65 82 #fold + \, seed -20;
-#X obj 66 59 # * ( 2 -1 -1 );
-#X connect 0 0 3 0;
-#X connect 1 0 6 0;
-#X connect 2 0 4 0;
-#X connect 3 0 2 0;
-#X connect 5 0 0 0;
-#X connect 6 0 5 0;
-#X restore 436 206 pd detect red;
-#X obj 26 -8 metro 33.3667;
-#X obj 27 58 t a a;
-#X text 100 38 Smaller Picture;
-#X obj 27 78 shunt 2;
-#X obj 210 85 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X obj 162 416 #centroid;
-#X obj 162 437 #export_list;
-#X floatatom 164 476 5 0 0 0 - - -;
-#X obj 163 456 unpack 0 0;
-#X floatatom 228 476 5 0 0 0 - - -;
-#N canvas 639 147 477 267 crosshair 0;
-#X obj 12 224 outlet;
-#X obj 12 9 inlet;
-#X obj 95 169 # + ( 120 160 );
-#X msg 21 125 12 2 # \$1 \$2 \$1 \$3 \$2 \$3 \$2 \$4 \$3 \$4 \$3 \$3
-\$4 \$3 \$4 \$2 \$3 \$2 \$3 \$1 \$2 \$1 \$2 \$2;
-#X msg 54 95 -32 -1 1 32;
-#X obj 12 205 #draw_polygon + ( 0 170 0 );
-#X obj 175 37 #fade 8;
-#X obj 175 18 inlet;
-#X obj 170 60 #finished;
-#X connect 1 0 5 0;
-#X connect 2 0 5 2;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 5 0 0 0;
-#X connect 6 0 2 1;
-#X connect 6 0 8 0;
-#X connect 7 0 6 0;
-#X connect 8 0 4 0;
-#X restore 71 417 pd crosshair;
-#X msg 127 -9 open dc1394;
-#X msg 216 -8 open mpeg file images/movies/washington_zoom_in.mpeg
-;
-#X msg 216 12 open xine images/movies/washington_zoom_in.mpeg;
-#X obj 27 16 #camera;
-#X obj 185 13 #in;
-#X obj 103 181 #fade;
-#X msg 144 181 32 16 4;
-#X obj 27 439 t a;
-#X text 230 99 emboss;
-#X text 229 85 hilite;
-#X text 109 386 designed to work with "hilite" above;
-#X obj 280 85 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1
--1 0;
-#X text 299 85 motion;
-#X text 300 99 presence;
-#X obj -15 542 cnv 15 620 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 550 GridFlow 0.8.0;
-#X text -7 550 GridFlow 0.8.0;
-#X obj -13 -85 cnv 15 620 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 0 -72 Copyright 2002 Mathieu Bouchard;
-#X text 0 -86 videodev_effects.pd;
-#X connect 0 0 5 1;
-#X connect 1 0 20 0;
-#X connect 2 0 3 0;
-#X connect 3 0 22 0;
-#X connect 3 1 18 0;
-#X connect 4 0 38 0;
-#X connect 5 0 55 0;
-#X connect 5 1 42 0;
-#X connect 5 1 47 0;
-#X connect 6 0 3 1;
-#X connect 7 0 40 1;
-#X connect 8 0 37 0;
-#X connect 9 0 32 0;
-#X connect 9 1 28 1;
-#X connect 10 0 38 0;
-#X connect 10 1 4 0;
-#X connect 11 0 16 0;
-#X connect 12 0 23 0;
-#X connect 13 0 10 1;
-#X connect 15 0 28 0;
-#X connect 16 0 9 0;
-#X connect 18 0 26 0;
-#X connect 19 0 29 1;
-#X connect 20 0 3 0;
-#X connect 20 1 2 0;
-#X connect 21 0 27 2;
-#X connect 22 0 5 0;
-#X connect 22 1 27 0;
-#X connect 23 0 14 0;
-#X connect 24 0 11 0;
-#X connect 25 0 22 1;
-#X connect 26 0 22 0;
-#X connect 27 0 5 0;
-#X connect 28 0 26 1;
-#X connect 29 0 1 0;
-#X connect 30 0 20 1;
-#X connect 32 0 15 0;
-#X connect 33 0 29 0;
-#X connect 34 0 27 1;
-#X connect 37 0 51 0;
-#X connect 38 0 40 0;
-#X connect 40 0 20 0;
-#X connect 40 1 33 0;
-#X connect 41 0 33 1;
-#X connect 42 0 43 0;
-#X connect 42 0 47 1;
-#X connect 43 0 45 0;
-#X connect 45 0 44 0;
-#X connect 45 1 46 0;
-#X connect 47 0 55 0;
-#X connect 51 0 10 0;
-#X connect 53 0 3 0;
-#X connect 54 0 53 1;
-#X connect 55 0 12 0;
-#X connect 59 0 33 2;
diff --git a/externals/gridflow/pd_examples/waves.pd b/externals/gridflow/pd_examples/waves.pd
deleted file mode 100644
index 14dd10e5..00000000
--- a/externals/gridflow/pd_examples/waves.pd
+++ /dev/null
@@ -1,360 +0,0 @@
-#N canvas 461 0 783 699 10;
-#X obj 245 341 #greyscale_to_rgb;
-#X obj 167 66 loadbang;
-#X obj 107 85 fork;
-#X obj 241 497 print;
-#N canvas 23 304 369 368 mouse 0;
-#X text 109 189 coordinates;
-#X obj 56 189 outlet;
-#X obj 57 164 listsublist 0 2;
-#X obj 8 141 shunt 2;
-#X text 56 9 #out's outlet 0;
-#X obj 100 142 outlet;
-#X obj 41 94 >> 8;
-#X obj 41 115 != 0;
-#X obj 16 31 route position;
-#X text 154 143 is there a click?;
-#X obj 19 8 inlet;
-#X obj 16 55 fork;
-#X obj 41 73 listelement 2;
-#X connect 2 0 1 0;
-#X connect 3 1 2 0;
-#X connect 6 0 7 0;
-#X connect 7 0 5 0;
-#X connect 7 0 3 1;
-#X connect 8 0 11 0;
-#X connect 10 0 8 0;
-#X connect 11 0 3 0;
-#X connect 11 1 12 0;
-#X connect 12 0 6 0;
-#X restore 235 516 pd mouse click/drag;
-#X obj 10 49 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
-#N canvas 637 335 413 236 lighting 0;
-#X obj 56 203 outlet;
-#X obj 17 9 inlet;
-#X text 91 65 produce red/cyan from horiz differences;
-#X text 64 123 produce white/black from vertical differences;
-#X obj 56 177 # +;
-#X obj 108 10 #dim;
-#X obj 140 10 #export_list;
-#X obj 56 9 t a a;
-#X obj 56 49 t a a;
-#X msg 141 30 \$1 \$2;
-#X obj 56 29 #redim ();
-#X obj 86 82 #convolve (1 2 #) \, op ignore \, fold inv+;
-#X obj 86 101 #outer & (-1 0 0);
-#X obj 56 139 #convolve (2 1 #) \, op ignore \, fold inv+;
-#X obj 56 158 #outer & (-1 -1 0);
-#X connect 1 0 7 0;
-#X connect 4 0 0 0;
-#X connect 5 0 6 0;
-#X connect 6 0 9 0;
-#X connect 7 0 10 0;
-#X connect 7 1 5 0;
-#X connect 8 0 13 0;
-#X connect 8 1 11 0;
-#X connect 9 0 10 1;
-#X connect 10 0 8 0;
-#X connect 11 0 12 0;
-#X connect 12 0 4 1;
-#X connect 13 0 14 0;
-#X connect 14 0 4 0;
-#X restore 235 362 pd lighting;
-#X obj 235 535 # / 2;
-#X msg 107 104 \$1 \$2 1 # 0;
-#N canvas 137 251 392 303 finger 0;
-#X obj 149 39 #redim ( 4 2 );
-#X obj 71 16 inlet;
-#X obj 149 20 inlet;
-#X obj 71 217 outlet;
-#X obj 149 158 # +;
-#X obj 177 157 # *;
-#X msg 177 137 0 0 0 1 1 1 1 0;
-#X obj 193 79 inlet size;
-#X text 291 137 square or rect;
-#X obj 177 112 #finished;
-#X obj 70 195 #draw_polygon put ( 1000 );
-#X connect 0 0 4 0;
-#X connect 1 0 10 0;
-#X connect 2 0 0 0;
-#X connect 4 0 10 2;
-#X connect 5 0 4 1;
-#X connect 6 0 5 0;
-#X connect 7 0 9 0;
-#X connect 7 0 5 1;
-#X connect 9 0 6 0;
-#X connect 10 0 3 0;
-#X restore 206 634 pd finger;
-#X obj 141 85 s size;
-#X obj 235 438 #scale_by 2;
-#X obj 10 168 #store;
-#N canvas 53 323 453 223 wave 0;
-#X obj 26 20 inlet;
-#X obj 28 182 outlet;
-#X text 70 137 time differential;
-#X text 81 50 space differential: (d/dx)^2 + (d/dy)^2;
-#X text 71 8 Recurrence equation for propagation of oscillations;
-#X obj 28 137 # -;
-#X obj 54 102 # >> 4;
-#X obj 28 158 # *>>8 242;
-#X text 105 159 amortizing by ~5.5%;
-#X obj 24 46 t a a;
-#X obj 54 81 #convolve (3 3 # 1 4 1 4 0 4) \, seed 8;
-#X connect 0 0 9 0;
-#X connect 5 0 7 0;
-#X connect 6 0 5 0;
-#X connect 7 0 1 0;
-#X connect 9 0 5 1;
-#X connect 9 1 10 0;
-#X connect 10 0 6 0;
-#X restore 10 206 pd wave equation;
-#X obj 162 634 t a;
-#X obj 107 123 t a;
-#X obj 245 317 # >> 1;
-#X obj 36 85 s metro;
-#X msg 107 66 240 320;
-#X text 491 65 (Best complemented with a touchscreen);
-#X obj 341 244 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -258699
--1 0;
-#X text 359 259 height greys;
-#X obj 294 205 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -258699
--1 0;
-#X text 312 204 plain;
-#X text 312 220 line-art;
-#X text 309 153 smooth;
-#X obj 292 153 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -258699
--1 0;
-#X text 310 167 raw;
-#X obj 417 503 hradio 18 1 1 4 empty empty _1__2__3__4_ 0 -4 0 8 -262144
--258699 -1 0;
-#X text 415 482 scale by...;
-#X obj 417 523 + 1;
-#X obj 573 105 loadbang;
-#X obj 573 276 spigot;
-#X obj 620 277 tgl 15 0 empty empty empty 18 8 0 8 -241291 -1 -62784
-0 1;
-#X obj 573 256 r metro;
-#N canvas 242 284 365 231 line-art 0;
-#X obj 32 123 # << 8;
-#X obj 32 37 inlet;
-#X obj 32 145 outlet;
-#X text 146 31 double-thresholding;
-#X text 146 114 else becomes 0;
-#X obj 32 82 # min 1;
-#X obj 32 103 # max -1;
-#X obj 32 60 # / 3;
-#X text 146 85 < -3 becomes -256;
-#X text 146 100 > +3 becomes +256;
-#X connect 0 0 2 0;
-#X connect 1 0 7 0;
-#X connect 5 0 6 0;
-#X connect 6 0 0 0;
-#X connect 7 0 5 0;
-#X restore 260 243 pd line-art;
-#X text 628 129 Background colour;
-#X text 637 277 enable video;
-#X text 357 244 four-colour emboss;
-#X obj 325 562 tgl 15 1 empty empty empty 0 -6 0 8 -241291 -1 -1 1
-1;
-#X obj 278 542 r metro;
-#X text 342 561 rain;
-#X obj 235 204 # >> 2;
-#X text 388 36 Originally made for Alexandre Castonguay's "DIGITALE"
-;
-#X text 505 50 But suitable for a lot more uses :-);
-#X msg 573 124 3 # 128;
-#X obj 573 143 #color;
-#X obj 235 223 shunt 2;
-#X obj 235 166 shunt 2;
-#X obj 349 618 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10
--262131 -1 -1 2 256;
-#X obj 349 632 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10
--262131 -1 -1 2 256;
-#X obj 235 400 # +;
-#X obj 372 449 #store;
-#X obj 396 381 shunt 2;
-#X obj 452 376 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -258699
--1 0;
-#X text 470 375 plain;
-#X text 470 392 refraction;
-#X obj 235 381 t a;
-#N canvas 203 363 443 300 heightmap2indexmap 0;
-#X obj 48 220 outlet;
-#X obj 9 8 inlet;
-#X obj 48 143 # +;
-#X obj 100 9 #dim;
-#X obj 132 9 #export_list;
-#X obj 48 8 t a a;
-#X obj 48 48 t a a;
-#X msg 132 28 \$1 \$2;
-#X obj 48 201 # +;
-#X obj 90 181 loadbang;
-#X obj 73 181 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 48 162 # >> 1;
-#X obj 78 67 #convolve (1 2 #) \, op ignore \, fold inv+;
-#X obj 78 86 #outer & (-1 0);
-#X obj 48 105 #convolve (2 1 #) \, op ignore \, fold inv+;
-#X obj 48 124 #outer & (0 -1);
-#X obj 73 201 #for (0 0) (240 320) (1 1);
-#X obj 48 28 #redim ();
-#X connect 1 0 5 0;
-#X connect 2 0 11 0;
-#X connect 3 0 4 0;
-#X connect 4 0 7 0;
-#X connect 5 0 17 0;
-#X connect 5 1 3 0;
-#X connect 6 0 14 0;
-#X connect 6 1 12 0;
-#X connect 7 0 17 1;
-#X connect 8 0 0 0;
-#X connect 9 0 16 0;
-#X connect 10 0 16 0;
-#X connect 11 0 8 0;
-#X connect 12 0 13 0;
-#X connect 13 0 2 1;
-#X connect 14 0 15 0;
-#X connect 15 0 2 0;
-#X connect 16 0 8 1;
-#X connect 17 0 6 0;
-#X restore 372 430 pd heightmap2indexmap;
-#X obj -8 82 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1
-;
-#X obj 372 411 spigot;
-#X text 359 274 no reflection;
-#X obj 235 286 shunt 3;
-#X obj 235 243 t a;
-#X obj 293 317 # put 0;
-#X obj 162 615 shunt 2;
-#X obj 206 596 shunt 2;
-#X obj 10 66 metro 33.3667;
-#X obj 10 187 shunt 2;
-#X text 80 188 freeze time;
-#X obj 63 188 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
-;
-#X obj 132 123 r feedback;
-#X obj 162 653 s feedback;
-#X obj 10 226 t a;
-#X obj -13 5 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj -15 671 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
-0;
-#X text -7 679 GridFlow 0.8.0;
-#X text -7 679 GridFlow 0.8.0;
-#X text 0 4 waves.pd;
-#X obj 573 296 #camera;
-#X obj 555 276 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X obj 573 315 spigot;
-#X obj 620 316 tgl 15 0 empty empty empty 18 8 0 8 -241291 -1 -62784
-0 1;
-#X text 637 315 test camera output;
-#X obj 10 85 t b;
-#X obj 278 561 spigot;
-#X obj 620 334 sel 0 1;
-#X msg 642 353 open window;
-#X obj 573 334 #out;
-#X msg 620 372 close;
-#X obj 241 478 fps detailed \, period 2;
-#X obj 574 226 #in;
-#X msg 574 207 load r001.jpg;
-#X obj 324 580 r size;
-#X obj 278 580 #store;
-#X obj 278 599 # rand;
-#X obj 235 457 #out window;
-#X obj 235 419 #clip;
-#X obj 235 185 #convolve (2 2 #) \, op ignore;
-#X obj 349 651 #pack 2;
-#X text 0 18 Copyright 2003 \, 2004 \, 2005 Mathieu Bouchard;
-#X connect 0 0 57 0;
-#X connect 1 0 18 0;
-#X connect 2 0 8 0;
-#X connect 2 1 10 0;
-#X connect 4 0 7 0;
-#X connect 4 1 66 0;
-#X connect 5 0 67 0;
-#X connect 6 0 57 0;
-#X connect 7 0 9 1;
-#X connect 8 0 15 0;
-#X connect 9 0 14 0;
-#X connect 11 0 96 0;
-#X connect 12 0 68 0;
-#X connect 13 0 73 0;
-#X connect 14 0 72 0;
-#X connect 15 0 12 1;
-#X connect 15 0 48 0;
-#X connect 16 0 0 0;
-#X connect 18 0 2 0;
-#X connect 20 0 62 1;
-#X connect 22 0 47 1;
-#X connect 26 0 48 1;
-#X connect 28 0 30 0;
-#X connect 30 0 7 1;
-#X connect 30 0 11 1;
-#X connect 31 0 45 0;
-#X connect 32 0 79 0;
-#X connect 33 0 32 1;
-#X connect 34 0 32 0;
-#X connect 35 0 63 0;
-#X connect 39 0 65 1;
-#X connect 39 0 66 1;
-#X connect 39 0 85 1;
-#X connect 40 0 85 0;
-#X connect 42 0 47 0;
-#X connect 45 0 46 0;
-#X connect 46 0 53 0;
-#X connect 47 0 63 0;
-#X connect 47 1 35 0;
-#X connect 48 0 98 0;
-#X connect 48 1 47 0;
-#X connect 49 0 99 0;
-#X connect 50 0 99 1;
-#X connect 51 0 97 0;
-#X connect 52 0 51 1;
-#X connect 53 0 51 1;
-#X connect 53 1 52 1;
-#X connect 54 0 53 1;
-#X connect 54 0 60 1;
-#X connect 57 0 51 0;
-#X connect 58 0 52 0;
-#X connect 59 0 84 0;
-#X connect 60 0 58 0;
-#X connect 62 0 6 0;
-#X connect 62 1 16 0;
-#X connect 62 2 64 0;
-#X connect 63 0 62 0;
-#X connect 63 0 60 0;
-#X connect 64 0 0 0;
-#X connect 65 0 14 0;
-#X connect 65 1 9 0;
-#X connect 66 0 65 1;
-#X connect 67 0 84 0;
-#X connect 68 0 13 0;
-#X connect 68 1 73 0;
-#X connect 70 0 68 1;
-#X connect 71 0 15 0;
-#X connect 73 0 65 0;
-#X connect 79 0 53 0;
-#X connect 79 0 81 0;
-#X connect 80 0 79 0;
-#X connect 81 0 88 0;
-#X connect 82 0 81 1;
-#X connect 82 0 86 0;
-#X connect 84 0 17 0;
-#X connect 84 0 12 0;
-#X connect 85 0 94 0;
-#X connect 86 0 89 0;
-#X connect 86 1 87 0;
-#X connect 87 0 88 0;
-#X connect 89 0 88 0;
-#X connect 90 0 3 0;
-#X connect 91 0 53 1;
-#X connect 92 0 91 0;
-#X connect 93 0 94 1;
-#X connect 94 0 95 0;
-#X connect 95 0 9 1;
-#X connect 96 0 4 0;
-#X connect 96 0 90 0;
-#X connect 97 0 11 0;
-#X connect 98 0 42 0;
-#X connect 99 0 9 2;