From 04c235c6ac5f36b507c629de5634d5e6d326222b Mon Sep 17 00:00:00 2001 From: "N.N." Date: Tue, 4 Oct 2005 02:04:42 +0000 Subject: adding abstractions and helpfiles svn path=/trunk/; revision=3647 --- .../gridflow/pd_examples/binary_operations.pd | 73 ++++ externals/gridflow/pd_examples/blob.pd | 106 ++++++ externals/gridflow/pd_examples/cellular_1d.pd | 164 ++++++++ externals/gridflow/pd_examples/color_correction.pd | 154 ++++++++ externals/gridflow/pd_examples/color_detect.pd | 218 +++++++++++ externals/gridflow/pd_examples/convolve.pd | 94 +++++ externals/gridflow/pd_examples/cross_fade.pd | 73 ++++ externals/gridflow/pd_examples/drag_rectangle.pd | 110 ++++++ externals/gridflow/pd_examples/eclipse.pd | 80 ++++ externals/gridflow/pd_examples/epicycloid.pd | 125 ++++++ externals/gridflow/pd_examples/feedback_fractal.pd | 147 ++++++++ externals/gridflow/pd_examples/fire.pd | 180 +++++++++ externals/gridflow/pd_examples/game_of_life.pd | 67 ++++ externals/gridflow/pd_examples/goop.pd | 138 +++++++ externals/gridflow/pd_examples/hello-world.pd | 38 ++ externals/gridflow/pd_examples/image_stats.pd | 62 +++ externals/gridflow/pd_examples/linear_transform.pd | 123 ++++++ externals/gridflow/pd_examples/motion_detect.pd | 44 +++ externals/gridflow/pd_examples/nervous_video.pd | 154 ++++++++ externals/gridflow/pd_examples/photo_pianoroll.pd | 159 ++++++++ externals/gridflow/pd_examples/plot.pd | 73 ++++ externals/gridflow/pd_examples/polygon.pd | 113 ++++++ externals/gridflow/pd_examples/ripple.pd | 190 ++++++++++ externals/gridflow/pd_examples/sand.pd | 417 +++++++++++++++++++++ externals/gridflow/pd_examples/saturation.pd | 81 ++++ externals/gridflow/pd_examples/scratch_video.pd | 124 ++++++ externals/gridflow/pd_examples/spectrogram.pd | 109 ++++++ externals/gridflow/pd_examples/threshold.pd | 81 ++++ externals/gridflow/pd_examples/transform.pd | 61 +++ externals/gridflow/pd_examples/videodev_effects.pd | 303 +++++++++++++++ externals/gridflow/pd_examples/waves.pd | 339 +++++++++++++++++ 31 files changed, 4200 insertions(+) create mode 100644 externals/gridflow/pd_examples/binary_operations.pd create mode 100644 externals/gridflow/pd_examples/blob.pd create mode 100644 externals/gridflow/pd_examples/cellular_1d.pd create mode 100644 externals/gridflow/pd_examples/color_correction.pd create mode 100644 externals/gridflow/pd_examples/color_detect.pd create mode 100644 externals/gridflow/pd_examples/convolve.pd create mode 100644 externals/gridflow/pd_examples/cross_fade.pd create mode 100644 externals/gridflow/pd_examples/drag_rectangle.pd create mode 100644 externals/gridflow/pd_examples/eclipse.pd create mode 100644 externals/gridflow/pd_examples/epicycloid.pd create mode 100644 externals/gridflow/pd_examples/feedback_fractal.pd create mode 100644 externals/gridflow/pd_examples/fire.pd create mode 100644 externals/gridflow/pd_examples/game_of_life.pd create mode 100644 externals/gridflow/pd_examples/goop.pd create mode 100644 externals/gridflow/pd_examples/hello-world.pd create mode 100644 externals/gridflow/pd_examples/image_stats.pd create mode 100644 externals/gridflow/pd_examples/linear_transform.pd create mode 100644 externals/gridflow/pd_examples/motion_detect.pd create mode 100644 externals/gridflow/pd_examples/nervous_video.pd create mode 100644 externals/gridflow/pd_examples/photo_pianoroll.pd create mode 100644 externals/gridflow/pd_examples/plot.pd create mode 100644 externals/gridflow/pd_examples/polygon.pd create mode 100644 externals/gridflow/pd_examples/ripple.pd create mode 100644 externals/gridflow/pd_examples/sand.pd create mode 100644 externals/gridflow/pd_examples/saturation.pd create mode 100644 externals/gridflow/pd_examples/scratch_video.pd create mode 100644 externals/gridflow/pd_examples/spectrogram.pd create mode 100644 externals/gridflow/pd_examples/threshold.pd create mode 100644 externals/gridflow/pd_examples/transform.pd create mode 100644 externals/gridflow/pd_examples/videodev_effects.pd create mode 100644 externals/gridflow/pd_examples/waves.pd (limited to 'externals/gridflow/pd_examples') diff --git a/externals/gridflow/pd_examples/binary_operations.pd b/externals/gridflow/pd_examples/binary_operations.pd new file mode 100644 index 00000000..cf4df98a --- /dev/null +++ b/externals/gridflow/pd_examples/binary_operations.pd @@ -0,0 +1,73 @@ +#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 new file mode 100644 index 00000000..48f5251a --- /dev/null +++ b/externals/gridflow/pd_examples/blob.pd @@ -0,0 +1,106 @@ +#N canvas 19 81 792 565 10; +#X floatatom 405 212 5 0 0 0 - - -; +#X obj 347 172 r move; +#X obj 56 95 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 56 128 240 320 3 # 0; +#X msg 461 357 300; +#X obj 398 342 # * 300; +#X obj 311 436 # cos*; +#X msg 460 319 1600; +#X msg 513 249 25; +#X obj 373 212 +; +#X msg 513 268 100; +#X obj 504 192 hsl 128 15 100 2600 0 1 empty empty empty -2 -6 0 8 +-260818 -1 -1 2297 1; +#X text 364 435 make circular orbit of variable radius; +#X floatatom 502 211 5 0 0 0 - - -; +#X msg 461 338 800; +#X text 294 325 frequency of the orbit; +#X text 500 177 increment; +#X msg 373 192 1; +#X obj 64 58 s move; +#X obj 311 394 #outer + ( 0 9000 ); +#X obj 73 94 loadbang; +#X obj 19 0 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 78 351 #out window; +#X obj 246 126 # +; +#X obj 438 299 # + 50; +#X text 401 197 counter; +#X obj 19 41 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 311 458 # + ( 120 160 ); +#X obj 19 309 #store; +#X text 65 113 blank image to start with; +#X text 272 127 translate the square; +#X text 546 247 make a wavy radius (50-100) \; the 1100 is its frequency +\; tune it for fun and profit.; +#X obj 19 58 t b b; +#X obj 368 232 t a a a; +#X msg 246 74 4 2 # -1 -1 -1 1 1 1 1 -1; +#X obj 19 22 metro 1.367; +#X obj 8 491 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 16 498 GridFlow 0.8.0; +#X obj 8 -38 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 21 -38 Blob.pd; +#X msg 514 287 10; +#X obj 437 257 # * 1000; +#X obj 101 215 #color; +#X obj 101 171 loadbang; +#X text 452 383 duplicate the angle \; make the 2nd 90 degrees apart +(required for a circle \; else it'll be an oval or a line); +#X obj 78 309 #draw_polygon + (3 # ); +#X text 21 -25 Copyright 2002 Mathieu Bouchard and Alexandre Castonguay +; +#X text 245 58 a 2x2 square's coordinates; +#X text 288 103 scale factor; +#X obj 246 102 # * 8; +#X obj 78 330 #solarize; +#X text 400 -1 This is the classic "Shadebob" effect of the demoscene +; +#X msg 101 193 12 24 36; +#X text 6 284 superimpose the light of many squares; +#X obj 438 278 # cos* 100; +#X connect 0 0 9 1; +#X connect 1 0 17 0; +#X connect 2 0 3 0; +#X connect 3 0 28 1; +#X connect 4 0 5 1; +#X connect 5 0 19 0; +#X connect 6 0 27 0; +#X connect 7 0 5 1; +#X connect 8 0 54 1; +#X connect 9 0 0 0; +#X connect 9 0 33 0; +#X connect 10 0 54 1; +#X connect 11 0 13 0; +#X connect 13 0 41 1; +#X connect 14 0 5 1; +#X connect 17 0 9 0; +#X connect 19 0 6 0; +#X connect 20 0 2 0; +#X connect 21 0 35 0; +#X connect 23 0 45 2; +#X connect 24 0 6 1; +#X connect 26 0 32 0; +#X connect 27 0 23 1; +#X connect 28 0 45 0; +#X connect 32 0 28 0; +#X connect 32 1 18 0; +#X connect 33 0 34 0; +#X connect 33 1 5 0; +#X connect 33 2 41 0; +#X connect 34 0 49 0; +#X connect 35 0 26 0; +#X connect 40 0 54 1; +#X connect 41 0 54 0; +#X connect 42 0 45 1; +#X connect 43 0 52 0; +#X connect 45 0 28 1; +#X connect 45 0 50 0; +#X connect 49 0 23 0; +#X connect 50 0 22 0; +#X connect 52 0 42 0; +#X connect 54 0 24 0; diff --git a/externals/gridflow/pd_examples/cellular_1d.pd b/externals/gridflow/pd_examples/cellular_1d.pd new file mode 100644 index 00000000..eb1c6c30 --- /dev/null +++ b/externals/gridflow/pd_examples/cellular_1d.pd @@ -0,0 +1,164 @@ +#N canvas 337 53 804 634 10; +#X obj 43 68 loadbang; +#X obj 93 382 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 1 +; +#X obj 108 382 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1 +1; +#X obj 123 382 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1 +1; +#X obj 138 382 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 +1; +#X obj 153 382 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1 +1; +#X obj 168 382 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 +1; +#X obj 183 382 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1 +1; +#X obj 198 382 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 +1; +#X obj 124 498 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 86 256; +#X obj -5 188 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 17 332 1 256 # 1; +#X msg 43 102 1 256 # 2; +#X obj 17 -2 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 418 199 loadbang; +#X msg 418 219 1 256 # 0; +#X text 131 482 characteristic number; +#X obj 428 11 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 4 256; +#X msg 467 69 \$1 256; +#X msg 352 82 set \$1; +#X text 104 124 randomizer; +#X text 91 361 specify behaviour here; +#X text 24 254 compute new state; +#X text 315 237 make scrollie; +#X text 367 270 convert bit matrix to rgb image; +#X text 313 250 (window height = 128); +#X obj 202 38 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 151 337 loadbang; +#X text 47 84 click here to restart; +#X obj 99 200 t a a; +#X obj 17 26 metro 33.3667; +#X obj 416 115 t a a; +#X obj 472 359 loadbang; +#X obj 389 495 unpack 0 0 0; +#X obj 564 494 unpack 0 0 0; +#X msg 389 394 3 # 0; +#X msg 565 395 3 # 255; +#X text 442 392 background; +#X text 629 395 foreground; +#X obj 17 292 t a a; +#X obj 43 124 # rand; +#X obj 17 234 #store; +#X obj 17 312 #finished; +#X obj 17 352 # <<; +#X obj 17 372 # &; +#X obj 17 392 # != 0; +#X obj 123 406 #pack 8; +#X obj 124 445 #fold +; +#X obj 124 466 #export; +#X obj 202 56 #for 0 256 1; +#X obj 202 76 # == 128; +#X obj 202 96 #redim ( 1 256 ); +#X obj 416 96 #import ( 1 256 ); +#X obj 416 135 #finished; +#X obj 352 157 #for 1 128 1; +#X obj 352 177 #outer ignore ( 0 ); +#X obj 352 197 #store; +#X obj 352 218 @join 0; +#X obj 351 287 #outer ignore ( 0 ); +#X obj 351 308 #store; +#X obj 398 308 #redim ( 2 3 ); +#X obj 389 414 #color; +#X obj 565 414 #color; +#X obj 389 475 #export_list; +#X obj 565 475 #export_list; +#X obj 492 526 #pack 6; +#X obj 17 272 #convolve (1 3 # 1 2 4); +#X obj 124 426 # << (0 1 2 3 4 5 6 7); +#X obj -4 550 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 4 557 GridFlow 0.8.0; +#X obj -7 -50 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 351 330 #out window; +#X text -3 -35 Copyright 2002 Mathieu Bouchard; +#X text -3 -49 Cellular_1d; +#X obj 428 34 max 1; +#X text 495 9 <-- number of new lines per frame; +#X text 221 37 <-- make single dot; +#X connect 0 0 12 0; +#X connect 1 0 46 0; +#X connect 2 0 46 1; +#X connect 3 0 46 2; +#X connect 4 0 46 3; +#X connect 5 0 46 4; +#X connect 6 0 46 5; +#X connect 7 0 46 6; +#X connect 8 0 46 7; +#X connect 9 0 44 1; +#X connect 10 0 41 0; +#X connect 11 0 43 0; +#X connect 12 0 40 0; +#X connect 13 0 30 0; +#X connect 14 0 15 0; +#X connect 15 0 56 1; +#X connect 17 0 74 0; +#X connect 18 0 52 1; +#X connect 19 0 54 0; +#X connect 26 0 49 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 29 0 41 1; +#X connect 29 1 52 0; +#X connect 30 0 41 0; +#X connect 31 0 53 0; +#X connect 31 1 57 1; +#X connect 32 0 35 0; +#X connect 32 0 36 0; +#X connect 33 0 65 0; +#X connect 33 1 65 1; +#X connect 33 2 65 2; +#X connect 34 0 65 3; +#X connect 34 1 65 4; +#X connect 34 2 65 5; +#X connect 35 0 61 0; +#X connect 36 0 62 0; +#X connect 39 0 42 0; +#X connect 39 1 43 1; +#X connect 40 0 29 0; +#X connect 41 0 66 0; +#X connect 42 0 11 0; +#X connect 43 0 44 0; +#X connect 44 0 45 0; +#X connect 45 0 29 0; +#X connect 46 0 67 0; +#X connect 47 0 48 0; +#X connect 48 0 9 0; +#X connect 49 0 50 0; +#X connect 50 0 51 0; +#X connect 51 0 29 0; +#X connect 52 0 31 0; +#X connect 53 0 54 0; +#X connect 54 0 55 0; +#X connect 55 0 56 0; +#X connect 56 0 57 0; +#X connect 57 0 56 1; +#X connect 57 0 58 0; +#X connect 58 0 59 0; +#X connect 59 0 71 0; +#X connect 60 0 59 1; +#X connect 61 0 63 0; +#X connect 62 0 64 0; +#X connect 63 0 33 0; +#X connect 64 0 34 0; +#X connect 65 0 60 0; +#X connect 66 0 39 0; +#X connect 67 0 47 0; +#X connect 74 0 19 0; +#X connect 74 0 18 0; diff --git a/externals/gridflow/pd_examples/color_correction.pd b/externals/gridflow/pd_examples/color_correction.pd new file mode 100644 index 00000000..2a153d20 --- /dev/null +++ b/externals/gridflow/pd_examples/color_correction.pd @@ -0,0 +1,154 @@ +#N canvas 455 129 676 546 10; +#X text 360 96 sigma (extremes); +#X obj 134 433 #out window; +#X text 361 171 linear (contrast); +#X obj 134 364 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 386 pd color correction graph generator; +#X obj 19 295 #in; +#X text 360 244 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 274 pd color-correction; +#X obj 134 386 #store; +#X obj 29 5 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 29 50 #for 0 256 1; +#X msg 19 274 open teapot.png \, bang; +#X obj 164 298 #finished; +#X obj 29 27 metro 33.3667; +#X obj 19 254 loadbang; +#X obj 256 52 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X text 277 53 regular; +#X text 276 68 solarize; +#X text 277 82 solarize 2; +#X obj 29 91 shunt 3; +#X obj 29 163 t a; +#X obj 122 146 # sin* 255; +#X obj 123 127 # / 255; +#X obj 123 108 # * 18000; +#X obj 190 351 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X text 209 351 see picture; +#X text 209 366 see graph; +#X obj 8 231 spigot; +#X obj 57 232 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X text 13 214 enable stream; +#X text 361 20 gamma (midtones); +#X msg 254 143 3 # 256; +#X obj 253 123 loadbang; +#X msg 237 171 3 # 0; +#X obj 8 320 #camera; +#X obj 362 37 #color 0 1024 1; +#X obj 362 112 #color 0 1024 1; +#X obj 362 186 #color 0 1024 1; +#X obj 362 258 #color -256 256 1; +#X obj 51 114 #solarize; +#X obj 134 411 #apply_colormap_channelwise; +#X obj 2 -38 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 15 -25 Copyright 2002 Mathieu Bouchard; +#X obj 2 477 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 10 484 GridFlow 0.8.0; +#X text 15 -38 color_correction.pd; +#X obj 29 71 #outer + (0 0 0); +#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 12 0; +#X connect 7 0 4 1; +#X connect 7 0 40 1; +#X connect 8 0 40 0; +#X connect 9 0 13 0; +#X connect 10 0 46 0; +#X connect 11 0 5 0; +#X connect 12 0 3 0; +#X connect 13 0 10 0; +#X connect 13 0 27 0; +#X connect 14 0 11 0; +#X connect 15 0 19 1; +#X connect 19 0 20 0; +#X connect 19 1 39 0; +#X connect 19 2 23 0; +#X connect 20 0 7 0; +#X connect 21 0 20 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 24 0 3 1; +#X connect 27 0 34 0; +#X connect 28 0 27 1; +#X connect 31 0 35 0; +#X connect 31 0 36 0; +#X connect 31 0 37 0; +#X connect 32 0 31 0; +#X connect 32 0 33 0; +#X connect 33 0 38 0; +#X connect 34 0 8 1; +#X connect 35 0 7 1; +#X connect 36 0 7 2; +#X connect 37 0 7 3; +#X connect 38 0 7 4; +#X connect 39 0 20 0; +#X connect 40 0 1 0; +#X connect 46 0 19 0; diff --git a/externals/gridflow/pd_examples/color_detect.pd b/externals/gridflow/pd_examples/color_detect.pd new file mode 100644 index 00000000..91610cdb --- /dev/null +++ b/externals/gridflow/pd_examples/color_detect.pd @@ -0,0 +1,218 @@ +#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 new file mode 100644 index 00000000..19a08510 --- /dev/null +++ b/externals/gridflow/pd_examples/convolve.pd @@ -0,0 +1,94 @@ +#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 new file mode 100644 index 00000000..f7af6195 --- /dev/null +++ b/externals/gridflow/pd_examples/cross_fade.pd @@ -0,0 +1,73 @@ +#N canvas 401 101 681 500 10; +#X obj 33 191 # *>>8; +#X text 60 235 first picture plus a fraction of the difference; +#X obj 33 233 # +; +#X obj 33 170 #store; +#X obj 264 103 # inv+; +#X obj 88 254 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X text 152 324 note: the #layer/#join objects can make the crossfade +process simpler but it's still not faster.; +#X obj 50 -30 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X msg 309 72 open r001.jpg \, cast int16 \, bang; +#X obj 283 72 #in; +#X obj 33 149 #finished; +#X text 109 257 click to clip out-of-range colours; +#X text 82 190 multiply by a N/256 fraction; +#X obj 81 295 # max 0; +#X obj 264 51 #in; +#X obj 81 274 # min 255; +#X obj 33 326 #out window; +#X obj 33 109 #cast int16; +#X text 81 170 keep the difference between both pictures; +#X msg 290 51 open b001.jpg \, cast int16 \, bang; +#X obj 290 31 t b b; +#X obj 330 31 loadbang; +#X obj 33 253 shunt 2; +#X obj 50 -5 metro 33.3667; +#X obj 50 15 float; +#X obj 62 44 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 94 14 + 4; +#X obj 50 65 pingpong 256; +#X obj 61 87 hsl 129 15 0 256 0 0 empty empty empty -2 -6 0 8 -260818 +-1 -1 0 1; +#X obj 33 128 t a a; +#X text 153 362 also #draw_image/#join is a possibility; +#X obj 0 -77 cnv 15 680 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 14 -64 Copyright 2002 Mathieu Bouchard; +#X text 14 -80 cross_fade.pd; +#X obj 0 391 cnv 15 680 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 8 399 GridFlow 0.8.0; +#X connect 0 0 2 0; +#X connect 2 0 22 0; +#X connect 3 0 0 0; +#X connect 4 0 3 1; +#X connect 5 0 22 1; +#X connect 7 0 23 0; +#X connect 8 0 9 0; +#X connect 9 0 4 1; +#X connect 10 0 3 0; +#X connect 13 0 16 0; +#X connect 14 0 4 0; +#X connect 14 0 2 1; +#X connect 15 0 13 0; +#X connect 17 0 29 0; +#X connect 19 0 14 0; +#X connect 20 0 19 0; +#X connect 20 1 8 0; +#X connect 21 0 20 0; +#X connect 22 0 16 0; +#X connect 22 1 15 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 24 0 26 0; +#X connect 24 0 27 0; +#X connect 26 0 24 1; +#X connect 27 0 28 0; +#X connect 27 0 17 0; +#X connect 29 0 10 0; +#X connect 29 1 0 1; diff --git a/externals/gridflow/pd_examples/drag_rectangle.pd b/externals/gridflow/pd_examples/drag_rectangle.pd new file mode 100644 index 00000000..3453c9a8 --- /dev/null +++ b/externals/gridflow/pd_examples/drag_rectangle.pd @@ -0,0 +1,110 @@ +#N canvas 702 123 647 484 10; +#X obj 231 -7 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 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 12700 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 12647 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 425 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 266 listelement 0; +#X obj 367 190 listelement 1; +#X obj 260 225 listelement 0; +#X obj 368 149 listelement 1; +#X obj 368 170 s h_start_i; +#X obj 367 211 s h_end_i; +#X obj 260 287 s v_end_i; +#X obj 260 246 s v_start_i; +#X obj 378 65 loadbang; +#X msg 378 85 0 0; +#X obj 328 161 t a; +#X obj 64 330 #out window; +#X obj 47 267 #for ( 0 0 ) ( 0 0 ) ( 1 1 ); +#X obj 112 221 t b a; +#X obj 64 294 #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 69 312 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 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 30 0; +#X connect 11 0 6 0; +#X connect 12 0 30 0; +#X connect 13 0 6 1; +#X connect 13 0 16 0; +#X connect 13 0 17 0; +#X connect 13 0 29 0; +#X connect 13 0 24 0; +#X connect 13 1 24 0; +#X connect 13 2 24 0; +#X connect 13 2 27 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 28 0; +#X connect 27 0 26 0; +#X connect 27 1 26 1; +#X connect 28 0 25 0; +#X connect 29 0 26 0; +#X connect 30 0 11 1; +#X connect 30 0 28 1; diff --git a/externals/gridflow/pd_examples/eclipse.pd b/externals/gridflow/pd_examples/eclipse.pd new file mode 100644 index 00000000..65ef9ef3 --- /dev/null +++ b/externals/gridflow/pd_examples/eclipse.pd @@ -0,0 +1,80 @@ +#N canvas 623 182 635 533 10; +#X floatatom 292 323 5 0 0 0 - - -; +#X msg 244 303 24; +#X obj 61 -35 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X obj 244 281 loadbang; +#X msg 292 303 32; +#X floatatom 244 323 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 239 258 size of subimages; +#X obj 61 111 t a a a; +#X obj 61 166 t a a; +#X text 224 54 gain on colour blue; +#X obj 61 17 #camera; +#X obj 61 73 #scale_by 2; +#X obj 141 97 #dim; +#X obj 141 117 #inner (3 2 # 1 0 0 1 0 0); +#X obj 61 147 #finished; +#X obj 61 211 # /; +#X obj 61 234 # *; +#X obj 58 265 #store; +#X obj 70 311 # *; +#X obj 70 334 # >> 7; +#X obj 70 356 # min 255; +#X obj 70 378 #out window; +#X obj 244 343 #pack 2; +#X obj 141 242 # /; +#X obj 107 265 #store; +#X obj 107 242 # *; +#X obj 61 186 #for (0 0) (240 320) (1 1); +#X obj 107 208 #for (0 0) (240 320) (1 1); +#X obj 61 54 # *>>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 connect 0 0 24 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 24 0; +#X connect 6 0 12 0; +#X connect 7 0 12 0; +#X connect 9 0 16 0; +#X connect 9 1 14 0; +#X connect 9 1 19 1; +#X connect 9 1 26 1; +#X connect 10 0 28 0; +#X connect 10 1 29 0; +#X connect 12 0 30 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 25 0; +#X connect 15 0 28 1; +#X connect 15 0 29 1; +#X connect 16 0 10 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 22 0 23 0; +#X connect 24 0 17 1; +#X connect 24 0 18 1; +#X connect 24 0 25 1; +#X connect 25 0 27 1; +#X connect 26 0 20 1; +#X connect 27 0 26 0; +#X connect 28 0 17 0; +#X connect 29 0 27 0; +#X connect 30 0 13 0; diff --git a/externals/gridflow/pd_examples/epicycloid.pd b/externals/gridflow/pd_examples/epicycloid.pd new file mode 100644 index 00000000..c1589de9 --- /dev/null +++ b/externals/gridflow/pd_examples/epicycloid.pd @@ -0,0 +1,125 @@ +#N canvas 443 76 1178 736 10; +#X text 18 93 epicycloid; +#X text 18 116 x(t) = (R+r) cos(t) - p*cos((R+r)t/r); +#X text 18 140 y(t) = (R+r) sin(t) - p*sin((R+r)t/r); +#X obj 38 383 #draw_polygon put 1; +#X obj 287 438 #import ( 4 2 ); +#X obj 38 406 #out window; +#X obj -22 -22 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X obj 327 375 pack f f f f; +#X msg 327 404 \$2 \$1 \$4 \$1 \$4 \$3 \$2 \$3; +#X text 334 350 x; +#X text 394 352 y; +#X text 421 354 y+1; +#X text 357 352 x+1; +#X floatatom 327 327 5 0 0 0 - - -; +#X obj 369 325 + 1; +#X floatatom 405 327 5 0 0 0 - - -; +#X obj 447 324 + 1; +#X obj 332 297 t f f; +#X obj 417 297 t f f; +#X obj 0 50 s met; +#X obj 286 350 r met; +#X obj 468 97 hsl 128 15 5 100 0 1 empty empty empty -2 -6 0 8 -24198 +-1 -1 5500 1; +#X obj 585 148 hsl 128 15 -100 100 0 1 empty empty empty -2 -6 0 8 +-44926 -1 -1 4000 1; +#X obj 732 173 hsl 128 15 -150 150 0 1 empty empty empty -2 -6 0 8 +-258699 -1 -1 3200 1; +#X text 439 52 t = valeur en angles de 0 a 360; +#X obj 465 153 t f f; +#X obj 582 180 t f f; +#X obj 729 193 t f f; +#X obj 333 127 * 6.28319; +#X obj 333 106 / 360; +#X floatatom 333 88 5 0 0 0 - - -; +#X obj 333 152 t f f; +#X obj -22 355 #store; +#X obj 15 205 loadbang; +#X obj 420 250 expr ($f2+$f3)*sin($f1) - $f4*sin(($f2+$f3)*$f1/$f3) +; +#X obj 333 212 expr ($f2+$f3)*cos($f1) - $f4*cos(($f2+$f3)*$f1/$f3) +; +#X obj 333 65 + 1; +#X msg 333 41 1; +#X floatatom 375 65 5 0 0 0 - - -; +#X msg 375 16 0; +#X text 406 19 reset count; +#X text 129 231 reset image; +#X text 540 126 r = Rayon du deuxieme cercle -100 a 100; +#X obj 420 275 + 150; +#X obj 333 272 + 150; +#X floatatom 477 123 5 0 0 0 - - -; +#X floatatom 633 173 5 0 0 0 - - -; +#X floatatom 779 196 5 0 0 0 - - -; +#X obj -22 7 metro 1; +#X obj 33 -21 hsl 128 15 0 15 0 0 empty empty empty -2 -6 0 8 -260818 +-1 -1 0 1; +#X text 440 78 R = Rayon du premier cercle 5 a 100; +#X obj -38 525 cnv 15 900 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -29 532 GridFlow 0.8.0; +#X text -29 532 GridFlow 0.8.0; +#X obj -35 -85 cnv 15 940 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 102 317 #color; +#X obj 102 268 loadbang; +#X msg 102 292 230 224 0; +#X msg 15 232 300 300 3 # 0; +#X text -22 -72 Copyright 2004 Alexandre Castonguay; +#X text -22 -85 epicycloid.pd; +#X text 80 204 start with a blank \, black image; +#X text 727 158 deuxieme cercle - 150 a 150; +#X text 727 143 p = distance du centre du; +#X connect 3 0 5 0; +#X connect 3 0 32 1; +#X connect 4 0 3 2; +#X connect 6 0 48 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 13 0 7 0; +#X connect 14 0 7 2; +#X connect 15 0 7 1; +#X connect 16 0 7 3; +#X connect 17 0 13 0; +#X connect 17 1 14 0; +#X connect 18 0 15 0; +#X connect 18 1 16 0; +#X connect 20 0 7 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 23 0 27 0; +#X connect 23 0 47 0; +#X connect 25 0 35 1; +#X connect 25 1 34 1; +#X connect 26 0 35 2; +#X connect 26 1 34 2; +#X connect 27 0 35 3; +#X connect 27 1 34 3; +#X connect 28 0 31 0; +#X connect 29 0 28 0; +#X connect 30 0 29 0; +#X connect 31 0 35 0; +#X connect 31 1 34 0; +#X connect 32 0 3 0; +#X connect 33 0 58 0; +#X connect 34 0 43 0; +#X connect 35 0 44 0; +#X connect 36 0 38 0; +#X connect 36 0 30 0; +#X connect 37 0 36 0; +#X connect 38 0 36 1; +#X connect 39 0 38 0; +#X connect 43 0 18 0; +#X connect 44 0 17 0; +#X connect 48 0 19 0; +#X connect 48 0 32 0; +#X connect 48 0 37 0; +#X connect 49 0 48 1; +#X connect 55 0 3 1; +#X connect 56 0 57 0; +#X connect 57 0 55 0; +#X connect 58 0 32 1; diff --git a/externals/gridflow/pd_examples/feedback_fractal.pd b/externals/gridflow/pd_examples/feedback_fractal.pd new file mode 100644 index 00000000..2d012a78 --- /dev/null +++ b/externals/gridflow/pd_examples/feedback_fractal.pd @@ -0,0 +1,147 @@ +#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 462 229 pd experimental features; +#X text 527 134 Choose Julia Mapping or Rotation; +#X obj 31 -34 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X obj 414 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 190 59 apply transform (with feedback); +#X floatatom 454 281 5 0 0 0 - - -; +#X floatatom 451 323 5 0 0 0 - - -; +#X msg 84 319 cast uint8 \, bang; +#X text 530 281 zoom; +#X text 531 324 move x; +#X msg 501 324 -45; +#X msg 501 281 128; +#X obj 170 60 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 450 92 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 505 133 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X floatatom 451 303 5 0 0 0 - - -; +#X text 531 303 move y; +#X msg 501 303 193; +#X obj 31 -7 metro 33.3667; +#X obj 450 131 shunt 2; +#X obj 84 297 loadbang; +#X obj 414 45 t b b; +#X obj 414 21 loadbang; +#X obj 31 276 t a; +#X obj 202 99 loadbang; +#X obj 212 119 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 200 266 t a; +#X obj 31 21 t b b; +#X obj 73 22 float; +#X obj 73 41 + 1; +#X obj 84 61 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 24 256; +#X obj 508 257 t b; +#X text 230 120 reset transform; +#X obj 99 41 mod 60; +#X obj 73 81 sel 59; +#X obj 31 113 #store; +#X obj 31 189 # << 7; +#X obj 31 223 #fade 10; +#X obj 31 252 # >> 7; +#X obj 31 335 #store; +#X obj 84 340 #in teapot.png; +#X obj 31 364 #out window; +#X obj 414 391 # -; +#X obj 438 367 # - 128; +#X obj 438 345 #two; +#X obj 414 303 # /; +#X obj 414 229 #store; +#X obj 450 110 #for ( -128 -128 ) ( 128 128 ) ( 1 1 ); +#X obj 446 154 @complex_sq; +#X obj 461 175 #inner (2 2 # 120 30 -30 120); +#X obj -13 -87 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj -15 431 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 438 GridFlow 0.8.0; +#X text -7 438 GridFlow 0.8.0; +#X text 0 -87 feedback_fractal.pd; +#X text 0 -74 Copyright 2001 Mathieu Bouchard; +#X obj 212 138 #for (0 0) (256 256) (1 1); +#X obj 210 210 #convolve (2 2 # 1); +#X obj 209 232 # >> 2; +#X obj 200 181 #store; +#X obj 200 159 #store; +#X connect 0 0 46 1; +#X connect 2 0 18 0; +#X connect 3 0 46 0; +#X connect 5 0 45 1; +#X connect 7 0 40 0; +#X connect 10 0 6 0; +#X connect 11 0 17 0; +#X connect 11 0 5 0; +#X connect 12 0 60 0; +#X connect 13 0 47 0; +#X connect 14 0 19 1; +#X connect 17 0 15 0; +#X connect 18 0 27 0; +#X connect 19 0 48 0; +#X connect 19 1 49 0; +#X connect 20 0 7 0; +#X connect 21 0 3 0; +#X connect 21 1 13 0; +#X connect 21 1 31 0; +#X connect 22 0 21 0; +#X connect 23 0 39 0; +#X connect 24 0 56 0; +#X connect 25 0 56 0; +#X connect 26 0 35 1; +#X connect 26 0 59 1; +#X connect 27 0 35 0; +#X connect 27 1 28 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 29 0 33 0; +#X connect 29 0 34 0; +#X connect 31 0 11 0; +#X connect 31 0 17 0; +#X connect 31 0 10 0; +#X connect 33 0 28 1; +#X connect 34 0 12 0; +#X connect 35 0 36 0; +#X connect 36 0 37 0; +#X connect 37 0 38 0; +#X connect 38 0 23 0; +#X connect 39 0 41 0; +#X connect 40 0 39 1; +#X connect 42 0 60 1; +#X connect 43 0 42 1; +#X connect 45 0 42 0; +#X connect 46 0 45 0; +#X connect 47 0 19 0; +#X connect 48 0 46 1; +#X connect 49 0 46 1; +#X connect 56 0 35 1; +#X connect 56 0 59 1; +#X connect 57 0 58 0; +#X connect 58 0 26 0; +#X connect 59 0 26 0; +#X connect 60 0 59 0; diff --git a/externals/gridflow/pd_examples/fire.pd b/externals/gridflow/pd_examples/fire.pd new file mode 100644 index 00000000..2a88a3a0 --- /dev/null +++ b/externals/gridflow/pd_examples/fire.pd @@ -0,0 +1,180 @@ +#N canvas 399 42 621 522 10; +#X obj 347 171 loadbang; +#X text 229 287 palette generator; +#X obj 103 329 fps detailed; +#X obj 250 325 #for 0 256 1; +#X obj 23 180 #store; +#X obj 250 347 #outer gamma; +#X obj 103 351 print; +#X msg 60 130 \$1 \$2 # 0; +#X obj 71 217 #outer ignore ( 0 ); +#X obj 250 304 #finished; +#X obj 23 -25 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X obj 204 -21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 40 71 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 318 304 fork; +#X text 262 2 height width; +#X obj 103 307 #out window; +#X text 101 269 applying palette; +#X obj 103 287 #store; +#N canvas 268 454 450 300 circle 0; +#X obj 47 177 #fold +; +#X obj 47 244 # << 7; +#X obj 47 199 # >> 6; +#X obj 47 157 @! sq; +#X obj 47 222 # == 10; +#X obj 47 15 inlet size; +#X obj 47 267 outlet matrix; +#X obj 47 126 #for ( 0 0 ) ( 0 0 ) ( 1 1 ); +#X obj 47 34 # / 2; +#X obj 47 77 t a a; +#X obj 47 54 #export_list; +#X obj 47 101 # inv+; +#X connect 0 0 2 0; +#X connect 1 0 6 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 8 0; +#X connect 7 0 3 0; +#X connect 8 0 10 0; +#X connect 9 0 11 0; +#X connect 9 1 7 1; +#X connect 10 0 9 0; +#X connect 11 0 7 0; +#X restore 247 84 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 204 117 pd baseline generator; +#X text 78 236 (height \, width \, 1) grid = grey image; +#X text 49 113 make blank image; +#X text 30 163 feedback loop; +#X text 78 200 (height \, width) grid = matrix; +#X obj 204 63 shunt 2; +#X obj 258 64 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X obj 347 213 #color 0 800 1; +#X msg 347 191 600 200 75; +#X obj 224 -22 loadbang; +#N canvas 645 360 400 289 fire 1; +#X obj 174 180 #store; +#X obj 61 196 #export_list; +#X obj 6 65 # >> 2; +#X obj 6 26 fork; +#X obj 6 45 #convolve ( 3 3 # 1 0 0 0 1 0 1 1 1 ); +#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 connect 0 0 17 1; +#X connect 1 0 6 1; +#X connect 2 0 17 0; +#X connect 3 0 4 0; +#X connect 3 1 10 0; +#X connect 4 0 2 0; +#X connect 5 0 15 0; +#X connect 6 0 8 0; +#X connect 7 0 14 0; +#X connect 8 0 24 0; +#X connect 9 0 6 0; +#X connect 10 0 9 0; +#X connect 11 0 14 1; +#X connect 11 0 13 0; +#X connect 12 0 0 1; +#X connect 13 0 1 0; +#X connect 14 0 5 0; +#X connect 16 0 25 0; +#X connect 17 0 7 0; +#X connect 18 0 3 0; +#X connect 19 0 16 0; +#X connect 24 0 0 0; +#X connect 25 0 12 0; +#X restore 71 180 pd fire generator; +#X text 183 46 note: reset the size if you change the generator; +#X msg 204 2 80 256; +#X obj 23 -2 metro 33.3667; +#X obj -15 -84 cnv 15 620 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text -5 -84 fire.pd; +#X text -5 -71 Copyright 2001 Mathieu Bouchard; +#X obj -15 403 cnv 15 620 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 411 GridFlow 0.8.0; +#X text -7 411 GridFlow 0.8.0; +#X connect 0 0 27 0; +#X connect 2 0 6 0; +#X connect 3 0 5 0; +#X connect 4 0 29 0; +#X connect 5 0 17 1; +#X connect 7 0 4 1; +#X connect 8 0 17 0; +#X connect 9 0 3 0; +#X connect 10 0 32 0; +#X connect 11 0 31 0; +#X connect 12 0 4 0; +#X connect 13 0 9 0; +#X connect 13 1 5 1; +#X connect 15 0 2 0; +#X connect 17 0 15 0; +#X connect 18 0 29 1; +#X connect 19 0 29 1; +#X connect 24 0 19 0; +#X connect 24 1 18 0; +#X connect 25 0 24 1; +#X connect 26 0 13 0; +#X connect 27 0 26 0; +#X connect 28 0 31 0; +#X connect 29 0 8 0; +#X connect 29 0 4 1; +#X connect 31 0 7 0; +#X connect 31 0 29 2; +#X connect 31 0 24 0; +#X connect 32 0 4 0; diff --git a/externals/gridflow/pd_examples/game_of_life.pd b/externals/gridflow/pd_examples/game_of_life.pd new file mode 100644 index 00000000..c35187a9 --- /dev/null +++ b/externals/gridflow/pd_examples/game_of_life.pd @@ -0,0 +1,67 @@ +#N canvas 400 83 719 454 10; +#X text 41 -19 click here; +#X obj 23 -17 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X obj 31 251 #out window; +#X text 48 92 this is the feedback loop; +#X obj 123 0 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 141 -1 for 0 10 1; +#X obj 263 53 loadbang; +#X obj 141 73 #store; +#X obj 141 19 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 31 291 print; +#X obj 31 271 fps detailed; +#X obj 31 113 fork; +#X text 159 19 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 72 pd game of life; +#X text 260 20 init with a random map; +#X text 262 35 10% white dots; +#X text 33 179 convert this 1-bit matrix to standard RGB \; 1 becomes +-1 becomes 255 \, but 0 stays 0; +#X obj 23 15 metro 5; +#X obj -15 339 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 346 GridFlow 0.8.0; +#X text -7 346 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 -85 game_of_life.pd; +#X text 0 -72 Copyright 2001 Mathieu Bouchard; +#X obj 263 97 # rand (b #); +#X obj 263 119 # == (b # 0); +#X msg 263 75 240 320 b # 10; +#X obj 31 209 # inv+ (b # 0); +#X obj 31 230 #outer ignore (3 b #); +#X connect 1 0 17 0; +#X connect 2 0 10 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 26 0; +#X connect 7 0 13 0; +#X connect 8 0 7 0; +#X connect 10 0 9 0; +#X connect 11 0 27 0; +#X connect 11 1 7 1; +#X connect 13 0 11 0; +#X connect 17 0 7 0; +#X connect 24 0 25 0; +#X connect 25 0 11 0; +#X connect 26 0 24 0; +#X connect 27 0 28 0; +#X connect 28 0 2 0; diff --git a/externals/gridflow/pd_examples/goop.pd b/externals/gridflow/pd_examples/goop.pd new file mode 100644 index 00000000..8f96d2c4 --- /dev/null +++ b/externals/gridflow/pd_examples/goop.pd @@ -0,0 +1,138 @@ +#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 new file mode 100644 index 00000000..fb101d24 --- /dev/null +++ b/externals/gridflow/pd_examples/hello-world.pd @@ -0,0 +1,38 @@ +#N canvas 604 118 501 445 10; +#X obj 46 67 # / 320; +#X obj 46 187 # * 255; +#X obj 46 153 # != 0; +#X obj 46 -12 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 46 280 #out window; +#X obj 46 99 # inv+ 7; +#X obj 46 15 #for 0 320 1; +#X obj 46 48 # * 7; +#X obj 46 -34 loadbang; +#X text 66 -12 make one line:; +#X text 54 31 numbers 0 to 319; +#X text 55 84 numbers 0 to 6 repeated 45 or 46 times; +#X text 56 116 numbers 7 down to 1 ...; +#X text 53 172 3*1-bit rgb image line; +#X text 83 206 3*8-bit rgb image line; +#X text 53 234 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 46 134 #outer & (2 4 1); +#X obj 46 252 #redim (240 320 3); +#X obj -14 319 cnv 15 500 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 325 GridFlow 0.8.0; +#X text -7 325 GridFlow 0.8.0; +#X text 0 -72 Copyright 2001 Mathieu Bouchard; +#X connect 0 0 5 0; +#X connect 1 0 19 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 5 0 18 0; +#X connect 6 0 7 0; +#X connect 7 0 0 0; +#X connect 8 0 3 0; +#X connect 18 0 2 0; +#X connect 19 0 4 0; diff --git a/externals/gridflow/pd_examples/image_stats.pd b/externals/gridflow/pd_examples/image_stats.pd new file mode 100644 index 00000000..9f9c753a --- /dev/null +++ b/externals/gridflow/pd_examples/image_stats.pd @@ -0,0 +1,62 @@ +#N canvas 391 151 716 416 10; +#X obj 257 173 print total_value; +#X obj 523 151 #dim; +#X obj 22 187 #export_list; +#X obj 328 150 print number_of_values; +#X obj 523 200 print number_of_dimensions; +#X obj 523 173 #export; +#X obj 185 91 #fold +; +#X obj 281 201 /; +#X obj 185 135 #fold +; +#X obj 22 215 print total_pixel; +#X obj 185 57 fork; +#X obj 245 28 #in; +#X obj 328 106 #fold * \, seed 1; +#X obj 480 112 print dimensions; +#X obj 281 228 print average_value; +#X obj 186 157 #export; +#X obj 185 113 #fold +; +#X obj 480 90 #export_list; +#X obj 480 68 #dim; +#X obj 328 84 #dim; +#X obj 328 128 #export; +#X msg 271 -35 open bluemarble.jpg \, bang; +#X msg 271 -15 open teapot.png \, bang; +#X msg 271 5 open r001.jpg \, bang; +#X obj -15 304 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 311 GridFlow 0.8.0; +#X text -7 311 GridFlow 0.8.0; +#X obj -13 -85 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text -5 -72 Copyright 2001 Mathieu Bouchard; +#X text -5 -86 image_stats.pd; +#X obj 22 131 #fold + \, seed (3 #); +#X obj 22 92 #fold + \, seed (3 #); +#X text 460 -36 <-- 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 new file mode 100644 index 00000000..b5e87d8d --- /dev/null +++ b/externals/gridflow/pd_examples/linear_transform.pd @@ -0,0 +1,123 @@ +#N canvas 454 137 685 580 10; +#X text 455 -6 click here to go in manual mode; +#X floatatom 138 224 5 0 0 0 - - -; +#X obj 7 289 # >> 11; +#X obj 7 62 #store; +#X obj 194 204 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0 +8 -260818 -1 -1 0 1; +#X obj 545 123 * 3; +#X obj 418 376 # sin*; +#X obj 194 223 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0 +8 -260818 -1 -1 0 1; +#X floatatom 138 170 5 0 0 0 - - -; +#X msg 448 137 10000; +#X obj 7 -26 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 194 166 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0 +8 -260818 -1 -1 0 1; +#X obj 94 40 loadbang; +#X obj 82 266 #redim ( 2 2 ); +#X text 191 147 linear transform; +#X obj 7 310 # + 128; +#X floatatom 138 188 5 0 0 0 - - -; +#X floatatom 138 206 5 0 0 0 - - -; +#X obj 194 185 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0 +8 -260818 -1 -1 0 1; +#X obj 418 175 vsl 15 128 0 35999 0 0 empty empty empty 0 -8 0 8 -260818 +-1 -1 12700 1; +#X obj 453 174 vsl 15 128 -10000 10000 0 0 empty empty empty 0 -8 0 +8 -260818 -1 -1 7400 1; +#X obj 427 34 % 36000; +#X obj 448 116 loadbang; +#X text 360 146 rotozoomer; +#X obj 545 143 # sin* 100; +#X obj 384 -6 shunt 2; +#X msg 132 342 open teapot.png \, bang; +#X msg 545 215 set \$1; +#X obj 132 321 loadbang; +#X obj 7 363 #store; +#X obj 7 384 #out window; +#X obj 453 312 t b f; +#X obj 439 -5 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 1 1 +; +#X obj 81 247 #pack 4; +#X obj 7 35 t b b; +#X obj 384 33 float; +#X obj 427 14 + 100; +#X obj 545 164 # inv* 100000; +#X obj 545 185 #export; +#X obj 63 341 #camera; +#X obj 132 363 #in; +#X obj 63 321 spigot; +#X obj 111 322 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 7 268 #inner; +#X obj 81 144 loadbang; +#X obj 23 412 fps detailed; +#X obj 23 435 print; +#X obj 7 8 metro 5; +#X obj -18 -85 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 1 -72 Copyright 2002 Mathieu Bouchard; +#X text 1 -85 convolve.pd; +#X obj -18 -85 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 1 -85 linear_transform.pd; +#X obj 94 61 #for (-128 -128) (128 128) (1 1); +#X obj 418 355 #outer + (9000 18000 0 9000); +#X text 1 -72 Copyright 2001 Mathieu Bouchard; +#X obj -18 464 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -10 471 GridFlow 0.8.0; +#X text -10 471 GridFlow 0.8.0; +#X connect 1 0 33 3; +#X connect 2 0 15 0; +#X connect 3 0 43 0; +#X connect 4 0 17 0; +#X connect 5 0 24 0; +#X connect 6 0 13 0; +#X connect 7 0 1 0; +#X connect 8 0 33 0; +#X connect 9 0 20 0; +#X connect 10 0 47 0; +#X connect 11 0 8 0; +#X connect 12 0 53 0; +#X connect 13 0 43 1; +#X connect 15 0 29 0; +#X connect 16 0 33 1; +#X connect 17 0 33 2; +#X connect 18 0 16 0; +#X connect 19 0 54 0; +#X connect 20 0 31 0; +#X connect 21 0 35 1; +#X connect 22 0 9 0; +#X connect 24 0 37 0; +#X connect 25 0 35 0; +#X connect 26 0 40 0; +#X connect 27 0 20 0; +#X connect 28 0 26 0; +#X connect 29 0 30 0; +#X connect 30 0 45 0; +#X connect 31 0 19 0; +#X connect 31 1 6 1; +#X connect 32 0 25 1; +#X connect 33 0 13 0; +#X connect 34 0 3 0; +#X connect 34 1 25 0; +#X connect 34 1 41 0; +#X connect 35 0 36 0; +#X connect 35 0 19 0; +#X connect 35 0 5 0; +#X connect 36 0 21 0; +#X connect 37 0 38 0; +#X connect 38 0 27 0; +#X connect 38 0 31 0; +#X connect 39 0 29 1; +#X connect 40 0 29 1; +#X connect 41 0 39 0; +#X connect 42 0 41 1; +#X connect 43 0 2 0; +#X connect 44 0 33 0; +#X connect 45 0 46 0; +#X connect 47 0 34 0; +#X connect 53 0 3 1; +#X connect 54 0 6 0; diff --git a/externals/gridflow/pd_examples/motion_detect.pd b/externals/gridflow/pd_examples/motion_detect.pd new file mode 100644 index 00000000..c0d00178 --- /dev/null +++ b/externals/gridflow/pd_examples/motion_detect.pd @@ -0,0 +1,44 @@ +#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 new file mode 100644 index 00000000..1f20094e --- /dev/null +++ b/externals/gridflow/pd_examples/nervous_video.pd @@ -0,0 +1,154 @@ +#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 new file mode 100644 index 00000000..b97e2008 --- /dev/null +++ b/externals/gridflow/pd_examples/photo_pianoroll.pd @@ -0,0 +1,159 @@ +#N canvas 476 141 695 640 10; +#X obj 146 24 #in lada.jpg; +#X obj 58 479 #out window; +#X obj 28 -9 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 58 93 #store; +#X obj 164 3 loadbang; +#X text 268 -34 How to play a car; +#X obj 146 4 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 406 488 dac~; +#X obj 333 54 +; +#X msg 333 33 1; +#X obj 361 54 % 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 405 448 pd fft; +#X obj 7 41 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1 +; +#X obj 28 40 t b b; +#X msg 284 418 4 2 # 0 0 0 502 1 502 1 0; +#X obj 284 437 # +; +#X obj 58 418 t a b; +#X msg 311 437 \$1 0; +#X obj 58 439 #greyscale_to_rgb; +#X obj 477 135 #store; +#X obj 476 214 #export_list; +#X obj 517 234 s array1; +#X obj 477 174 #cast float32; +#X obj 186 126 # inv+ 255; +#X obj 146 64 # min 255; +#X obj 146 45 # * 3; +#X msg 477 113 1 1 # \$1; +#X obj 444 14 table array1 502; +#X obj 477 234 t b a; +#X obj 350 437 r row; +#X obj 361 76 s row; +#X obj 478 285 t f f; +#X obj 480 392 tabwrite array2; +#X obj 479 326 exp; +#X obj 137 221 #mouse \, ...; +#X obj 272 242 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 224 243 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 165 374 #draw_polygon put; +#X msg 272 259 1 # 255; +#X msg 223 261 1 # 0; +#X obj 169 350 spigot; +#X obj 280 292 t a a; +#X obj 294 374 # +; +#X obj 146 139 t a; +#X msg 280 314 4 2 # 0 0 0 1 1 1 1 0; +#X obj 280 336 # *; +#X obj 357 333 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262131 -1 -1 20 256; +#X msg 185 182 365 502 1 # 255; +#X text 296 182 clear; +#X obj 480 373 tabread4 array1; +#X obj 477 265 for 0 64 1; +#X obj 477 154 #fade 5; +#X obj 444 35 table array2 1024; +#X obj 406 468 lop~ 1000; +#X obj 479 305 / 20; +#X obj 480 346 * 22; +#X obj 28 19 metro 46.44; +#X obj 357 350 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262131 -1 -1 1 256; +#X obj 325 373 #pack 2; +#X obj 475 194 # / ( float32 # 4000 ); +#X obj 186 155 #convolve ( 1 7 # 1 1 2 8 2 1 1 ); +#X obj 514 90 # >> 4; +#X obj 146 84 #convolve ( 2 2 # 1 ); +#X obj 146 103 # >> 2; +#X obj 58 459 #draw_polygon put (3 # 255 0 0); +#X obj -18 524 cnv 15 700 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -10 531 GridFlow 0.8.0; +#X text -10 531 GridFlow 0.8.0; +#X obj -18 -85 cnv 15 700 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text -3 -86 photo_pianoroll.pd; +#X text -5 -72 Copyright 2004 Mathieu Bouchard; +#X connect 0 0 25 0; +#X connect 1 0 34 0; +#X connect 2 0 56 0; +#X connect 3 0 16 0; +#X connect 3 0 40 0; +#X connect 4 0 0 0; +#X connect 6 0 0 0; +#X connect 8 0 10 0; +#X connect 9 0 8 0; +#X connect 10 0 8 1; +#X connect 10 0 30 0; +#X connect 10 0 26 0; +#X connect 11 0 53 0; +#X connect 12 0 13 0; +#X connect 13 0 9 0; +#X connect 13 1 3 0; +#X connect 14 0 15 0; +#X connect 15 0 64 2; +#X connect 16 0 18 0; +#X connect 16 1 14 0; +#X connect 17 0 15 1; +#X connect 18 0 64 0; +#X connect 19 0 51 0; +#X connect 20 0 28 0; +#X connect 22 0 59 0; +#X connect 23 0 60 0; +#X connect 24 0 62 0; +#X connect 25 0 24 0; +#X connect 26 0 19 0; +#X connect 28 0 50 0; +#X connect 28 1 21 0; +#X connect 29 0 17 0; +#X connect 31 0 54 0; +#X connect 31 1 32 1; +#X connect 33 0 55 0; +#X connect 34 0 41 0; +#X connect 34 1 41 0; +#X connect 34 4 36 0; +#X connect 34 4 40 1; +#X connect 34 6 35 0; +#X connect 34 6 40 1; +#X connect 35 0 38 0; +#X connect 36 0 39 0; +#X connect 37 0 43 0; +#X connect 38 0 37 1; +#X connect 39 0 37 1; +#X connect 40 0 37 0; +#X connect 41 0 44 0; +#X connect 41 1 42 1; +#X connect 42 0 37 2; +#X connect 43 0 3 1; +#X connect 43 0 23 0; +#X connect 44 0 45 0; +#X connect 45 0 42 0; +#X connect 46 0 58 0; +#X connect 47 0 43 0; +#X connect 49 0 32 0; +#X connect 50 0 31 0; +#X connect 51 0 22 0; +#X connect 53 0 7 0; +#X connect 53 0 7 1; +#X connect 54 0 33 0; +#X connect 55 0 49 0; +#X connect 56 0 13 0; +#X connect 57 0 58 1; +#X connect 58 0 45 1; +#X connect 59 0 20 0; +#X connect 60 0 61 0; +#X connect 61 0 19 1; +#X connect 62 0 63 0; +#X connect 63 0 43 0; +#X connect 64 0 1 0; diff --git a/externals/gridflow/pd_examples/plot.pd b/externals/gridflow/pd_examples/plot.pd new file mode 100644 index 00000000..dad9db76 --- /dev/null +++ b/externals/gridflow/pd_examples/plot.pd @@ -0,0 +1,73 @@ +#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 new file mode 100644 index 00000000..d43a14f8 --- /dev/null +++ b/externals/gridflow/pd_examples/polygon.pd @@ -0,0 +1,113 @@ +#N canvas 242 170 497 560 10; +#X obj 30 250 #draw_polygon +; +#X obj 127 3 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 +; +#X obj 187 80 +; +#X obj 30 214 #store; +#X obj 220 102 * 5000; +#X obj 165 -27 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X msg 187 61 1; +#X obj 30 394 #out window; +#X obj 391 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 289 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 80 129 pd color generator; +#X obj 165 1 metro 33.3667; +#X obj 165 34 t b b b; +#X obj 30 71 t b; +#X floatatom 392 151 6 0 0 0 - - -; +#X obj 89 194 loadbang; +#X obj 215 81 % 36000; +#X obj 46 272 shunt 2; +#X obj 115 274 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X text 133 273 blur; +#X msg 89 214 240 320 3 b # 0; +#X obj 80 167 #cast b; +#X obj 80 148 # >> 7; +#X obj 74 357 #solarize; +#X obj 30 317 shunt 2; +#X obj 93 318 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X obj 131 301 # >> (b # 2); +#X obj 131 321 #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 connect 0 0 17 0; +#X connect 0 0 24 0; +#X connect 1 0 12 0; +#X connect 2 0 16 0; +#X connect 3 0 0 0; +#X connect 4 0 9 1; +#X connect 5 0 11 0; +#X connect 6 0 2 0; +#X connect 8 0 14 0; +#X connect 9 0 0 2; +#X connect 10 0 22 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 12 1 6 0; +#X connect 12 2 9 0; +#X connect 13 0 3 0; +#X connect 14 0 9 2; +#X connect 15 0 20 0; +#X connect 16 0 2 1; +#X connect 16 0 10 0; +#X connect 16 0 4 0; +#X connect 17 0 3 1; +#X connect 17 1 26 0; +#X connect 18 0 17 1; +#X connect 20 0 3 1; +#X connect 21 0 0 1; +#X connect 22 0 21 0; +#X connect 23 0 7 0; +#X connect 24 0 7 0; +#X connect 24 1 23 0; +#X connect 25 0 24 1; +#X connect 26 0 27 0; +#X connect 27 0 3 1; diff --git a/externals/gridflow/pd_examples/ripple.pd b/externals/gridflow/pd_examples/ripple.pd new file mode 100644 index 00000000..634122d0 --- /dev/null +++ b/externals/gridflow/pd_examples/ripple.pd @@ -0,0 +1,190 @@ +#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 new file mode 100644 index 00000000..42a0ed93 --- /dev/null +++ b/externals/gridflow/pd_examples/sand.pd @@ -0,0 +1,417 @@ +#N canvas 524 30 680 685 10; +#X text 317 199 disable falling; +#X obj 6 392 # min 255; +#X obj 3 167 fork; +#X obj 295 402 # != 0; +#X obj 356 446 #fold +; +#X obj 99 518 s position; +#X obj 192 -31 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X obj 295 465 #export; +#X obj 192 68 #store; +#X obj 247 133 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 398 151 pd mouse click/drag; +#X obj 358 152 # / 2; +#X obj 295 423 #ravel; +#X msg 11 142 100 100; +#X obj 6 415 # max; +#X obj 247 198 shunt 2; +#X obj 26 187 s size; +#X obj 295 444 #fold +; +#X obj 454 112 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 356 404 @! abs; +#X obj 432 412 #export; +#X obj 432 370 #ravel; +#X obj 288 260 shunt 2; +#X obj 301 199 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 356 467 #export; +#X obj 398 111 shunt 2; +#X obj 6 348 #greyscale_to_rgb; +#X obj 399 132 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 247 218 pd falling sand; +#X obj 6 465 #scale_by 2; +#X obj 8 287 shunt 3; +#X obj 6 540 print; +#X obj 136 26 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X text 253 -8 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 292 238 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 290 152 pd finger; +#X obj 342 376 # -; +#X obj 356 425 #ravel; +#X msg 3 118 240 320; +#X obj 432 391 #fold +; +#X obj 6 328 # + 128; +#X obj 148 476 #greyscale_to_rgb; +#X obj 303 134 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X text 362 263 enable stats; +#X text 292 529 checking for conservation of amounts of sand; +#X msg 3 212 \$1 \$2 1 # 0; +#X text 33 159 set size / reset; +#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 151 355 pd lighting; +#X obj 6 518 fps detailed; +#X obj 344 262 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X text 152 26 step; +#X obj 71 253 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X obj 6 486 #out window; +#X obj 295 508 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 356 508 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 432 508 nbx 8 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X text 90 268 differential; +#X text 89 253 heightmap; +#X text 89 284 topographic; +#X obj 152 68 t a a; +#X obj 247 260 t a a; +#X obj 149 457 # * 255; +#X obj 150 437 # >= 6; +#X obj 150 416 # & 7; +#X obj 2 97 loadbang; +#X text 470 112 disable finger; +#X obj 332 354 t a a; +#X obj 6 309 # << 2; +#X obj 151 334 # << 4; +#X obj 192 -8 metro 20; +#X obj -15 569 cnv 15 680 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 576 GridFlow 0.8.0; +#X text -7 576 GridFlow 0.8.0; +#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 sand.pd; +#X connect 1 0 14 0; +#X connect 2 0 45 0; +#X connect 2 1 16 0; +#X connect 3 0 12 0; +#X connect 4 0 24 0; +#X connect 6 0 69 0; +#X connect 7 0 53 0; +#X connect 8 0 9 0; +#X connect 9 0 15 0; +#X connect 9 1 35 0; +#X connect 10 0 11 0; +#X connect 10 1 25 0; +#X connect 11 0 35 1; +#X connect 12 0 17 0; +#X connect 13 0 2 0; +#X connect 14 0 29 0; +#X connect 15 0 28 0; +#X connect 15 1 60 0; +#X connect 17 0 7 0; +#X connect 18 0 25 1; +#X connect 19 0 37 0; +#X connect 20 0 55 0; +#X connect 21 0 39 0; +#X connect 22 1 21 0; +#X connect 22 1 66 0; +#X connect 23 0 15 1; +#X connect 24 0 54 0; +#X connect 25 0 9 1; +#X connect 26 0 1 0; +#X connect 27 0 10 0; +#X connect 28 0 60 0; +#X connect 29 0 52 0; +#X connect 30 0 67 0; +#X connect 30 1 68 0; +#X connect 30 2 63 0; +#X connect 32 0 8 0; +#X connect 34 0 60 0; +#X connect 35 0 15 0; +#X connect 36 0 19 0; +#X connect 36 0 3 0; +#X connect 37 0 4 0; +#X connect 38 0 2 0; +#X connect 39 0 20 0; +#X connect 40 0 26 0; +#X connect 41 0 29 0; +#X connect 42 0 9 1; +#X connect 45 0 59 0; +#X connect 47 0 1 0; +#X connect 48 0 31 0; +#X connect 49 0 22 1; +#X connect 51 0 30 1; +#X connect 52 0 48 0; +#X connect 52 0 5 0; +#X connect 59 0 30 0; +#X connect 59 1 8 1; +#X connect 60 0 59 0; +#X connect 60 1 22 0; +#X connect 61 0 41 0; +#X connect 62 0 61 0; +#X connect 63 0 62 0; +#X connect 64 0 38 0; +#X connect 66 0 36 1; +#X connect 66 1 36 0; +#X connect 67 0 40 0; +#X connect 68 0 47 0; +#X connect 69 0 8 0; diff --git a/externals/gridflow/pd_examples/saturation.pd b/externals/gridflow/pd_examples/saturation.pd new file mode 100644 index 00000000..d6cbda6c --- /dev/null +++ b/externals/gridflow/pd_examples/saturation.pd @@ -0,0 +1,81 @@ +#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 new file mode 100644 index 00000000..c322b745 --- /dev/null +++ b/externals/gridflow/pd_examples/scratch_video.pd @@ -0,0 +1,124 @@ +#N canvas 622 70 580 592 10; +#X obj 109 21 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X obj 109 329 listelement 1; +#X floatatom 109 352 5 0 0 0 - - -; +#X floatatom 132 244 5 0 0 0 - - -; +#X obj 109 305 route position; +#X obj 109 221 #in; +#X msg 142 167 open /home/alx/Documents/images/videos/bus_1.mov; +#X obj 112 391 hsl 128 15 1 320 0 0 empty empty empty -2 -6 0 8 -260818 +-1 -1 3145 1; +#X obj -13 -85 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj -16 472 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 16 476 GridFlow 0.8.0; +#X text 16 476 GridFlow 0.8.0; +#X text 0 -85 traveling.pd; +#X text 0 -72 Copyright 2003 Alexandre Castonguay; +#X text -1 -34 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 5862 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 390 pd decide_framerate; +#X obj 257 414 s framerate; +#X obj 181 31 r framerate; +#X obj 109 279 #out window; +#X text 176 242 <-- frame number; +#X text 213 328 <-- get x values; +#X text 142 184 load your own until we get a bundled video for the +docs; +#X text 142 197 this one is 320 x 240; +#N canvas 0 0 450 300 frame_count 1; +#X msg 103 112 1; +#X floatatom 103 168 5 0 0 0 - - -; +#X obj 153 153 float \$1; +#X obj 103 86 shunt 2; +#X msg 173 69 1; +#X msg 173 46 0; +#X obj 103 140 + 1; +#X msg 147 112 -1; +#X msg 208 109 0; +#X obj 46 -34 inlet; +#X obj 231 68 inlet; +#X obj 113 212 outlet; +#X floatatom 147 -41 5 0 0 0 - - -; +#X obj 147 -19 > 160; +#X floatatom 147 8 5 0 0 0 - - -; +#X text 192 -20 <-- is the direction left or right on a width of 320 +pixels; +#X text 242 109 <-- reset; +#X obj 147 -64 r position; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 1 0 11 0; +#X connect 2 0 6 1; +#X connect 3 0 0 0; +#X connect 3 1 7 0; +#X connect 4 0 3 1; +#X connect 5 0 3 1; +#X connect 6 0 1 0; +#X connect 7 0 6 0; +#X connect 8 0 1 0; +#X connect 9 0 3 0; +#X connect 10 0 8 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 1; +#X connect 17 0 12 0; +#X restore 109 113 pd frame_count; +#X obj 202 86 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1 +-1; +#X text 226 85 <-- reset; +#X obj 13 391 s position; +#X msg 314 230 loop 1; +#X obj 206 266 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 224 62 r loopit; +#X obj 236 264 print loopit; +#X obj 109 56 metro 100.33; +#X obj 71 175 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X connect 0 0 31 0; +#X connect 1 0 2 0; +#X connect 2 0 7 0; +#X connect 2 0 15 0; +#X connect 2 0 26 0; +#X connect 4 0 1 0; +#X connect 5 0 18 0; +#X connect 5 1 3 0; +#X connect 5 1 28 0; +#X connect 6 0 5 0; +#X connect 15 0 16 0; +#X connect 17 0 31 1; +#X connect 18 0 4 0; +#X connect 23 0 5 0; +#X connect 24 0 23 1; +#X connect 27 0 5 0; +#X connect 28 0 30 0; +#X connect 31 0 23 0; +#X connect 32 0 5 0; diff --git a/externals/gridflow/pd_examples/spectrogram.pd b/externals/gridflow/pd_examples/spectrogram.pd new file mode 100644 index 00000000..ff9f55e7 --- /dev/null +++ b/externals/gridflow/pd_examples/spectrogram.pd @@ -0,0 +1,109 @@ +#N canvas 695 85 580 565 10; +#X msg 143 149 reset; +#X obj 27 -34 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X obj 316 -15 adc~; +#X obj 28 110 tabread4 array1; +#X obj 7 10 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 +; +#X obj 351 -14 table array1 1024; +#X obj 290 138 loadbang; +#X obj 270 140 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 317 8 pd analysis; +#X obj 30 210 demux 2; +#X obj 373 186 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1 +-1 1; +#X obj 242 226 loadbang; +#X obj 219 225 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 27 34 for 0 320 1; +#X obj 29 129 * 2000; +#X text 392 187 black stripes; +#X text 391 200 graph; +#X obj 28 77 / 2; +#X text 77 129 <-- adding some extra gain; +#X obj 88 88 exp; +#X obj 28 55 demux 2; +#X obj 173 46 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X text 195 46 linear; +#X text 193 60 logarithmic; +#X obj 89 67 / 51; +#X obj 31 331 #fade; +#X obj 123 332 loadbang; +#X msg 72 331 16 4 1; +#X obj 27 -9 metro 23.22; +#X text 115 26 = 1000*1024/44100; +#X obj 29 149 #import ( 320 ); +#X obj 29 169 # *>>8; +#X obj 30 190 #fade 2; +#X obj 30 249 # inv+ 255; +#X obj 105 222 #outer <; +#X obj 105 241 # * 255; +#X obj 105 261 #transpose; +#X obj 30 287 #redim (120 320 1); +#X obj 31 309 #greyscale_to_rgb; +#X obj 31 353 #clip; +#X obj 31 375 #scale_by 2; +#X obj 31 404 #out window; +#X obj -15 449 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 456 GridFlow 0.8.0; +#X text -7 456 GridFlow 0.8.0; +#X obj -15 -85 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text -2 -72 Copyright 2002 Mathieu Bouchard; +#X text -2 -85 spectrogram.pd; +#X obj 219 245 #for 120 0 -1; +#X obj 270 161 #for 0 320 1; +#X obj 270 184 # + 10; +#X connect 0 0 30 0; +#X connect 1 0 28 0; +#X connect 2 0 8 0; +#X connect 2 1 8 0; +#X connect 3 0 14 0; +#X connect 4 0 13 0; +#X connect 6 0 7 0; +#X connect 7 0 49 0; +#X connect 9 0 33 0; +#X connect 9 1 34 0; +#X connect 10 0 9 1; +#X connect 11 0 12 0; +#X connect 12 0 48 0; +#X connect 13 0 20 0; +#X connect 14 0 30 0; +#X connect 17 0 3 0; +#X connect 19 0 3 0; +#X connect 20 0 17 0; +#X connect 20 1 24 0; +#X connect 21 0 20 1; +#X connect 24 0 19 0; +#X connect 25 0 39 0; +#X connect 26 0 27 0; +#X connect 27 0 25 1; +#X connect 28 0 13 0; +#X connect 30 0 31 0; +#X connect 31 0 32 0; +#X connect 32 0 9 0; +#X connect 33 0 37 0; +#X connect 34 0 35 0; +#X connect 35 0 36 0; +#X connect 36 0 37 0; +#X connect 37 0 38 0; +#X connect 38 0 25 0; +#X connect 39 0 40 0; +#X connect 40 0 41 0; +#X connect 48 0 34 1; +#X connect 49 0 50 0; +#X connect 50 0 31 1; diff --git a/externals/gridflow/pd_examples/threshold.pd b/externals/gridflow/pd_examples/threshold.pd new file mode 100644 index 00000000..4a609930 --- /dev/null +++ b/externals/gridflow/pd_examples/threshold.pd @@ -0,0 +1,81 @@ +#N canvas 720 79 579 617 10; +#X obj 40 121 @ -; +#X obj 40 144 @ max 0; +#X obj 40 167 @ ||; +#X obj 40 190 @ +; +#X obj 99 143 inv+ 0; +#X obj 40 -33 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X obj 95 56 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X floatatom 251 270 5 0 0 0 - - -; +#X obj 251 137 vsl 15 128 0 256 0 0 empty empty empty 0 -8 0 8 -260818 +-1 -1 0 1; +#X obj 40 55 shunt 2; +#X obj 40 448 @out window; +#X text 6 100 simple per-channel threshold; +#X text 316 102 bluescreen luma threshold; +#X text 381 255 here we have a mask; +#X text 361 267 (alpha as separate image); +#X obj 327 356 @join 2; +#X text 386 295 make a RGBA image; +#X obj 310 137 t b a a; +#X text 218 398 = medium blue; +#X obj 297 290 t a a; +#X obj 131 449 fps; +#X floatatom 161 451 5 0 0 0 - - -; +#X obj 40 9 metro 100; +#X msg 70 397 240 320 3 # 0 0 170; +#X text 386 333 won't be necessary; +#X text 319 117 with alpha channel; +#X text 13 368 you could also load a picture; +#X text 13 380 instead of using uniform blue; +#X text 58 -31 1000/100 = 10 fps (max) (adjustable); +#X text 281 22 see also color_detect.pd; +#X obj 40 33 #camera; +#X obj -13 -86 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 0 -73 Copyright 2002 Mathieu Bouchard; +#X obj -15 499 cnv 15 580 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 text 0 -86 threshold.pd; +#X obj 290 335 #store; +#X obj 290 314 #finished; +#X obj 354 204 # * 255; +#X obj 354 181 # >=; +#X obj 354 162 #rgb_to_greyscale; +#X text 384 320 this silly #finished; +#X text 388 347 in GridFlow 1; +#X obj 70 425 #draw_image put \, alpha 1; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 10 0; +#X connect 4 0 2 1; +#X connect 5 0 22 0; +#X connect 6 0 9 1; +#X connect 7 0 0 1; +#X connect 7 0 4 0; +#X connect 7 0 3 1; +#X connect 7 0 40 1; +#X connect 8 0 7 0; +#X connect 9 0 0 0; +#X connect 9 1 17 0; +#X connect 10 0 20 0; +#X connect 17 0 23 0; +#X connect 17 1 19 0; +#X connect 17 2 41 0; +#X connect 19 0 38 0; +#X connect 19 1 37 1; +#X connect 20 0 21 0; +#X connect 22 0 30 0; +#X connect 23 0 44 0; +#X connect 30 0 9 0; +#X connect 37 0 15 0; +#X connect 38 0 37 0; +#X connect 39 0 15 1; +#X connect 40 0 39 0; +#X connect 41 0 40 0; +#X connect 44 0 10 0; diff --git a/externals/gridflow/pd_examples/transform.pd b/externals/gridflow/pd_examples/transform.pd new file mode 100644 index 00000000..a4d5b653 --- /dev/null +++ b/externals/gridflow/pd_examples/transform.pd @@ -0,0 +1,61 @@ +#N canvas 726 225 674 481 10; +#X obj 146 296 #remap_image; +#X obj 146 381 #out window; +#X obj 125 94 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X obj 294 376 # -; +#X obj 294 202 t a a a; +#X obj 380 273 # % 2; +#X obj 380 297 # * -2; +#X obj 380 318 # + 1; +#X obj 316 342 # *; +#X obj 425 245 # / 2; +#X obj 428 184 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -261681 +-1 -1 12700 1; +#X obj 316 301 # -; +#X obj 425 207 t f; +#X obj 316 262 # %; +#X obj 380 248 # /; +#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 155 shunt; +#X obj 176 155 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -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 199 153 <-- 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 new file mode 100644 index 00000000..b11f026f --- /dev/null +++ b/externals/gridflow/pd_examples/videodev_effects.pd @@ -0,0 +1,303 @@ +#N canvas 106 79 569 546 10; +#X obj 86 397 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 72 149 # 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 130 218 pd motion fade; +#X obj 28 263 shunt 2; +#X obj 72 69 #downscale_by 2 smoothly; +#X obj 28 398 shunt 2; +#X obj 82 265 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 87 88 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 8 7 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; +#X obj 316 261 fork; +#X obj 28 48 shunt 2; +#X msg 286 243 256; +#X obj 28 474 #out window; +#X obj 84 49 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 28 515 print; +#X obj 285 284 #for 0 256 1; +#X floatatom 316 242 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 437 236 pd detect blue; +#X obj 72 285 #outer ignore ( 0 ); +#X obj 103 131 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 5700 1; +#X obj 28 189 shunt 2; +#X obj 170 335 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 28 335 shunt 2; +#X obj 28 495 fps detailed; +#X obj 286 223 loadbang; +#X obj 87 335 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 72 307 #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 87 355 pd sort me out; +#X obj 285 304 # gamma; +#X obj 72 129 # -; +#X obj 82 191 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 74 238 enable gamma correction; +#X obj 285 266 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -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 72 109 pd motion detection; +#X obj 105 335 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X text 126 149 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 437 217 pd detect red; +#X obj 27 8 metro 33.3667; +#X obj 28 69 t a a; +#X text 101 49 Smaller Picture; +#X obj 28 89 shunt 2; +#X obj 211 96 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X obj 163 427 #centroid; +#X obj 163 448 #export_list; +#X floatatom 165 487 5 0 0 0 - - -; +#X obj 164 467 unpack 0 0; +#X floatatom 229 487 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 72 428 pd crosshair; +#X msg 128 8 open dc1394; +#X msg 217 9 open mpeg file images/movies/washington_zoom_in.mpeg; +#X msg 217 29 open xine images/movies/washington_zoom_in.mpeg; +#X obj 28 27 #camera; +#X obj 186 30 #in; +#X obj 104 192 #fade; +#X msg 145 194 32 16 4; +#X obj 28 450 t a; +#X text 231 110 emboss; +#X text 230 96 hilite; +#X text 110 397 designed to work with "hilite" above; +#X obj 281 96 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X text 300 96 motion; +#X text 301 110 presence; +#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 new file mode 100644 index 00000000..c9706ca4 --- /dev/null +++ b/externals/gridflow/pd_examples/waves.pd @@ -0,0 +1,339 @@ +#N canvas 366 97 753 590 10; +#X obj 265 207 #greyscale_to_rgb; +#X obj 251 350 # min 255; +#X obj 271 5 loadbang; +#X obj 211 25 fork; +#X obj 251 389 #out x11; +#X obj 313 409 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 251 428 pd mouse click/drag; +#X obj 12 39 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 1 1 +; +#N canvas 637 335 419 287 lighting 0; +#X obj 56 243 outlet; +#X obj 17 9 inlet; +#X obj 86 138 #outer & ( -1 0 0 ); +#X text 91 100 produce red/cyan from horiz differences; +#X text 64 160 produce white/black from vertical differences; +#X obj 56 199 #outer & ( -1 -1 0 ); +#X obj 56 222 # +; +#X obj 108 10 #dim; +#X obj 140 10 #export_list; +#X obj 56 29 #redim ( ); +#X obj 56 9 t a a; +#X obj 56 49 t a a; +#X msg 141 30 \$1 \$2; +#X obj 86 117 #convolve ( 1 2 # ) \, op ignore \, fold inv+; +#X obj 56 177 #convolve ( 2 1 # ) \, op ignore \, fold inv+; +#X connect 1 0 10 0; +#X connect 2 0 6 1; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 7 0 8 0; +#X connect 8 0 12 0; +#X connect 9 0 11 0; +#X connect 10 0 9 0; +#X connect 10 1 7 0; +#X connect 11 0 14 0; +#X connect 11 1 13 0; +#X connect 12 0 9 1; +#X connect 13 0 2 0; +#X connect 14 0 5 0; +#X restore 216 242 pd lighting; +#X obj 251 447 # / 2; +#X msg 138 46 \$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 292 519 pd finger; +#X obj 245 25 s size; +#X obj 251 370 #scale_by 2; +#X obj 80 142 #store; +#X obj 312 389 fps detailed; +#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 80 203 pd wave equation; +#X obj 249 515 t a; +#X obj 117 122 t a; +#X obj 251 330 # max 0; +#X obj 265 188 # >> 1; +#X obj 31 63 s metro; +#X msg 211 5 240 320; +#X text 441 19 Copyright (c) 2003 \, 2004 by Mathieu Bouchard; +#X text 481 72 (Best complemented with a touchscreen); +#X text 441 2 waves.pd; +#X obj 376 141 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -258699 +-1 2; +#X text 395 155 height greys; +#X obj 298 103 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -258699 +-1 0; +#X text 317 102 plain; +#X text 318 118 line-art; +#X text 315 46 smooth; +#X obj 296 46 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -258699 +-1 0; +#X text 316 60 raw; +#X obj 443 379 hradio 18 1 1 4 empty empty _1__2__3__4_ 0 -4 0 8 -262144 +-258699 -1 1; +#X text 441 354 scale by...; +#X obj 443 400 + 1; +#X obj 664 129 loadbang; +#X obj 557 331 #in; +#X obj 584 305 #camera_control; +#X obj 558 284 spigot; +#X obj 605 285 tgl 15 0 empty empty empty 18 8 0 8 -241291 -1 -62784 +1 1; +#X obj 558 264 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 283 142 pd line-art; +#X text 560 214 Background colour; +#X text 625 285 enable video; +#X msg 584 325 open r001.jpg \, bang; +#X text 394 141 four-colour emboss; +#X obj 142 402 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 1 +1; +#X obj 88 377 r metro; +#X obj 88 441 @! rand; +#X msg 87 421 240 320; +#X text 160 399 rain; +#X text 558 3 bundled with GridFlow 0.7.7; +#X obj 240 100 # >> 2; +#X text 378 36 Originally made for Alexandre Castonguay's "DIGITALE" +; +#X text 495 53 But suitable for a lot more uses :-); +#X msg 599 129 3 # 128; +#X obj 557 154 #color; +#X obj 239 121 shunt 2; +#X obj 239 59 shunt 2; +#X obj 403 486 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262131 -1 -1 2 256; +#X obj 403 503 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262131 -1 -1 2 256; +#X obj 359 519 #pack 2; +#X obj 216 291 # +; +#X obj 332 302 #store; +#X obj 421 236 shunt 2; +#X obj 477 232 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -258699 +-1 0; +#X text 495 230 plain; +#X text 495 248 refraction; +#X obj 216 263 t a; +#N canvas 203 363 443 300 heightmap2indexmap 0; +#X obj 48 279 outlet; +#X obj 9 8 inlet; +#X obj 48 159 # +; +#X obj 100 9 #dim; +#X obj 132 9 #export_list; +#X obj 48 28 #redim ( ); +#X obj 48 8 t a a; +#X obj 48 48 t a a; +#X msg 133 29 \$1 \$2; +#X obj 78 92 #outer & ( -1 0 ); +#X obj 48 137 #outer & ( 0 -1 ); +#X obj 48 251 # +; +#X obj 73 251 #for ( 0 0 ) ( 240 320 ) ( 1 1 ); +#X obj 116 229 loadbang; +#X obj 84 229 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 48 182 # >> 1; +#X obj 48 115 #convolve ( 2 1 # ) \, op ignore \, fold inv+; +#X obj 78 71 #convolve ( 1 2 # ) \, op ignore \, fold inv+; +#X connect 1 0 6 0; +#X connect 2 0 15 0; +#X connect 3 0 4 0; +#X connect 4 0 8 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 6 1 3 0; +#X connect 7 0 16 0; +#X connect 7 1 17 0; +#X connect 8 0 5 1; +#X connect 9 0 2 1; +#X connect 10 0 2 0; +#X connect 11 0 0 0; +#X connect 12 0 11 1; +#X connect 13 0 12 0; +#X connect 14 0 12 0; +#X connect 15 0 11 0; +#X connect 16 0 10 0; +#X connect 17 0 9 0; +#X restore 332 281 pd heightmap2indexmap; +#X obj 11 63 bng 15 250 50 0 empty empty empty 0 -6 0 8 -241291 -1 +-1; +#X obj 332 228 spigot; +#X text 397 170 no reflection; +#X obj 239 167 shunt 3; +#X obj 239 145 t a; +#X obj 313 188 # put 0; +#X obj 255 491 shunt 2; +#X obj 325 493 shunt 2; +#X obj 87 401 shunt 2; +#X obj 31 39 metro 33.3667; +#X obj 80 171 shunt 2; +#X text 154 173 freeze time; +#X obj 137 173 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 131 100 r feedback; +#X obj 229 543 s feedback; +#X obj 124 264 t a; +#X obj 239 80 #convolve ( 2 2 # ) \, op ignore; +#X obj 571 403 #yuv_to_rgb; +#X text 500 501 pas de reflection \, + yuv; +#X connect 0 0 70 0; +#X connect 1 0 13 0; +#X connect 2 0 22 0; +#X connect 3 0 10 0; +#X connect 3 1 12 0; +#X connect 4 0 15 0; +#X connect 4 0 6 0; +#X connect 6 0 9 0; +#X connect 6 1 79 0; +#X connect 7 0 81 0; +#X connect 8 0 70 0; +#X connect 9 0 11 1; +#X connect 10 0 18 0; +#X connect 11 0 17 0; +#X connect 13 0 4 0; +#X connect 14 0 82 0; +#X connect 15 0 5 0; +#X connect 16 0 87 0; +#X connect 17 0 86 0; +#X connect 18 0 14 1; +#X connect 18 0 60 0; +#X connect 19 0 1 0; +#X connect 20 0 0 0; +#X connect 22 0 3 0; +#X connect 26 0 75 1; +#X connect 28 0 59 1; +#X connect 32 0 60 1; +#X connect 34 0 36 0; +#X connect 36 0 9 1; +#X connect 36 0 13 1; +#X connect 37 0 57 0; +#X connect 38 0 89 0; +#X connect 39 0 38 0; +#X connect 40 0 38 0; +#X connect 41 0 40 1; +#X connect 42 0 40 0; +#X connect 43 0 76 0; +#X connect 46 0 38 0; +#X connect 48 0 78 1; +#X connect 48 0 79 1; +#X connect 48 0 80 1; +#X connect 49 0 80 0; +#X connect 50 0 11 1; +#X connect 51 0 50 0; +#X connect 54 0 59 0; +#X connect 57 0 58 0; +#X connect 58 0 66 0; +#X connect 59 0 76 0; +#X connect 59 1 43 0; +#X connect 60 0 88 0; +#X connect 60 1 59 0; +#X connect 61 0 63 0; +#X connect 62 0 63 1; +#X connect 63 0 11 2; +#X connect 64 0 19 0; +#X connect 65 0 64 1; +#X connect 66 0 64 1; +#X connect 66 1 65 1; +#X connect 67 0 66 1; +#X connect 67 0 73 1; +#X connect 70 0 64 0; +#X connect 71 0 65 0; +#X connect 72 0 21 0; +#X connect 72 0 14 0; +#X connect 73 0 71 0; +#X connect 75 0 8 0; +#X connect 75 1 20 0; +#X connect 75 2 77 0; +#X connect 76 0 75 0; +#X connect 76 0 73 0; +#X connect 77 0 0 0; +#X connect 78 0 17 0; +#X connect 78 1 11 0; +#X connect 79 0 78 1; +#X connect 80 1 51 0; +#X connect 81 0 14 0; +#X connect 81 0 21 0; +#X connect 82 0 16 0; +#X connect 82 1 87 0; +#X connect 84 0 82 1; +#X connect 85 0 18 0; +#X connect 87 0 78 0; +#X connect 88 0 54 0; +#X connect 89 0 77 1; -- cgit v1.2.1