diff options
author | N.N. <matju@users.sourceforge.net> | 2009-10-18 20:01:19 +0000 |
---|---|---|
committer | N.N. <matju@users.sourceforge.net> | 2009-10-18 20:01:19 +0000 |
commit | ccddec68116fc6403858ebfa13d4a7b1aa3d5278 (patch) | |
tree | 6b90e41b15bbf2440afa76d53cc436debf5b5c5b /externals/gridflow/examples | |
parent | a1fb215b39535805aa19608185d5e52c0f524b42 (diff) |
hi gridflow 0.9.5
svn path=/trunk/; revision=12611
Diffstat (limited to 'externals/gridflow/examples')
49 files changed, 6487 insertions, 0 deletions
diff --git a/externals/gridflow/examples/binary_operations.pd b/externals/gridflow/examples/binary_operations.pd new file mode 100644 index 00000000..cf4df98a --- /dev/null +++ b/externals/gridflow/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/examples/blob.pd b/externals/gridflow/examples/blob.pd new file mode 100644 index 00000000..c131ded5 --- /dev/null +++ b/externals/gridflow/examples/blob.pd @@ -0,0 +1,106 @@ +#N canvas 19 81 792 575 10; +#X floatatom 398 265 5 0 0 0 - - -; +#X obj 368 225 r move; +#X obj 56 129 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 56 162 240 320 3 # 0; +#X msg 461 407 300; +#X obj 398 392 # * 300; +#X obj 261 475 # cos*; +#X msg 461 369 1600; +#X msg 513 299 25; +#X obj 368 263 +; +#X msg 513 318 100; +#X obj 505 244 hsl 128 15 100 2600 0 1 empty empty empty -2 -6 0 8 +-260818 -1 -1 2297 1; +#X text 314 474 make circular orbit of variable radius; +#X floatatom 502 261 5 0 0 0 - - -; +#X msg 461 388 800; +#X text 294 375 frequency of the orbit; +#X text 501 229 increment; +#X msg 368 244 1; +#X obj 58 108 s move; +#X obj 73 128 loadbang; +#X obj 19 50 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 75 427 #out window; +#X obj 186 236 # +; +#X obj 437 345 # + 50; +#X text 394 250 counter; +#X obj 19 91 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 19 354 #store; +#X text 65 147 blank image to start with; +#X text 212 237 translate the square; +#X text 546 297 make a wavy radius (50-100) \; the 1100 is its frequency +\; tune it for fun and profit.; +#X obj 19 108 t b b; +#X obj 368 282 t a a a; +#X msg 186 198 4 2 # -1 -1 -1 1 1 1 1 -1; +#X obj 8 541 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 16 548 GridFlow 0.8.0; +#X obj 8 12 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 21 12 Blob.pd; +#X msg 514 337 10; +#X obj 437 307 # * 1000; +#X obj 101 265 #color; +#X obj 101 221 loadbang; +#X text 385 432 duplicate the angle \; make the 2nd 90 degrees apart +(required for a circle \; else it'll be an oval or a line); +#X text 21 25 Copyright 2002 Mathieu Bouchard and Alexandre Castonguay +; +#X text 185 182 a 2x2 square's coordinates; +#X text 228 218 scale factor; +#X obj 186 217 # * 8; +#X obj 75 402 #solarize; +#X text 400 49 This is the classic "Shadebob" effect of the demoscene +; +#X msg 101 243 12 24 36; +#X text 6 331 superimpose the light of many squares; +#X obj 437 326 # cos* 100; +#X obj 261 444 #outer + (0 9000); +#X obj 75 354 #draw_polygon + (3 #); +#X obj 261 494 # + (120 160); +#X obj 19 72 metro 33.367; +#X connect 0 0 9 1; +#X connect 1 0 17 0; +#X connect 2 0 3 0; +#X connect 3 0 26 1; +#X connect 4 0 5 1; +#X connect 5 0 51 0; +#X connect 6 0 53 0; +#X connect 7 0 5 1; +#X connect 8 0 50 1; +#X connect 9 0 0 0; +#X connect 9 0 31 0; +#X connect 10 0 50 1; +#X connect 11 0 13 0; +#X connect 13 0 38 1; +#X connect 14 0 5 1; +#X connect 17 0 9 0; +#X connect 19 0 2 0; +#X connect 20 0 54 0; +#X connect 22 0 52 2; +#X connect 23 0 6 1; +#X connect 25 0 30 0; +#X connect 26 0 52 0; +#X connect 30 0 26 0; +#X connect 30 1 18 0; +#X connect 31 0 32 0; +#X connect 31 1 5 0; +#X connect 31 2 38 0; +#X connect 32 0 45 0; +#X connect 37 0 50 1; +#X connect 38 0 50 0; +#X connect 39 0 52 1; +#X connect 40 0 48 0; +#X connect 45 0 22 0; +#X connect 46 0 21 0; +#X connect 48 0 39 0; +#X connect 50 0 23 0; +#X connect 51 0 6 0; +#X connect 52 0 26 1; +#X connect 52 0 46 0; +#X connect 53 0 22 1; +#X connect 54 0 25 0; diff --git a/externals/gridflow/examples/bounce.pd b/externals/gridflow/examples/bounce.pd new file mode 100644 index 00000000..46421cad --- /dev/null +++ b/externals/gridflow/examples/bounce.pd @@ -0,0 +1,32 @@ +#N canvas 0 0 450 300 10; +#X obj 34 284 #out window; +#X floatatom 48 71 5 0 0 0 - - -; +#X obj 34 16 metro 30; +#X obj 6 19 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; +#X obj 34 42 f; +#X obj 95 34 + 1; +#X msg 34 265 set_geometry \$1 \$2 200 200; +#X obj 34 93 t f f; +#X obj 34 246 pack 0 0; +#X obj 64 136 expr $f1-int($f1); +#X obj 64 156 expr 2*if($f1>=.5 \, $f1 \, (1-$f1)); +#X obj 64 176 expr $f1*400; +#X obj 64 115 / 200; +#X obj 95 53 % 1000; +#X obj 34 206 expr 400-200*abs(sin($f1/3.1416/5)); +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 4 0 1 0; +#X connect 4 0 7 0; +#X connect 5 0 13 0; +#X connect 6 0 0 0; +#X connect 7 0 14 0; +#X connect 7 1 12 0; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 8 1; +#X connect 12 0 9 0; +#X connect 13 0 4 1; +#X connect 14 0 8 0; diff --git a/externals/gridflow/examples/cellular_1d.pd b/externals/gridflow/examples/cellular_1d.pd new file mode 100644 index 00000000..5fa34551 --- /dev/null +++ b/externals/gridflow/examples/cellular_1d.pd @@ -0,0 +1,170 @@ +#N canvas 104 110 783 543 10; +#X obj 33 103 loadbang; +#X obj 124 361 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 +1; +#X obj 139 361 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1 +1; +#X obj 154 361 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1 +1; +#X obj 169 361 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 +1; +#X obj 184 361 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1 +1; +#X obj 199 361 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 +1; +#X obj 214 361 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 1 +1; +#X obj 229 361 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 +1; +#X obj 124 452 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-241291 -1 -1 86 256; +#X obj -1 215 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X msg 17 312 1 256 # 1; +#X msg 33 122 1 256 # 2; +#X obj -1 77 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X text 92 465 characteristic number; +#X obj 221 166 nbx 2 14 1 99 0 0 empty empty empty 0 -6 0 10 -241291 +-1 -1 1 256; +#X text 79 141 randomizer; +#X text 246 360 specify behaviour here; +#X text 24 234 compute new state; +#X text 245 233 make scrollie; +#X text 297 263 convert bit matrix to rgb image; +#X text 243 246 (window height = 128); +#X obj 159 74 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 172 324 loadbang; +#X obj 75 182 t a a; +#X obj 444 53 loadbang; +#X msg 329 54 3 # 0; +#X msg 505 55 3 # 255; +#X text 370 55 background; +#X text 558 57 foreground; +#X obj 17 272 t a a; +#X obj 33 141 # rand; +#X obj 17 214 #store; +#X obj 17 292 #finished; +#X obj 17 332 # <<; +#X obj 17 352 # &; +#X obj 17 372 # != 0; +#X obj 124 414 #fold +; +#X obj 124 433 #export; +#X obj 159 91 #for 0 256 1; +#X obj 159 110 # == 128; +#X obj 281 296 #store; +#X obj 329 74 #color; +#X obj 505 74 #color; +#X obj 423 135 #pack 6; +#X obj 17 252 #convolve (1 3 # 1 2 4); +#X obj 124 395 # << (0 1 2 3 4 5 6 7); +#X obj -4 510 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 4 517 GridFlow 0.8.0; +#X obj -7 0 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 281 334 #out window; +#X text -3 15 Copyright 2002 Mathieu Bouchard; +#X text -3 1 Cellular_1d; +#X text 253 166 <-- number of new lines per frame; +#X text 178 73 <-- make single dot; +#X text 100 123 restart; +#X obj 281 277 #outer ignore (0); +#X obj 327 296 #redim (2 3); +#X obj 329 134 #unpack 3; +#X obj 505 134 #unpack 3; +#X obj 159 129 #redim (1 256); +#X obj 281 315 #scale_by 2; +#N canvas 79 42 450 300 make_scrollie 0; +#X obj 41 30 inlet one_line; +#X obj 290 30 inlet number_of_lines; +#X obj 42 258 outlet grid; +#X obj 205 205 loadbang; +#X msg 205 224 1 256 # 0; +#X msg 256 87 \$1 256; +#X msg 142 82 set \$1; +#X obj 156 125 t a a; +#X obj 156 144 #finished; +#X obj 142 167 #for 1 128 1; +#X obj 142 205 #store; +#X obj 142 224 @join 0; +#X obj 142 62 max 1; +#X obj 142 186 #outer ignore (0); +#X obj 156 106 #import (1 256); +#X connect 0 0 14 0; +#X connect 1 0 12 0; +#X connect 3 0 4 0; +#X connect 4 0 10 1; +#X connect 5 0 14 1; +#X connect 6 0 9 0; +#X connect 7 0 8 0; +#X connect 7 1 11 1; +#X connect 8 0 9 0; +#X connect 9 0 13 0; +#X connect 10 0 11 0; +#X connect 11 0 10 1; +#X connect 11 0 2 0; +#X connect 12 0 6 0; +#X connect 12 0 5 0; +#X connect 13 0 10 0; +#X connect 14 0 7 0; +#X restore 114 182 pd make_scrollie; +#X obj 17 76 metro 33.3667; +#X obj 124 376 #pack 8 \, \, \, \, \, \, \, \, \,; +#X connect 0 0 12 0; +#X connect 1 0 64 0; +#X connect 2 0 64 1; +#X connect 3 0 64 2; +#X connect 4 0 64 3; +#X connect 5 0 64 4; +#X connect 6 0 64 5; +#X connect 7 0 64 6; +#X connect 8 0 64 7; +#X connect 9 0 35 1; +#X connect 10 0 32 0; +#X connect 11 0 34 0; +#X connect 12 0 31 0; +#X connect 13 0 63 0; +#X connect 15 0 62 1; +#X connect 22 0 39 0; +#X connect 23 0 2 0; +#X connect 23 0 3 0; +#X connect 23 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 32 1; +#X connect 24 1 62 0; +#X connect 25 0 26 0; +#X connect 25 0 27 0; +#X connect 26 0 42 0; +#X connect 27 0 43 0; +#X connect 30 0 33 0; +#X connect 30 1 34 1; +#X connect 31 0 24 0; +#X connect 32 0 45 0; +#X connect 33 0 11 0; +#X connect 34 0 35 0; +#X connect 35 0 36 0; +#X connect 36 0 24 0; +#X connect 37 0 38 0; +#X connect 38 0 9 0; +#X connect 39 0 40 0; +#X connect 40 0 60 0; +#X connect 41 0 61 0; +#X connect 42 0 58 0; +#X connect 43 0 59 0; +#X connect 44 0 57 0; +#X connect 45 0 30 0; +#X connect 46 0 37 0; +#X connect 56 0 41 0; +#X connect 57 0 41 1; +#X connect 58 0 44 0; +#X connect 58 1 44 1; +#X connect 58 2 44 2; +#X connect 59 0 44 3; +#X connect 59 1 44 4; +#X connect 59 2 44 5; +#X connect 60 0 24 0; +#X connect 61 0 50 0; +#X connect 62 0 56 0; +#X connect 63 0 32 0; +#X connect 64 0 46 0; diff --git a/externals/gridflow/examples/color_correction.pd b/externals/gridflow/examples/color_correction.pd new file mode 100644 index 00000000..93b1d9fe --- /dev/null +++ b/externals/gridflow/examples/color_correction.pd @@ -0,0 +1,151 @@ +#N canvas 37 349 672 521 10; +#X text 360 136 sigma (extremes); +#X obj 134 465 #out window; +#X text 361 211 linear (contrast); +#X obj 134 404 shunt 2; +#N canvas 1 96 188 188 color 0; +#X obj 25 105 # inv+; +#X obj 25 67 # inv+ 255; +#X obj 85 86 inlet; +#X obj 25 31 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 25 12 inlet; +#X obj 25 86 #outer <; +#X obj 25 124 # & 255; +#X obj 25 48 #for 0 256 1; +#X obj 25 143 outlet; +#X connect 0 0 6 0; +#X connect 1 0 5 0; +#X connect 2 0 5 1; +#X connect 3 0 7 0; +#X connect 4 0 3 0; +#X connect 5 0 0 0; +#X connect 6 0 8 0; +#X connect 7 0 1 0; +#X restore 194 425 pd color correction graph generator; +#X obj 59 285 #in; +#X text 360 284 constant (brightness); +#N canvas 352 112 370 429 color-correction 0; +#X obj 23 191 # + 128; +#X obj 23 172 # /; +#X obj 23 95 # *; +#X obj 89 270 # +; +#X obj 77 95 # max 32; +#X obj 77 134 # tanh* 512; +#X obj 23 57 # gamma; +#X obj 77 114 # << 5; +#X obj 23 76 # - 128; +#X obj 23 153 # tanh* 65535; +#X obj 23 115 # >> 2; +#X obj 95 232 inlet linear; +#X obj 114 270 inlet constant; +#X obj 49 232 # *>>8; +#X obj 77 76 inlet sigma; +#X obj 67 38 inlet gamma; +#X obj 23 19 inlet image; +#X obj 89 308 outlet image; +#X obj 89 289 #clip; +#X connect 0 0 13 0; +#X connect 1 0 0 0; +#X connect 2 0 10 0; +#X connect 3 0 18 0; +#X connect 4 0 2 1; +#X connect 4 0 7 0; +#X connect 5 0 1 1; +#X connect 6 0 8 0; +#X connect 7 0 5 0; +#X connect 8 0 2 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X connect 11 0 13 1; +#X connect 12 0 3 1; +#X connect 13 0 3 0; +#X connect 14 0 4 0; +#X connect 15 0 6 1; +#X connect 16 0 6 0; +#X connect 18 0 17 0; +#X restore 176 314 pd color-correction; +#X obj 134 425 #store; +#X obj 29 45 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 29 81 #for 0 256 1; +#X obj 168 340 #finished; +#X obj 29 62 metro 33.3667; +#X obj 59 247 loadbang; +#X obj 256 92 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X text 277 93 regular; +#X text 276 108 solarize; +#X text 277 122 solarize 2; +#X obj 29 119 shunt 3; +#X obj 29 173 t a; +#X obj 119 174 # sin* 255; +#X obj 120 155 # / 255; +#X obj 120 136 # * 18000; +#X obj 190 391 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X text 209 391 see picture; +#X text 209 406 see graph; +#X obj 8 221 spigot; +#X obj 57 222 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X text 13 204 enable stream; +#X text 361 60 gamma (midtones); +#X msg 254 183 3 # 256; +#X obj 253 163 loadbang; +#X msg 238 212 3 # 0; +#X obj 8 310 #camera; +#X obj 362 77 #color 0 1024 1; +#X obj 362 152 #color 0 1024 1; +#X obj 362 226 #color 0 1024 1; +#X obj 362 298 #color -256 256 1; +#X obj 51 140 #solarize; +#X obj 134 445 #apply_colormap_channelwise; +#X obj 2 2 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 15 15 Copyright 2002 Mathieu Bouchard; +#X obj 2 487 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 15 2 color_correction.pd; +#X obj 29 100 #outer ignore (3 #); +#X text 10 494 GridFlow 0.8.3; +#X msg 59 266 load bluemarble.jpg; +#X connect 3 0 8 0; +#X connect 3 1 4 0; +#X connect 4 0 1 0; +#X connect 5 0 8 1; +#X connect 7 0 11 0; +#X connect 7 0 4 1; +#X connect 7 0 39 1; +#X connect 8 0 39 0; +#X connect 9 0 12 0; +#X connect 10 0 44 0; +#X connect 11 0 3 0; +#X connect 12 0 10 0; +#X connect 12 0 26 0; +#X connect 13 0 46 0; +#X connect 14 0 18 1; +#X connect 18 0 19 0; +#X connect 18 1 38 0; +#X connect 18 2 22 0; +#X connect 19 0 7 0; +#X connect 20 0 19 0; +#X connect 21 0 20 0; +#X connect 22 0 21 0; +#X connect 23 0 3 1; +#X connect 26 0 33 0; +#X connect 27 0 26 1; +#X connect 30 0 34 0; +#X connect 30 0 36 0; +#X connect 31 0 30 0; +#X connect 31 0 32 0; +#X connect 32 0 37 0; +#X connect 32 0 35 0; +#X connect 33 0 8 1; +#X connect 34 0 7 1; +#X connect 35 0 7 2; +#X connect 36 0 7 3; +#X connect 37 0 7 4; +#X connect 38 0 19 0; +#X connect 39 0 1 0; +#X connect 44 0 18 0; +#X connect 46 0 5 0; diff --git a/externals/gridflow/examples/color_detect.pd b/externals/gridflow/examples/color_detect.pd new file mode 100644 index 00000000..91610cdb --- /dev/null +++ b/externals/gridflow/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/examples/convolve.pd b/externals/gridflow/examples/convolve.pd new file mode 100644 index 00000000..4b6aeb67 --- /dev/null +++ b/externals/gridflow/examples/convolve.pd @@ -0,0 +1,90 @@ +#N canvas 17 90 652 511 10; +#X obj 40 102 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 40 220 #store; +#X obj 136 306 # / 9; +#X obj 31 300 #out window; +#X obj 78 175 #in; +#X obj 40 66 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X text 351 75 step 1: select one of those six grids; +#X obj 78 135 loadbang; +#X obj 40 83 metro 33.3667; +#X obj 78 197 t a; +#X obj 136 287 #convolve \, seed 4; +#X obj 352 95 loadbang; +#X text 13 239 feedback loop; +#X obj 136 325 shunt 2; +#X obj 191 327 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X msg 307 205 0; +#X obj 183 365 # + 128; +#X msg 317 365 1; +#X obj 31 319 fps; +#X obj 31 338 print; +#X obj 5 481 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 13 488 GridFlow 0.8.0; +#X text 13 488 GridFlow 0.8.0; +#X obj 7 5 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 20 18 Copyright 2002 Mathieu Bouchard; +#X text 20 5 convolve.pd; +#X text 526 282 Laplacian masks; +#X text 416 352 Sharpen; +#X text 527 107 Blurs; +#X obj 183 346 # << 4; +#X msg 78 155 open babbage.jpg \, bang; +#X obj 136 344 # abs-; +#X obj 136 392 #clip; +#X msg 416 370 3 3 # -1 -1 -1 -1 17; +#X msg 416 325 3 3 # -1 -1 -1 -1 8; +#X msg 419 302 3 3 # 0 1 0 1 -4 1 0 1 0; +#X msg 413 246 1 3 # 0 9 -9; +#X msg 413 227 1 3 # 0 2 -2; +#X msg 401 127 3 3 # 1 1 1 1 1 1 1 1 1; +#X msg 407 147 3 3 # 4 0 0 0 1 0 0 0 4; +#X msg 397 187 3 3 # 2 2 2 2 -7 2 2 2 2; +#X msg 402 207 3 3 # 0 4 0 4 9 -4 0 -4 0; +#X text 420 170 Simple edge detection; +#X obj 134 197 display; +#X obj 277 186 t a b; +#X obj 287 346 t a b; +#X obj 210 217 # +; +#X connect 0 0 1 0; +#X connect 1 0 10 0; +#X connect 2 0 13 0; +#X connect 3 0 18 0; +#X connect 4 0 9 0; +#X connect 5 0 8 0; +#X connect 7 0 30 0; +#X connect 8 0 0 0; +#X connect 9 0 1 1; +#X connect 9 0 3 0; +#X connect 10 0 2 0; +#X connect 11 0 38 0; +#X connect 13 0 31 0; +#X connect 13 1 29 0; +#X connect 14 0 13 1; +#X connect 15 0 14 0; +#X connect 16 0 32 0; +#X connect 17 0 14 0; +#X connect 18 0 19 0; +#X connect 29 0 16 0; +#X connect 30 0 4 0; +#X connect 31 0 32 0; +#X connect 32 0 9 0; +#X connect 33 0 44 0; +#X connect 34 0 45 0; +#X connect 35 0 45 0; +#X connect 36 0 45 0; +#X connect 37 0 44 0; +#X connect 38 0 44 0; +#X connect 39 0 44 0; +#X connect 40 0 44 0; +#X connect 41 0 44 0; +#X connect 44 0 46 0; +#X connect 44 1 15 0; +#X connect 45 0 46 0; +#X connect 45 1 17 0; +#X connect 46 0 10 1; +#X connect 46 0 43 0; diff --git a/externals/gridflow/examples/cross_fade.pd b/externals/gridflow/examples/cross_fade.pd new file mode 100644 index 00000000..c612e1db --- /dev/null +++ b/externals/gridflow/examples/cross_fade.pd @@ -0,0 +1,76 @@ +#N canvas 344 101 680 501 10; +#X obj 13 229 # *>>8; +#X text 40 253 first picture plus a fraction of the difference; +#X obj 13 251 # +; +#X obj 13 210 #store; +#X obj 211 157 # inv+; +#X obj 68 271 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X text 12 372 note: the #layer/#join objects can make the crossfade +process simpler but it's still not faster.; +#X obj 13 46 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 264 130 #in; +#X obj 13 191 #finished; +#X text 85 271 click to clip out-of-range colours; +#X text 60 229 multiply by a N/256 fraction; +#X obj 211 111 #in; +#X obj 13 353 #out window; +#X text 61 213 keep the difference between both pictures; +#X obj 249 91 t b b; +#X obj 249 72 loadbang; +#X obj 13 270 shunt 2; +#X obj 13 82 float; +#X obj 25 101 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 2784 256; +#X obj 52 82 + 4; +#X obj 13 117 pingpong 256; +#X obj 21 136 hsl 129 15 0 256 0 0 empty empty empty -2 -6 0 8 -260818 +-1 -1 11200 1; +#X text 11 406 also #draw_image/#join is a possibility; +#X obj 0 1 cnv 15 680 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 14 14 Copyright 2002 Mathieu Bouchard; +#X text 14 -2 cross_fade.pd; +#X obj 0 469 cnv 15 680 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 8 477 GridFlow 0.8.0; +#X obj 57 308 #clip; +#X msg 237 111 load b001.jpg; +#X msg 289 130 load r001.jpg; +#X obj 264 149 #cast s; +#X obj 211 130 #cast s; +#X obj 13 172 t a a; +#X obj 13 63 metro 33.3667; +#X obj 57 289 #cast i; +#X obj 13 153 #cast s; +#X connect 0 0 2 0; +#X connect 2 0 17 0; +#X connect 3 0 0 0; +#X connect 4 0 3 1; +#X connect 5 0 17 1; +#X connect 7 0 35 0; +#X connect 8 0 32 0; +#X connect 9 0 3 0; +#X connect 12 0 33 0; +#X connect 15 0 30 0; +#X connect 15 1 31 0; +#X connect 16 0 15 0; +#X connect 17 0 13 0; +#X connect 17 1 36 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 18 0 21 0; +#X connect 20 0 18 1; +#X connect 21 0 22 0; +#X connect 21 0 37 0; +#X connect 29 0 13 0; +#X connect 30 0 12 0; +#X connect 31 0 8 0; +#X connect 32 0 4 1; +#X connect 33 0 4 0; +#X connect 33 0 2 1; +#X connect 34 0 9 0; +#X connect 34 1 0 1; +#X connect 35 0 18 0; +#X connect 36 0 29 0; +#X connect 37 0 34 0; diff --git a/externals/gridflow/examples/doodle.pd b/externals/gridflow/examples/doodle.pd new file mode 100644 index 00000000..8999b273 --- /dev/null +++ b/externals/gridflow/examples/doodle.pd @@ -0,0 +1,51 @@ +#N canvas 0 0 450 427 10; +#X obj 22 22 metro 33.3667; +#X obj 1 22 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1; +#X obj 183 74 t b l; +#X obj 270 93 loadbang; +#X msg 222 74 put_at ( \$1 \$2 0 ); +#X msg 270 112 0 192 255; +#X obj 22 133 #scale_by 8; +#X obj 22 262 #out window; +#X obj 22 295 #mouse; +#X obj 22 314 # / 8; +#X obj 22 333 #export_list; +#X obj 183 93 #store; +#X obj 270 131 #color; +#X obj 22 114 #store (64 64 3 #); +#X obj 200 225 #for (0 0) (8 8) (1 1); +#X obj 200 263 #fold &; +#X obj 211 203 loadbang; +#X obj 189 205 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 196 168 0 0; +#X obj 22 167 #draw_image *>>8 \, tile 1; +#X obj 200 244 # !=; +#X obj 200 282 # * 128; +#X obj 200 301 #outer + (3 # 127); +#X connect 0 0 13 0; +#X connect 1 0 0 0; +#X connect 2 0 11 0; +#X connect 2 1 4 0; +#X connect 3 0 5 0; +#X connect 4 0 13 1; +#X connect 5 0 12 0; +#X connect 5 0 18 0; +#X connect 6 0 19 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 2 0; +#X connect 11 0 13 1; +#X connect 12 0 11 1; +#X connect 13 0 6 0; +#X connect 14 0 20 0; +#X connect 15 0 21 0; +#X connect 16 0 14 0; +#X connect 17 0 14 0; +#X connect 18 0 19 2; +#X connect 19 0 7 0; +#X connect 20 0 15 0; +#X connect 21 0 22 0; +#X connect 22 0 19 1; diff --git a/externals/gridflow/examples/drag_rectangle.pd b/externals/gridflow/examples/drag_rectangle.pd new file mode 100644 index 00000000..4d5bd6b7 --- /dev/null +++ b/externals/gridflow/examples/drag_rectangle.pd @@ -0,0 +1,106 @@ +#N canvas 420 110 647 484 10; +#X obj 274 73 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X obj 274 197 #out window; +#X obj 64 224 hsl 128 15 0 319 0 0 x1_o x1_i empty -2 -8 1 10 -262144 +-1 -1 8560 1; +#X obj 64 76 hsl 128 15 0 319 0 0 x0_o x0_i empty 0 8 1 10 -262144 +-66577 -258699 5215 0; +#X obj 46 93 vsl 15 128 239 0 0 0 y0_o y0_i empty 0 -8 1 10 -262144 +-1 -1 10840 1; +#X obj 194 93 vsl 15 128 239 0 0 0 y1_o y1_i empty 0 -8 1 10 -262144 +-1 -1 7439 1; +#N canvas 463 375 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 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) (4 2 #); +#X obj 90 37 #unpack; +#X obj 154 42 #unpack; +#X obj 125 62 #pack 4; +#X connect 0 0 10 0; +#X connect 2 0 11 0; +#X connect 4 0 12 0; +#X connect 8 0 9 0; +#X connect 9 0 10 2; +#X connect 10 0 6 0; +#X connect 11 0 13 0; +#X connect 11 1 13 1; +#X connect 12 0 13 2; +#X connect 12 1 13 3; +#X connect 13 0 8 0; +#X restore 274 177 pd make_rectangle; +#X obj 274 123 metro 33.3667; +#X text 21 75 start; +#X text 198 224 end; +#X obj 371 103 loadbang; +#X obj 274 152 #store; +#X obj 436 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 358 197 #mouse \, ...; +#X obj 421 145 loadbang; +#X msg 421 164 0 0; +#X obj 385 241 t a; +#X obj 90 402 #out window; +#X obj 129 301 t b a; +#X obj 90 366 #store; +#X msg 91 323 set ( \$1 \$2 ); +#X obj 370 123 #in b001.jpg; +#X text 73 115 drag the mouse; +#X text 99 100 step 2:; +#X text 82 131 inside the; +#X text 80 146 first window; +#X text 261 55 step 1: turn on; +#X text 95 384 cropping (to 2nd window); +#X obj 2 453 cnv 15 640 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 10 460 GridFlow 0.8.0; +#X text 10 460 GridFlow 0.8.0; +#X obj 3 3 cnv 15 640 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 16 16 Copyright 2002 Mathieu Bouchard; +#X text 16 3 drag_rectangle.pd; +#X obj 90 347 #for (0 0) (0 0) (1 1); +#X obj 358 359 unpack; +#X obj 493 354 unpack; +#X obj 395 378 s x0_i; +#X obj 493 392 s y1_i; +#X obj 530 373 s x1_i; +#X obj 358 397 s y0_i; +#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 21 0; +#X connect 11 0 6 0; +#X connect 12 0 21 0; +#X connect 13 0 6 1; +#X connect 13 0 20 0; +#X connect 13 0 16 0; +#X connect 13 0 35 0; +#X connect 13 1 16 0; +#X connect 13 2 16 0; +#X connect 13 2 18 0; +#X connect 14 0 15 0; +#X connect 15 0 6 1; +#X connect 15 0 6 2; +#X connect 16 0 6 2; +#X connect 16 0 36 0; +#X connect 18 0 34 0; +#X connect 18 1 34 1; +#X connect 19 0 17 0; +#X connect 20 0 34 0; +#X connect 21 0 11 1; +#X connect 21 0 19 1; +#X connect 34 0 19 0; +#X connect 35 0 40 0; +#X connect 35 1 37 0; +#X connect 36 0 38 0; +#X connect 36 1 39 0; diff --git a/externals/gridflow/examples/eclipse.pd b/externals/gridflow/examples/eclipse.pd new file mode 100644 index 00000000..068b1e7d --- /dev/null +++ b/externals/gridflow/examples/eclipse.pd @@ -0,0 +1,77 @@ +#N canvas 246 45 635 533 10; +#X floatatom 342 279 5 0 0 0 - - -; +#X obj 61 -35 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X obj 294 237 loadbang; +#X floatatom 294 281 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 289 214 size of subimages; +#X obj 61 17 #camera; +#X obj 61 91 #finished; +#X obj 61 183 # /; +#X obj 61 202 # *; +#X obj 61 229 #store; +#X obj 61 294 #out window; +#X obj 294 299 #pack 2; +#X obj 127 219 #store; +#X obj 127 196 # *; +#X obj 1 418 cnv 15 640 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X obj 3 -85 cnv 15 640 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 121 17 <-- open this; +#X text 16 -85 eclipse.pd; +#X obj 61 72 t a a; +#X obj 61 110 t b b; +#X obj 61 332 print; +#X obj 61 313 fps detailed; +#X text 9 425 GridFlow 0.8.3; +#X msg 294 259 6; +#X msg 342 259 8; +#X obj 294 318 # inv* (240 320); +#X text 16 -72 Copyright 2002 \, 2006 Mathieu Bouchard; +#X obj 164 114 #for (0 0) (240 320) (1 1); +#X obj 61 164 #store; +#X obj 127 174 #store; +#X obj 61 275 #clip; +#X obj 164 95 loadbang; +#X obj 61 256 # *>>8; +#X obj 61 36 #gamma 600; +#X text 183 145 this is actually like #remap_image but faster; +#X connect 0 0 13 1; +#X connect 1 0 5 0; +#X connect 2 0 26 0; +#X connect 2 0 25 0; +#X connect 3 0 13 0; +#X connect 4 0 7 0; +#X connect 5 0 7 0; +#X connect 7 0 35 0; +#X connect 8 0 21 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 34 0; +#X connect 12 0 23 0; +#X connect 13 0 15 1; +#X connect 13 0 27 0; +#X connect 14 0 34 1; +#X connect 15 0 14 0; +#X connect 20 0 8 0; +#X connect 20 1 11 1; +#X connect 20 1 14 1; +#X connect 21 0 30 0; +#X connect 21 1 31 0; +#X connect 23 0 22 0; +#X connect 25 0 3 0; +#X connect 26 0 0 0; +#X connect 27 0 9 1; +#X connect 27 0 10 1; +#X connect 29 0 30 1; +#X connect 29 0 31 1; +#X connect 30 0 9 0; +#X connect 31 0 15 0; +#X connect 32 0 12 0; +#X connect 33 0 29 0; +#X connect 34 0 32 0; +#X connect 35 0 20 0; diff --git a/externals/gridflow/examples/epicycloid.pd b/externals/gridflow/examples/epicycloid.pd new file mode 100644 index 00000000..000bc8c0 --- /dev/null +++ b/externals/gridflow/examples/epicycloid.pd @@ -0,0 +1,125 @@ +#N canvas 301 73 904 550 10; +#X text 158 43 epicycloid; +#X text 168 56 x(t) = (R+r) cos(t) - p*cos((R+r)t/r); +#X text 168 69 y(t) = (R+r) sin(t) - p*sin((R+r)t/r); +#X obj 24 273 #draw_polygon put 1; +#X obj 24 292 #out window; +#X obj -22 68 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X obj 297 428 pack f f f f; +#X msg 297 447 \$2 \$1 \$4 \$1 \$4 \$3 \$2 \$3; +#X text 304 403 x; +#X text 364 405 y; +#X text 391 407 y+1; +#X text 327 405 x+1; +#X floatatom 303 381 5 0 0 0 - - -; +#X obj 345 379 + 1; +#X floatatom 390 382 5 0 0 0 - - -; +#X obj 432 379 + 1; +#X obj 303 358 t f f; +#X obj 390 361 t f f; +#X obj -16 108 s met; +#X obj 258 428 r met; +#X obj 388 197 hsl 128 15 5 100 0 1 empty empty empty -2 -6 0 8 -24198 +-1 -1 5500 1; +#X obj 515 238 hsl 128 15 -100 100 0 1 empty empty empty -2 -6 0 8 +-44926 -1 -1 4000 1; +#X obj 665 263 hsl 128 15 -150 150 0 1 empty empty empty -2 -6 0 8 +-258699 -1 -1 3200 1; +#X text 313 155 t = valeur en angles de 0 a 360; +#X obj 385 241 t f f; +#X obj 512 270 t f f; +#X obj 662 283 t f f; +#X obj 303 217 * 6.28319; +#X obj 303 196 / 360; +#X floatatom 303 178 5 0 0 0 - - -; +#X obj 303 236 t f f; +#X obj -22 273 #store; +#X obj -14 129 loadbang; +#X obj 390 323 expr ($f2+$f3)*sin($f1) - $f4*sin(($f2+$f3)*$f1/$f3) +; +#X obj 303 302 expr ($f2+$f3)*cos($f1) - $f4*cos(($f2+$f3)*$f1/$f3) +; +#X obj 303 135 + 1; +#X msg 303 111 1; +#X floatatom 335 138 5 0 0 0 - - -; +#X msg 335 119 0; +#X text 366 122 reset count; +#X text 100 147 reset image; +#X text 470 216 r = Rayon du deuxieme cercle -100 a 100; +#X obj 390 342 + 150; +#X obj 303 339 + 150; +#X floatatom 397 223 5 0 0 0 - - -; +#X floatatom 563 263 5 0 0 0 - - -; +#X floatatom 712 286 5 0 0 0 - - -; +#X obj -22 85 metro 1; +#X obj 25 68 hsl 128 15 0 15 0 0 empty empty empty -2 -6 0 8 -260818 +-1 -1 0 1; +#X text 360 178 R = Rayon du premier cercle 5 a 100; +#X obj -38 515 cnv 15 900 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -29 522 GridFlow 0.8.0; +#X text -29 522 GridFlow 0.8.0; +#X obj -35 5 cnv 15 800 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 88 213 #color; +#X obj 88 175 loadbang; +#X msg 88 194 230 224 0; +#X msg -14 148 300 300 3 # 0; +#X text -22 18 Copyright 2004 Alexandre Castonguay; +#X text -22 5 epicycloid.pd; +#X text 51 128 start with a blank \, black image; +#X text 660 248 deuxieme cercle - 150 a 150; +#X text 660 233 p = distance du centre du; +#X obj 297 466 #import (4 2); +#X connect 3 0 4 0; +#X connect 3 0 31 1; +#X connect 5 0 47 0; +#X connect 6 0 7 0; +#X connect 7 0 63 0; +#X connect 12 0 6 0; +#X connect 13 0 6 2; +#X connect 14 0 6 1; +#X connect 15 0 6 3; +#X connect 16 0 12 0; +#X connect 16 1 13 0; +#X connect 17 0 14 0; +#X connect 17 1 15 0; +#X connect 19 0 6 0; +#X connect 20 0 24 0; +#X connect 20 0 44 0; +#X connect 21 0 25 0; +#X connect 21 0 45 0; +#X connect 22 0 26 0; +#X connect 22 0 46 0; +#X connect 24 0 34 1; +#X connect 24 1 33 1; +#X connect 25 0 34 2; +#X connect 25 1 33 2; +#X connect 26 0 34 3; +#X connect 26 1 33 3; +#X connect 27 0 30 0; +#X connect 28 0 27 0; +#X connect 29 0 28 0; +#X connect 30 0 34 0; +#X connect 30 1 33 0; +#X connect 31 0 3 0; +#X connect 32 0 57 0; +#X connect 33 0 42 0; +#X connect 34 0 43 0; +#X connect 35 0 37 0; +#X connect 35 0 29 0; +#X connect 36 0 35 0; +#X connect 37 0 35 1; +#X connect 38 0 37 0; +#X connect 42 0 17 0; +#X connect 43 0 16 0; +#X connect 47 0 18 0; +#X connect 47 0 31 0; +#X connect 47 0 36 0; +#X connect 48 0 47 1; +#X connect 54 0 3 1; +#X connect 55 0 56 0; +#X connect 56 0 54 0; +#X connect 57 0 31 1; +#X connect 63 0 3 2; diff --git a/externals/gridflow/examples/feedback_fractal.pd b/externals/gridflow/examples/feedback_fractal.pd new file mode 100644 index 00000000..abb70e80 --- /dev/null +++ b/externals/gridflow/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 545 260 pd experimental features; +#X text 515 193 Choose Julia Mapping or Rotation; +#X obj 31 53 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 414 145 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X text 135 196 apply transform (with feedback); +#X floatatom 430 363 5 0 0 0 - - -; +#X floatatom 518 387 5 0 0 0 - - -; +#X text 434 375 zoom; +#X text 518 397 move x; +#X msg 518 368 -45; +#X msg 430 344 128; +#X obj 119 197 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 444 119 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 497 193 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X floatatom 472 387 5 0 0 0 - - -; +#X text 471 398 move y; +#X msg 472 368 193; +#X obj 31 80 metro 33.3667; +#X obj 442 191 shunt 2; +#X obj 77 365 loadbang; +#X obj 414 91 t b b; +#X obj 414 67 loadbang; +#X obj 31 338 t a; +#X obj 131 220 loadbang; +#X obj 131 239 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 119 317 t a; +#X obj 31 108 t b b; +#X obj 73 109 float; +#X obj 73 128 + 1; +#X obj 84 148 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 57 256; +#X obj 486 323 t b; +#X text 149 240 reset transform; +#X obj 99 128 mod 60; +#X obj 73 168 sel 59; +#X obj 31 200 #store; +#X obj 31 276 # << 7; +#X obj 31 295 #fade 10; +#X obj 31 314 # >> 7; +#X obj 31 422 #store; +#X obj 31 451 #out window; +#X obj 414 478 # -; +#X obj 438 454 # - 128; +#X obj 414 390 # /; +#X obj 414 296 #store; +#X obj 442 172 #for ( -128 -128 ) ( 128 128 ) ( 1 1 ); +#X obj 442 210 @complex_sq; +#X obj 485 229 #inner (2 2 # 120 30 -30 120); +#X obj -13 0 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj -15 518 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 525 GridFlow 0.8.0; +#X text -7 525 GridFlow 0.8.0; +#X text 0 0 feedback_fractal.pd; +#X text 0 13 Copyright 2001 Mathieu Bouchard; +#X obj 131 258 #for (0 0) (256 256) (1 1); +#X obj 119 298 #store; +#X obj 119 279 #store; +#X obj 77 422 #cast b; +#X obj 77 403 #in; +#X msg 77 384 load teapot.png; +#X obj 438 432 #pack; +#X text 431 145 apply coords; +#X text 462 118 apply type of transform; +#X connect 0 0 43 1; +#X connect 2 0 17 0; +#X connect 3 0 43 0; +#X connect 5 0 42 1; +#X connect 6 0 59 1; +#X connect 9 0 6 0; +#X connect 10 0 5 0; +#X connect 11 0 55 0; +#X connect 12 0 44 0; +#X connect 13 0 18 1; +#X connect 14 0 59 0; +#X connect 16 0 14 0; +#X connect 17 0 26 0; +#X connect 18 0 45 0; +#X connect 18 1 46 0; +#X connect 19 0 58 0; +#X connect 20 0 3 0; +#X connect 20 1 12 0; +#X connect 20 1 30 0; +#X connect 21 0 20 0; +#X connect 22 0 38 0; +#X connect 23 0 24 0; +#X connect 24 0 53 0; +#X connect 25 0 34 1; +#X connect 25 0 54 1; +#X connect 26 0 34 0; +#X connect 26 1 27 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 0 32 0; +#X connect 28 0 33 0; +#X connect 30 0 10 0; +#X connect 30 0 16 0; +#X connect 30 0 9 0; +#X connect 32 0 27 1; +#X connect 33 0 11 0; +#X connect 34 0 35 0; +#X connect 35 0 36 0; +#X connect 36 0 37 0; +#X connect 37 0 22 0; +#X connect 38 0 39 0; +#X connect 40 0 55 1; +#X connect 41 0 40 1; +#X connect 42 0 40 0; +#X connect 43 0 42 0; +#X connect 44 0 18 0; +#X connect 45 0 43 1; +#X connect 46 0 43 1; +#X connect 53 0 34 1; +#X connect 53 0 54 1; +#X connect 54 0 25 0; +#X connect 55 0 54 0; +#X connect 56 0 38 1; +#X connect 57 0 56 0; +#X connect 58 0 57 0; diff --git a/externals/gridflow/examples/fire.pd b/externals/gridflow/examples/fire.pd new file mode 100644 index 00000000..f9aa2ea8 --- /dev/null +++ b/externals/gridflow/examples/fire.pd @@ -0,0 +1,300 @@ +#N canvas 588 0 632 527 10; +#X obj 377 355 loadbang; +#X text 243 362 palette generator; +#X obj 100 383 fps detailed; +#X obj 264 400 #for 0 256 1; +#X obj 19 240 #store; +#X obj 100 402 print; +#X msg 56 200 \$1 \$2 # 0; +#X obj 264 379 #finished; +#X obj 19 35 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 200 39 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 332 379 t a a; +#X text 258 62 height width; +#X obj 100 364 #out window; +#X text 97 308 applying palette; +#N canvas 127 200 450 300 circle 0; +#X obj 47 146 #fold +; +#X obj 47 203 # << 7; +#X obj 47 165 # >> 6; +#X obj 47 184 # == 10; +#X obj 47 15 inlet size; +#X obj 47 222 outlet matrix; +#X obj 77 108 inlet pos; +#X obj 47 53 t b a; +#X obj 47 127 # sq-; +#X obj 47 79 #for (0 0) (0 0) (1 1); +#X obj 90 53 #export_list; +#X connect 0 0 2 0; +#X connect 1 0 5 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 7 0; +#X connect 6 0 8 1; +#X connect 7 0 9 0; +#X connect 7 1 10 0; +#X connect 8 0 0 0; +#X connect 9 0 8 0; +#X connect 10 0 9 1; +#X restore 222 200 pd circle generator; +#N canvas 498 387 361 260 baseline 0; +#X obj 18 116 #fold +; +#X obj 127 148 - 4; +#X obj 18 56 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 18 135 # ==; +#X obj 127 129 listelement 0; +#X text 93 10 line generator; +#X obj 18 154 # << 7; +#X obj 127 110 #export_list; +#X obj 18 9 inlet size; +#X obj 18 173 outlet matrix; +#X obj 18 33 t a a; +#X text 154 150 four pixels from bottom; +#X obj 18 78 #for (0 0) (0 0) (1 1); +#X obj 18 97 # & (-1 0); +#X connect 0 0 3 0; +#X connect 1 0 3 1; +#X connect 2 0 12 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 6 0 9 0; +#X connect 7 0 4 0; +#X connect 8 0 10 0; +#X connect 10 0 2 0; +#X connect 10 1 7 0; +#X connect 10 1 12 1; +#X connect 12 0 13 0; +#X connect 13 0 0 0; +#X restore 200 220 pd baseline generator; +#X text 45 183 make blank image; +#X text 26 223 feedback loop; +#X obj 377 393 #color 0 800 1; +#X msg 377 374 600 200 75; +#X obj 220 38 loadbang; +#N canvas 624 360 400 289 fire 0; +#X obj 174 180 #store; +#X obj 61 196 #export_list; +#X obj 6 65 # >> 2; +#X obj 6 235 # & 255; +#X obj 6 103 # / 80; +#X msg 174 138 \$1 1 # 256; +#X obj 174 97 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 174 78 route grid; +#X obj 60 155 inlet; +#X obj 274 146 # + 32; +#X obj 60 177 #dim; +#X obj 6 214 # +; +#X obj 6 258 outlet 0; +#X msg 274 101 256 \$2 # 64; +#X obj 6 84 # *; +#X obj 6 7 inlet image; +#X obj 274 79 inlet size; +#X text 102 8 this fire algorithm; +#X text 101 22 was designed by matju in 1994; +#X text 264 167 makes a cache of; +#X text 264 180 random numbers; +#X obj 174 159 # rand; +#X obj 274 123 # rand; +#X obj 6 46 #convolve (3 3 # 1 0 0 0 1 0 1 1 1); +#X obj 174 115 list; +#X obj 6 26 t a a; +#X obj 160 215 display; +#X connect 0 0 14 1; +#X connect 1 0 24 1; +#X connect 2 0 14 0; +#X connect 3 0 12 0; +#X connect 4 0 11 0; +#X connect 5 0 21 0; +#X connect 6 0 24 0; +#X connect 7 0 6 0; +#X connect 8 0 11 1; +#X connect 8 0 10 0; +#X connect 8 0 26 0; +#X connect 9 0 0 1; +#X connect 10 0 1 0; +#X connect 11 0 3 0; +#X connect 13 0 22 0; +#X connect 14 0 4 0; +#X connect 15 0 25 0; +#X connect 16 0 13 0; +#X connect 21 0 0 0; +#X connect 22 0 9 0; +#X connect 23 0 2 0; +#X connect 24 0 5 0; +#X connect 25 0 23 0; +#X connect 25 1 7 0; +#X restore 65 240 pd fire generator; +#X text 166 108 note: reset the size if you change the generator; +#X obj 19 67 metro 33.3667; +#X obj 5 -4 cnv 15 620 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 15 -4 fire.pd; +#X obj 5 483 cnv 15 620 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 13 491 GridFlow 0.8.0; +#X obj 139 402 route position; +#N canvas 268 301 442 406 cursor 0; +#X obj 107 48 listsublist 0 2; +#X obj 107 10 inlet; +#X obj 132 151 listsublist 0 48; +#X obj 30 49 t a a; +#X obj 30 284 outlet; +#X obj 30 151 listappend 0 0; +#X obj 107 29 #export_list; +#X obj 30 79 # -; +#X obj 115 86 #finished; +#X obj 115 105 #store (0 0); +#X obj 30 170 #redim (25 2); +#X obj 30 189 # sq-; +#X obj 30 208 #fold +; +#X obj 30 227 # sqrt; +#X obj 30 246 #fold +; +#X obj 30 265 # / 5; +#X obj 30 9 r metro; +#X obj 30 131 #export_list; +#X obj 30 29 list; +#X connect 0 0 18 1; +#X connect 1 0 6 0; +#X connect 2 0 5 1; +#X connect 3 0 7 0; +#X connect 3 1 9 1; +#X connect 5 0 2 0; +#X connect 5 0 10 0; +#X connect 6 0 0 0; +#X connect 7 0 8 0; +#X connect 7 0 17 0; +#X connect 8 0 9 0; +#X connect 9 0 7 1; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 4 0; +#X connect 16 0 18 0; +#X connect 17 0 5 0; +#X connect 18 0 3 0; +#X restore 371 162 pd cursor motion detector; +#X obj 139 460 s cursor; +#X msg 20 341 hidecursor; +#N canvas 238 140 484 503 fuzzy 0; +#X obj 47 281 outlet; +#X obj 47 68 #for (0 0) (0 0) (1 1); +#X obj 47 13 inlet size; +#X obj 47 32 t b a; +#X obj 86 32 #export_list; +#X obj 47 91 # sq-; +#X obj 47 262 # - 10; +#X obj 47 243 # max 10; +#X obj 47 224 # min 255; +#X obj 47 205 # + 64; +#X obj 47 186 # tanh* 64; +#X obj 47 167 # << 8; +#X obj 47 148 # inv+ 2; +#X obj 47 129 # >> 2; +#X obj 104 125 inlet radius; +#X obj 229 89 inlet pos; +#X obj 47 110 #fold +; +#X connect 1 0 5 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 4 0; +#X connect 4 0 1 1; +#X connect 5 0 16 0; +#X connect 6 0 0 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 13 0 12 0; +#X connect 14 0 12 1; +#X connect 15 0 5 1; +#X connect 16 0 13 0; +#X restore 276 181 pd fuzzy disk seed generator; +#X text 177 440 #scale_by compensation; +#X msg 139 421 \$1 \$2; +#X obj 99 345 #scale_by 2; +#X obj 139 440 # / 2; +#X text 15 294 (height \, width \, 1) grid = grey image; +#X text 16 260 (height \, width) grid = matrix; +#X obj 200 123 shunt 3; +#X obj 253 125 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X obj 501 203 r cursor; +#X obj 501 223 t a; +#X obj 58 86 spigot; +#X obj 19 86 t b b; +#X obj 115 86 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 1 1 +; +#X obj 49 105 s metro; +#X obj 67 277 #outer ignore (0); +#X text 15 9 Copyright 2001 \, 2005 Mathieu Bouchard; +#X msg 200 62 120 160; +#X obj 500 247 display; +#X obj 99 326 #store; +#X obj 264 422 #outer gamma; +#X obj 204 90 list; +#X obj 115 67 loadbang; +#X obj 71 27 f; +#X obj 96 27 + 1; +#X obj 71 46 sel 100; +#X floatatom 128 48 5 0 0 0 - - -; +#X connect 0 0 19 0; +#X connect 2 0 5 0; +#X connect 3 0 52 0; +#X connect 4 0 21 0; +#X connect 6 0 4 1; +#X connect 7 0 3 0; +#X connect 8 0 23 0; +#X connect 9 0 49 0; +#X connect 10 0 7 0; +#X connect 10 1 52 1; +#X connect 12 0 2 0; +#X connect 12 0 28 0; +#X connect 14 0 21 1; +#X connect 15 0 21 1; +#X connect 18 0 10 0; +#X connect 19 0 18 0; +#X connect 20 0 49 0; +#X connect 21 0 4 1; +#X connect 21 0 47 0; +#X connect 23 0 44 0; +#X connect 28 0 34 0; +#X connect 29 0 32 1; +#X connect 31 0 12 0; +#X connect 32 0 21 1; +#X connect 34 0 36 0; +#X connect 35 0 12 0; +#X connect 36 0 30 0; +#X connect 39 0 15 0; +#X connect 39 1 14 0; +#X connect 39 2 32 0; +#X connect 40 0 39 1; +#X connect 41 0 42 0; +#X connect 42 0 29 0; +#X connect 42 0 14 1; +#X connect 42 0 32 2; +#X connect 42 0 50 0; +#X connect 43 0 53 0; +#X connect 44 0 4 0; +#X connect 44 1 43 0; +#X connect 44 1 46 0; +#X connect 45 0 43 1; +#X connect 47 0 51 0; +#X connect 49 0 6 0; +#X connect 49 0 21 2; +#X connect 49 0 53 1; +#X connect 51 0 35 0; +#X connect 52 0 51 1; +#X connect 53 0 39 0; +#X connect 54 0 45 0; +#X connect 55 0 56 0; +#X connect 55 0 57 0; +#X connect 56 0 55 1; +#X connect 57 0 8 0; +#X connect 57 1 58 0; diff --git a/externals/gridflow/examples/frequency_mask.pd b/externals/gridflow/examples/frequency_mask.pd new file mode 100644 index 00000000..c5a08b52 --- /dev/null +++ b/externals/gridflow/examples/frequency_mask.pd @@ -0,0 +1,160 @@ +#N canvas 608 0 612 689 10; +#X obj 33 12 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1 +; +#X obj 33 432 t a a; +#X obj 33 457 # -; +#X obj 33 476 t a a; +#X obj 33 501 # -; +#X obj 33 520 t a a; +#X obj 33 545 # -; +#X obj 33 612 #clip; +#X obj 33 631 #out window; +#X obj 33 593 # + 128; +#X obj 33 574 # << 2; +#X obj 33 650 fps; +#X floatatom 33 669 5 0 0 0 - - -; +#X obj 33 212 #fft \, real; +#X obj 33 193 #cast f; +#X obj 33 250 #fft \, real \, sign 1; +#X obj 33 269 #cast i; +#X obj 33 288 # / 76800; +#X obj 314 55 # sq-; +#X obj 314 74 #fold +; +#X obj 314 169 #out window; +#X obj 314 17 #cast i; +#X obj 314 112 #clip; +#X obj 314 150 #remap_image; +#X obj 402 150 # - (120 160); +#X obj 33 29 metro 10; +#X obj 314 93 # sqrt; +#X obj 314 36 # / 277; +#X text 42 398 2nd derivative effects; +#X text 42 412 chosen because they emphasise noise; +#X obj 33 357 shunt; +#X obj 79 544 #convolve (3 3 # 0 1 0 1 -4 1); +#X obj 72 358 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 +1; +#X obj 314 131 #gamma 768; +#X obj 63 86 #greyscale_to_rgb; +#X obj 33 48 #camera 0 \, size 240 320; +#X obj 314 188 #mouse \, \, \, \,; +#X obj 439 230 sel 1; +#X obj 478 230 sel 1; +#X msg 478 249 0; +#X msg 439 249 1; +#X obj 346 307 pack 0 0 0; +#X obj 33 231 # * (2 f # 1 0); +#X obj 65 333 #out window; +#X obj 33 307 #clip; +#X obj 304 473 #inner (1 0); +#X obj 304 492 # * 255; +#X obj 304 454 #cast i; +#X obj 314 211 t b a; +#X obj 249 230 gf.oneshot; +#X obj 33 67 shunt; +#X obj 72 68 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 1 +; +#X obj 456 304 display; +#X obj 33 112 t a b; +#X obj 304 530 #out window \, title mask; +#X msg 346 326 put_at ( \$1 \$2 0 0 ) \, 1 1 3 2 f # \$3 \$3; +#X obj 239 302 #unpack; +#X obj 239 264 # * -1; +#X obj 239 283 # % (240 320); +#X obj 308 372 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 325 370 loadbang; +#X obj 239 321 pack 0 0 0; +#X obj 304 435 #store (240 320 3 2 f # 1); +#X obj 439 273 t a; +#X msg 339 408 reassign \, 240 320 3 2 f # 1; +#X obj 309 389 t b b; +#X obj 344 230 # + (120 160); +#X obj 344 258 #unpack; +#X obj 304 511 #remap_image; +#X obj 392 511 # - (120 160); +#X connect 0 0 25 0; +#X connect 1 0 2 1; +#X connect 1 1 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 1; +#X connect 3 1 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 1; +#X connect 5 1 6 0; +#X connect 6 0 10 0; +#X connect 7 0 8 0; +#X connect 8 0 11 0; +#X connect 9 0 7 0; +#X connect 10 0 9 0; +#X connect 11 0 12 0; +#X connect 13 0 21 0; +#X connect 13 0 42 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 17 0 44 0; +#X connect 18 0 19 0; +#X connect 19 0 26 0; +#X connect 20 0 36 0; +#X connect 21 0 27 0; +#X connect 22 0 33 0; +#X connect 23 0 20 0; +#X connect 23 1 24 0; +#X connect 24 0 23 1; +#X connect 25 0 35 0; +#X connect 26 0 22 0; +#X connect 27 0 18 0; +#X connect 30 0 1 0; +#X connect 30 1 31 0; +#X connect 31 0 10 0; +#X connect 32 0 30 1; +#X connect 33 0 23 0; +#X connect 34 0 53 0; +#X connect 35 0 50 0; +#X connect 36 0 48 0; +#X connect 36 1 48 0; +#X connect 36 4 37 0; +#X connect 36 6 38 0; +#X connect 37 0 40 0; +#X connect 38 0 39 0; +#X connect 39 0 63 0; +#X connect 40 0 63 0; +#X connect 41 0 55 0; +#X connect 41 0 52 0; +#X connect 42 0 15 0; +#X connect 44 0 43 0; +#X connect 44 0 30 0; +#X connect 45 0 46 0; +#X connect 46 0 68 0; +#X connect 47 0 45 0; +#X connect 48 0 49 1; +#X connect 48 1 66 0; +#X connect 49 0 62 0; +#X connect 50 0 53 0; +#X connect 50 1 34 0; +#X connect 51 0 50 1; +#X connect 53 0 14 0; +#X connect 53 1 49 0; +#X connect 55 0 62 1; +#X connect 56 0 61 0; +#X connect 56 1 61 1; +#X connect 57 0 58 0; +#X connect 58 0 56 0; +#X connect 59 0 65 0; +#X connect 60 0 65 0; +#X connect 61 0 55 0; +#X connect 62 0 42 1; +#X connect 62 0 47 0; +#X connect 63 0 61 2; +#X connect 63 0 41 2; +#X connect 64 0 62 1; +#X connect 65 0 62 0; +#X connect 65 1 64 0; +#X connect 66 0 57 0; +#X connect 66 0 67 0; +#X connect 67 0 41 0; +#X connect 67 1 41 1; +#X connect 68 0 54 0; +#X connect 68 1 69 0; +#X connect 69 0 68 1; diff --git a/externals/gridflow/examples/game_of_life.pd b/externals/gridflow/examples/game_of_life.pd new file mode 100644 index 00000000..8be32882 --- /dev/null +++ b/externals/gridflow/examples/game_of_life.pd @@ -0,0 +1,92 @@ +#N canvas 429 0 654 368 10; +#X obj 36 46 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 31 237 #out window; +#X text 48 122 this is the feedback loop; +#X obj 143 50 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 262 87 loadbang; +#X obj 141 103 #store; +#X obj 161 68 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 31 275 print; +#X obj 31 256 fps detailed; +#X obj 31 143 t a a; +#X text 179 68 next; +#N canvas 0 0 450 632 game 1; +#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 122 # < (b # 3); +#X obj 28 103 #convolve (3 3 b # 0 0 0 0 1) \, op >> \, seed (b # 251) +; +#X text 26 173 This is about the fastest you can get in GridFlow. This +solution uses all the advanced dirty tricks you can imagine (and perhaps +some you can't).; +#X text 26 221 First I changed the convolution to use << so that *1 +becomes <<0 and *2 becomes <<1 \, because << is faster than *. Then +I changed << to >> so that \, with a preceding <<1 \, <<0 becomes >>1 +and <<1 becomes >>0. This is because #convolve knows that >>0 is doing +nothing (just like *1) and we want to have as many of those do-nothing +operations because they all get removed.; +#X text 25 322 Then the check for whether the result is 5 \, 6 or 7 +is reduced to a subtraction of 5 \, and a check for whether the result +is 0 \, 1 or 2 This can be made by a single < by using the "b" (uint8) +type \, in which negative numbers don't exist (-1 = 255). I can include +the subtraction in the #convolve by using the seed \, but -5 can't +be written with a b type \, so you need to write 256-5 = 251 instead. +; +#X text 25 423 Those are all optional accelerations. You may want to +undo a few of those so that you have a patch that is more tweakable +\, but then you'd realise that it is the nature of the game of life +to not be very tweakable. This is one of the most sensitive formulas +you can find: most any change will completely destroy the pattern \, +changing it into either an explosion of noise or sudden death. There +are some difficult-to-find interesting tweaks \, but so far \, none +of them has given rich results like the game of life has.; +#X text 25 548 The original (3 3 # 2 2 2 2 1 2 2 2 2) is itself a shortcut +I devised so that I don't have to have separate rules for lit cells +and unlit cells. This is the only shortcut I'd keep in all versions +of this patch no matter how much tweaking I'd do.; +#X connect 0 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X restore 31 102 pd game of life; +#X text 260 60 init with a random map; +#X text 261 72 10% white dots; +#X text 33 169 convert this 1-bit matrix to standard RGB \; 1 becomes +-1 becomes 255 \, but 0 stays 0; +#X obj 53 45 metro 5; +#X obj 5 329 cnv 15 640 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X obj 7 5 cnv 15 640 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 20 5 game_of_life.pd; +#X text 20 18 Copyright 2001 Mathieu Bouchard; +#X obj 262 125 # rand (b #); +#X obj 262 144 # == (b # 0); +#X msg 262 106 240 320 b # 10; +#X obj 31 199 # inv+ (b # 0); +#X obj 31 218 #outer ignore (3 b #); +#X obj 161 49 for 0 100 1; +#X text 13 336 GridFlow 0.9.5; +#X connect 0 0 15 0; +#X connect 1 0 8 0; +#X connect 3 0 25 0; +#X connect 4 0 22 0; +#X connect 5 0 11 0; +#X connect 6 0 5 0; +#X connect 8 0 7 0; +#X connect 9 0 23 0; +#X connect 9 1 5 1; +#X connect 11 0 9 0; +#X connect 15 0 5 0; +#X connect 20 0 21 0; +#X connect 21 0 9 0; +#X connect 22 0 20 0; +#X connect 23 0 24 0; +#X connect 24 0 1 0; +#X connect 25 0 6 0; diff --git a/externals/gridflow/examples/game_of_life_gem.pd b/externals/gridflow/examples/game_of_life_gem.pd new file mode 100644 index 00000000..5032ca9e --- /dev/null +++ b/externals/gridflow/examples/game_of_life_gem.pd @@ -0,0 +1,291 @@ +#N canvas 608 0 588 612 10; +#X obj 368 33 loadbang; +#X obj 23 48 gemhead; +#N canvas 610 247 578 360 GOL 0; +#X text 48 122 this is the feedback loop; +#X obj 143 50 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 161 49 for 0 10 1; +#X obj 262 87 loadbang; +#X obj 141 103 #store; +#X obj 161 68 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 31 143 fork; +#X text 179 68 next; +#N canvas 0 0 450 210 game 0; +#X obj 28 64 inlet matrix; +#X obj 28 141 outlet matrix; +#X text 18 14 this part at the left defines the rule of the game (this +is my own rewriting of the rules. it is equivalent to the original +but faster to compute.); +#X obj 28 83 # << (b # 1); +#X obj 28 122 # < (b # 3); +#X obj 28 103 #convolve (3 3 b # 0 0 0 0 1) \, op >> \, seed (b # 251) +; +#X connect 0 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X restore 31 102 pd game of life; +#X text 260 60 init with a random map; +#X obj 5 329 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 13 336 GridFlow 0.8.0; +#X text 13 336 GridFlow 0.8.0; +#X obj 7 5 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 20 5 game_of_life.pd; +#X text 20 18 Copyright 2001 Mathieu Bouchard; +#X obj 262 165 # rand (b #); +#X obj 262 184 # == (b # 0); +#X obj 24 41 inlet metro; +#X obj 22 69 route bang reset; +#X obj 31 295 outlet RGB; +#X obj 31 181 #cast i; +#X obj 31 238 #clip; +#X obj 41 257 #apply_colormap_channelwise; +#X obj 207 239 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 31 200 # << 10; +#X obj 234 238 #for 0 256 1; +#X obj 234 257 #outer gamma (3 # 333 555 999); +#X text 261 72 20% white dots; +#X obj 31 162 #outer ignore (4 b #); +#X obj 279 117 t b b; +#X obj 31 276 #scale_by; +#X msg 261 146 128 128 b # 5; +#X obj 31 219 #fade (16 4 1 1); +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 30 0; +#X connect 4 0 8 0; +#X connect 5 0 4 0; +#X connect 6 0 29 0; +#X connect 6 1 4 1; +#X connect 8 0 6 0; +#X connect 16 0 17 0; +#X connect 17 0 6 0; +#X connect 18 0 19 0; +#X connect 19 0 4 0; +#X connect 19 1 32 0; +#X connect 21 0 25 0; +#X connect 22 0 31 0; +#X connect 24 0 26 0; +#X connect 25 0 33 0; +#X connect 26 0 27 0; +#X connect 27 0 23 1; +#X connect 29 0 21 0; +#X connect 30 0 32 0; +#X connect 30 1 26 0; +#X connect 31 0 20 0; +#X connect 32 0 16 0; +#X connect 33 0 22 0; +#X restore 144 363 pd GOL; +#X obj 127 278 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X msg 154 336 reset; +#X obj 23 429 rotateXYZ; +#X obj 32 406 #unpack 3; +#X obj 32 349 # +; +#X obj 57 349 t a; +#X obj 32 368 #cast f; +#X obj 32 387 # / (f # 100); +#X floatatom 108 67 5 0 0 0 - - -; +#X obj 76 48 bang; +#X obj 108 48 fps \, period 5; +#X obj 23 215 pix_texture; +#X obj 285 516 #out window; +#X obj 285 63 gemhead 74; +#X obj 53 158 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X msg 53 172 yflip \$1; +#X obj 285 312 t a b; +#X obj 360 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291 +-1 -1 3175 1; +#X obj 375 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291 +-1 -1 3175 1; +#X obj 414 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291 +-1 -1 6350 1; +#X obj 429 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291 +-1 -1 6350 1; +#X msg 324 312 snap; +#X obj 360 110 #unpack; +#X obj 413 110 #unpack; +#X obj 285 364 pix_snap; +#X obj 350 267 #pack; +#X obj 404 267 #pack; +#X obj 300 404 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X msg 300 418 yflip \$1; +#X msg 360 90 128 128; +#X msg 413 91 256 256; +#X obj 23 528 cube 4; +#X obj 179 298 + 1; +#X obj 154 317 sel 0; +#X obj 154 298 f; +#X msg 307 437 help; +#X obj 407 289 #to_list; +#X obj 347 289 #to_list; +#X obj 23 196 #to_pix; +#X obj 4 1 cnv 15 500 18 empty empty empty 20 12 0 14 -228992 -66577 +0; +#X text 5 1 [#to_pix]; +#X text 401 2 GridFlow 0.9.3; +#X obj 62 106 separator; +#X obj 23 106 t a a; +#X msg 368 52 create \, 1 \, lighting 1; +#X msg 32 330 60 42 30; +#X obj 144 277 metro 33.3667; +#X floatatom 204 317 5 0 0 0 - - -; +#N canvas 0 0 450 300 lighting 0; +#X obj 22 28 inlet gem; +#X obj 152 210 light; +#X obj 282 210 light; +#X obj 22 47 t a a a; +#X obj 66 66 separator; +#X obj 44 85 separator; +#X obj 22 210 light; +#X obj 133 251 loadbang; +#X obj 22 191 translateXYZ 0 4 4; +#X obj 152 191 translateXYZ 4 0 4; +#X obj 282 191 translateXYZ 4 4 0; +#X msg 61 210 1 0 0; +#X msg 191 210 0 1 0; +#X msg 321 210 0 0 1; +#X connect 0 0 3 0; +#X connect 3 0 8 0; +#X connect 3 1 5 0; +#X connect 3 2 4 0; +#X connect 4 0 10 0; +#X connect 5 0 9 0; +#X connect 7 0 11 0; +#X connect 7 0 12 0; +#X connect 7 0 13 0; +#X connect 8 0 6 0; +#X connect 9 0 1 0; +#X connect 10 0 2 0; +#X connect 11 0 6 1; +#X connect 12 0 1 1; +#X connect 13 0 2 1; +#X restore 62 125 pd lighting; +#X obj 23 509 color 1 1 1; +#X obj 144 382 # inv+ 255; +#X obj 368 71 gemwin 29.97; +#X obj 23 457 shunt; +#X obj 62 458 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 1 1 +; +#N canvas 0 0 450 300 eight_cubes 0; +#X obj 33 29 inlet gem; +#X obj 33 48 t a a; +#X obj 163 48 separator; +#X obj 33 86 t a; +#X obj 33 105 t a a; +#X obj 163 105 separator; +#X obj 33 143 t a; +#X obj 33 162 t a a; +#X obj 163 162 separator; +#X obj 33 200 t a; +#X obj 33 219 cube 2; +#X obj 33 67 translateXYZ 4 0 0; +#X obj 33 124 translateXYZ 0 4 0; +#X obj 33 181 translateXYZ 0 0 4; +#X obj 163 181 translateXYZ 0 0 -4; +#X obj 163 124 translateXYZ 0 -4 0; +#X obj 163 67 translateXYZ -4 0 0; +#X connect 0 0 1 0; +#X connect 1 0 11 0; +#X connect 1 1 2 0; +#X connect 2 0 16 0; +#X connect 3 0 4 0; +#X connect 4 0 12 0; +#X connect 4 1 5 0; +#X connect 5 0 15 0; +#X connect 6 0 7 0; +#X connect 7 0 13 0; +#X connect 7 1 8 0; +#X connect 8 0 14 0; +#X connect 9 0 10 0; +#X connect 11 0 3 0; +#X connect 12 0 6 0; +#X connect 13 0 9 0; +#X connect 14 0 9 0; +#X connect 15 0 6 0; +#X connect 16 0 3 0; +#X restore 53 476 pd eight_cubes; +#X obj 285 482 #remap_image; +#X obj 204 298 % 256; +#X obj 390 463 % 32; +#X obj 23 239 translateXYZ 0 0 -7; +#X obj 285 457 #import_pix; +#X obj 374 482 # ^; +#X connect 0 0 47 0; +#X connect 0 0 32 0; +#X connect 0 0 33 0; +#X connect 1 0 12 0; +#X connect 1 0 46 0; +#X connect 2 0 53 0; +#X connect 3 0 49 0; +#X connect 4 0 2 0; +#X connect 5 0 55 0; +#X connect 6 0 5 1; +#X connect 6 1 5 2; +#X connect 6 2 5 3; +#X connect 7 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 7 1; +#X connect 9 0 10 0; +#X connect 10 0 6 0; +#X connect 12 0 13 0; +#X connect 13 0 11 0; +#X connect 14 0 61 0; +#X connect 16 0 19 0; +#X connect 17 0 18 0; +#X connect 18 0 41 0; +#X connect 19 0 27 0; +#X connect 19 1 24 0; +#X connect 20 0 28 0; +#X connect 21 0 28 1; +#X connect 22 0 29 0; +#X connect 23 0 29 1; +#X connect 24 0 27 0; +#X connect 25 0 20 0; +#X connect 25 1 21 0; +#X connect 26 0 22 0; +#X connect 26 1 23 0; +#X connect 27 0 62 0; +#X connect 28 0 40 0; +#X connect 29 0 39 0; +#X connect 30 0 31 0; +#X connect 31 0 62 0; +#X connect 32 0 25 0; +#X connect 33 0 26 0; +#X connect 35 0 59 0; +#X connect 36 0 4 0; +#X connect 37 0 35 0; +#X connect 37 0 36 0; +#X connect 38 0 62 0; +#X connect 39 0 27 2; +#X connect 40 0 27 1; +#X connect 41 0 14 0; +#X connect 45 0 51 0; +#X connect 46 0 41 0; +#X connect 46 1 45 0; +#X connect 47 0 54 0; +#X connect 48 0 7 0; +#X connect 49 0 2 0; +#X connect 49 0 37 0; +#X connect 49 0 48 0; +#X connect 52 0 34 0; +#X connect 53 0 41 1; +#X connect 55 0 52 0; +#X connect 55 1 57 0; +#X connect 56 0 55 1; +#X connect 58 0 15 0; +#X connect 58 1 63 0; +#X connect 59 0 37 1; +#X connect 59 0 50 0; +#X connect 59 0 60 0; +#X connect 60 0 63 1; +#X connect 61 0 5 0; +#X connect 62 0 58 0; +#X connect 63 0 58 1; diff --git a/externals/gridflow/examples/heat.pd b/externals/gridflow/examples/heat.pd new file mode 100644 index 00000000..743fc4e6 --- /dev/null +++ b/externals/gridflow/examples/heat.pd @@ -0,0 +1,173 @@ +#N canvas 59 155 741 486 10; +#X obj 228 23 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#N canvas 199 246 450 453 heat 1; +#X obj 129 23 inlet mask; +#X obj 22 42 t a a; +#X obj 22 224 # +; +#X obj 22 23 inlet heatmap; +#X obj 24 394 outlet heatmap; +#X obj 241 154 #greyscale_to_rgb; +#X obj 241 175 #out window; +#X obj 22 80 #store; +#X obj 22 61 #finished; +#X obj 52 167 # + 128; +#X obj 52 186 # >> 8; +#X obj 52 134 # *; +#X obj 52 103 #convolve (3 3 # 0 1 0 1 -4 1); +#X obj 52 205 # + 2; +#X obj 52 225 # >> 4; +#X connect 0 0 11 1; +#X connect 1 0 8 0; +#X connect 1 1 7 1; +#X connect 1 1 12 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; +#X connect 5 0 6 0; +#X connect 7 0 2 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 13 0; +#X connect 11 0 9 0; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 14 0 2 1; +#X restore 27 81 pd heat; +#X obj 27 61 #store; +#X obj 94 42 loadbang; +#X obj 27 16 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 27 363 #out window; +#X obj 227 157 #greyscale_to_rgb; +#X obj 227 138 # >> 2; +#X obj 48 23 s metro; +#X obj 27 382 #mouse \, ...; +#X obj 120 382 # >> 1; +#X obj 27 344 #scale_by 2; +#X msg 94 61 240 320 1 # 0; +#N canvas 205 52 520 286 finger 0; +#X obj 28 62 shunt 2; +#X msg 289 71 4 2 # 0 0 0 1 1 1 1 0; +#X obj 289 90 # * 8; +#X obj 289 109 # - 4; +#X obj 289 128 # +; +#X obj 28 23 inlet; +#X obj 28 142 outlet; +#X obj 289 14 inlet position; +#X obj 72 23 inlet button; +#X obj 289 33 #export_list; +#X obj 289 52 t b a; +#X obj 72 81 #draw_polygon + (4000); +#X connect 0 0 6 0; +#X connect 0 1 11 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 11 2; +#X connect 5 0 0 0; +#X connect 7 0 9 0; +#X connect 8 0 0 1; +#X connect 9 0 10 0; +#X connect 10 0 1 0; +#X connect 10 1 4 1; +#X connect 11 0 6 0; +#X restore 27 163 pd finger; +#X obj 15 436 fps detailed; +#X obj 16 456 display; +#X obj 27 119 shunt 2; +#X obj 90 104 f; +#X obj 115 104 + 1; +#X obj 27 100 t a b; +#X obj 140 123 ==; +#X obj 140 104 % 4; +#N canvas 340 133 341 379 render 0; +#X obj 12 285 # +; +#X obj 26 23 inlet heatmap; +#X obj 12 323 outlet rgb; +#X obj 123 23 inlet mask; +#X obj 26 53 t a a; +#X obj 26 80 #inner (1 3 # 2 4 6) \, op >>; +#X obj 82 161 t a a; +#X obj 88 189 # -; +#X obj 88 227 # + 128; +#X obj 12 304 #clip; +#X obj 88 208 # << 6; +#X obj 26 108 shunt 2; +#X obj 79 109 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X connect 0 0 9 0; +#X connect 1 0 4 0; +#X connect 3 0 0 1; +#X connect 4 0 5 0; +#X connect 5 0 11 0; +#X connect 6 0 7 1; +#X connect 6 1 7 0; +#X connect 7 0 10 0; +#X connect 8 0 0 0; +#X connect 9 0 2 0; +#X connect 10 0 8 0; +#X connect 11 0 0 0; +#X connect 11 1 6 0; +#X connect 12 0 11 1; +#X restore 28 271 pd render; +#X obj 295 232 #fold +; +#X obj 295 251 #fold +; +#X obj 295 289 #fold +; +#X obj 245 23 loadbang; +#X obj 227 100 # max; +#X obj 227 81 # << 1; +#X obj 227 119 # min 256; +#X obj 227 62 # - 40; +#X obj 295 270 # / 320; +#X obj 295 308 # / 240; +#X obj 295 327 #export; +#X floatatom 294 356 5 0 0 0 - - -; +#X obj 27 42 metro 12; +#X text 542 3 heat propagation simulation; +#X text 396 43 use a greyscale image here; +#X text 493 17 Copyright 2005 by Mathieu Bouchard; +#X obj 227 43 #in ../images/pmask.png; +#X text 396 57 as a heat conduction map; +#X connect 0 0 39 0; +#X connect 1 0 19 0; +#X connect 2 0 1 0; +#X connect 3 0 12 0; +#X connect 4 0 35 0; +#X connect 5 0 9 0; +#X connect 5 0 14 0; +#X connect 6 0 22 1; +#X connect 7 0 6 0; +#X connect 9 0 10 0; +#X connect 9 1 10 0; +#X connect 9 4 13 1; +#X connect 10 0 13 2; +#X connect 11 0 5 0; +#X connect 12 0 2 1; +#X connect 13 0 2 1; +#X connect 13 0 22 0; +#X connect 14 0 15 0; +#X connect 16 0 2 1; +#X connect 16 1 13 0; +#X connect 17 0 18 0; +#X connect 18 0 21 0; +#X connect 19 0 16 0; +#X connect 19 1 17 0; +#X connect 20 0 16 1; +#X connect 21 0 17 1; +#X connect 21 0 20 0; +#X connect 22 0 11 0; +#X connect 23 0 24 0; +#X connect 24 0 31 0; +#X connect 25 0 32 0; +#X connect 26 0 39 0; +#X connect 27 0 29 0; +#X connect 28 0 27 0; +#X connect 29 0 1 1; +#X connect 29 0 7 0; +#X connect 30 0 28 0; +#X connect 31 0 25 0; +#X connect 32 0 33 0; +#X connect 33 0 34 0; +#X connect 35 0 2 0; +#X connect 35 0 8 0; +#X connect 39 0 30 0; diff --git a/externals/gridflow/examples/hello-world.pd b/externals/gridflow/examples/hello-world.pd new file mode 100644 index 00000000..6b8306a3 --- /dev/null +++ b/externals/gridflow/examples/hello-world.pd @@ -0,0 +1,39 @@ +#N canvas 580 223 489 466 10; +#X obj 21 68 # / 320; +#X obj 21 188 # * 255; +#X obj 21 154 # != 0; +#X obj 21 -11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 21 100 # inv+ 7; +#X obj 21 16 #for 0 320 1; +#X obj 21 49 # * 7; +#X obj 21 -33 loadbang; +#X text 41 -11 make one line:; +#X text 29 32 numbers 0 to 319; +#X text 30 85 numbers 0 to 6 repeated 45 or 46 times; +#X text 31 117 numbers 7 down to 1 ...; +#X text 28 173 3*1-bit rgb image line; +#X text 28 206 3*8-bit rgb image line; +#X text 150 224 repeat line 240 times; +#X obj 2 -84 cnv 15 500 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 15 -85 hello-world.pd; +#X obj 21 135 #outer & (2 4 1); +#X obj 21 223 #redim (240 320 3); +#X obj 1 348 cnv 15 500 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 8 354 GridFlow 0.8.0; +#X text 8 354 GridFlow 0.8.0; +#X text 15 -71 Copyright 2001 Mathieu Bouchard; +#X obj 21 281 #out window; +#X text 64 321 this is also covered by a new class named [#hello]; +#X connect 0 0 4 0; +#X connect 1 0 18 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 17 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 7 0 3 0; +#X connect 17 0 2 0; +#X connect 18 0 23 0; diff --git a/externals/gridflow/examples/image_stats.pd b/externals/gridflow/examples/image_stats.pd new file mode 100644 index 00000000..b53220fd --- /dev/null +++ b/externals/gridflow/examples/image_stats.pd @@ -0,0 +1,62 @@ +#N canvas 308 151 716 426 10; +#X obj 214 261 print total_value; +#X obj 473 191 #dim; +#X obj 42 220 #export_list; +#X obj 278 231 print number_of_values; +#X obj 473 229 print number_of_dimensions; +#X obj 473 210 #export; +#X obj 205 181 #fold +; +#X obj 205 301 /; +#X obj 205 219 #fold +; +#X obj 42 239 print total_pixel; +#X obj 205 147 t a a; +#X obj 265 118 #in; +#X obj 420 166 print dimensions; +#X obj 205 320 print average_value; +#X obj 205 238 #export; +#X obj 205 200 #fold +; +#X obj 420 147 #export_list; +#X obj 420 128 #dim; +#X obj 278 174 #dim; +#X obj 278 212 #export; +#X msg 291 55 open bluemarble.jpg \, bang; +#X msg 291 75 open teapot.png \, bang; +#X msg 291 95 open r001.jpg \, bang; +#X obj 5 394 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 13 401 GridFlow 0.8.0; +#X text 13 401 GridFlow 0.8.0; +#X obj 7 5 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 15 18 Copyright 2001 Mathieu Bouchard; +#X text 15 4 image_stats.pd; +#X obj 42 201 #fold + \, seed (3 #); +#X obj 42 182 #fold + \, seed (3 #); +#X text 480 54 <-- click on one of these; +#X obj 278 193 #fold *; +#X connect 1 0 5 0; +#X connect 2 0 9 0; +#X connect 5 0 4 0; +#X connect 6 0 15 0; +#X connect 7 0 13 0; +#X connect 8 0 14 0; +#X connect 10 0 6 0; +#X connect 10 0 30 0; +#X connect 10 1 18 0; +#X connect 11 0 10 0; +#X connect 11 0 17 0; +#X connect 14 0 0 0; +#X connect 14 0 7 0; +#X connect 15 0 8 0; +#X connect 16 0 12 0; +#X connect 17 0 16 0; +#X connect 17 0 1 0; +#X connect 18 0 32 0; +#X connect 19 0 3 0; +#X connect 19 0 7 1; +#X connect 20 0 11 0; +#X connect 21 0 11 0; +#X connect 22 0 11 0; +#X connect 29 0 2 0; +#X connect 30 0 29 0; +#X connect 32 0 19 0; diff --git a/externals/gridflow/examples/instant_blur.pd b/externals/gridflow/examples/instant_blur.pd new file mode 100644 index 00000000..15195879 --- /dev/null +++ b/externals/gridflow/examples/instant_blur.pd @@ -0,0 +1,142 @@ +#N canvas 477 0 743 530 10; +#X obj 13 204 #cast f; +#X obj 13 280 #cast i; +#X obj 50 59 #in teapot.png; +#X obj 193 46 loadbang; +#X obj 13 223 #fft; +#X obj 13 356 #out window; +#X obj 293 270 #fft; +#X obj 293 289 # / (f # 256); +#X text 244 331 B->RGB; +#X obj 348 23 #for (-128 -128) (128 128) (1 1); +#X obj 175 65 t b b; +#X obj 175 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 50 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 +; +#X obj 293 213 #t; +#X obj 318 232 #fold +; +#X obj 318 213 #ravel; +#X obj 13 337 #gamma 512; +#X obj 13 375 fps; +#X floatatom 13 394 5 0 0 0 - - -; +#X obj 175 26 metro 33.3667; +#X obj 175 9 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 348 61 # sq- 128; +#X obj 234 443 #out window; +#X obj 234 367 #cast i; +#X obj 348 80 #fold +; +#X obj 348 99 #cast f; +#X obj 13 78 #store; +#X obj 234 348 # * (f # 255); +#X obj 13 137 #remap_image; +#X obj 111 118 # - 128; +#X obj 111 156 # + 128; +#X floatatom 164 139 5 0 0 0 - - -; +#X obj 111 137 # *>>8; +#X obj 13 261 #fft \, sign 1; +#X obj 385 224 #import () f; +#X obj 13 242 # C.*; +#X obj 293 232 # /; +#X obj 385 125 loadbang; +#X obj 13 318 #inner (2 # 1 0); +#X obj 293 251 #outer * (3 2 f # 1 0); +#X obj 13 185 #outer & (-1 0); +#X obj 67 39 loadbang; +#X obj 385 167 f; +#X obj 293 115 t b b; +#X obj 234 405 #remap_image; +#X obj 330 405 # + 128; +#X msg 164 120 256; +#X obj 164 101 loadbang; +#X obj 435 167 mod 150; +#X obj 410 167 - 1; +#X obj 385 186 - 75; +#X obj 293 194 # <=; +#X obj 234 424 #outer ignore (3 #); +#X obj 385 205 expr pow($f1 \, 4)/666; +#X obj 348 42 # & 255; +#X obj 293 134 #store; +#X obj 348 4 loadbang; +#X obj 331 23 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 385 144 75; +#X obj 13 299 # >> 8; +#X obj 463 391 # **; +#X obj 463 353 t a a; +#X obj 463 372 # put (f # 0.99); +#X obj 570 334 # inv* (f # 1); +#X floatatom 570 299 5 0 0 0 - - -; +#X obj 570 315 #import () f; +#X obj 570 353 # inv+ (f # 1); +#X connect 0 0 4 0; +#X connect 1 0 59 0; +#X connect 2 0 26 1; +#X connect 3 0 11 0; +#X connect 4 0 35 0; +#X connect 5 0 17 0; +#X connect 6 0 7 0; +#X connect 7 0 35 1; +#X connect 9 0 54 0; +#X connect 10 0 26 0; +#X connect 10 1 43 0; +#X connect 11 0 10 0; +#X connect 12 0 2 0; +#X connect 13 0 36 0; +#X connect 13 0 27 0; +#X connect 13 1 15 0; +#X connect 14 0 36 1; +#X connect 15 0 14 0; +#X connect 16 0 5 0; +#X connect 17 0 18 0; +#X connect 19 0 11 0; +#X connect 20 0 19 0; +#X connect 21 0 24 0; +#X connect 23 0 44 0; +#X connect 24 0 25 0; +#X connect 25 0 55 1; +#X connect 26 0 28 0; +#X connect 27 0 23 0; +#X connect 28 0 40 0; +#X connect 28 1 29 0; +#X connect 29 0 32 0; +#X connect 30 0 28 1; +#X connect 31 0 32 1; +#X connect 32 0 30 0; +#X connect 33 0 1 0; +#X connect 34 0 51 1; +#X connect 35 0 33 0; +#X connect 36 0 39 0; +#X connect 37 0 58 0; +#X connect 38 0 16 0; +#X connect 39 0 6 0; +#X connect 40 0 0 0; +#X connect 41 0 2 0; +#X connect 42 0 49 0; +#X connect 42 0 50 0; +#X connect 43 0 55 0; +#X connect 43 1 42 0; +#X connect 44 0 52 0; +#X connect 44 1 45 0; +#X connect 45 0 44 1; +#X connect 46 0 31 0; +#X connect 47 0 46 0; +#X connect 48 0 42 1; +#X connect 49 0 48 0; +#X connect 50 0 53 0; +#X connect 51 0 13 0; +#X connect 52 0 22 0; +#X connect 53 0 34 0; +#X connect 54 0 21 0; +#X connect 55 0 51 0; +#X connect 56 0 9 0; +#X connect 57 0 9 0; +#X connect 58 0 42 0; +#X connect 59 0 38 0; +#X connect 61 0 62 0; +#X connect 61 1 60 1; +#X connect 62 0 60 0; +#X connect 63 0 66 0; +#X connect 64 0 65 0; +#X connect 65 0 63 0; +#X connect 66 0 62 1; diff --git a/externals/gridflow/examples/linear_transform.pd b/externals/gridflow/examples/linear_transform.pd new file mode 100644 index 00000000..d8f9923d --- /dev/null +++ b/externals/gridflow/examples/linear_transform.pd @@ -0,0 +1,225 @@ +#N canvas 415 64 784 587 10; +#X text 359 43 click here to go in manual mode; +#X floatatom 141 311 5 0 0 0 - - -; +#X obj 27 374 # >> 11; +#X obj 27 139 #store; +#X obj 183 291 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0 +8 -260818 -1 -1 0 1; +#X obj 505 208 * 3; +#X obj 183 310 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0 +8 -260818 -1 -1 0 1; +#X floatatom 141 257 5 0 0 0 - - -; +#X msg 444 238 10000; +#X obj 27 59 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 183 253 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0 +8 -260818 -1 -1 0 1; +#X obj 77 138 loadbang; +#X text 180 234 linear transform; +#X obj 27 395 # + 128; +#X floatatom 141 275 5 0 0 0 - - -; +#X floatatom 141 293 5 0 0 0 - - -; +#X obj 183 272 hsl 128 15 -4096 4096 0 0 empty empty empty -2 -6 0 +8 -260818 -1 -1 0 1; +#X obj 428 260 vsl 15 128 0 35999 0 0 empty empty empty 0 -8 0 8 -260818 +-1 -1 8220 1; +#X obj 444 259 vsl 15 128 -32768 32768 0 0 empty empty empty 0 -8 0 +8 -260818 -1 -1 5796 1; +#X obj 313 82 % 36000; +#X obj 444 219 loadbang; +#X text 432 185 rotozoomer; +#X obj 505 227 # sin* 100; +#X obj 288 43 shunt 2; +#X obj 152 416 loadbang; +#X obj 27 448 #store; +#X obj 27 469 #out window; +#X obj 343 44 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X obj 88 334 #pack 4; +#X obj 27 95 t b b; +#X obj 313 63 + 100; +#X obj 505 246 # inv* 100000; +#X obj 505 265 #export; +#X obj 83 426 #camera; +#X obj 152 454 #in; +#X obj 83 406 spigot; +#X obj 131 407 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 27 353 #inner; +#X obj 88 237 loadbang; +#X obj 27 488 fps detailed; +#X obj 27 507 print; +#X obj 2 0 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 21 13 Copyright 2002 Mathieu Bouchard; +#X text 21 0 convolve.pd; +#X obj 2 0 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 21 0 linear_transform.pd; +#X obj 77 157 #for (-128 -128) (128 128) (1 1); +#X obj 428 416 #outer + (9000 18000 0 9000); +#X text 21 13 Copyright 2001 Mathieu Bouchard; +#X obj 2 549 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 10 556 GridFlow 0.8.0; +#X text 10 556 GridFlow 0.8.0; +#X obj 27 76 metro 33.3667; +#X obj 89 353 #redim (2 2); +#X obj 333 335 #export; +#X obj 333 316 # % 36000; +#N canvas 0 0 450 300 scratch 0; +#X obj 40 38 inlet; +#X obj 40 245 outlet; +#X obj 40 57 route keypress; +#X msg 40 76 \$4; +#X msg 40 115 -1; +#X msg 79 115 1; +#X obj 40 182 +; +#X obj 40 207 int; +#X obj 72 185 nbx 8 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 40 226 #fade 2; +#X obj 65 207 inlet; +#X obj 40 139 * 1500; +#X obj 40 95 route Left Right; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 12 0; +#X connect 4 0 11 0; +#X connect 5 0 11 0; +#X connect 6 0 7 1; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 6 1; +#X connect 9 0 1 0; +#X connect 10 0 7 0; +#X connect 11 0 6 0; +#X connect 12 0 4 0; +#X connect 12 1 5 0; +#X restore 333 297 pd scratch; +#N canvas 0 0 304 312 scratch2 0; +#X obj 30 23 inlet; +#X obj 46 263 outlet; +#X obj 30 42 route keypress; +#X msg 30 90 \$4; +#X msg 69 130 1; +#X obj 45 197 +; +#X obj 46 218 int; +#X obj 71 199 nbx 8 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 46 243 #fade 2; +#X obj 71 218 inlet; +#X obj 30 109 route Up Down; +#X msg 30 130 -1; +#X obj 30 70 t l l; +#X msg 129 62 \$3; +#X obj 129 81 & 1; +#X obj 129 100 sel 0 1; +#X obj 49 161 *; +#X msg 130 120 1000; +#X msg 168 120 5; +#X connect 0 0 2 0; +#X connect 2 0 12 0; +#X connect 3 0 10 0; +#X connect 4 0 16 0; +#X connect 5 0 6 1; +#X connect 5 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 5 1; +#X connect 8 0 1 0; +#X connect 9 0 6 0; +#X connect 10 0 11 0; +#X connect 10 1 4 0; +#X connect 11 0 16 0; +#X connect 12 0 3 0; +#X connect 12 1 13 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 15 1 18 0; +#X connect 16 0 5 0; +#X connect 17 0 16 1; +#X connect 18 0 16 1; +#X restore 336 367 pd scratch2; +#X obj 336 386 #export; +#X obj 336 405 / 10000; +#X obj 336 424 exp; +#X obj 505 373 t b; +#X msg 152 435 load teapot.png; +#X obj 288 82 f; +#X msg 393 172 6666; +#X obj 328 273 spigot; +#X obj 385 255 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 +1; +#X obj 344 465 spigot; +#X obj 342 489 display; +#X obj 428 435 # sin*; +#X obj 462 497 display; +#X connect 1 0 28 3; +#X connect 2 0 13 0; +#X connect 3 0 37 0; +#X connect 4 0 15 0; +#X connect 5 0 22 0; +#X connect 6 0 1 0; +#X connect 7 0 28 0; +#X connect 8 0 18 0; +#X connect 9 0 52 0; +#X connect 10 0 7 0; +#X connect 11 0 46 0; +#X connect 13 0 25 0; +#X connect 14 0 28 1; +#X connect 15 0 28 2; +#X connect 16 0 14 0; +#X connect 17 0 47 0; +#X connect 18 0 61 0; +#X connect 18 0 69 1; +#X connect 19 0 63 1; +#X connect 20 0 8 0; +#X connect 22 0 31 0; +#X connect 23 0 63 0; +#X connect 24 0 62 0; +#X connect 25 0 26 0; +#X connect 26 0 39 0; +#X connect 26 0 65 0; +#X connect 27 0 23 1; +#X connect 28 0 53 0; +#X connect 29 0 3 0; +#X connect 29 1 23 0; +#X connect 29 1 35 0; +#X connect 29 1 56 1; +#X connect 29 1 57 1; +#X connect 30 0 19 0; +#X connect 31 0 32 0; +#X connect 32 0 61 0; +#X connect 32 0 18 0; +#X connect 33 0 25 1; +#X connect 34 0 25 1; +#X connect 35 0 33 0; +#X connect 36 0 35 1; +#X connect 37 0 2 0; +#X connect 38 0 28 0; +#X connect 39 0 40 0; +#X connect 46 0 3 1; +#X connect 47 0 69 0; +#X connect 52 0 29 0; +#X connect 53 0 37 1; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 58 0; +#X connect 58 0 59 0; +#X connect 59 0 60 0; +#X connect 60 0 67 0; +#X connect 61 0 17 0; +#X connect 62 0 34 0; +#X connect 63 0 30 0; +#X connect 63 0 17 0; +#X connect 63 0 5 0; +#X connect 64 0 17 0; +#X connect 65 0 56 0; +#X connect 65 0 57 0; +#X connect 66 0 65 1; +#X connect 66 0 67 1; +#X connect 67 0 18 0; +#X connect 67 0 68 0; +#X connect 67 0 69 1; +#X connect 69 0 53 0; +#X connect 69 0 70 0; diff --git a/externals/gridflow/examples/markov.pd b/externals/gridflow/examples/markov.pd new file mode 100644 index 00000000..d6bbe262 --- /dev/null +++ b/externals/gridflow/examples/markov.pd @@ -0,0 +1,133 @@ +#N canvas 238 57 825 641 10; +#X obj 70 203 dac~; +#X obj 71 141 osc~; +#X obj 71 103 mtof; +#X obj 71 122 t f b; +#X obj 105 142 line~; +#X obj 70 160 *~; +#X obj 74 86 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 6700 1; +#X obj 70 179 *~ 0.1; +#X obj 33 6 key; +#X obj 409 139 messageprepend set; +#X obj 497 110 t l; +#X msg 409 89 list \$1; +#X obj 409 109 listprepend; +#X msg 481 84 list; +#X obj 97 7 loadbang; +#X obj 34 29 listfind; +#X obj 34 48 sel -1; +#X obj 71 67 + 60; +#X msg 114 28 list 113 50 119 51 101 114 53 116 54 121 55 117 105 57 +111 48 112 91 61 93 127; +#X obj 409 69 key; +#X msg 111 123 0.7 \, 0 400; +#X floatatom 105 68 5 0 0 0 - - -; +#X msg 200 180 list \$1; +#X obj 275 199 listsublist 0 2; +#X obj 200 199 listappend; +#X obj 483 388 display; +#X msg 270 264 1; +#X msg 305 240 put_at ( \$2 \$1 ); +#X obj 166 319 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 75 309 f; +#X obj 39 410 #store; +#X obj 97 393 #fold +; +#X obj 96 417 display; +#X obj 275 219 t l l l; +#X msg 184 279 bang; +#X obj 8 387 #finished; +#X floatatom 99 311 5 0 0 0 - - -; +#X obj 90 288 t f; +#X obj 17 262 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X msg 192 299 list \$1; +#X obj 46 366 t a a; +#X obj 39 502 #scan +; +#X obj 200 157 spigot; +#X obj 82 440 # rand; +#X obj 80 472 display; +#X obj 38 546 # <; +#X obj 50 595 #fold +; +#X obj 280 512 display; +#X obj 132 596 #export; +#X obj 248 157 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 104 329 + 60; +#X obj 148 368 spigot; +#X obj 199 367 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 17 286 metro 100; +#X obj 50 617 display; +#X obj 67 568 display; +#X obj 90 537 display; +#X obj 191 322 #store (17 17 #) \, op +; +#X text 536 12 This will be an example of Markov Chains; +#X text 536 27 But it's not too clean yet; +#X connect 1 0 5 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 3 1 20 0; +#X connect 4 0 5 1; +#X connect 5 0 7 0; +#X connect 6 0 2 0; +#X connect 7 0 0 0; +#X connect 7 0 0 1; +#X connect 8 0 15 0; +#X connect 10 0 12 1; +#X connect 11 0 12 0; +#X connect 12 0 10 0; +#X connect 12 0 9 0; +#X connect 13 0 12 1; +#X connect 14 0 18 0; +#X connect 15 0 16 0; +#X connect 16 1 17 0; +#X connect 16 1 42 0; +#X connect 17 0 6 0; +#X connect 17 0 21 0; +#X connect 18 0 15 1; +#X connect 19 0 11 0; +#X connect 20 0 4 0; +#X connect 22 0 24 0; +#X connect 23 0 24 1; +#X connect 23 0 33 0; +#X connect 24 0 23 0; +#X connect 26 0 57 1; +#X connect 27 0 57 1; +#X connect 28 0 57 0; +#X connect 29 0 39 0; +#X connect 30 0 41 0; +#X connect 30 0 47 0; +#X connect 31 0 32 0; +#X connect 31 0 43 0; +#X connect 33 0 34 0; +#X connect 33 1 26 0; +#X connect 33 2 27 0; +#X connect 34 0 57 0; +#X connect 35 0 30 0; +#X connect 36 0 50 0; +#X connect 37 0 29 1; +#X connect 37 0 36 0; +#X connect 38 0 53 0; +#X connect 39 0 57 0; +#X connect 40 0 35 0; +#X connect 40 1 30 1; +#X connect 40 1 31 0; +#X connect 41 0 45 0; +#X connect 41 0 56 0; +#X connect 42 0 22 0; +#X connect 43 0 44 0; +#X connect 43 0 45 1; +#X connect 45 0 46 0; +#X connect 45 0 55 0; +#X connect 46 0 48 0; +#X connect 46 0 54 0; +#X connect 48 0 37 0; +#X connect 49 0 42 1; +#X connect 50 0 6 0; +#X connect 51 0 40 0; +#X connect 52 0 51 1; +#X connect 53 0 29 0; +#X connect 57 0 25 0; +#X connect 57 0 51 0; diff --git a/externals/gridflow/examples/mechanics.pd b/externals/gridflow/examples/mechanics.pd new file mode 100644 index 00000000..944dcb7c --- /dev/null +++ b/externals/gridflow/examples/mechanics.pd @@ -0,0 +1,121 @@ +#N canvas 491 20 624 716 10; +#X obj 188 65 # rand; +#X obj 81 97 #store; +#X obj 188 8 loadbang; +#X obj 134 120 #transpose; +#X obj 64 8 tgl 17 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 81 171 #inner \, op sq- \, fold +; +#X msg 139 56 1; +#X msg 100 56 0; +#X obj 81 120 shunt 2; +#X obj 81 29 t b b b b; +#X obj 27 244 #transpose 1 3; +#X obj 27 282 #fold +; +#X obj 27 357 # inv*; +#X obj 159 424 # +; +#X msg 188 27 bang; +#X obj 12 648 #out window; +#X obj 12 29 t b b; +#X obj 12 667 fps detailed; +#X obj 190 471 # inv+; +#X obj 279 235 # + 1; +#X obj 279 216 # * -2; +#X obj 185 424 # *; +#X msg 261 76 7 2 # 0; +#X obj 12 574 # min 255; +#X obj 81 8 metro 40; +#X obj 350 598 #dim; +#X msg 350 636 \$1; +#X msg 349 674 \$1 2; +#X obj 350 617 #export_list; +#X obj 287 500 t a a; +#X obj 350 655 * 6; +#X obj 27 225 #outer sq-; +#X msg 188 46 7 2 # 5760 7680; +#X obj 240 521 # / 16; +#X obj 27 322 # >> 8; +#X obj 46 496 display; +#X obj 190 452 # >> 8; +#X obj 74 357 # << 8; +#X obj 27 263 # * (2 2 # 1 0 0 1); +#X obj 81 190 #outer ignore (2 #); +#X obj 279 178 # abs- (2880 3840); +#X obj 279 197 # >= (2880 3840); +#X obj 290 460 # min (36000 48000); +#X obj 290 479 # max (0 0); +#X obj 240 541 #inner (2 6 2 # 1 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 +0 1 0 1 0 0); +#X obj 240 573 # + (6 2 # -8 -8 -8 8 8 8 8 -8 -8 -8 180 240); +#X obj 12 555 # *>>8 (232 242 252); +#X obj 12 536 #draw_polygon + \, color (3 # 130); +#X obj 12 517 #store (360 480 3 # 0); +#X obj 28 376 #fold + \, seed (2 #); +#X obj 231 613 #redim (42 2); +#X text 310 8 This was supposed to be some kind of; +#X text 310 24 Newtonian physics simulation; +#X text 310 42 But it doesn't quite work; +#X connect 0 0 1 1; +#X connect 1 0 8 0; +#X connect 2 0 14 0; +#X connect 3 0 5 1; +#X connect 3 0 31 1; +#X connect 4 0 24 0; +#X connect 5 0 39 0; +#X connect 6 0 8 1; +#X connect 7 0 8 1; +#X connect 8 0 5 0; +#X connect 8 0 31 0; +#X connect 8 1 3 0; +#X connect 8 1 18 1; +#X connect 8 1 40 0; +#X connect 9 0 16 0; +#X connect 9 1 7 0; +#X connect 9 2 1 0; +#X connect 9 3 6 0; +#X connect 10 0 38 0; +#X connect 11 0 34 0; +#X connect 12 0 49 0; +#X connect 13 0 21 1; +#X connect 13 0 36 0; +#X connect 14 0 32 0; +#X connect 14 0 22 0; +#X connect 15 0 17 0; +#X connect 16 0 48 0; +#X connect 16 1 1 0; +#X connect 18 0 29 0; +#X connect 19 0 21 0; +#X connect 20 0 19 0; +#X connect 21 0 13 1; +#X connect 22 0 13 1; +#X connect 22 0 21 1; +#X connect 23 0 15 0; +#X connect 23 0 48 1; +#X connect 24 0 9 0; +#X connect 25 0 28 0; +#X connect 26 0 30 0; +#X connect 27 0 50 1; +#X connect 28 0 26 0; +#X connect 29 0 1 1; +#X connect 29 0 33 0; +#X connect 29 1 25 0; +#X connect 30 0 27 0; +#X connect 31 0 10 0; +#X connect 32 0 0 0; +#X connect 33 0 44 0; +#X connect 34 0 12 0; +#X connect 36 0 18 0; +#X connect 36 0 35 0; +#X connect 37 0 12 1; +#X connect 38 0 11 0; +#X connect 39 0 37 0; +#X connect 40 0 41 0; +#X connect 41 0 20 0; +#X connect 42 0 43 0; +#X connect 43 0 29 0; +#X connect 44 0 45 0; +#X connect 45 0 50 0; +#X connect 46 0 23 0; +#X connect 47 0 46 0; +#X connect 48 0 47 0; +#X connect 49 0 13 0; +#X connect 50 0 47 2; diff --git a/externals/gridflow/examples/motion_detect.pd b/externals/gridflow/examples/motion_detect.pd new file mode 100644 index 00000000..c0d00178 --- /dev/null +++ b/externals/gridflow/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/examples/multiblob.pd b/externals/gridflow/examples/multiblob.pd new file mode 100644 index 00000000..22abdfb3 --- /dev/null +++ b/externals/gridflow/examples/multiblob.pd @@ -0,0 +1,205 @@ +#N canvas 575 0 647 688 10; +#X obj 24 11 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1 +; +#X obj 9 51 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -1 -1 +; +#X obj 128 47 print; +#N canvas 474 566 363 100 erosion 0; +#X obj 13 15 inlet binary_grid; +#X obj 13 72 outlet binary_grid; +#X obj 13 34 #convolve (3 3 # 1); +#X obj 13 53 # > 5; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X restore 24 257 pd erosion; +#X obj 41 10 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -1 +-1; +#X obj 24 630 #out window \, set_geometry 0 0 240 320; +#X obj 24 124 t a a; +#X obj 172 344 # +; +#X obj 172 393 #clip; +#X text 560 -17 7.7 fps; +#X text 560 -5 8.2 fps; +#X text 560 7 8.5 fps; +#X text 555 18 10.3 fps; +#X obj 172 325 #greyscale_to_rgb; +#X text 555 30 12.7 fps; +#X obj 24 86 shunt; +#X obj 44 69 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 1 +; +#X obj 63 86 s end; +#X obj 31 570 r end; +#X text 555 42 13.4 fps; +#X obj 24 28 metro 66.7333; +#X text 556 55 14.9 fps yuv; +#X text 556 67 17 fps y; +#X obj 24 591 shunt; +#X obj 61 592 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 +1; +#X obj 44 611 #scale_by 2; +#X obj 513 214 != 0; +#X obj 440 141 spigot; +#X obj 172 257 spigot; +#X obj 24 445 #finished; +#X obj 97 363 spigot; +#X obj 109 341 >= 100; +#X obj 97 382 s pos; +#X obj 53 363 spigot; +#X obj 53 382 s vari; +#N canvas 357 365 450 300 contour2 0; +#X obj 24 27 inlet; +#X obj 24 46 #convolve (3 3 # 0 -1 0 -1 4 -1); +#X obj 24 84 outlet; +#X obj 24 65 # << 8; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 172 306 pd contour2; +#X obj 24 276 #t; +#X obj 82 504 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 1 +1; +#X obj 109 504 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 1 +1; +#X obj 513 192 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 511 168 loadbang; +#X obj 128 28 fps detailed \, period 10; +#X obj 94 483 loadbang; +#X obj 24 50 #camera 0; +#X text 12 -30 Copyright 2007 by Mathieu Bouchard; +#X obj 24 143 #rgb_to_greyscale; +#X obj 49 164 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-232961 -1 -1 152 256; +#X text 12 -19 Originally made for a show with Andree Prefontaine and +Michal Seta; +#X obj 24 162 # >; +#X obj 60 296 #labelling; +#X obj 24 296 t a a; +#N canvas 772 226 450 385 show_labelling 0; +#X obj 25 21 inlet bitmap; +#X obj 170 288 inlet background_layer; +#X obj 25 346 outlet image; +#X obj 65 293 #seq_fold; +#X obj 138 150 #moment_polar; +#X obj 78 221 #make_cross; +#X obj 226 150 #cast i; +#X obj 138 169 + 9000; +#X obj 78 274 # +; +#X msg 78 169 0 0; +#X obj 78 150 #finished; +#X obj 226 169 # / 2; +#N canvas 536 310 450 300 make_ellipse 0; +#X obj 23 29 inlet; +#X obj 120 30 inlet; +#X obj 23 204 outlet; +#X obj 23 48 bang; +#X obj 23 105 #outer + (0 9000); +#X obj 23 124 # cos*; +#X obj 23 67 #for 0 24 1; +#X obj 23 86 # * 1500; +#X connect 0 0 3 0; +#X connect 1 0 5 1; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 6 0 7 0; +#X connect 7 0 4 0; +#X restore 194 224 pd make_ellipse; +#X obj 97 109 spigot; +#X obj 226 188 shunt; +#X obj 192 30 inlet enable; +#X obj 97 128 t a a; +#X obj 103 274 r pos; +#X obj 97 90 r vari; +#X obj 78 188 shunt; +#X obj 339 183 inlet ellipse; +#X obj 88 322 #draw_polygon put (255 0 0); +#X obj 78 255 #rotate; +#X connect 0 0 3 0; +#X connect 1 0 3 2; +#X connect 3 0 2 0; +#X connect 3 1 21 0; +#X connect 3 2 21 2; +#X connect 4 0 7 0; +#X connect 4 1 6 0; +#X connect 5 0 22 0; +#X connect 6 0 11 0; +#X connect 7 0 22 1; +#X connect 8 0 3 1; +#X connect 9 0 19 0; +#X connect 10 0 9 0; +#X connect 11 0 14 0; +#X connect 12 0 22 0; +#X connect 13 0 16 0; +#X connect 14 0 5 1; +#X connect 14 1 12 1; +#X connect 15 0 13 1; +#X connect 16 0 10 0; +#X connect 16 1 4 0; +#X connect 17 0 8 1; +#X connect 18 0 13 0; +#X connect 19 0 5 0; +#X connect 19 1 12 0; +#X connect 20 0 14 1; +#X connect 20 0 19 1; +#X connect 21 0 3 3; +#X connect 22 0 8 0; +#X restore 24 521 pd show_labelling; +#X text 130 504 ellipse mode; +#X obj 171 280 t a a; +#X obj 173 369 # +; +#X obj 259 365 #inner (1 3 # 200 200 200); +#X obj 259 384 # & (-1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0); +#X text 347 403 make little dots; +#X connect 0 0 20 0; +#X connect 1 0 43 0; +#X connect 3 0 36 0; +#X connect 6 0 45 0; +#X connect 6 1 27 0; +#X connect 7 0 54 0; +#X connect 8 0 51 1; +#X connect 13 0 7 0; +#X connect 15 0 6 0; +#X connect 15 1 17 0; +#X connect 16 0 15 1; +#X connect 18 0 23 0; +#X connect 20 0 43 0; +#X connect 23 0 5 0; +#X connect 23 1 25 0; +#X connect 24 0 23 1; +#X connect 25 0 5 0; +#X connect 26 0 27 1; +#X connect 26 0 28 1; +#X connect 27 0 7 1; +#X connect 28 0 53 0; +#X connect 29 0 51 0; +#X connect 30 0 32 0; +#X connect 31 0 30 1; +#X connect 31 0 33 1; +#X connect 33 0 34 0; +#X connect 35 0 13 0; +#X connect 36 0 50 0; +#X connect 36 1 28 0; +#X connect 37 0 51 2; +#X connect 38 0 51 3; +#X connect 39 0 26 0; +#X connect 40 0 39 0; +#X connect 41 0 2 0; +#X connect 42 0 38 0; +#X connect 42 0 37 0; +#X connect 43 0 15 0; +#X connect 45 0 48 0; +#X connect 46 0 48 1; +#X connect 48 0 3 0; +#X connect 49 1 33 0; +#X connect 49 2 30 0; +#X connect 49 3 31 0; +#X connect 50 0 29 0; +#X connect 50 1 49 0; +#X connect 51 0 23 0; +#X connect 53 0 35 0; +#X connect 53 1 55 0; +#X connect 54 0 8 0; +#X connect 55 0 56 0; +#X connect 56 0 54 1; diff --git a/externals/gridflow/examples/nervous_video.pd b/externals/gridflow/examples/nervous_video.pd new file mode 100644 index 00000000..acccbe7c --- /dev/null +++ b/externals/gridflow/examples/nervous_video.pd @@ -0,0 +1,163 @@ +#N canvas 624 0 596 659 10; +#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 341 140 pd counter; +#X obj 14 262 / 10; +#X floatatom 14 300 5 0 0 0 - - -; +#X obj 14 50 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X floatatom 39 607 5 0 0 0 - - -; +#X obj 14 607 fps; +#X obj 14 67 metro 33.3667; +#X msg 14 324 list \$1; +#X msg 406 104 32; +#X obj 14 243 random 320; +#X obj 14 588 #out window; +#X floatatom 406 124 5 0 0 0 - - -; +#X obj 437 104 loadbang; +#X text 448 123 maximum value is 32; +#X text 449 136 (see below); +#X obj 14 157 float; +#X obj 14 199 shunt 4; +#X obj 14 223 bang; +#X obj 14 281 int; +#X obj 125 163 vradio 15 1 0 4 empty empty empty 0 -6 0 8 -241291 -1 +-1 2; +#X text 146 163 caffeine twitch; +#X text 146 178 ethanol lag; +#X obj 121 243 * 2; +#X obj 150 243 * -1; +#X text 146 209 back flash acid; +#X text 145 193 acid flash back; +#X obj 245 439 vradio 15 1 0 4 empty empty empty 0 -6 0 8 -241291 -1 +-1 2; +#X text 263 436 plain; +#X text 264 469 hilitemotion; +#X text 263 485 embossmotion; +#X text 193 37 This patch was created by Alexandre Castonguay \,; +#X text 193 50 as a clone of Edo Tannenbaum's "nervous video" effect +\, http://effectv.sourceforge.net; +#X text 193 78 Later modified by Mathieu to add more effects; +#X obj 71 491 # << 2; +#X obj 92 243 + 1; +#X obj 125 452 # -; +#X obj 126 471 # + 128; +#X obj 126 491 # max 0; +#X obj 71 515 # min 255; +#X obj 14 428 shunt 4; +#X obj 109 423 shunt 4; +#X text 263 454 mix 50%; +#X obj 24 491 # >> 1; +#X obj 24 458 # +; +#X obj 14 86 t b b b; +#X obj 4 626 cnv 15 700 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 13 633 GridFlow 0.8.0; +#X text 13 633 GridFlow 0.8.0; +#X obj 3 5 cnv 15 700 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 6 5 nervous_video.pd; +#X text 146 114 <-- open this; +#X msg 406 159 put_at ( \$1 0 0 0 ); +#X msg 215 386 reassign \, 32 240 320 3 b #; +#X text 212 313 the buffer size decides the maximum loop length and +dimension of each frame; +#X msg 215 405 reassign \, 32 480 640 3 b #; +#X obj 215 367 loadbang; +#X obj 14 390 #store; +#X obj 79 114 #camera 0; +#X text 5 17 Copyright 2002 Alexandre Castonguay \, 2004 Mathieu Bouchard +; +#X obj 51 343 #cast b; +#X obj 71 458 # abs-; +#X obj 14 409 #cast i; +#X obj 14 515 t a; +#X obj 14 534 shunt; +#X obj 44 553 #fade (1 4 16); +#X obj 53 535 tgl 15 0 empty empty color_fade 18 8 0 12 -241291 -1 +-1 1 1; +#X connect 0 1 51 0; +#X connect 0 1 15 1; +#X connect 1 0 18 0; +#X connect 2 0 7 0; +#X connect 3 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 44 0; +#X connect 7 0 56 0; +#X connect 8 0 11 0; +#X connect 9 0 1 0; +#X connect 10 0 5 0; +#X connect 11 0 0 1; +#X connect 12 0 8 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 16 1 34 0; +#X connect 16 2 22 0; +#X connect 16 3 23 0; +#X connect 17 0 9 0; +#X connect 18 0 2 0; +#X connect 19 0 16 1; +#X connect 22 0 7 0; +#X connect 23 0 7 0; +#X connect 26 0 40 1; +#X connect 26 0 39 1; +#X connect 33 0 38 0; +#X connect 34 0 7 0; +#X connect 35 0 36 0; +#X connect 36 0 37 0; +#X connect 37 0 38 0; +#X connect 38 0 62 0; +#X connect 39 0 62 0; +#X connect 39 1 43 0; +#X connect 39 2 60 0; +#X connect 39 3 35 0; +#X connect 40 1 43 1; +#X connect 40 2 60 1; +#X connect 40 3 35 1; +#X connect 42 0 62 0; +#X connect 43 0 42 0; +#X connect 44 0 15 0; +#X connect 44 1 57 0; +#X connect 44 2 0 0; +#X connect 51 0 56 1; +#X connect 52 0 56 1; +#X connect 54 0 56 1; +#X connect 55 0 52 0; +#X connect 56 0 61 0; +#X connect 57 0 40 0; +#X connect 57 0 59 0; +#X connect 59 0 56 1; +#X connect 60 0 33 0; +#X connect 61 0 39 0; +#X connect 62 0 63 0; +#X connect 63 0 10 0; +#X connect 63 1 64 0; +#X connect 64 0 10 0; +#X connect 65 0 63 1; diff --git a/externals/gridflow/examples/photo_pianoroll.pd b/externals/gridflow/examples/photo_pianoroll.pd new file mode 100644 index 00000000..9ad80e38 --- /dev/null +++ b/externals/gridflow/examples/photo_pianoroll.pd @@ -0,0 +1,158 @@ +#N canvas 329 40 705 535 10; +#X obj 146 62 #in lada.jpg; +#X obj 38 290 #out window; +#X obj 38 48 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 38 114 #store; +#X obj 164 41 loadbang; +#X obj 146 42 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 255 466 dac~; +#X obj 329 58 +; +#X msg 329 39 1; +#X obj 361 39 % 365; +#N canvas 0 0 450 300 fft 0; +#X obj 23 68 rifft~; +#X obj 23 88 outlet~; +#X obj 359 16 block~ 1024; +#X obj 23 48 tabreceive~ array2; +#X connect 0 0 1 0; +#X connect 3 0 0 0; +#X restore 255 423 pd fft; +#X obj 17 85 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 38 84 t b b; +#X msg 260 252 4 2 # 0 0 0 502 1 502 1 0; +#X obj 260 271 # +; +#X obj 38 233 t a b; +#X msg 287 271 \$1 0; +#X obj 38 252 #greyscale_to_rgb; +#X obj 462 77 #store; +#X obj 462 153 #export_list; +#X obj 501 172 s array1; +#X obj 171 177 # inv+ 255; +#X obj 146 100 # min 255; +#X obj 146 81 # * 3; +#X msg 474 58 1 1 # \$1; +#X obj 255 339 table array1 502; +#X obj 462 172 t b a; +#X obj 326 271 r row; +#X obj 361 58 s row; +#X obj 462 210 t f f; +#X obj 462 305 tabwrite array2; +#X obj 462 248 exp; +#X obj 38 309 #mouse \, ...; +#X obj 79 383 #draw_polygon put; +#X obj 79 364 spigot; +#X obj 29 413 t a a; +#X obj 29 470 # +; +#X obj 146 177 t a; +#X msg 29 432 4 2 # 0 0 0 1 1 1 1 0; +#X obj 29 451 # *; +#X obj 105 459 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262131 -1 -1 20 256; +#X msg 185 217 365 502 1 # 255; +#X text 296 217 clear; +#X obj 462 286 tabread4 array1; +#X obj 462 191 for 0 64 1; +#X obj 462 96 #fade 5; +#X obj 255 358 table array2 1024; +#X obj 255 442 lop~ 1000; +#X obj 462 229 / 20; +#X obj 462 267 * 22; +#X obj 105 473 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262131 -1 -1 20 256; +#X obj 54 470 #pack 2; +#X obj 499 39 # >> 4; +#X obj 146 138 # >> 2; +#X obj 38 271 #draw_polygon put (3 # 255 0 0); +#X obj 2 499 cnv 15 700 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 10 506 GridFlow 0.8.0; +#X text 10 506 GridFlow 0.8.0; +#X obj 2 0 cnv 15 700 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 17 -1 photo_pianoroll.pd; +#X text 15 13 Copyright 2004 Mathieu Bouchard; +#X obj 462 134 # / (f # 4000); +#X obj 462 115 #cast f; +#X obj 171 196 #convolve (1 7 # 1 1 2 8 2 1 1); +#X obj 146 119 #convolve (2 2 # 1); +#X msg 132 344 0; +#X msg 136 364 1 # \$1; +#X msg 162 344 255; +#X obj 79 402 s feedback; +#X obj 152 158 r feedback; +#X obj 38 65 metro 46.44; +#X text 575 7 How to play a car; +#X connect 0 0 23 0; +#X connect 1 0 32 0; +#X connect 2 0 70 0; +#X connect 3 0 15 0; +#X connect 3 0 34 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 7 1; +#X connect 9 0 28 0; +#X connect 9 0 24 0; +#X connect 10 0 47 0; +#X connect 11 0 12 0; +#X connect 12 0 8 0; +#X connect 12 1 3 0; +#X connect 13 0 14 0; +#X connect 14 0 54 2; +#X connect 15 0 17 0; +#X connect 15 1 13 0; +#X connect 16 0 14 1; +#X connect 17 0 54 0; +#X connect 18 0 45 0; +#X connect 19 0 26 0; +#X connect 21 0 63 0; +#X connect 22 0 64 0; +#X connect 23 0 22 0; +#X connect 24 0 18 0; +#X connect 26 0 44 0; +#X connect 26 1 20 0; +#X connect 27 0 16 0; +#X connect 29 0 48 0; +#X connect 29 1 30 1; +#X connect 31 0 49 0; +#X connect 32 0 35 0; +#X connect 32 1 35 0; +#X connect 32 4 34 1; +#X connect 32 4 65 0; +#X connect 32 6 34 1; +#X connect 32 6 67 0; +#X connect 33 0 68 0; +#X connect 34 0 33 0; +#X connect 35 0 38 0; +#X connect 35 1 36 1; +#X connect 36 0 33 2; +#X connect 37 0 3 1; +#X connect 37 0 21 0; +#X connect 38 0 39 0; +#X connect 39 0 36 0; +#X connect 40 0 51 0; +#X connect 41 0 37 0; +#X connect 43 0 30 0; +#X connect 44 0 29 0; +#X connect 45 0 62 0; +#X connect 47 0 6 0; +#X connect 47 0 6 1; +#X connect 48 0 31 0; +#X connect 49 0 43 0; +#X connect 50 0 51 1; +#X connect 51 0 39 1; +#X connect 52 0 18 1; +#X connect 53 0 37 0; +#X connect 54 0 1 0; +#X connect 61 0 19 0; +#X connect 62 0 61 0; +#X connect 63 0 52 0; +#X connect 64 0 53 0; +#X connect 65 0 66 0; +#X connect 66 0 33 1; +#X connect 67 0 33 1; +#X connect 69 0 37 0; +#X connect 70 0 12 0; diff --git a/externals/gridflow/examples/play_video.pd b/externals/gridflow/examples/play_video.pd new file mode 100644 index 00000000..530c8e66 --- /dev/null +++ b/externals/gridflow/examples/play_video.pd @@ -0,0 +1,44 @@ +#N canvas 1036 382 502 475 10; +#X obj 29 221 #in; +#X obj 29 -37 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1 +; +#X obj 30 323 display; +#X obj -17 -85 cnv 15 500 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj -16 356 cnv 15 500 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 363 GridFlow 0.8.0; +#X text -6 -83 play_video.pd; +#X obj 29 -6 metro 33.333; +#X obj 29 270 #out window \, title video; +#X obj 29 296 fps; +#X text -7 363 GridFlow 0.9.0; +#X text 58 -38 <-- 2 start the metro; +#X floatatom 69 167 5 0 0 0 - - -; +#X msg 94 195 42; +#X text 129 195 <-- select the frame number; +#X text 116 84 libraries. Photo jpeg compression gives slightly; +#X text 118 98 better results than mjpega. Rendering is cpu; +#X text 117 112 intensive so if operations on the images is; +#X text 117 70 Supported codecs will depend on your installed; +#X text 114 166 <-- scrub the video (stop the metro first); +#X text 117 138 such as 320 x 240; +#X text 118 125 needed \, then start with a lower resolution; +#X text 174 29 <-- 1 open a file \, make sure the correct; +#X text 173 43 path is entered in pd's 'Path' preferences.; +#X floatatom 53 246 5 0 0 0 - - -; +#X obj 99 245 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 123 244 <-- outputs a bang when finished; +#X text 139 -82 see also [#in]'s help file; +#X msg 46 30 open violoncelle.mov; +#X connect 0 0 8 0; +#X connect 0 1 24 0; +#X connect 0 1 25 0; +#X connect 1 0 7 0; +#X connect 7 0 0 0; +#X connect 8 0 9 0; +#X connect 9 0 2 0; +#X connect 12 0 0 0; +#X connect 13 0 0 0; +#X connect 28 0 0 0; diff --git a/externals/gridflow/examples/plot.pd b/externals/gridflow/examples/plot.pd new file mode 100644 index 00000000..dad9db76 --- /dev/null +++ b/externals/gridflow/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/examples/polar.pd b/externals/gridflow/examples/polar.pd new file mode 100644 index 00000000..456976c7 --- /dev/null +++ b/externals/gridflow/examples/polar.pd @@ -0,0 +1,57 @@ +#N canvas 649 265 450 300 10; +#X obj 29 71 tgl 15 0 empty empty empty 17 7 0 10 -204786 -1 -1 1 1 +; +#X obj 29 129 #remap_image; +#X obj 29 148 #out window; +#X obj 190 124 # c2p (0 0); +#X obj 190 143 # >>; +#X obj 190 221 # <<; +#X obj 190 162 #rotate; +#X obj 379 145 * 100; +#X obj 190 240 # p2c (0 0); +#X obj 274 96 #pack; +#X obj 190 184 # *>>8; +#X obj 301 80 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262130 -1 -1 160 256; +#X obj 301 64 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262130 -1 -1 120 256; +#X obj 291 135 #pack; +#X obj 318 119 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262130 -1 -1 1280 256; +#X obj 318 103 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262130 -1 -1 256 256; +#X obj 293 225 #pack; +#X obj 320 209 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262130 -1 -1 5 256; +#X obj 320 193 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262130 -1 -1 0 256; +#X obj 379 129 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262130 -1 -1 0 256; +#X obj 29 109 #camera 0 \, size 240 320; +#X obj 29 90 metro 100; +#X text 10 1 Copyright 2009 Mathieu Bouchard; +#X text -3 274 GridFlow 0.9.5; +#X connect 0 0 21 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 8 0; +#X connect 6 0 10 0; +#X connect 7 0 6 1; +#X connect 8 0 1 1; +#X connect 9 0 3 1; +#X connect 9 0 8 1; +#X connect 10 0 5 0; +#X connect 11 0 9 1; +#X connect 12 0 9 0; +#X connect 13 0 10 1; +#X connect 14 0 13 1; +#X connect 15 0 13 0; +#X connect 16 0 5 1; +#X connect 16 0 4 1; +#X connect 17 0 16 1; +#X connect 18 0 16 0; +#X connect 19 0 7 0; +#X connect 20 0 1 0; +#X connect 21 0 20 0; diff --git a/externals/gridflow/examples/polygon.pd b/externals/gridflow/examples/polygon.pd new file mode 100644 index 00000000..a18980ea --- /dev/null +++ b/externals/gridflow/examples/polygon.pd @@ -0,0 +1,123 @@ +#N canvas 130 96 584 565 10; +#X obj 35 250 #draw_polygon +; +#X obj 18 1 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 +; +#X obj 35 214 #store; +#X obj 35 -36 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X obj 35 378 #out window; +#X obj 306 7 vsl 15 137 0 36000 0 1 empty empty empty -2 -6 0 8 -260818 +-1 -1 3400 1; +#N canvas 0 0 415 291 create 0; +#X msg 82 66 0 \$1; +#X obj 5 131 #outer + ( 0 9000 ); +#X obj 5 153 # +; +#X obj 5 197 # + ( 120 160 ); +#X obj 5 175 # cos* 116; +#X obj 5 109 # * 14400; +#X obj 5 87 #for 0 5 1; +#X obj 34 153 inlet rotation_angle; +#X obj 5 10 inlet bang; +#X obj 5 219 outlet polygon; +#X obj 82 44 inlet tilt_factor; +#X text 81 27 default: 9000 \, for flatness; +#X connect 0 0 1 1; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 9 0; +#X connect 4 0 3 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 2 1; +#X connect 8 0 6 0; +#X connect 10 0 0 0; +#X restore 204 149 pd create star; +#N canvas 0 0 450 300 color 0; +#X obj 18 141 outlet 0; +#X obj 18 95 # sin* 128; +#X obj 18 117 # + 128; +#X obj 18 37 # * 1146; +#X obj 18 13 inlet; +#X obj 18 60 #outer + ( 0 12000 24000 ); +#X text 139 52 each channel is a sine wave \; the three are offset +from each other 120 degrees. it is almost like turning around in the +color wheel except we don't support the HSV color model for now.; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 5 0 1 0; +#X restore 62 102 pd color generator; +#X obj 35 -19 metro 33.3667; +#X obj 35 0 t b b b; +#X obj 35 71 t b; +#X floatatom 307 151 6 0 0 0 - - -; +#X obj 88 194 loadbang; +#X obj 51 272 shunt 2; +#X obj 104 274 tgl 15 1 empty empty empty 0 -6 0 8 -241291 -1 -1 1 +1; +#X text 122 273 blur; +#X msg 88 214 240 320 3 b # 0; +#X obj 62 140 #cast b; +#X obj 79 355 #solarize; +#X obj 35 317 shunt 2; +#X obj 88 319 tgl 15 1 empty empty empty 0 -6 0 8 -241291 -1 -1 1 1 +; +#X obj 155 303 # >> (b # 2); +#X obj 155 322 #convolve (1 3 b # 1 2 1) \, seed (b # 0); +#X obj -15 442 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 450 GridFlow 0.8.0; +#X text -7 450 GridFlow 0.8.0; +#X obj -13 -85 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 0 -72 Copyright 2002 Mathieu Bouchard; +#X text 0 -86 polygon.pd; +#X obj 79 336 #cast i; +#X obj 82 30 + 1; +#X obj 57 30 i; +#X msg 22 26 0; +#X obj 182 75 expr ($f1*$f1/2); +#X obj 155 341 # >> (b # 2); +#X obj 155 360 #convolve (3 1 b # 1 2 1) \, seed (b # 0); +#X obj 5 27 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 -1 +; +#X obj 62 121 # >> 3; +#X connect 0 0 13 0; +#X connect 0 0 19 0; +#X connect 1 0 9 0; +#X connect 2 0 0 0; +#X connect 3 0 8 0; +#X connect 5 0 11 0; +#X connect 6 0 0 2; +#X connect 7 0 37 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 31 0; +#X connect 9 2 6 0; +#X connect 10 0 2 0; +#X connect 11 0 6 2; +#X connect 12 0 16 0; +#X connect 13 0 2 1; +#X connect 13 1 21 0; +#X connect 14 0 13 1; +#X connect 16 0 2 1; +#X connect 17 0 0 1; +#X connect 18 0 4 0; +#X connect 19 0 4 0; +#X connect 19 1 29 0; +#X connect 20 0 19 1; +#X connect 21 0 22 0; +#X connect 22 0 34 0; +#X connect 29 0 18 0; +#X connect 30 0 31 1; +#X connect 31 0 30 0; +#X connect 31 0 7 0; +#X connect 31 0 33 0; +#X connect 32 0 31 0; +#X connect 33 0 6 1; +#X connect 34 0 35 0; +#X connect 35 0 2 1; +#X connect 36 0 32 0; +#X connect 36 0 16 0; +#X connect 37 0 17 0; diff --git a/externals/gridflow/examples/polygon_editor.pd b/externals/gridflow/examples/polygon_editor.pd new file mode 100644 index 00000000..478a9d0e --- /dev/null +++ b/externals/gridflow/examples/polygon_editor.pd @@ -0,0 +1,23 @@ +#N canvas 478 312 450 300 10; +#X obj 41 33 metro 33.3667; +#X obj 23 34 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 41 52 #store (240 320 3 #); +#X obj 41 219 #out window; +#X obj 115 238 s events; +#X obj 50 73 r events; +#X obj 41 95 t a; +#X obj 122 181 print unused_events; +#X obj 41 181 route2 grid; +#X obj 41 238 route bang; +#X obj 41 147 #edit_polygon put (3 # 255) (3 2 # 0 0 100 200 200 100) +; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 2 0 6 0; +#X connect 3 0 9 0; +#X connect 5 0 6 0; +#X connect 6 0 10 0; +#X connect 8 0 3 0; +#X connect 8 1 7 0; +#X connect 9 1 4 0; +#X connect 10 0 8 0; diff --git a/externals/gridflow/examples/postdigital.pd b/externals/gridflow/examples/postdigital.pd new file mode 100644 index 00000000..53e5c517 --- /dev/null +++ b/externals/gridflow/examples/postdigital.pd @@ -0,0 +1,67 @@ +#N canvas 681 68 541 475 10; +#X obj 23 2 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; +#X obj 65 89 #camera; +#X obj 40 149 t a a a; +#X obj 9 188 t a a; +#X msg 39 207 close; +#X msg 27 253 open /tmp/foo.mov \, bang \, cast uint8 \, close; +#X obj 40 1 metro 100; +#X obj 151 194 f; +#X obj 111 194 bang; +#X obj 65 109 #convolve (3 3 # 1 2 1 2 4 2); +#X obj 65 128 # >> 4; +#X obj 40 168 #finished; +#X obj 41 230 #out; +#X obj 27 272 #in; +#X obj 29 302 # -; +#X obj 30 414 #clip; +#X obj 30 452 #out window; +#X obj 14 38 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 34 63 #in babbage.jpg; +#X msg 116 219 open quicktime /tmp/foo.mov \, codec jpeg \, parameter +jpeg_quality \$1; +#X obj 40 20 shunt; +#X obj 79 21 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +; +#X obj 30 355 # +; +#X obj 30 336 # << 3; +#X obj 176 194 nbx 3 14 0 100 0 0 empty empty empty 0 -8 0 10 -241291 +-1 -1 75 256; +#X msg 176 175 75; +#X obj 176 156 loadbang; +#X text 64 301 compute difference between original image and jpeg decoding +; +#X text 80 336 boost the residue; +#X text 64 355 add boosted residue to the original image; +#X connect 0 0 6 0; +#X connect 1 0 9 0; +#X connect 2 0 11 0; +#X connect 2 1 12 0; +#X connect 2 2 8 0; +#X connect 2 2 14 1; +#X connect 2 2 22 1; +#X connect 3 0 5 0; +#X connect 3 1 4 0; +#X connect 4 0 12 0; +#X connect 5 0 13 0; +#X connect 6 0 20 0; +#X connect 7 0 19 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 2 0; +#X connect 11 0 3 0; +#X connect 13 0 14 0; +#X connect 14 0 23 0; +#X connect 15 0 16 0; +#X connect 17 0 18 0; +#X connect 18 0 2 0; +#X connect 19 0 12 0; +#X connect 20 0 18 0; +#X connect 20 1 1 0; +#X connect 21 0 20 1; +#X connect 22 0 15 0; +#X connect 23 0 22 0; +#X connect 24 0 7 1; +#X connect 25 0 24 0; +#X connect 26 0 25 0; diff --git a/externals/gridflow/examples/radial_blur.pd b/externals/gridflow/examples/radial_blur.pd new file mode 100644 index 00000000..acb7e039 --- /dev/null +++ b/externals/gridflow/examples/radial_blur.pd @@ -0,0 +1,102 @@ +#N canvas 1212 325 461 616 10; +#X obj 47 166 #in; +#X msg 134 149 open \$1; +#X obj 134 89 openpanel; +#X obj 134 71 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1 +-1; +#X obj 47 516 #out window; +#X obj 47 312 #remap_image; +#X obj 47 496 #remap_image; +#X obj 234 485 # + (0 9000); +#X msg 317 439 1 \$1 # 1; +#X obj 47 456 #convolve (1 1 # 1); +#X obj 47 476 # / 1; +#X obj 82 404 hsl 128 15 1 127 0 0 empty \$0.bluramount empty -2 -8 +0 10 -260097 -1 -1 0 1; +#N canvas 3 94 450 300 blurtype 0; +#X obj 51 49 inlet; +#X obj 81 221 outlet; +#X msg 78 165 set \, adddollar 1 \, add2 1 # 1; +#X obj 82 113 sel 0; +#X msg 147 138 set \, add2 1 \, adddollar 1 \, add2 # 1; +#X obj 63 82 t b a; +#X obj 47 256 s \$0.bluramount; +#X connect 0 0 5 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 3 1 4 0; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 5 1 3 0; +#X restore 317 419 pd blurtype; +#X obj 79 422 i; +#X obj 234 343 # - (0 9000); +#X obj 47 186 #t; +#X obj 294 203 #dim; +#X obj 294 223 #redim (2); +#X obj 308 243 # / 2; +#X obj 294 263 # * (1 0); +#X obj 294 283 # + (0 36000); +#X obj 234 303 # * (0 0); +#X obj 234 323 # / (1 1); +#X obj 234 363 # p2c (0 0); +#X obj 234 465 # c2p (0 0); +#X obj 234 505 # * (0 0); +#X obj 234 525 # / (1 1); +#X obj 47 71 tgl 15 0 empty empty empty 17 7 0 10 -4034 -1 -1 0 1; +#X obj 47 89 metro 100; +#X text 78 385 amount:; +#X text 24 556 GridFlow 0.9.5; +#X text 197 62 1) OPEN AN IMAGE; +#X msg 134 129 symbol teapot.png; +#X msg 134 109 symbol babbage.jpg; +#X obj 317 386 vradio 15 1 0 2 empty empty empty 0 -8 0 10 -4034 -1 +-1 0; +#X text 335 400 angular blur; +#X text 336 384 radial blur; +#X obj 57 141 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1 +-1; +#X text 24 26 Copyright 2009 by Federico Ferri; +#X text 85 178 2) BANG #in (MANUALLY OR WITH METRO); +#X text 58 367 3) PLAY WITH CONTROLS; +#X connect 0 0 15 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 5 0 9 0; +#X connect 5 1 21 0; +#X connect 6 0 4 0; +#X connect 6 1 24 0; +#X connect 7 0 25 0; +#X connect 8 0 9 1; +#X connect 9 0 10 0; +#X connect 10 0 6 0; +#X connect 11 0 13 0; +#X connect 12 0 8 0; +#X connect 13 0 8 0; +#X connect 13 0 10 1; +#X connect 14 0 23 0; +#X connect 15 0 5 0; +#X connect 15 1 16 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X connect 17 0 22 1; +#X connect 17 0 25 1; +#X connect 18 0 19 0; +#X connect 18 0 23 1; +#X connect 18 0 24 1; +#X connect 19 0 20 0; +#X connect 20 0 21 1; +#X connect 20 0 26 1; +#X connect 21 0 22 0; +#X connect 22 0 14 0; +#X connect 23 0 5 1; +#X connect 24 0 7 0; +#X connect 25 0 26 0; +#X connect 26 0 6 1; +#X connect 27 0 28 0; +#X connect 28 0 0 0; +#X connect 32 0 1 0; +#X connect 33 0 1 0; +#X connect 34 0 12 0; +#X connect 37 0 0 0; diff --git a/externals/gridflow/examples/ripple.pd b/externals/gridflow/examples/ripple.pd new file mode 100644 index 00000000..3756a874 --- /dev/null +++ b/externals/gridflow/examples/ripple.pd @@ -0,0 +1,184 @@ +#N canvas 276 26 683 618 10; +#X obj 78 419 #out window; +#X obj 78 105 +; +#X obj 47 326 # +; +#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 text 15 149 distances to middle; +#X obj 18 36 inlet; +#X obj 18 93 #fold +; +#X text 89 95 pythagoras' theorem; +#X obj 18 131 outlet; +#X obj 18 55 #for (-128 -128) (128 128) (1 1); +#X obj 18 112 # sqrt; +#X obj 18 74 # sq-; +#X connect 2 0 6 0; +#X connect 3 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 5 0; +#X connect 8 0 3 0; +#X restore 164 41 pd distance map; +#X obj 78 440 fps detailed; +#X obj 283 130 loadbang; +#X obj 47 42 t a a; +#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 604 543 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 1 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 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 78 462 print; +#X obj 164 149 # inv* 10000; +#N canvas 392 110 431 233 angle 0; +#X obj 21 133 #outer atan; +#X text 81 154 angles to centre; +#X text 22 13 bang; +#X obj 21 32 inlet; +#X obj 21 56 #for -128 128 1; +#X obj 21 153 outlet 0; +#X obj 21 90 #t; +#X connect 0 0 5 0; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 6 0 0 0; +#X connect 6 1 0 1; +#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 637 537 387 220 compute 1; +#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 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 326 429 #color; +#X text 411 410 color of ripple shading; +#X obj 164 329 #for (0 0) (256 256) (1 1); +#X obj 283 170 #outer + (0 9000); +#X obj 47 173 #outer ignore (0 0); +#X obj 40 274 #t; +#X obj 326 391 loadbang; +#X msg 326 410 255 255 100; +#X connect 0 0 6 0; +#X connect 1 0 20 0; +#X connect 1 0 11 1; +#X connect 2 0 15 0; +#X connect 3 0 13 0; +#X connect 3 1 0 0; +#X connect 4 0 21 1; +#X connect 5 0 17 0; +#X connect 5 0 12 1; +#X connect 6 0 24 0; +#X connect 7 0 26 0; +#X connect 8 0 12 0; +#X connect 8 1 10 0; +#X connect 9 0 19 1; +#X connect 9 0 3 1; +#X connect 10 0 1 0; +#X connect 11 0 31 0; +#X connect 12 0 11 0; +#X connect 13 0 0 0; +#X connect 14 0 36 0; +#X connect 15 0 3 0; +#X connect 16 0 8 0; +#X connect 17 0 25 0; +#X connect 19 0 54 0; +#X connect 19 1 2 0; +#X connect 20 0 1 1; +#X connect 21 0 28 0; +#X connect 22 0 51 0; +#X connect 23 0 5 0; +#X connect 25 0 27 1; +#X connect 26 0 52 0; +#X connect 27 0 53 0; +#X connect 28 0 19 0; +#X connect 29 0 40 0; +#X connect 30 0 41 0; +#X connect 31 0 27 0; +#X connect 33 0 15 1; +#X connect 34 0 33 0; +#X connect 36 0 16 0; +#X connect 40 0 42 0; +#X connect 41 0 42 1; +#X connect 42 0 28 1; +#X connect 49 0 13 2; +#X connect 51 0 2 1; +#X connect 52 0 4 0; +#X connect 53 0 21 0; +#X connect 54 0 2 0; +#X connect 54 1 13 1; +#X connect 55 0 56 0; +#X connect 56 0 49 0; diff --git a/externals/gridflow/examples/sand.pd b/externals/gridflow/examples/sand.pd new file mode 100644 index 00000000..9e7f2d3d --- /dev/null +++ b/externals/gridflow/examples/sand.pd @@ -0,0 +1,392 @@ +#N canvas 344 26 680 557 10; +#X text 287 159 disable falling; +#X obj 2 96 t a a; +#X obj 323 314 # != 0; +#X obj 384 352 #fold +; +#X obj 8 442 s position; +#X obj 192 29 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 +; +#X obj 323 371 #export; +#X obj 192 82 #store; +#X obj 217 113 shunt 2; +#N canvas 25 226 369 359 mouse 0; +#X text 143 214 is there a click?; +#X obj 44 114 != 0; +#X text 112 256 coordinates; +#X obj 19 8 inlet; +#X text 56 9 #out's outlet 0; +#X obj 44 93 >> 8; +#X obj 65 237 listsublist 0 2; +#X obj 16 31 route position; +#X obj 94 214 outlet; +#X obj 65 257 outlet; +#X obj 16 214 shunt 2; +#X obj 44 72 listelement 2; +#X obj 16 51 t a a; +#X connect 1 0 8 0; +#X connect 1 0 10 1; +#X connect 3 0 7 0; +#X connect 5 0 1 0; +#X connect 6 0 9 0; +#X connect 7 0 12 0; +#X connect 10 1 6 0; +#X connect 11 0 5 0; +#X connect 12 0 10 0; +#X connect 12 1 11 0; +#X restore 366 132 pd mouse click/drag; +#X obj 327 132 # / 2; +#X obj 323 333 #ravel; +#X obj 217 158 shunt 2; +#X obj 34 96 s size; +#X obj 323 352 #fold +; +#X obj 420 95 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X obj 452 358 #export; +#X obj 452 320 #ravel; +#X obj 306 220 shunt 2; +#X obj 271 159 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 384 371 #export; +#X obj 367 94 shunt 2; +#X obj 2 230 #greyscale_to_rgb; +#X obj 367 113 r position; +#N canvas 364 105 496 344 falling 0; +#X obj 42 147 # +; +#X text 227 189 vertical falling; +#X obj 42 40 inlet; +#X text 83 40 Dim[rows \, columns \, {height}]; +#X obj 42 168 # +; +#X obj 42 209 # +; +#X text 95 250 Dim[rows \, columns \, {height}]; +#X text 216 129 horizontal falling; +#X obj 42 230 # +; +#X obj 42 103 #store; +#X obj 42 249 outlet; +#X obj 42 84 #finished; +#X obj 110 209 #convolve (2 1 # 1 1) \, fold inv+; +#X obj 110 230 #convolve (3 1 # 1 1 0) \, fold inv+; +#X obj 69 209 # / 4; +#X obj 69 230 # / 4; +#X obj 69 147 # / 4; +#X obj 69 168 # / 4; +#X obj 108 147 #convolve (1 2 # 1 1) \, fold inv+; +#X obj 109 168 #convolve (1 3 # 1 1 0) \, fold inv+; +#X obj 159 78 # rand; +#X obj 123 116 # +; +#X obj 42 59 t a a a; +#X obj 159 59 # put 128; +#X obj 159 97 # - 32; +#X obj 159 116 # div 50; +#X connect 0 0 4 0; +#X connect 2 0 22 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 8 0 10 0; +#X connect 9 0 0 0; +#X connect 11 0 9 0; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 14 0 5 1; +#X connect 15 0 8 1; +#X connect 16 0 0 1; +#X connect 17 0 4 1; +#X connect 18 0 16 0; +#X connect 19 0 17 0; +#X connect 20 0 24 0; +#X connect 21 0 18 0; +#X connect 21 0 19 0; +#X connect 21 0 12 0; +#X connect 21 0 13 0; +#X connect 22 0 11 0; +#X connect 22 1 9 1; +#X connect 22 1 21 0; +#X connect 22 2 23 0; +#X connect 23 0 20 0; +#X connect 24 0 25 0; +#X connect 25 0 21 1; +#X restore 217 178 pd falling sand; +#X obj 2 170 shunt 3; +#X obj 2 480 print; +#X obj 197 65 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X text 210 27 auto; +#N canvas 301 45 536 447 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 112 244 # / 20; +#X obj 112 297 # *; +#X obj 13 244 #store; +#X obj 14 18 inlet; +#X obj 279 51 loadbang; +#X obj 13 38 t a a; +#X obj 112 225 #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 112 206 #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 13 420 outlet; +#X obj 260 53 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 122 262 find out how high the compensation torus should be +; +#X obj 112 316 # div 256; +#X obj 36 58 route grid; +#X obj 13 225 #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; +#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 259 326 pd torus; +#X text 66 415 put extra sand as a ring around the hole; +#X obj 112 278 #redim (64 64 1); +#X obj 13 397 #draw_image - (1 1 1 #) (0 0); +#X obj 13 141 #draw_image - (1 1 1 #) (0 0); +#X obj 13 343 shunt 2; +#X obj 64 343 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X connect 0 0 11 0; +#X connect 1 0 15 0; +#X connect 2 0 24 0; +#X connect 3 0 17 0; +#X connect 4 0 27 0; +#X connect 5 0 7 0; +#X connect 6 0 13 0; +#X connect 7 0 26 0; +#X connect 7 1 18 0; +#X connect 8 0 2 0; +#X connect 11 0 25 2; +#X connect 11 0 26 2; +#X connect 12 0 8 0; +#X connect 13 0 21 0; +#X connect 13 0 22 0; +#X connect 15 0 13 0; +#X connect 17 0 25 1; +#X connect 18 0 1 0; +#X connect 19 0 4 0; +#X connect 20 0 19 0; +#X connect 20 1 12 0; +#X connect 20 1 4 1; +#X connect 21 0 26 1; +#X connect 22 0 3 1; +#X connect 24 0 3 0; +#X connect 25 0 14 0; +#X connect 26 0 20 0; +#X connect 27 0 25 0; +#X connect 27 1 14 0; +#X connect 28 0 27 1; +#X restore 260 132 pd finger; +#X obj 360 286 # -; +#X obj 384 333 #ravel; +#X msg 2 56 240 320; +#X obj 452 339 #fold +; +#X obj 2 211 # + 128; +#X text 375 220 enable stats; +#X text 289 411 checking for conservation of amounts of sand; +#X msg 2 115 \$1 \$2 1 # 0; +#N canvas 499 117 441 278 lighting 0; +#X obj 28 234 outlet; +#X obj 27 18 inlet; +#X text 184 103 colourize the horizontal differences; +#X text 184 149 colourize the vertical differences; +#X obj 60 149 #outer & (0 -1 0); +#X obj 60 129 #convolve (4 1 # 1 -8 8 -1); +#X obj 60 84 #convolve (1 4 # 1 -8 8 -1); +#X obj 28 177 # << 2; +#X obj 28 215 #clip; +#X obj 28 196 # + (220 200 180); +#X obj 27 37 #t; +#X obj 28 56 #greyscale_to_rgb; +#X obj 28 104 # +; +#X obj 28 149 # +; +#X obj 60 104 #outer & (-1 0 0); +#X connect 1 0 10 0; +#X connect 4 0 13 1; +#X connect 5 0 4 0; +#X connect 6 0 14 0; +#X connect 7 0 9 0; +#X connect 8 0 0 0; +#X connect 9 0 8 0; +#X connect 10 0 11 0; +#X connect 10 1 6 0; +#X connect 10 1 5 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 7 0; +#X connect 14 0 12 1; +#X restore 24 298 pd lighting; +#X obj 2 461 fps detailed; +#X obj 359 221 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X text 213 65 step; +#X obj 67 183 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -1 +-1 1; +#X obj 2 422 #out window; +#X obj 323 392 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 384 392 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X obj 452 377 nbx 8 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 +-262144 -1 -1 0 256; +#X text 87 196 differential; +#X text 86 181 heightmap; +#X text 86 212 topographic; +#X obj 152 82 t a a; +#X obj 217 220 t a a; +#X obj 2 37 loadbang; +#X text 436 95 disable finger; +#X obj 350 264 t a a; +#X obj 2 192 # << 2; +#X obj -15 499 cnv 15 680 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 506 GridFlow 0.8.0; +#X text -7 506 GridFlow 0.8.0; +#X obj -13 -25 cnv 15 680 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 0 -25 sand.pd; +#X text -1 21 set size & reset; +#X obj 2 249 #clip; +#X obj 24 279 # << 0; +#X obj 68 144 loadbang; +#X msg 68 163 1; +#X obj 270 115 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X msg 8 76 120 160; +#X obj 192 46 metro 33.3667; +#X obj 2 400 #scale_by 2; +#N canvas 0 0 450 300 topographic 0; +#X obj 35 18 inlet; +#X obj 35 170 #greyscale_to_rgb; +#X obj 35 37 #convolve (3 3 # 1 2 1 2 4 2); +#X obj 35 151 #clip; +#X obj 35 56 # & 127; +#X obj 35 189 outlet; +#X obj 35 75 # abs- 108; +#X obj 35 94 # min 20; +#X obj 35 113 # inv+ 20; +#X obj 35 132 # << 5; +#X connect 0 0 2 0; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 1 0; +#X connect 4 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 3 0; +#X restore 46 317 pd topographic; +#X text 0 -12 Copyright 2002 \, 2006 Mathieu Bouchard; +#X obj 384 314 # abs-; +#X connect 1 0 37 0; +#X connect 1 1 13 0; +#X connect 2 0 11 0; +#X connect 3 0 20 0; +#X connect 5 0 68 0; +#X connect 6 0 44 0; +#X connect 7 0 8 0; +#X connect 8 0 12 0; +#X connect 8 1 29 0; +#X connect 9 0 10 0; +#X connect 9 1 21 0; +#X connect 10 0 29 1; +#X connect 11 0 14 0; +#X connect 12 0 24 0; +#X connect 12 1 51 0; +#X connect 14 0 6 0; +#X connect 15 0 21 1; +#X connect 16 0 46 0; +#X connect 17 0 33 0; +#X connect 18 1 17 0; +#X connect 18 1 54 0; +#X connect 19 0 12 1; +#X connect 20 0 45 0; +#X connect 21 0 8 1; +#X connect 22 0 62 0; +#X connect 23 0 9 0; +#X connect 24 0 51 0; +#X connect 25 0 55 0; +#X connect 25 1 63 0; +#X connect 25 2 70 0; +#X connect 27 0 7 0; +#X connect 29 0 12 0; +#X connect 30 0 2 0; +#X connect 30 0 72 0; +#X connect 31 0 3 0; +#X connect 32 0 1 0; +#X connect 33 0 16 0; +#X connect 34 0 22 0; +#X connect 37 0 50 0; +#X connect 38 0 69 0; +#X connect 39 0 26 0; +#X connect 40 0 18 1; +#X connect 42 0 25 1; +#X connect 43 0 39 0; +#X connect 43 0 4 0; +#X connect 50 0 25 0; +#X connect 50 1 7 1; +#X connect 51 0 50 0; +#X connect 51 1 18 0; +#X connect 52 0 32 0; +#X connect 54 0 30 1; +#X connect 54 1 30 0; +#X connect 55 0 34 0; +#X connect 62 0 69 0; +#X connect 63 0 38 0; +#X connect 64 0 65 0; +#X connect 65 0 42 0; +#X connect 66 0 8 1; +#X connect 67 0 1 0; +#X connect 68 0 7 0; +#X connect 69 0 43 0; +#X connect 70 0 69 0; +#X connect 72 0 31 0; diff --git a/externals/gridflow/examples/scratch_video.pd b/externals/gridflow/examples/scratch_video.pd new file mode 100644 index 00000000..b97c0712 --- /dev/null +++ b/externals/gridflow/examples/scratch_video.pd @@ -0,0 +1,43 @@ +#N canvas 694 45 580 451 10; +#X obj 119 273 listelement 1; +#X floatatom 119 292 5 0 0 0 - - -; +#X floatatom 246 217 5 0 0 0 - - -; +#X obj 119 254 route position; +#X obj 119 177 #in; +#X obj -13 0 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj -16 417 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 0 13 Copyright 2003 Alexandre Castonguay; +#X text -4 38 Use the mouse position to scratch the video \, a touchscreen +works well.; +#X obj 119 235 #out window; +#X text 290 215 <-- frame number; +#X text 223 272 <-- get x values; +#X obj 92 130 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X text 0 0 scratch_video.pd; +#X text 16 424 GridFlow 0.9.0; +#X obj 119 334 s frame_number; +#X obj 119 86 r frame_number; +#X floatatom 78 338 5 0 0 0 - - -; +#X msg 197 141 open violoncelle.mov; +#X msg 237 82 get; +#X obj 169 194 route frames; +#X floatatom 169 216 5 0 0 0 - - -; +#X text 336 140 320 x 240 \, 128 frames; +#X obj 119 311 / 2.8; +#X connect 0 0 1 0; +#X connect 1 0 23 0; +#X connect 3 0 0 0; +#X connect 4 0 9 0; +#X connect 4 1 2 0; +#X connect 4 1 20 0; +#X connect 9 0 3 0; +#X connect 12 0 4 0; +#X connect 16 0 4 0; +#X connect 18 0 4 0; +#X connect 19 0 4 0; +#X connect 20 0 21 0; +#X connect 23 0 15 0; +#X connect 23 0 17 0; diff --git a/externals/gridflow/examples/slitscanning.pd b/externals/gridflow/examples/slitscanning.pd new file mode 100644 index 00000000..fe2927f0 --- /dev/null +++ b/externals/gridflow/examples/slitscanning.pd @@ -0,0 +1,54 @@ +#N canvas 398 50 401 530 10; +#X obj 18 460 #out window; +#X obj 18 205 #store; +#X obj 18 178 #store; +#X obj 93 122 loadbang; +#X obj 18 106 t b b; +#X obj 34 353 @join 0; +#X obj 18 55 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1 +; +#X obj 18 432 #store; +#X obj 34 284 #t; +#X obj 18 228 #t; +#X obj 78 301 b; +#X obj 18 256 b; +#X obj 18 411 #store; +#X obj 106 349 loadbang; +#X obj 18 83 metro 33.3333; +#X obj 0 498 cnv 15 400 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 8 505 GridFlow 0.9.0; +#X obj 1 0 cnv 15 400 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 14 0 slitscanning.pd; +#X text 14 13 Copyright 2007 Roman Haefeli; +#X text 38 55 <- start / stop; +#X text 155 182 <- set dimensions to 240 320; +#X obj 96 181 cnv 15 50 17 empty empty empty 20 12 0 14 -241291 -66577 +0; +#X obj 96 182 #camera; +#X obj 55 153 #for (119 0) (120 320) (1 1); +#X obj 77 323 #store (600 320 3 #); +#X obj 97 376 #for (0 0) (600 320) (1 1); +#X connect 1 0 9 0; +#X connect 2 0 1 0; +#X connect 3 0 24 0; +#X connect 4 0 2 0; +#X connect 4 1 23 0; +#X connect 5 0 7 1; +#X connect 6 0 14 0; +#X connect 7 0 0 0; +#X connect 7 0 25 1; +#X connect 8 0 5 0; +#X connect 8 1 10 0; +#X connect 9 0 11 0; +#X connect 9 1 8 0; +#X connect 10 0 25 0; +#X connect 11 0 12 0; +#X connect 12 0 7 0; +#X connect 13 0 26 0; +#X connect 14 0 4 0; +#X connect 23 0 1 1; +#X connect 24 0 2 1; +#X connect 25 0 5 1; +#X connect 26 0 12 1; diff --git a/externals/gridflow/examples/spectrogram.pd b/externals/gridflow/examples/spectrogram.pd new file mode 100644 index 00000000..fb6730d2 --- /dev/null +++ b/externals/gridflow/examples/spectrogram.pd @@ -0,0 +1,108 @@ +#N canvas 370 65 588 508 10; +#X msg 147 208 reset; +#X obj 21 50 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 297 54 adc~; +#X obj 38 170 tabread4 array1; +#X obj 21 69 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 +; +#X obj 332 55 table array1 1024; +#X obj 208 212 loadbang; +#X obj 191 214 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#N canvas 0 0 306 167 analysis 0; +#X obj 24 -205 inlet~; +#X obj 26 -135 tabsend~ array1; +#X obj 24 -184 rfft~; +#X obj 25 -157 expr~ sqrt($v1*$v1+$v2*$v2)/64; +#X obj 148 -198 block~ 1024; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 3 0 1 0; +#X restore 298 77 pd analysis; +#X obj 284 256 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X obj 190 291 loadbang; +#X obj 173 293 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 38 68 for 0 320 1; +#X obj 38 189 * 2000; +#X text 303 257 black stripes; +#X text 302 270 graph; +#X obj 38 117 / 2; +#X text 83 189 <-- adding some extra gain; +#X obj 81 138 exp; +#X obj 194 136 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X text 216 136 linear; +#X text 214 150 logarithmic; +#X obj 82 117 / 51; +#X obj 38 395 #fade; +#X obj 130 396 loadbang; +#X msg 79 395 16 4 1; +#X obj 38 49 metro 23.22; +#X text 115 117 = 1000*1024/44100; +#X obj 38 208 #import ( 320 ); +#X obj 38 227 # *>>8; +#X obj 38 246 #fade 2; +#X obj 38 309 # inv+ 255; +#X obj 113 292 #outer <; +#X obj 113 311 # * 255; +#X obj 113 330 #transpose; +#X obj 38 357 #redim (120 320 1); +#X obj 38 376 #greyscale_to_rgb; +#X obj 38 414 #clip; +#X obj 38 433 #scale_by 2; +#X obj 38 452 #out window; +#X obj 6 476 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 14 483 GridFlow 0.8.0; +#X text 14 483 GridFlow 0.8.0; +#X obj 6 5 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 19 5 spectrogram.pd; +#X obj 173 310 #for 120 0 -1; +#X obj 191 231 #for 0 320 1; +#X obj 191 250 # + 10; +#X text 19 18 Copyright 2004 Mathieu Bouchard; +#X obj 38 91 shunt 2; +#X obj 38 265 shunt 2; +#X connect 0 0 28 0; +#X connect 1 0 26 0; +#X connect 2 0 8 0; +#X connect 2 1 8 0; +#X connect 3 0 13 0; +#X connect 4 0 12 0; +#X connect 6 0 7 0; +#X connect 7 0 46 0; +#X connect 9 0 50 1; +#X connect 10 0 11 0; +#X connect 11 0 45 0; +#X connect 12 0 49 0; +#X connect 13 0 28 0; +#X connect 16 0 3 0; +#X connect 18 0 3 0; +#X connect 19 0 49 1; +#X connect 22 0 18 0; +#X connect 23 0 37 0; +#X connect 24 0 25 0; +#X connect 25 0 23 1; +#X connect 26 0 12 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 30 0 50 0; +#X connect 31 0 35 0; +#X connect 32 0 33 0; +#X connect 33 0 34 0; +#X connect 34 0 35 0; +#X connect 35 0 36 0; +#X connect 36 0 23 0; +#X connect 37 0 38 0; +#X connect 38 0 39 0; +#X connect 45 0 32 1; +#X connect 46 0 47 0; +#X connect 47 0 29 1; +#X connect 49 0 16 0; +#X connect 49 1 22 0; +#X connect 50 0 31 0; +#X connect 50 1 32 0; diff --git a/externals/gridflow/examples/surface_tension.pd b/externals/gridflow/examples/surface_tension.pd new file mode 100644 index 00000000..97611abb --- /dev/null +++ b/externals/gridflow/examples/surface_tension.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 surface_tension.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/examples/threshold.pd b/externals/gridflow/examples/threshold.pd new file mode 100644 index 00000000..0b90b07f --- /dev/null +++ b/externals/gridflow/examples/threshold.pd @@ -0,0 +1,78 @@ +#N canvas 660 79 581 531 10; +#X obj 72 208 inv+ 0; +#X obj 40 8 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 99 57 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X floatatom 124 224 5 0 0 0 - - -; +#X obj 124 91 vsl 15 128 0 256 0 0 empty empty empty 0 -8 0 8 -260818 +-1 -1 0 1; +#X obj 40 67 shunt 2; +#X text 7 104 simple per-channel threshold; +#X text 276 53 bluescreen luma threshold; +#X text 340 195 here we have a mask; +#X text 320 207 (alpha as separate image); +#X obj 257 278 @join 2; +#X text 346 226 make a RGBA image; +#X obj 270 88 t b a a; +#X text 210 379 = medium blue; +#X obj 257 221 t a a; +#X obj 121 416 fps; +#X floatatom 146 418 5 0 0 0 - - -; +#X obj 40 29 metro 100; +#X msg 70 378 240 320 3 # 0 0 170; +#X text 279 68 with alpha channel; +#X text 13 349 you could also load a picture; +#X text 13 361 instead of using uniform blue; +#X text 58 10 1000/100 = 10 fps (max) (adjustable); +#X obj 40 48 #camera; +#X obj -13 -45 cnv 15 580 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 0 -32 Copyright 2002 Mathieu Bouchard; +#X obj -15 450 cnv 15 580 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 457 GridFlow 0.8.0; +#X text -7 457 GridFlow 0.8.0; +#X text 0 -45 threshold.pd; +#X obj 257 259 #store; +#X obj 257 240 #finished; +#X obj 314 145 # * 255; +#X obj 314 126 # >=; +#X obj 314 107 #rgb_to_greyscale; +#X obj 70 397 #draw_image put \, alpha 1; +#X obj 40 166 # -; +#X obj 40 185 # max 0; +#X obj 40 208 # ||; +#X obj 40 227 # +; +#X obj 40 416 #out window; +#X text 387 -38 see also color_detect.pd; +#X connect 0 0 38 1; +#X connect 1 0 17 0; +#X connect 2 0 5 1; +#X connect 3 0 0 0; +#X connect 3 0 33 1; +#X connect 3 0 36 1; +#X connect 3 0 39 1; +#X connect 4 0 3 0; +#X connect 5 0 36 0; +#X connect 5 1 12 0; +#X connect 10 0 35 1; +#X connect 12 0 18 0; +#X connect 12 1 14 0; +#X connect 12 2 34 0; +#X connect 14 0 31 0; +#X connect 14 1 30 1; +#X connect 15 0 16 0; +#X connect 17 0 23 0; +#X connect 18 0 35 0; +#X connect 23 0 5 0; +#X connect 30 0 10 0; +#X connect 31 0 30 0; +#X connect 32 0 10 1; +#X connect 33 0 32 0; +#X connect 34 0 33 0; +#X connect 35 0 40 0; +#X connect 36 0 37 0; +#X connect 37 0 38 0; +#X connect 38 0 39 0; +#X connect 39 0 40 0; +#X connect 40 0 15 0; diff --git a/externals/gridflow/examples/transform.pd b/externals/gridflow/examples/transform.pd new file mode 100644 index 00000000..d8785933 --- /dev/null +++ b/externals/gridflow/examples/transform.pd @@ -0,0 +1,61 @@ +#N canvas 726 225 674 481 10; +#X obj 136 286 #remap_image; +#X obj 136 324 #out window; +#X obj 125 103 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 +; +#X obj 294 376 # -; +#X obj 294 202 t a a a; +#X obj 356 261 # % 2; +#X obj 356 280 # * -2; +#X obj 356 299 # + 1; +#X obj 316 300 # *; +#X obj 403 230 # / 2; +#X obj 377 167 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -261681 +-1 -1 0 1; +#X obj 316 281 # -; +#X obj 374 190 t f; +#X obj 316 262 # %; +#X obj 356 242 # /; +#X obj 186 214 #camera; +#X obj 125 120 metro 10; +#X obj 8 442 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text 16 449 GridFlow 0.8.0; +#X obj 374 449 #reverse; +#X text 293 450 see also :; +#X obj 1 -2 cnv 15 720 15 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 4 -2 Transform.pd; +#X obj 95 215 #in r001.jpg; +#X obj 125 139 shunt; +#X obj 164 140 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X text 68 32 By Mathieu Bouchard \, based on Clifford Smith's 'Transform' +effect that is part of Fukuchi Kentaro's EffecTV : http://effectv.sourceforge.net +; +#X text 187 138 <-- choose from a still image or camera input; +#X connect 0 0 1 0; +#X connect 0 1 4 0; +#X connect 2 0 16 0; +#X connect 3 0 0 1; +#X connect 4 0 3 0; +#X connect 4 1 13 0; +#X connect 4 2 14 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 8 1; +#X connect 8 0 3 1; +#X connect 9 0 11 1; +#X connect 10 0 12 0; +#X connect 11 0 8 0; +#X connect 12 0 9 0; +#X connect 12 0 13 1; +#X connect 12 0 14 1; +#X connect 13 0 11 0; +#X connect 14 0 5 0; +#X connect 15 0 0 0; +#X connect 16 0 24 0; +#X connect 23 0 0 0; +#X connect 24 0 23 0; +#X connect 24 1 15 0; +#X connect 25 0 24 1; diff --git a/externals/gridflow/examples/translation_tracker.pd b/externals/gridflow/examples/translation_tracker.pd new file mode 100644 index 00000000..a78b0068 --- /dev/null +++ b/externals/gridflow/examples/translation_tracker.pd @@ -0,0 +1,162 @@ +#N canvas 734 0 486 689 10; +#X obj 28 15 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 1 1 +; +#X obj 172 7 bng 15 250 50 0 empty empty empty 17 7 0 10 -241291 -1 +-1; +#X obj 189 12 loadbang; +#X obj 28 120 #remap_image; +#X floatatom 378 62 5 0 0 0 - - -; +#X obj 345 83 #pack; +#X obj 28 195 #cast f; +#X obj 28 492 #cast i; +#X obj 172 195 #cast f; +#X obj 172 233 #fft; +#X obj 172 214 #outer * (2 f # 1 0); +#X obj 28 511 #rgb_to_greyscale; +#X obj 29 648 display; +#X obj 28 361 # C.*conj; +#X obj 28 530 #t; +#X obj 28 609 # >=; +#X obj 28 628 #moment; +#X floatatom 378 42 5 0 0 0 - - -; +#X obj 193 610 #moment; +#X obj 194 633 display; +#X obj 191 567 #clip; +#X text 241 459 this is the same as magnitude; +#X text 244 472 because imaginary = 0 here; +#X obj 28 101 #store; +#X obj 28 51 shunt; +#X obj 65 52 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 1 +; +#X obj 58 70 #camera; +#X obj 228 121 gf.oneshot; +#X obj 189 121 t a a; +#X obj 301 122 bng 15 250 50 0 empty empty empty 17 7 0 10 -260818 +-1 -1; +#X obj 141 645 fps; +#X obj 142 665 display; +#X obj 141 626 bang; +#X obj 331 216 # inv* (f # 1); +#X obj 172 252 # * (f #); +#X obj 189 31 t b b; +#X obj 233 164 #window A; +#X obj 83 182 #window B; +#X obj 148 183 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 +1; +#X obj 298 165 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 +1; +#X obj 320 587 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 +1; +#X obj 44 568 #fold max; +#X obj 44 549 #ravel; +#X text 83 431 this bufferises the data to avoid an alignment warning +; +#X obj 331 235 # sq- (f #); +#X obj 116 120 # -; +#X obj 11 36 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -1 +-1; +#X obj 28 240 #fft \, real; +#X obj 350 280 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 +1; +#X obj 28 311 t a; +#X obj 262 291 #cast i; +#X obj 262 386 #clip; +#X obj 172 63 #in pure-data.jpg; +#X msg 331 197 list f # 76800; +#X obj 262 310 # sq-; +#X obj 262 272 spigot; +#X obj 262 329 #fold +; +#X obj 262 348 # sqrt; +#X obj 262 405 #window D; +#X obj 350 261 loadbang; +#X obj 191 586 #window C; +#X obj 191 510 spigot; +#X obj 320 568 loadbang; +#X obj 28 449 #fft \, sign 1 \, real; +#X obj 262 367 # >> 4; +#X obj 28 32 metro 33.3667; +#X obj 191 548 # -; +#X obj 192 529 # >> 6; +#X obj 216 550 nbx 3 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 +-262144 -1 -1 256 256; +#X obj 67 408 tgl 15 0 empty empty empty 17 7 0 10 -241291 -1 -1 0 +1; +#X obj 28 407 shunt; +#X obj 58 430 #t; +#X connect 0 0 65 0; +#X connect 1 0 52 0; +#X connect 2 0 35 0; +#X connect 3 0 37 0; +#X connect 3 0 6 0; +#X connect 3 1 45 0; +#X connect 4 0 5 1; +#X connect 5 0 45 1; +#X connect 6 0 47 0; +#X connect 7 0 11 0; +#X connect 7 0 61 0; +#X connect 8 0 10 0; +#X connect 9 0 34 0; +#X connect 10 0 9 0; +#X connect 11 0 14 0; +#X connect 11 0 18 0; +#X connect 13 0 70 0; +#X connect 14 0 15 0; +#X connect 14 1 42 0; +#X connect 15 0 16 0; +#X connect 16 0 12 0; +#X connect 16 0 32 0; +#X connect 17 0 5 0; +#X connect 18 0 19 0; +#X connect 20 0 60 0; +#X connect 23 0 3 0; +#X connect 24 0 23 0; +#X connect 24 1 26 0; +#X connect 25 0 24 1; +#X connect 26 0 28 0; +#X connect 27 0 36 0; +#X connect 27 0 8 0; +#X connect 28 0 6 0; +#X connect 28 1 27 0; +#X connect 29 0 27 1; +#X connect 30 0 31 0; +#X connect 32 0 30 0; +#X connect 33 0 44 0; +#X connect 34 0 13 1; +#X connect 35 0 52 0; +#X connect 35 1 53 0; +#X connect 38 0 37 1; +#X connect 39 0 36 1; +#X connect 40 0 60 1; +#X connect 40 0 61 1; +#X connect 41 0 15 1; +#X connect 42 0 41 0; +#X connect 44 0 34 1; +#X connect 45 0 3 1; +#X connect 46 0 24 0; +#X connect 47 0 49 0; +#X connect 48 0 55 1; +#X connect 48 0 58 1; +#X connect 49 0 13 0; +#X connect 49 0 55 0; +#X connect 50 0 54 0; +#X connect 51 0 58 0; +#X connect 52 0 23 1; +#X connect 52 0 8 0; +#X connect 53 0 33 0; +#X connect 54 0 56 0; +#X connect 55 0 50 0; +#X connect 56 0 57 0; +#X connect 57 0 64 0; +#X connect 59 0 48 0; +#X connect 61 0 67 0; +#X connect 62 0 40 0; +#X connect 63 0 7 0; +#X connect 64 0 51 0; +#X connect 65 0 24 0; +#X connect 66 0 20 0; +#X connect 67 0 66 0; +#X connect 68 0 66 1; +#X connect 69 0 70 1; +#X connect 70 0 63 0; +#X connect 70 1 71 0; +#X connect 71 0 63 0; diff --git a/externals/gridflow/examples/translation_tracker2.pd b/externals/gridflow/examples/translation_tracker2.pd new file mode 100644 index 00000000..56eeb2e9 --- /dev/null +++ b/externals/gridflow/examples/translation_tracker2.pd @@ -0,0 +1,126 @@ +#N canvas 770 0 450 674 10; +#X obj 6 6 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 0 1; +#X obj 36 170 #cast f; +#X obj 36 208 #fft; +#X obj 36 327 #cast i; +#X obj 36 189 #outer * (2 f # 1 0); +#X obj 180 170 #cast f; +#X obj 180 208 #fft; +#X obj 180 189 #outer * (2 f # 1 0); +#X obj 36 279 #fft \, sign -1; +#X obj 36 151 # - 128; +#X obj 180 151 # - 128; +#X obj 36 346 #rgb_to_greyscale; +#X obj 36 260 # C.*conj; +#X obj 52 403 #fold max; +#X obj 36 365 #t; +#X obj 36 424 # >=; +#X obj 36 443 #moment; +#X obj 199 401 #out window; +#X obj 199 382 #clip; +#X obj 199 363 # + 128; +#X obj 36 298 #inner (2 f # 1 0) \, seed (f #); +#X text 249 294 this is the same as magnitude; +#X text 252 307 because imaginary = 0 here; +#X obj 36 61 #camera; +#X obj 296 467 fps; +#X obj 297 486 display; +#X obj 296 448 bang; +#X obj 331 232 # inv* (f # 1); +#X obj 328 151 loadbang; +#X msg 328 207 list f # 172800; +#X obj 36 227 # * (f #); +#X obj 180 228 # * (f #); +#X obj 52 384 #ravel; +#X msg 332 178 list f # 76800; +#X obj 27 119 #out window; +#X obj 35 483 # % (240 320); +#X obj 35 502 # - (120 160); +#X obj 35 464 # + (120 160); +#X floatatom 252 365 5 0 0 0 - - -; +#X obj 199 344 # >> 5; +#X obj 35 521 # +; +#X obj 60 521 t a; +#X msg 166 514 240 320; +#X obj 136 459 loadbang; +#X obj 89 80 s \$0-meuh; +#X obj 88 606 r \$0-meuh; +#X obj 6 42 t b b; +#X obj 6 647 #out window; +#X obj 35 540 #export_list; +#X obj 52 628 #store; +#X obj 35 559 t b a; +#X obj 272 558 display; +#X msg 74 559 put_at ( \$1 \$2 0 ); +#X obj 136 495 t b b; +#X obj 136 478 bng 15 250 50 0 empty empty empty 17 7 0 10 -260818 +-1 -1; +#X obj 6 23 metro 100; +#X msg 136 533 720 960 3 #; +#X obj 6 628 #store; +#X obj 36 80 t a a a; +#X msg 12 585 op avg; +#X connect 0 0 55 0; +#X connect 1 0 4 0; +#X connect 2 0 30 0; +#X connect 3 0 11 0; +#X connect 3 0 39 0; +#X connect 4 0 2 0; +#X connect 5 0 7 0; +#X connect 6 0 31 0; +#X connect 7 0 6 0; +#X connect 8 0 20 0; +#X connect 9 0 1 0; +#X connect 10 0 5 0; +#X connect 11 0 14 0; +#X connect 12 0 8 0; +#X connect 13 0 15 1; +#X connect 14 0 15 0; +#X connect 14 1 32 0; +#X connect 15 0 16 0; +#X connect 16 0 26 0; +#X connect 16 0 37 0; +#X connect 18 0 17 0; +#X connect 19 0 18 0; +#X connect 20 0 3 0; +#X connect 23 0 58 0; +#X connect 24 0 25 0; +#X connect 26 0 24 0; +#X connect 27 0 30 1; +#X connect 27 0 31 1; +#X connect 28 0 33 0; +#X connect 29 0 27 0; +#X connect 30 0 12 0; +#X connect 31 0 12 1; +#X connect 32 0 13 0; +#X connect 33 0 27 0; +#X connect 35 0 36 0; +#X connect 36 0 40 0; +#X connect 37 0 35 0; +#X connect 38 0 19 1; +#X connect 39 0 19 0; +#X connect 40 0 41 0; +#X connect 40 0 48 0; +#X connect 41 0 40 1; +#X connect 42 0 40 1; +#X connect 43 0 54 0; +#X connect 45 0 49 1; +#X connect 46 0 57 0; +#X connect 46 1 23 0; +#X connect 48 0 50 0; +#X connect 48 0 51 0; +#X connect 49 0 57 1; +#X connect 50 0 49 0; +#X connect 50 1 52 0; +#X connect 52 0 57 1; +#X connect 53 0 56 0; +#X connect 53 1 42 0; +#X connect 54 0 53 0; +#X connect 55 0 46 0; +#X connect 56 0 57 1; +#X connect 57 0 47 0; +#X connect 58 0 34 0; +#X connect 58 0 10 0; +#X connect 58 1 9 0; +#X connect 58 2 44 0; +#X connect 59 0 57 0; diff --git a/externals/gridflow/examples/videodev_effects.pd b/externals/gridflow/examples/videodev_effects.pd new file mode 100644 index 00000000..22a9d443 --- /dev/null +++ b/externals/gridflow/examples/videodev_effects.pd @@ -0,0 +1,264 @@ +#N canvas 623 0 597 657 10; +#X obj 80 486 tgl 15 0 empty empty crosshair_of_centroid 20 7 0 10 +-241291 -1 -1 1 1; +#X obj 71 261 # max 0; +#X obj 27 349 shunt 2; +#X obj 71 131 #downscale_by 2 smoothly; +#X obj 27 484 shunt 2; +#X obj 81 351 tgl 15 0 empty empty gamma_correction 18 7 0 10 -241291 +-1 -1 0 1; +#X obj 80 176 tgl 15 0 empty empty frame_difference 18 7 0 10 -241291 +-1 -1 0 1; +#X obj 27 47 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 27 112 shunt 2; +#X obj 27 541 #out window; +#X obj 80 113 tgl 15 0 empty empty smaller_picture 18 7 0 10 -241291 +-1 -1 0 1; +#X obj 27 579 print; +#X obj 240 382 #for 0 256 1; +#X floatatom 240 347 5 0 0 0 - - -; +#X obj 99 243 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -260818 +-1 -1 0 1; +#X obj 27 295 shunt 2; +#X obj 173 441 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 27 421 shunt 2; +#X obj 27 560 fps detailed; +#X obj 240 309 loadbang; +#X obj 80 421 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X obj 71 393 #store; +#N canvas 81 205 480 500 sort 0; +#X obj 180 257 # * 255; +#X obj 10 345 # >> 0; +#X obj 113 472 outlet; +#X obj 226 42 inlet; +#X obj 225 191 # / 2; +#X obj 10 325 # +; +#X obj 44 9 inlet; +#X obj 242 150 # - 1; +#X obj 131 422 # +; +#X obj 180 238 # < 176; +#X obj 10 369 #store; +#X obj 91 28 #grade; +#X obj 131 444 # >> 1; +#X obj 283 266 # / 351; +#X obj 91 47 shunt 2; +#X obj 135 66 #grade; +#X obj 144 119 inlet; +#X text 271 128 extract width; +#X obj 10 266 #finished; +#X obj 283 247 # * 255; +#X obj 91 9 #fold +; +#X obj 91 119 shunt 4; +#X obj 117 399 shunt 4; +#X msg 235 126 \$2; +#X obj 211 65 #dim; +#X obj 44 37 t a a; +#X msg 186 127 \$1 \$2; +#X obj 211 85 #export_list; +#X obj 76 146 t a a; +#X obj 10 285 #for (0 0) (288 352) (1 1); +#X obj 106 176 #outer & (0 -1); +#X obj 292 300 #outer ignore (3 #); +#X obj 10 305 # * (1 0); +#X connect 0 0 31 0; +#X connect 1 0 10 0; +#X connect 3 0 14 1; +#X connect 4 0 9 1; +#X connect 5 0 1 0; +#X connect 6 0 25 0; +#X connect 7 0 13 1; +#X connect 8 0 12 0; +#X connect 9 0 0 0; +#X connect 10 0 22 0; +#X connect 11 0 14 0; +#X connect 12 0 2 0; +#X connect 13 0 31 0; +#X connect 14 0 21 0; +#X connect 14 1 15 0; +#X connect 15 0 21 0; +#X connect 16 0 21 1; +#X connect 16 0 22 1; +#X connect 18 0 29 0; +#X connect 19 0 13 0; +#X connect 20 0 11 0; +#X connect 21 0 28 0; +#X connect 21 1 28 0; +#X connect 21 2 9 0; +#X connect 21 3 19 0; +#X connect 22 0 2 0; +#X connect 22 1 8 0; +#X connect 23 0 4 0; +#X connect 23 0 7 0; +#X connect 24 0 27 0; +#X connect 25 0 20 0; +#X connect 25 1 10 1; +#X connect 25 1 24 0; +#X connect 25 1 8 1; +#X connect 26 0 29 1; +#X connect 27 0 23 0; +#X connect 27 0 26 0; +#X connect 28 0 18 0; +#X connect 28 1 30 0; +#X connect 29 0 32 0; +#X connect 30 0 5 1; +#X connect 31 0 2 0; +#X connect 32 0 5 0; +#X restore 71 440 pd sort me out; +#X obj 240 401 # gamma; +#X obj 71 242 # -; +#X obj 80 296 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#N canvas 372 198 399 273 motion 0; +#X obj 15 113 # << 2; +#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 obj 15 162 # abs-; +#X connect 0 0 9 0; +#X connect 1 0 8 0; +#X connect 2 0 0 0; +#X connect 3 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 3 0; +#X connect 8 0 12 0; +#X connect 8 1 2 0; +#X connect 9 0 13 0; +#X connect 9 1 7 0; +#X connect 10 0 9 1; +#X connect 11 0 12 1; +#X connect 12 0 2 1; +#X connect 13 0 5 0; +#X restore 71 223 pd motion detection; +#X obj 117 423 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X text 125 261 noise reduction (on find-edges only); +#X obj 27 64 metro 33.3667; +#X obj 27 175 shunt 2; +#X obj 135 191 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1 +-1 0; +#X floatatom 184 577 5 0 0 0 - - -; +#X floatatom 228 577 5 0 0 0 - - -; +#N canvas 547 147 477 267 crosshair 0; +#X obj 12 224 outlet; +#X obj 12 9 inlet; +#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 175 37 #fade 8; +#X obj 175 18 inlet; +#X obj 54 76 #finished; +#X obj 95 169 # + (120 160); +#X obj 12 205 #draw_polygon + (0 170 0); +#X obj 175 56 t a a; +#X connect 1 0 8 0; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 4 0 9 0; +#X connect 5 0 4 0; +#X connect 6 0 3 0; +#X connect 7 0 8 2; +#X connect 8 0 0 0; +#X connect 9 0 6 0; +#X connect 9 1 7 1; +#X restore 71 522 pd crosshair; +#X obj 27 522 t a; +#X text 151 205 emboss; +#X text 152 191 hilite; +#X obj 199 191 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -1 +-1 1; +#X text 218 191 motion; +#X text 219 205 presence; +#X obj -13 625 cnv 15 620 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X obj -13 2 cnv 15 620 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 0 15 Copyright 2002 Mathieu Bouchard; +#X text 0 1 videodev_effects.pd; +#X obj 71 371 #outer ignore (0); +#X obj 184 539 #moment; +#X obj 240 363 t b a; +#X obj 184 520 #rgb_to_greyscale; +#X obj 71 503 #t; +#X obj 71 314 #fade (16 4 1); +#X obj 27 83 #camera 0; +#X obj 184 558 #unpack; +#X text -5 633 GridFlow 0.9.4; +#X text 236 290 make gamma table; +#X obj 240 420 #to_list; +#X msg 240 328 512; +#N canvas 0 0 450 300 (subpatch) 0; +#X array gamma 256 float 2; +#X coords 0 255 255 0 128 128 1; +#X restore 400 337 graph; +#X text 97 499 (use with "hilite" mode above); +#X obj 240 439 list prepend 0; +#X obj 240 458 s gamma; +#X text 406 467 only for viewing; +#X text 408 482 (not necessary); +#X connect 0 0 4 1; +#X connect 1 0 15 0; +#X connect 2 0 17 0; +#X connect 2 1 45 0; +#X connect 3 0 30 0; +#X connect 4 0 35 0; +#X connect 4 1 49 0; +#X connect 5 0 2 1; +#X connect 6 0 30 1; +#X connect 7 0 29 0; +#X connect 8 0 30 0; +#X connect 8 1 3 0; +#X connect 9 0 18 0; +#X connect 10 0 8 1; +#X connect 12 0 23 0; +#X connect 13 0 47 0; +#X connect 14 0 24 1; +#X connect 15 0 2 0; +#X connect 15 1 50 0; +#X connect 16 0 22 2; +#X connect 17 0 4 0; +#X connect 17 1 22 0; +#X connect 18 0 11 0; +#X connect 19 0 56 0; +#X connect 20 0 17 1; +#X connect 21 0 17 0; +#X connect 22 0 4 0; +#X connect 23 0 21 1; +#X connect 23 0 55 0; +#X connect 24 0 1 0; +#X connect 25 0 15 1; +#X connect 26 0 24 0; +#X connect 27 0 22 1; +#X connect 29 0 51 0; +#X connect 30 0 15 0; +#X connect 30 1 26 0; +#X connect 31 0 26 1; +#X connect 34 0 35 0; +#X connect 35 0 9 0; +#X connect 38 0 26 2; +#X connect 45 0 21 0; +#X connect 46 0 34 1; +#X connect 46 0 52 0; +#X connect 47 0 12 0; +#X connect 47 1 23 1; +#X connect 48 0 46 0; +#X connect 49 0 34 0; +#X connect 49 1 48 0; +#X connect 50 0 2 0; +#X connect 51 0 8 0; +#X connect 52 0 32 0; +#X connect 52 1 33 0; +#X connect 55 0 59 0; +#X connect 56 0 13 0; +#X connect 59 0 60 0; diff --git a/externals/gridflow/examples/wave_1d.pd b/externals/gridflow/examples/wave_1d.pd new file mode 100644 index 00000000..b9cafd74 --- /dev/null +++ b/externals/gridflow/examples/wave_1d.pd @@ -0,0 +1,173 @@ +#N canvas 560 15 621 659 10; +#X obj 13 13 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 1 1 +; +#X obj 181 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 30 128 t a a; +#X obj 17 250 shunt 2; +#X obj 64 251 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 45 620 fps; +#X floatatom 71 621 5 0 0 0 - - -; +#X obj 17 269 t a b; +#X obj 7 368 fps; +#X floatatom 7 387 5 0 0 0 - - -; +#X obj 45 419 spigot; +#X obj 76 381 f; +#X obj 109 378 + 1; +#X obj 76 400 == 0; +#X obj 30 30 t b; +#X obj 174 9 loadbang; +#X obj 105 487 loadbang; +#X obj 461 449 loadbang; +#X obj 244 595 unpack 0 0; +#X obj 244 614 inv+ 64; +#X msg 308 595 0 \$1; +#X obj 480 494 t b l; +#X obj 244 633 << 12; +#X obj 17 186 t a a; +#N canvas 627 255 450 300 synth 0; +#X obj 17 16 inlet; +#X obj 17 102 s foo; +#X obj 20 125 tabreceive~ foo; +#X obj 20 259 outlet~; +#X obj 67 238 env~; +#X floatatom 67 257 5 0 0 0 - - -; +#X obj 99 27 loadbang; +#X obj 76 25 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 334 58 table foo 2048; +#X obj 21 144 rifft~; +#X obj 20 201 +~; +#X obj 21 163 expr~ tanh($v1*0.0001); +#X obj 20 182 lop~ 2000; +#X obj 339 24 block~ 2048; +#X obj 17 36 # * 2048; +#X obj 18 58 # /; +#X obj 86 49 #for 1 257 1; +#X obj 17 80 #export_list; +#X connect 0 0 14 0; +#X connect 2 0 9 0; +#X connect 4 0 5 0; +#X connect 6 0 16 0; +#X connect 7 0 16 0; +#X connect 9 0 11 0; +#X connect 10 0 4 0; +#X connect 10 0 3 0; +#X connect 11 0 12 0; +#X connect 12 0 10 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 1 0; +#X restore 136 437 pd synth; +#X obj 129 459 dac~; +#X text 498 6 1-D wave generator; +#X obj 174 47 #for -128 128 1; +#X obj 174 66 # abs-; +#X obj 174 85 # < 127; +#X obj 159 107 # * 1e+07; +#X obj 159 127 # * -1e+07; +#X obj 30 85 # min; +#X obj 30 104 # max; +#X obj 131 253 #redim (1); +#X obj 461 518 # + (0 6); +#X obj 65 272 #draw_polygon put (1 #); +#X obj 45 448 # >> 12; +#X obj 45 467 #redim (256); +#X obj 45 506 #outer <; +#X obj 105 506 #for 64 -64 -1; +#X obj 45 525 #transpose; +#X obj 45 544 #outer * (3 # 255); +#X obj 45 601 #out window; +#X obj 240 533 #mouse \, ...; +#X obj 244 576 #export_list; +#X obj 30 66 #store (1 256 1 # 0); +#X obj 17 147 # -; +#X obj 45 563 #fade (16 4 1); +#X obj 17 226 # -; +#X obj 109 397 % 2; +#X obj 30 11 metro 20; +#X msg 461 468 4 2 # 0 0 0 4 1 4 1 0; +#X obj 42 205 # >> 8; +#X text 54 186 damping; +#X text 249 147 wave equation; +#X text 88 419 framerate-divider; +#X obj 45 582 #scale_by 2; +#X obj 244 557 # / 2; +#X obj 55 148 #convolve (1 3 # 1 0 1) \, seed 1; +#X obj 37 321 #convolve (1 3 # 1 2 1); +#X obj 37 340 # >> 2; +#X text 180 321 smoothing; +#X text 224 120 cap at plus or minus ten million; +#X text 389 19 Copyright 2004 \, 2007 Mathieu Bouchard; +#X connect 0 0 51 0; +#X connect 1 0 27 0; +#X connect 2 0 47 1; +#X connect 2 1 59 0; +#X connect 3 0 7 0; +#X connect 3 1 36 0; +#X connect 4 0 3 1; +#X connect 5 0 6 0; +#X connect 7 0 46 1; +#X connect 7 0 60 0; +#X connect 7 1 8 0; +#X connect 7 1 11 0; +#X connect 8 0 9 0; +#X connect 10 0 37 0; +#X connect 11 0 12 0; +#X connect 11 0 13 0; +#X connect 12 0 50 0; +#X connect 13 0 10 1; +#X connect 14 0 46 0; +#X connect 15 0 27 0; +#X connect 16 0 40 0; +#X connect 17 0 52 0; +#X connect 18 0 19 0; +#X connect 18 1 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 52 0; +#X connect 21 1 35 1; +#X connect 22 0 34 0; +#X connect 23 0 49 0; +#X connect 23 1 53 0; +#X connect 24 0 25 0; +#X connect 24 0 25 1; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 29 0 31 0; +#X connect 30 0 32 1; +#X connect 31 0 33 1; +#X connect 32 0 33 0; +#X connect 33 0 2 0; +#X connect 34 0 36 1; +#X connect 35 0 36 2; +#X connect 36 0 7 0; +#X connect 37 0 38 0; +#X connect 38 0 24 0; +#X connect 38 0 39 0; +#X connect 39 0 41 0; +#X connect 40 0 39 1; +#X connect 41 0 42 0; +#X connect 42 0 48 0; +#X connect 43 0 5 0; +#X connect 43 0 44 0; +#X connect 44 0 58 0; +#X connect 44 1 58 0; +#X connect 44 4 4 0; +#X connect 45 0 18 0; +#X connect 46 0 32 0; +#X connect 47 0 23 0; +#X connect 48 0 57 0; +#X connect 49 0 3 0; +#X connect 50 0 11 1; +#X connect 51 0 14 0; +#X connect 52 0 35 0; +#X connect 53 0 49 1; +#X connect 57 0 43 0; +#X connect 58 0 45 0; +#X connect 59 0 47 0; +#X connect 60 0 61 0; +#X connect 61 0 10 0; diff --git a/externals/gridflow/examples/waves.pd b/externals/gridflow/examples/waves.pd new file mode 100644 index 00000000..75e108e5 --- /dev/null +++ b/externals/gridflow/examples/waves.pd @@ -0,0 +1,429 @@ +#N canvas 371 0 848 642 10; +#X obj 107 47 loadbang; +#X obj 107 85 t a a; +#X obj 266 412 print; +#X obj 10 49 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; +#X obj 260 453 # / 2; +#X msg 107 104 \$1 \$2 1 # 0; +#N canvas 137 251 392 303 finger 0; +#X obj 149 39 #redim ( 4 2 ); +#X obj 71 16 inlet; +#X obj 149 20 inlet; +#X obj 71 217 outlet; +#X obj 149 158 # +; +#X obj 177 157 # *; +#X msg 177 137 0 0 0 1 1 1 1 0; +#X obj 193 79 inlet size; +#X text 291 137 square or rect; +#X obj 177 112 #finished; +#X obj 70 195 #draw_polygon put (4000); +#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 234 570 pd finger; +#X obj 141 85 s size; +#X obj 260 353 #scale_by 2; +#X obj 10 243 #store; +#N canvas 243 147 463 307 wave 0; +#X obj 26 20 inlet; +#X obj 23 293 outlet; +#X text 65 205 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 26 39 t a a; +#X obj 207 147 outlet blah; +#X obj 207 125 inlet blah; +#X obj 23 205 # -; +#X obj 23 225 # *>>8 252; +#X obj 20 250 # min 30000; +#X obj 20 270 # max -30000; +#X obj 56 82 #convolve (3 3 # 1 4 1 4 12 4) \, seed 8; +#X obj 56 101 # >> 4; +#X connect 0 0 5 0; +#X connect 5 0 8 1; +#X connect 5 1 12 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 1 0; +#X connect 12 0 13 0; +#X connect 13 0 6 0; +#X restore 10 281 pd wave equation; +#X obj 189 570 t a; +#X obj 107 123 t a; +#X obj 36 85 s metro; +#X text 491 65 (Best complemented with a touchscreen); +#X obj 355 209 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -258699 +-1 0; +#X text 373 224 height greys; +#X obj 313 98 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -241291 -258699 +-1 0; +#X text 331 97 plain; +#X text 331 113 line-art; +#X text 330 46 smooth; +#X obj 313 46 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -258699 +-1 0; +#X text 331 60 raw; +#X obj 442 418 hradio 18 1 1 4 empty empty _1__2__3__4_ 0 -4 0 10 -241291 +-258699 -1 0; +#X text 440 397 scale by...; +#X obj 442 438 + 1; +#X obj 573 105 loadbang; +#X obj 573 276 spigot; +#X obj 620 277 tgl 15 0 empty empty empty 18 8 0 8 -241291 -1 -62784 +0 1; +#X obj 573 256 r metro; +#N canvas 433 107 365 432 line-art 0; +#X obj 32 123 # << 8; +#X obj 32 37 inlet; +#X obj 34 256 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 172 # >> 2; +#X obj 31 154 #convolve (3 1 # 1 2 1); +#X obj 33 193 #convolve (1 3 # 1 2 1); +#X obj 35 215 # >> 2; +#X obj 32 60 # / 5; +#X text 146 85 < -5 becomes -256; +#X text 146 100 > +5 becomes +256; +#X connect 0 0 8 0; +#X connect 1 0 11 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 2 0; +#X connect 11 0 5 0; +#X restore 282 187 pd line-art; +#X text 628 129 Background colour; +#X text 637 277 enable video; +#X text 371 209 four-colour emboss; +#X obj 345 492 tgl 15 1 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 298 472 r metro; +#X text 362 491 rain; +#X obj 260 99 # >> 2; +#X text 388 36 Originally made for Alexandre Castonguay's "DIGITALE" +; +#X text 505 50 But suitable for a lot more uses :-); +#X msg 573 124 3 # 128; +#X obj 573 143 #color; +#X obj 260 59 shunt 2; +#X obj 303 559 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262131 -1 -1 1 256; +#X obj 303 573 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262131 -1 -1 1 256; +#X obj 477 291 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -241291 -258699 +-1 0; +#X text 495 290 plain; +#X text 495 307 refraction; +#X obj 260 296 t a; +#N canvas 203 363 443 300 heightmap2indexmap 0; +#X obj 48 239 outlet; +#X obj 9 8 inlet; +#X obj 48 143 # +; +#X obj 100 9 #dim; +#X obj 132 9 #export_list; +#X obj 48 8 t a a; +#X obj 48 48 t a a; +#X msg 132 28 \$1 \$2; +#X obj 48 220 # +; +#X obj 90 200 loadbang; +#X obj 73 200 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 78 67 #convolve (1 2 #) \, op ignore \, fold inv+; +#X obj 78 86 #outer & (-1 0); +#X obj 48 105 #convolve (2 1 #) \, op ignore \, fold inv+; +#X obj 48 124 #outer & (0 -1); +#X obj 73 220 #for (0 0) (240 320) (1 1); +#X obj 48 28 #redim (); +#X obj 48 181 # >> 3; +#X obj 48 162 # + 4; +#X connect 1 0 5 0; +#X connect 2 0 18 0; +#X connect 3 0 4 0; +#X connect 4 0 7 0; +#X connect 5 0 16 0; +#X connect 5 1 3 0; +#X connect 6 0 13 0; +#X connect 6 1 11 0; +#X connect 7 0 16 1; +#X connect 8 0 0 0; +#X connect 9 0 15 0; +#X connect 10 0 15 0; +#X connect 11 0 12 0; +#X connect 12 0 2 1; +#X connect 13 0 14 0; +#X connect 14 0 2 0; +#X connect 15 0 8 1; +#X connect 16 0 6 0; +#X connect 17 0 8 0; +#X connect 18 0 17 0; +#X restore 397 345 pd heightmap2indexmap; +#X obj -8 82 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 +; +#X obj 397 326 spigot; +#X text 373 239 no reflection; +#X obj 260 187 t a; +#X obj 189 551 shunt 2; +#X obj 226 521 shunt 2; +#X obj 10 262 shunt 2; +#X text 80 263 freeze time; +#X obj 63 263 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 +; +#X obj 132 123 r feedback; +#X obj 189 589 s feedback; +#X obj 10 303 t a; +#X obj -13 5 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj -15 611 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 +0; +#X text -7 619 GridFlow 0.8.0; +#X text -7 619 GridFlow 0.8.0; +#X text 0 4 waves.pd; +#X obj 555 276 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 573 315 spigot; +#X obj 620 316 tgl 15 0 empty empty empty 18 8 0 8 -241291 -1 -62784 +0 1; +#X text 637 315 test camera output; +#X obj 10 85 t b; +#X obj 298 491 spigot; +#X obj 620 334 sel 0 1; +#X msg 642 353 open window; +#X obj 573 334 #out; +#X msg 620 372 close; +#X obj 266 393 fps detailed \, period 2; +#X obj 574 226 #in; +#X obj 344 510 r size; +#X obj 298 510 #store; +#X obj 298 529 # rand; +#X obj 260 372 #out window; +#X obj 260 334 #clip; +#X obj 260 78 #convolve (2 2 #) \, op ignore; +#X obj 303 592 #pack 2; +#X obj 260 431 #mouse \, ...; +#N canvas 123 224 450 366 doodle 0; +#X obj 26 17 inlet wave; +#X obj 23 258 outlet wave; +#X obj 171 29 inlet tog; +#X obj 306 36 inlet pos; +#X obj 139 9 r metro; +#X obj 138 57 spigot; +#X obj 231 202 # +; +#X obj 137 83 t b b; +#X msg 219 123 4 2 # 0 0 0 1 1 1 1 0; +#X obj 224 158 # * 8; +#X obj 127 334 outlet rgb; +#X obj 347 78 inlet mode; +#X obj 347 221 #redim (1); +#X obj 130 238 #draw_polygon put (0); +#X obj 24 69 # *>>8; +#X obj 129 290 #inner (1 3 # 0 1 1); +#X obj 141 267 # inv+ 256; +#X obj 364 191 # inv+ 256; +#X obj 46 107 loadbang; +#X obj 347 159 # * 256; +#X obj 48 146 #store (240 320 1 # 256); +#X connect 0 0 14 0; +#X connect 2 0 5 1; +#X connect 3 0 6 1; +#X connect 4 0 5 0; +#X connect 5 0 7 0; +#X connect 6 0 13 2; +#X connect 7 0 20 0; +#X connect 7 1 8 0; +#X connect 8 0 9 0; +#X connect 9 0 6 0; +#X connect 11 0 19 0; +#X connect 12 0 13 1; +#X connect 13 0 16 0; +#X connect 13 0 20 1; +#X connect 14 0 1 0; +#X connect 15 0 10 0; +#X connect 16 0 15 0; +#X connect 17 0 12 0; +#X connect 18 0 20 0; +#X connect 19 0 12 0; +#X connect 20 0 13 0; +#X connect 20 0 14 1; +#X restore 130 282 pd doodle; +#X obj 199 282 # +; +#X msg 574 207 load g001.jpg; +#X obj 90 178 route position; +#X msg 90 197 \$3; +#X obj 90 216 & 1; +#X msg 107 66 240 320; +#X obj 573 296 #camera; +#X obj 260 118 shunt 3; +#X obj 304 147 # ** 3; +#X text 331 127 cubit; +#X obj 304 166 # >> 10; +#X obj 578 438 #checkers; +#X obj 578 418 #for (0 0) (240 320) (1 1); +#X obj 421 296 t a; +#X obj 576 398 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 0 18 Copyright 2003 \, 2004 \, 2005 \, 2008 Mathieu Bouchard +; +#X text 466 79 Also contains several effects not made for Digitale +; +#N canvas 0 0 450 379 light_mode 0; +#X obj 16 20 inlet; +#X obj 244 25 inlet; +#X obj 38 104 #greyscale_to_rgb; +#X obj 38 80 # >> 1; +#X obj 16 50 shunt 3; +#X obj 86 80 # put 0; +#X text 51 205 produce red/cyan from horiz differences; +#X obj 16 317 # +; +#X obj 68 150 #dim; +#X obj 100 150 #export_list; +#X obj 16 149 t a a; +#X obj 16 189 t a a; +#X msg 101 170 \$1 \$2; +#X obj 16 169 #redim (); +#X obj 46 222 #convolve (1 2 #) \, op ignore \, fold inv+; +#X obj 16 279 #convolve (2 1 #) \, op ignore \, fold inv+; +#X obj 46 241 #outer & (-1 0 0); +#X obj 16 298 #outer & (-1 -1 0); +#X text 24 263 produce yellow/blue from vertical differences; +#X obj 16 354 outlet; +#X connect 0 0 4 0; +#X connect 1 0 4 1; +#X connect 2 0 19 0; +#X connect 3 0 2 0; +#X connect 4 0 10 0; +#X connect 4 1 3 0; +#X connect 4 2 5 0; +#X connect 5 0 2 0; +#X connect 7 0 19 0; +#X connect 8 0 9 0; +#X connect 9 0 12 0; +#X connect 10 0 13 0; +#X connect 10 1 8 0; +#X connect 11 0 15 0; +#X connect 11 1 14 0; +#X connect 12 0 13 1; +#X connect 13 0 11 0; +#X connect 14 0 16 0; +#X connect 15 0 17 0; +#X connect 16 0 7 1; +#X connect 17 0 7 0; +#X restore 260 226 pd light_mode; +#X obj 397 364 #store 0; +#X obj 260 315 # +; +#X obj 10 66 metro 33.3667; +#X connect 0 0 93 0; +#X connect 1 0 5 0; +#X connect 1 1 7 0; +#X connect 3 0 108 0; +#X connect 4 0 87 2; +#X connect 4 0 6 1; +#X connect 5 0 12 0; +#X connect 6 0 11 0; +#X connect 8 0 82 0; +#X connect 9 0 56 0; +#X connect 10 0 61 0; +#X connect 10 1 87 0; +#X connect 11 0 60 0; +#X connect 12 0 9 1; +#X connect 12 0 42 0; +#X connect 15 0 105 1; +#X connect 17 0 95 1; +#X connect 21 0 42 1; +#X connect 23 0 25 0; +#X connect 25 0 8 1; +#X connect 25 0 4 1; +#X connect 26 0 40 0; +#X connect 27 0 94 0; +#X connect 28 0 27 1; +#X connect 29 0 27 0; +#X connect 30 0 53 0; +#X connect 34 0 54 1; +#X connect 34 0 55 1; +#X connect 34 0 72 1; +#X connect 35 0 72 0; +#X connect 37 0 95 0; +#X connect 40 0 41 0; +#X connect 41 0 101 0; +#X connect 42 0 84 0; +#X connect 42 1 95 0; +#X connect 43 0 85 0; +#X connect 44 0 85 1; +#X connect 45 0 51 1; +#X connect 48 0 107 0; +#X connect 49 0 106 0; +#X connect 50 0 71 0; +#X connect 51 0 49 0; +#X connect 53 0 51 0; +#X connect 53 0 105 0; +#X connect 54 0 11 0; +#X connect 54 1 6 0; +#X connect 55 0 54 1; +#X connect 56 0 10 0; +#X connect 56 1 61 0; +#X connect 58 0 56 1; +#X connect 59 0 12 0; +#X connect 61 0 54 0; +#X connect 67 0 94 0; +#X connect 68 0 75 0; +#X connect 69 0 68 1; +#X connect 69 0 73 0; +#X connect 71 0 13 0; +#X connect 71 0 9 0; +#X connect 72 0 80 0; +#X connect 73 0 76 0; +#X connect 73 1 74 0; +#X connect 74 0 75 0; +#X connect 76 0 75 0; +#X connect 77 0 2 0; +#X connect 78 0 101 0; +#X connect 79 0 80 1; +#X connect 80 0 81 0; +#X connect 81 0 6 1; +#X connect 82 0 77 0; +#X connect 82 0 86 0; +#X connect 82 0 90 0; +#X connect 83 0 8 0; +#X connect 84 0 37 0; +#X connect 85 0 6 2; +#X connect 86 0 4 0; +#X connect 86 1 4 0; +#X connect 86 4 55 0; +#X connect 86 6 87 1; +#X connect 87 0 10 1; +#X connect 87 1 88 1; +#X connect 88 0 83 0; +#X connect 89 0 78 0; +#X connect 90 0 91 0; +#X connect 91 0 92 0; +#X connect 92 0 87 3; +#X connect 93 0 1 0; +#X connect 94 0 68 0; +#X connect 94 0 101 0; +#X connect 95 0 53 0; +#X connect 95 1 30 0; +#X connect 95 2 96 0; +#X connect 96 0 98 0; +#X connect 98 0 53 0; +#X connect 99 0 101 0; +#X connect 100 0 99 0; +#X connect 101 0 106 1; +#X connect 101 0 107 1; +#X connect 102 0 100 0; +#X connect 105 0 48 0; +#X connect 106 0 107 1; +#X connect 107 0 88 0; +#X connect 108 0 71 0; diff --git a/externals/gridflow/examples/wobble.pd b/externals/gridflow/examples/wobble.pd new file mode 100644 index 00000000..4d9e352d --- /dev/null +++ b/externals/gridflow/examples/wobble.pd @@ -0,0 +1,56 @@ +#N canvas 735 285 450 338 10; +#X obj 31 -32 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 31 226 #out window; +#X obj 212 97 #make_cross; +#X obj 31 15 t b b; +#X obj 212 -17 # << 8; +#X obj 212 78 # >> 8; +#X obj 236 59 t a; +#X obj 212 59 # +; +#X obj 212 40 # +; +#X obj 212 2 # -; +#X obj 212 21 # >> 3; +#X obj 212 -36 #store; +#X obj 31 270 s p0; +#X obj 252 -36 r p0; +#X obj 31 107 #store (240 320 3 #); +#X obj 31 245 #mouse .....; +#X obj 31 164 # >> 4; +#X obj 31 145 #convolve (3 3 # 1 2 1 2 3 2); +#X obj 31 -13 metro 40; +#X obj 236 40 # *>>8 250; +#X text 139 196 click and drag in the window to trigger animations +; +#X obj 31 188 #fade (16 4 1); +#X obj 31 207 #clip; +#X obj 31 126 #draw_polygon + (500 500 500); +#X text 168 262 Copyright 2007 Mathieu Bouchard; +#X connect 0 0 18 0; +#X connect 1 0 15 0; +#X connect 2 0 23 2; +#X connect 3 0 14 0; +#X connect 3 1 11 0; +#X connect 4 0 9 0; +#X connect 5 0 2 0; +#X connect 6 0 7 1; +#X connect 7 0 6 0; +#X connect 7 0 5 0; +#X connect 7 0 9 1; +#X connect 8 0 7 0; +#X connect 8 0 19 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X connect 11 0 4 0; +#X connect 13 0 11 1; +#X connect 14 0 23 0; +#X connect 15 0 12 0; +#X connect 15 1 12 0; +#X connect 16 0 14 1; +#X connect 16 0 21 0; +#X connect 17 0 16 0; +#X connect 18 0 3 0; +#X connect 19 0 8 1; +#X connect 21 0 22 0; +#X connect 22 0 1 0; +#X connect 23 0 17 0; |