diff options
Diffstat (limited to 'externals/gridflow/pd_help')
40 files changed, 1492 insertions, 0 deletions
diff --git a/externals/gridflow/pd_help/@!.pd b/externals/gridflow/pd_help/@!.pd new file mode 100644 index 00000000..c52fe904 --- /dev/null +++ b/externals/gridflow/pd_help/@!.pd @@ -0,0 +1,65 @@ +#N canvas 301 131 593 440 10; +#X obj 18 145 @! abs; +#X obj 18 178 @export; +#X obj 133 177 @export; +#X obj 133 144 @! rand; +#X obj 249 178 @export; +#X obj 249 145 @! sqrt; +#X floatatom 18 94 5 0 0 0 - - -; +#X obj 364 144 @! sq; +#X obj 364 178 @export; +#X text 19 325 inlet: grid | outlet: grid; +#X text 15 241 absolute value; +#X text 363 241 A * A; +#X text 14 14 the one-input operators: @! abs \, @! rand \, @! sqrt +\, @! sq; +#X obj 18 111 @import ( 1 ); +#X floatatom 133 94 5 0 0 0 - - -; +#X obj 133 111 @import ( 1 ); +#X floatatom 249 95 5 0 0 0 - - -; +#X obj 249 112 @import ( 1 ); +#X floatatom 364 95 5 0 0 0 - - -; +#X obj 364 112 @import ( 1 ); +#X text 132 242 random non-; +#X text 133 257 negative number; +#X text 133 273 below A; +#X text 246 325 A refers to the left inlet; +#X text 250 257 of A rounded; +#X text 249 242 sqare root; +#X text 250 273 downwards; +#X obj 115 94 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 18 197 route int; +#X obj 133 196 route int; +#X obj 249 197 route int; +#X obj 364 197 route int; +#X floatatom 18 217 5 0 0 0 - - -; +#X floatatom 133 216 5 0 0 0 - - -; +#X floatatom 249 217 5 0 0 0 - - -; +#X floatatom 364 217 5 0 0 0 - - -; +#X obj 94 376 @ +; +#X text 19 371 see also:; +#X text 514 13 gridflow; +#X text 38 37 computes one of the four basic one-input operators; +#X text 36 51 on each value of a grid; +#X connect 0 0 1 0; +#X connect 1 0 28 0; +#X connect 2 0 29 0; +#X connect 3 0 2 0; +#X connect 4 0 30 0; +#X connect 5 0 4 0; +#X connect 6 0 13 0; +#X connect 7 0 8 0; +#X connect 8 0 31 0; +#X connect 13 0 0 0; +#X connect 14 0 15 0; +#X connect 15 0 3 0; +#X connect 16 0 17 0; +#X connect 17 0 5 0; +#X connect 18 0 19 0; +#X connect 19 0 7 0; +#X connect 27 0 14 0; +#X connect 28 0 32 0; +#X connect 29 0 33 0; +#X connect 30 0 34 0; +#X connect 31 0 35 0; diff --git a/externals/gridflow/pd_help/@.pd b/externals/gridflow/pd_help/@.pd new file mode 100644 index 00000000..8c891d2d --- /dev/null +++ b/externals/gridflow/pd_help/@.pd @@ -0,0 +1,115 @@ +#N canvas 662 216 748 501 10; +#X obj 19 157 @ +; +#X obj 210 158 @ -; +#X text 50 161 A + B; +#X text 241 162 A - B; +#X obj 402 158 @ inv+; +#X text 458 161 B - A; +#X obj 19 273 @ *; +#X text 50 276 A * B; +#X text 240 272 A / B; +#X text 240 283 rounded towards zero; +#X obj 210 274 @ /; +#X obj 402 272 @ inv*; +#X text 455 279 rounded towards zero; +#X text 457 269 B / A; +#X obj 20 390 @ %; +#X obj 211 391 @ swap%; +#X obj 403 392 @ rem; +#X text 50 393 A % B \, modulo; +#X text 270 395 B % A \, modulo; +#X text 452 394 A % B \, remainder; +#X floatatom 509 52 5 0 0 0 - - -; +#X obj 509 76 @import ( 1 ); +#X floatatom 621 52 5 0 0 0 - - -; +#X obj 621 76 @import ( 1 ); +#X obj 19 130 r l; +#X obj 44 130 r r; +#X obj 210 131 r l; +#X obj 235 131 r r; +#X obj 402 131 r l; +#X obj 427 131 r r; +#X obj 19 246 r l; +#X obj 44 246 r r; +#X obj 210 247 r l; +#X obj 235 247 r r; +#X obj 402 244 r l; +#X obj 427 244 r r; +#X obj 20 361 r l; +#X obj 45 361 r r; +#X obj 211 362 r l; +#X obj 236 362 r r; +#X obj 403 363 r l; +#X obj 428 363 r r; +#X obj 509 96 s l; +#X obj 621 97 s r; +#X floatatom 19 204 5 0 0 0 - - -; +#X obj 19 185 @export_list; +#X floatatom 210 204 5 0 0 0 - - -; +#X obj 210 185 @export_list; +#X floatatom 402 204 5 0 0 0 - - -; +#X obj 402 185 @export_list; +#X text 14 14 the two-input operators: *whoa \, there's a lot of them* +; +#X floatatom 19 320 5 0 0 0 - - -; +#X obj 19 301 @export_list; +#X floatatom 210 320 5 0 0 0 - - -; +#X obj 210 301 @export_list; +#X floatatom 402 320 5 0 0 0 - - -; +#X obj 402 301 @export_list; +#X floatatom 20 440 5 0 0 0 - - -; +#X obj 20 421 @export_list; +#X floatatom 211 440 5 0 0 0 - - -; +#X obj 211 421 @export_list; +#X floatatom 403 440 5 0 0 0 - - -; +#X obj 403 421 @export_list; +#X text 18 472 see also:; +#X obj 99 476 @! abs; +#X text 684 13 gridflow; +#X text 14 80 angles are in hundredth of degrees \, so a full circle +(two pi radians) is 36000 you can convert from radians to our angles +by multiplying by 18000/pi.; +#X text 14 54 for all of these \, A refers to the left inlet and B +to the value on the right.; +#X text 15 27 Consult doc/architecture.html to see all the 40 of them. +; +#X connect 0 0 45 0; +#X connect 1 0 47 0; +#X connect 4 0 49 0; +#X connect 6 0 52 0; +#X connect 10 0 54 0; +#X connect 11 0 56 0; +#X connect 14 0 58 0; +#X connect 15 0 60 0; +#X connect 16 0 62 0; +#X connect 20 0 21 0; +#X connect 21 0 42 0; +#X connect 22 0 23 0; +#X connect 23 0 43 0; +#X connect 24 0 0 0; +#X connect 25 0 0 1; +#X connect 26 0 1 0; +#X connect 27 0 1 1; +#X connect 28 0 4 0; +#X connect 29 0 4 1; +#X connect 30 0 6 0; +#X connect 31 0 6 1; +#X connect 32 0 10 0; +#X connect 33 0 10 1; +#X connect 34 0 11 0; +#X connect 35 0 11 1; +#X connect 36 0 14 0; +#X connect 37 0 14 1; +#X connect 38 0 15 0; +#X connect 39 0 15 1; +#X connect 40 0 16 0; +#X connect 41 0 16 1; +#X connect 45 0 44 0; +#X connect 47 0 46 0; +#X connect 49 0 48 0; +#X connect 52 0 51 0; +#X connect 54 0 53 0; +#X connect 56 0 55 0; +#X connect 58 0 57 0; +#X connect 60 0 59 0; +#X connect 62 0 61 0; diff --git a/externals/gridflow/pd_help/@apply_colormap_channelwise.pd b/externals/gridflow/pd_help/@apply_colormap_channelwise.pd new file mode 100644 index 00000000..7f4cbbbf --- /dev/null +++ b/externals/gridflow/pd_help/@apply_colormap_channelwise.pd @@ -0,0 +1,29 @@ +#N canvas 119 122 762 396 10; +#X obj 19 118 @in; +#X obj 19 239 @apply_colormap_channelwise; +#X text 14 17 @apply_colormap_channelweb; +#X obj 203 190 @import ( 256 3 ); +#X obj 203 168 random 255; +#X msg 203 128 768; +#X obj 203 148 until; +#X text 305 108 colormap is a grid dim (2) (intensity channels); +#X text 679 13 gridflow; +#X msg 52 86 open bluemarble.jpg; +#X obj 19 366 @out window; +#X text 304 54 this object is useful for color correction. for each +pixel it takes it apart \, looks up each part separately in the colormap +and constructs a new pixel from that.; +#X obj 19 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 19 59 fork; +#X connect 0 0 1 0; +#X connect 1 0 10 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 9 0 0 0; +#X connect 12 0 13 0; +#X connect 13 0 0 0; +#X connect 13 0 5 0; +#X connect 13 1 9 0; diff --git a/externals/gridflow/pd_help/@cast.pd b/externals/gridflow/pd_help/@cast.pd new file mode 100644 index 00000000..92543dee --- /dev/null +++ b/externals/gridflow/pd_help/@cast.pd @@ -0,0 +1,46 @@ +#N canvas 435 101 684 379 10; +#X text 14 15 @cast; +#X text 143 14 returns a grid of the same dimensions containing all +the same values after type conversion. note that while casting to a +smaller type \, overflowing values will be truncated.; +#X text 626 13 gridflow; +#X text 142 58 numbertypes are: uint8 \, int16 \, int32 \, int64 \, +float32 \, float64. see doc/architecture.html for more info.; +#X obj 126 90 nbx 8 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 3.1416 256; +#X obj 115 136 @pack 4 float32; +#X obj 78 185 @store; +#X obj 78 136 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 14 136 print it:; +#X obj 136 234 @print; +#X obj 78 205 t a a a a; +#X obj 78 354 @print; +#X obj 97 314 @print; +#X obj 116 254 @cast uint8; +#X obj 116 274 @print; +#X obj 97 294 @cast int32; +#X obj 78 334 @cast float64; +#X obj 216 90 nbx 8 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 42 256; +#X obj 126 110 nbx 8 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 2004 256; +#X obj 216 110 nbx 8 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 1e+10 256; +#X obj 118 158 @redim ( 2 2 ); +#X text 182 295 normally the default; +#X connect 4 0 5 0; +#X connect 5 0 20 0; +#X connect 6 0 10 0; +#X connect 7 0 6 0; +#X connect 10 0 16 0; +#X connect 10 1 15 0; +#X connect 10 2 13 0; +#X connect 10 3 9 0; +#X connect 13 0 14 0; +#X connect 15 0 12 0; +#X connect 16 0 11 0; +#X connect 17 0 5 1; +#X connect 18 0 5 2; +#X connect 19 0 5 3; +#X connect 20 0 6 1; diff --git a/externals/gridflow/pd_help/@checkers.pd b/externals/gridflow/pd_help/@checkers.pd new file mode 100644 index 00000000..a8de669e --- /dev/null +++ b/externals/gridflow/pd_help/@checkers.pd @@ -0,0 +1,13 @@ +#N canvas 431 74 440 355 10; +#X obj 20 47 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 20 164 @checkers; +#X obj 20 81 @for ( 0 0 ) ( 128 128 ) ( 1 1 ); +#X text 16 7 @checkers; +#X text 216 297 see also; +#X obj 283 301 @draw_polygon; +#X text 354 7 gridflow; +#X obj 20 309 @out window; +#X connect 0 0 2 0; +#X connect 1 0 7 0; +#X connect 2 0 1 0; diff --git a/externals/gridflow/pd_help/@complex_sq.pd b/externals/gridflow/pd_help/@complex_sq.pd new file mode 100644 index 00000000..9adacae8 --- /dev/null +++ b/externals/gridflow/pd_help/@complex_sq.pd @@ -0,0 +1,27 @@ +#N canvas 301 131 637 303 10; +#X text 14 14 @comlex_sq; +#X obj 21 159 @complex_sq; +#X text 96 15 this object computes the square of complex numbers. if +seeing imaginary as Y and real as X \, then this operation squares +the distance of a point from origin and doubles the angle between it +and the +X half-axis clockwise. :); +#X floatatom 21 108 5 0 0 0 - - -; +#X obj 21 188 @export_list; +#X floatatom 21 238 5 0 0 0 - - -; +#X obj 21 128 @two; +#X floatatom 64 108 5 0 0 0 - - -; +#X obj 114 235 @print; +#X obj 21 209 unpack; +#X floatatom 58 238 5 0 0 0 - - -; +#X text 572 13 gridflow; +#X text 21 275 see also:; +#X obj 94 279 @ +; +#X obj 127 279 @! abs; +#X connect 1 0 4 0; +#X connect 1 0 8 0; +#X connect 3 0 6 0; +#X connect 4 0 9 0; +#X connect 6 0 1 0; +#X connect 7 0 6 1; +#X connect 9 0 5 0; +#X connect 9 1 10 0; diff --git a/externals/gridflow/pd_help/@convolve.pd b/externals/gridflow/pd_help/@convolve.pd new file mode 100644 index 00000000..31c77936 --- /dev/null +++ b/externals/gridflow/pd_help/@convolve.pd @@ -0,0 +1,40 @@ +#N canvas 923 183 662 404 10; +#X obj 19 37 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X text 14 15 @convolve blurs \, sharpens \, finds edges \, emboss +& more ...; +#X obj 19 108 @in; +#X obj 19 133 @convolve ^ + 0; +#X msg 212 76 1 1 1 1 1 1 1 1 1; +#X obj 212 96 @redim ( 3 3 ); +#X text 569 17 gridflow; +#X text 18 363 see also:; +#X obj 234 367 @solarize; +#X obj 303 367 @layer; +#X obj 158 367 @posterize; +#X obj 89 367 @contrast; +#X obj 212 57 loadbang; +#X msg 42 85 open bluemarble.jpg; +#X text 216 187 splits the incoming grid into dim(rest...) parts \, +for each of those parts at (xy \, x). a rectangle of such parts \, +centered around (y \, x) is combined with the convolution grid like +a [@] of operation op_para. then each such result is folded like [@ +fold] of operation op_fold and specified base. the results are assembled +into a grid that is sent to the outlet. near the borders of the grid +\, coordinates wrap around. this means the whole grid has to be received +before production of the next grid starts. this is the convolution +grid and it gets stored in the object. rows2 and columns2 must be odd +numbers.; +#X text 145 130 here ^ is the parallel operator \, fold is indicated +by + and 0 is its base.; +#X obj 19 62 fork; +#X obj 19 309 @out window; +#X connect 0 0 16 0; +#X connect 2 0 3 0; +#X connect 3 0 17 0; +#X connect 4 0 5 0; +#X connect 5 0 3 1; +#X connect 12 0 4 0; +#X connect 13 0 2 0; +#X connect 16 0 2 0; +#X connect 16 1 13 0; diff --git a/externals/gridflow/pd_help/@downscale_by.pd b/externals/gridflow/pd_help/@downscale_by.pd new file mode 100644 index 00000000..bf2356cc --- /dev/null +++ b/externals/gridflow/pd_help/@downscale_by.pd @@ -0,0 +1,26 @@ +#N canvas 614 643 463 368 10; +#X obj 144 82 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 113 101 @in; +#X obj 20 72 metro 10; +#X obj 20 49 tgl 15 0 empty empty empty 0 -6 0 8 -233017 -1 -1 1 1 +; +#X text 301 313 see also:; +#X obj 377 312 @scale_to; +#X obj 200 133 @import ( 1 ); +#X floatatom 200 113 5 0 0 0 - - -; +#X obj 377 333 @scale_by; +#X text 14 15 @downscale_by; +#X text 384 17 gridflow; +#X obj 113 157 @downscale_by; +#X obj 113 310 @out window; +#X msg 114 56 open bluemarble.jpg; +#X connect 0 0 1 0; +#X connect 1 0 11 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 6 0 11 1; +#X connect 7 0 6 0; +#X connect 11 0 12 0; +#X connect 13 0 1 0; +#X connect 13 0 0 0; diff --git a/externals/gridflow/pd_help/@draw_polygon.pd b/externals/gridflow/pd_help/@draw_polygon.pd new file mode 100644 index 00000000..b4325a02 --- /dev/null +++ b/externals/gridflow/pd_help/@draw_polygon.pd @@ -0,0 +1,36 @@ +#N canvas 386 391 634 338 10; +#X obj 22 27 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X floatatom 58 142 5 0 255 0 - - -; +#X obj 84 179 @three; +#X floatatom 101 142 5 0 255 0 - - -; +#X floatatom 144 142 5 0 255 0 - - -; +#X obj 195 158 until; +#X obj 195 177 random 128; +#X text 16 7 @draw_polygon; +#X text 362 6 gridflow; +#X obj 20 237 @draw_polygon put 1; +#X obj 20 48 fork; +#X obj 51 48 fork; +#X obj 20 106 @in; +#X obj 196 196 @import ( 4 2 ); +#X msg 195 139 4; +#X obj 20 309 @out window; +#X msg 47 81 open r001.jpg; +#X text 158 80 1 <-- open image; +#X connect 0 0 10 0; +#X connect 1 0 2 0; +#X connect 2 0 9 1; +#X connect 3 0 2 1; +#X connect 4 0 2 2; +#X connect 5 0 6 0; +#X connect 6 0 13 0; +#X connect 9 0 15 0; +#X connect 10 0 12 0; +#X connect 10 1 11 0; +#X connect 11 0 2 0; +#X connect 11 1 14 0; +#X connect 12 0 9 0; +#X connect 13 0 9 2; +#X connect 14 0 5 0; +#X connect 16 0 12 0; diff --git a/externals/gridflow/pd_help/@finished.pd b/externals/gridflow/pd_help/@finished.pd new file mode 100644 index 00000000..b91ee5a7 --- /dev/null +++ b/externals/gridflow/pd_help/@finished.pd @@ -0,0 +1,15 @@ +#N canvas 551 311 442 238 10; +#X text 21 22 @finished; +#X text 22 53 a bang is emitted every time a grid transmission ends +; +#X obj 24 146 @finished; +#X obj 24 175 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 24 118 @two; +#X floatatom 24 80 5 0 0 0 - - -; +#X floatatom 47 98 5 0 0 0 - - -; +#X text 371 15 gridflow; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 4 1; diff --git a/externals/gridflow/pd_help/@fold.pd b/externals/gridflow/pd_help/@fold.pd new file mode 100644 index 00000000..dee0f54a --- /dev/null +++ b/externals/gridflow/pd_help/@fold.pd @@ -0,0 +1,39 @@ +#N canvas 306 222 526 344 10; +#X obj 18 103 @in; +#X obj 18 280 print value; +#X obj 18 137 @fold + 0; +#X obj 18 160 @fold + 0; +#X obj 18 184 @fold + 0; +#X text 114 133 treats the grid as a grid of one- dimensional grids +such that the same operation (here addition) will be performed on all +its elements together with the base value. the results are combined +back. each @fold operation removes a dimension. syntax: @fold <two-input +operation> <starting value>; +#X text 19 8 @fold; +#X text 451 11 gridflow; +#X obj 85 313 @inner2; +#X text 14 309 see also:; +#X obj 141 313 @join; +#X obj 183 313 @perspective; +#X msg 41 70 open bluemarble.jpg; +#X obj 18 246 @export_list; +#X msg 237 66 open b001.jpg; +#X obj 18 49 fork; +#X obj 9 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1 +; +#X obj 214 41 fork; +#X obj 199 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 13 0; +#X connect 12 0 0 0; +#X connect 13 0 1 0; +#X connect 14 0 0 0; +#X connect 15 0 0 0; +#X connect 15 1 12 0; +#X connect 16 0 15 0; +#X connect 17 0 0 0; +#X connect 17 1 14 0; +#X connect 18 0 17 0; diff --git a/externals/gridflow/pd_help/@foldinnerouter.pd b/externals/gridflow/pd_help/@foldinnerouter.pd new file mode 100644 index 00000000..46f2dc6d --- /dev/null +++ b/externals/gridflow/pd_help/@foldinnerouter.pd @@ -0,0 +1,94 @@ +#N canvas 63 0 747 645 10; +#X obj 18 34 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 18 233 @export; +#X obj 18 96 @in; +#X text 18 10 @fold \, @inner \, @outer; +#X obj 18 264 print value; +#X obj 18 137 @fold + 0; +#X obj 18 160 @fold + 0; +#X obj 18 184 @fold + 0; +#X text 114 133 treats the grid as a grid of one- dimensional grids +such that the same operation (here addition) will be performed on all +its elements together with the base value. the results are combined +back. each @fold operation removes a dimension. syntax: @fold <two-input +operation> <starting value>; +#X obj 19 309 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 171 402 @ * 128; +#X obj 19 400 spigot; +#X obj 100 400 spigot; +#X obj 67 400 == 0; +#X obj 67 309 tgl 15 0 empty empty empty 0 -6 0 8 -233017 -1 -1 1 1 +; +#X obj 19 432 @outer +; +#X obj 100 431 @outer ^; +#X obj 100 451 @ * 2; +#X text 171 448 @outer does the same two-input operation between every +possible pair of the left-side grid and the right side grid. @inner +treats both input grids like @fold does \, then does a @outer on the +other dimensions \, such that every two-input operation is like a @fold. +this is a very powerful operation that can be used to do rotations +\, rgb->yuv \, color conversions \, etc.; +#X text 88 310 select pattern; +#X text 17 566 combine channelless picture with gamma factors (r \, +g \, b); +#X obj 19 379 @import ( 128 ); +#X obj 19 359 until; +#X msg 19 338 128; +#X obj 60 359 float 1; +#X obj 115 359 + 1; +#X obj 19 525 @outer gamma; +#X obj 171 360 until; +#X obj 212 360 float 1; +#X obj 267 360 + 1; +#X msg 171 339 4; +#X obj 171 381 @import ( 3 ); +#X text 665 16 gridflow; +#X text 19 598 see also:; +#X obj 87 603 @scan; +#X obj 129 603 @join; +#X obj 171 603 @finished; +#X obj 241 603 @cast; +#X obj 283 603 @ravel; +#X obj 331 603 @grade; +#X obj 380 603 @perspective; +#X msg 41 76 open bluemarble.jpg; +#X obj 18 55 fork; +#X obj 19 547 @out window; +#X connect 0 0 42 0; +#X connect 1 0 4 0; +#X connect 2 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 9 0 23 0; +#X connect 9 0 30 0; +#X connect 10 0 26 1; +#X connect 11 0 15 0; +#X connect 11 0 15 1; +#X connect 12 0 16 0; +#X connect 12 0 16 1; +#X connect 13 0 12 1; +#X connect 14 0 11 1; +#X connect 14 0 13 0; +#X connect 15 0 26 0; +#X connect 16 0 17 0; +#X connect 17 0 26 0; +#X connect 21 0 11 0; +#X connect 21 0 12 0; +#X connect 22 0 24 0; +#X connect 23 0 22 0; +#X connect 24 0 25 0; +#X connect 24 0 21 0; +#X connect 25 0 24 1; +#X connect 26 0 43 0; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 28 0 31 0; +#X connect 29 0 28 1; +#X connect 30 0 27 0; +#X connect 31 0 10 0; +#X connect 41 0 2 0; +#X connect 42 0 2 0; +#X connect 42 1 41 0; diff --git a/externals/gridflow/pd_help/@for.pd b/externals/gridflow/pd_help/@for.pd new file mode 100644 index 00000000..9a9e1666 --- /dev/null +++ b/externals/gridflow/pd_help/@for.pd @@ -0,0 +1,16 @@ +#N canvas 923 183 569 289 10; +#X text 14 15 @for; +#X obj 20 136 @for 0 320 1; +#X floatatom 20 73 5 0 0 0 - - -; +#X floatatom 59 94 5 0 0 0 - - -; +#X floatatom 99 116 5 0 0 0 - - -; +#X text 137 141 works like a for object \, plugged to an @import tuned +for a dim(size) where size is the number of values produced by a bang +to that for. syntax: @for <from> <to> <step> outlet: grid dim(size) +where size = floor(to-from+1)/step; +#X obj 20 199 @print; +#X text 490 16 gridflow; +#X connect 1 0 6 0; +#X connect 2 0 1 0; +#X connect 3 0 1 1; +#X connect 4 0 1 2; diff --git a/externals/gridflow/pd_help/@global.pd b/externals/gridflow/pd_help/@global.pd new file mode 100644 index 00000000..3031ff5f --- /dev/null +++ b/externals/gridflow/pd_help/@global.pd @@ -0,0 +1,9 @@ +#N canvas 923 183 400 205 10; +#X text 21 22 @global; +#X text 22 53 dummy object for controlling the profiler; +#X obj 24 146 @global; +#X msg 48 95 profiler_reset; +#X msg 59 115 profiler_dump; +#X text 321 18 gridflow; +#X connect 3 0 2 0; +#X connect 4 0 2 0; diff --git a/externals/gridflow/pd_help/@grade.pd b/externals/gridflow/pd_help/@grade.pd new file mode 100644 index 00000000..e7873d77 --- /dev/null +++ b/externals/gridflow/pd_help/@grade.pd @@ -0,0 +1,20 @@ +#N canvas 435 101 649 221 10; +#X text 143 15 splits a dim[a... \, b] grid into dim[b] vectors that +each contain numbers from 0 to b-1 indicating the ordering of the values. +the result is a dim[a... \, b] grid.; +#X text 14 15 @grade; +#X obj 19 139 @grade; +#X floatatom 19 74 5 0 0 0 - - -; +#X floatatom 60 74 5 0 0 0 - - -; +#X obj 19 168 @print; +#X obj 19 106 @four; +#X floatatom 101 74 5 0 0 0 - - -; +#X floatatom 142 74 5 0 0 0 - - -; +#X text 585 14 gridflow; +#X text 146 175 (behaves unstable in 0.7.0); +#X connect 2 0 5 0; +#X connect 3 0 6 0; +#X connect 4 0 6 1; +#X connect 6 0 2 0; +#X connect 7 0 6 2; +#X connect 8 0 6 3; diff --git a/externals/gridflow/pd_help/@greyscale_to_rgb.pd b/externals/gridflow/pd_help/@greyscale_to_rgb.pd new file mode 100644 index 00000000..106126b1 --- /dev/null +++ b/externals/gridflow/pd_help/@greyscale_to_rgb.pd @@ -0,0 +1,21 @@ +#N canvas 119 122 433 374 10; +#X obj 15 33 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 19 105 @in; +#X obj 19 141 @rgb_to_greyscale; +#X obj 19 161 s xx; +#X obj 19 185 r xx; +#X obj 19 205 @greyscale_to_rgb; +#X text 24 5 @greyscale_to_rgb; +#X text 353 13 gridflow; +#X msg 42 78 open bluemarble.jpg; +#X obj 19 55 fork; +#X obj 19 263 @out window; +#X connect 0 0 9 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 4 0 5 0; +#X connect 5 0 10 0; +#X connect 8 0 1 0; +#X connect 9 0 1 0; +#X connect 9 1 8 0; diff --git a/externals/gridflow/pd_help/@importexport.pd b/externals/gridflow/pd_help/@importexport.pd new file mode 100644 index 00000000..454d7149 --- /dev/null +++ b/externals/gridflow/pd_help/@importexport.pd @@ -0,0 +1,51 @@ +#N canvas 119 230 748 467 10; +#X msg 75 125 reset; +#X obj 33 47 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X msg 33 111 200; +#X text 125 129 abort output of grid \, if any; +#X text 14 9 @import \, @export \, @export_list converts integers to +grids and back; +#X obj 41 239 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 33 283 @dim; +#X obj 322 335 @export_list; +#X obj 322 366 print export_list; +#X obj 33 335 @export; +#X obj 33 366 print export; +#X obj 33 176 @out 240 320; +#X obj 33 260 @in; +#X text 70 285 gets the size of the picture; +#X text 87 334 accepts grids and sends integers; +#X text 416 328 accepts grids and sends lists of integers; +#X obj 33 88 until; +#X msg 33 67 230400; +#X obj 33 157 @import ( 240 320 3 ); +#X text 188 158 syntax: @import ( <int colums> <int rows> <int dimension> +); +#X text 32 418 see also:; +#X obj 162 421 @two; +#X obj 196 421 @three; +#X obj 244 421 @four; +#X text 671 16 gridflow; +#X obj 101 421 @in; +#X obj 128 421 @out; +#X obj 33 301 s size; +#X obj 33 319 r size; +#X obj 322 315 r size; +#X msg 33 216 open jpeg file 1.jpg; +#X connect 0 0 18 0; +#X connect 1 0 17 0; +#X connect 2 0 18 0; +#X connect 5 0 12 0; +#X connect 6 0 27 0; +#X connect 7 0 8 0; +#X connect 9 0 10 0; +#X connect 12 0 6 0; +#X connect 16 0 2 0; +#X connect 17 0 16 0; +#X connect 18 0 11 0; +#X connect 28 0 9 0; +#X connect 29 0 7 0; +#X connect 30 0 12 0; +#X connect 30 0 5 0; diff --git a/externals/gridflow/pd_help/@inner2.pd b/externals/gridflow/pd_help/@inner2.pd new file mode 100644 index 00000000..34cb3ad1 --- /dev/null +++ b/externals/gridflow/pd_help/@inner2.pd @@ -0,0 +1,17 @@ +#N canvas 63 0 748 632 10; +#X obj 18 49 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 18 125 @in; +#X text 14 15 @inner; +#X obj 18 169 @inner2 * + 0; +#X text 660 16 gridflow; +#X text 178 172 this has yet to be done!; +#X obj 18 307 @out window; +#X msg 41 95 open bluemarble.jpg; +#X obj 18 70 fork; +#X connect 0 0 8 0; +#X connect 1 0 3 0; +#X connect 3 0 6 0; +#X connect 7 0 1 0; +#X connect 8 0 1 0; +#X connect 8 1 7 0; diff --git a/externals/gridflow/pd_help/@inout.pd b/externals/gridflow/pd_help/@inout.pd new file mode 100644 index 00000000..fdf1e8b0 --- /dev/null +++ b/externals/gridflow/pd_help/@inout.pd @@ -0,0 +1,63 @@ +#N canvas 281 197 649 652 10; +#X obj 35 213 @in; +#X msg 52 283 option timelog \$1; +#X obj 52 263 tgl 15 0 empty empty empty 0 -6 0 8 -233017 -1 -1 0 1 +; +#X text 274 307 upload a grid; +#X text 261 80 upload a grid; +#X text 194 108 open default display for screenshot; +#X msg 73 134 open videodev /dev/video0; +#X text 260 136 open a video device; +#X msg 75 332 open x11 here; +#X msg 87 356 open x11 local 10; +#X text 182 285 show/hide timing statistics; +#X text 178 334 connect to default display; +#X text 218 358 connect to display #10 on this machine; +#X msg 100 380 open x11 remote.host.bla.net 0; +#X text 324 382 connect to remote machine on display #0; +#X text 290 161 open mpeg video stream; +#X obj 35 441 @out; +#X text 14 15 @in \, @out communicating grids (pictures) to/from devices +\, sockets \, files; +#X text 272 155 *; +#X text 36 558 * path is where you started pd from. usually $home. +; +#X text 308 188 open an image file; +#X msg 114 450 close; +#X text 577 15 gridflow; +#X text 37 590 see also:; +#X obj 108 595 @import ( 1 ); +#X obj 205 595 @export; +#X obj 260 595 @export_list; +#X obj 350 595 @export_symbol; +#X obj 454 595 @two; +#X obj 488 595 @three; +#X obj 536 595 @four; +#X msg 90 161 open lsd.mpeg; +#X msg 55 107 open x11 here; +#X msg 35 80 open host.bla.net 7777; +#X msg 113 404 open img/bla.jpg; +#X text 300 405 open single file in jpg format; +#X msg 108 186 open ./img/bla.jpg; +#X text 35 481 incoming file is sent through the opened device/socket/file. +in single file formats subsequent pictures overwrite the preceeding +one. there are many more options. for more information see the reference +manual in the "formats" and "objects for input/output" sections.; +#X msg 65 307 open x.test.at 7777; +#X msg 125 426 open window; +#X text 228 426 opens a window x11 \, quartz or sdl; +#X connect 0 0 16 0; +#X connect 1 0 16 0; +#X connect 2 0 1 0; +#X connect 6 0 0 0; +#X connect 8 0 16 0; +#X connect 9 0 16 0; +#X connect 13 0 16 0; +#X connect 21 0 16 0; +#X connect 31 0 0 0; +#X connect 32 0 0 0; +#X connect 33 0 0 0; +#X connect 34 0 16 0; +#X connect 36 0 0 0; +#X connect 38 0 16 0; +#X connect 39 0 16 0; diff --git a/externals/gridflow/pd_help/@join.pd b/externals/gridflow/pd_help/@join.pd new file mode 100644 index 00000000..3a8f3cdc --- /dev/null +++ b/externals/gridflow/pd_help/@join.pd @@ -0,0 +1,42 @@ +#N canvas 297 501 659 362 10; +#X obj 18 32 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 18 96 @in; +#X obj 211 30 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 211 96 @in; +#X obj 237 96 @rgb_to_greyscale; +#X obj 18 161 @join 2; +#X text 16 8 @join; +#X text 204 238 the left grid and right grid must have the same number +of elements in all dimensions except the one specified \, which will +be the sum of the two corresponding; +#X obj 18 208 @perspective; +#X text 563 10 gridflow; +#X text 17 306 see also:; +#X obj 86 310 @fold +; +#X obj 142 310 @scan +; +#X obj 18 269 @out window; +#X text 205 170 creation argument is the number of the dimensions by +which the join will occur. for n-dimensional grids \, the dimensions +are numbered from 0 to n-1. in addition \, negative numbers from -n +to -1 may be used \, to which n will be added.; +#X msg 41 73 open r001.jpg; +#X msg 234 69 open b001.jpg; +#X obj 18 53 fork; +#X obj 211 48 fork; +#X text 244 29 1 <--; +#X text 45 31 2 <--; +#X connect 0 0 17 0; +#X connect 1 0 5 0; +#X connect 2 0 18 0; +#X connect 3 0 4 0; +#X connect 4 0 5 1; +#X connect 5 0 8 0; +#X connect 8 0 13 0; +#X connect 15 0 1 0; +#X connect 16 0 3 0; +#X connect 17 0 1 0; +#X connect 17 1 15 0; +#X connect 18 0 3 0; +#X connect 18 1 16 0; diff --git a/externals/gridflow/pd_help/@layer.pd b/externals/gridflow/pd_help/@layer.pd new file mode 100644 index 00000000..98a68acd --- /dev/null +++ b/externals/gridflow/pd_help/@layer.pd @@ -0,0 +1,46 @@ +#N canvas 297 501 656 323 10; +#X obj 18 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 18 96 @in; +#X obj 211 28 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 211 96 @in; +#X obj 237 96 @rgb_to_greyscale; +#X text 14 5 @layer; +#X obj 18 208 @layer; +#X obj 18 161 @join -1; +#X obj 406 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 406 96 @in; +#X text 208 121 opacity channel file; +#X text 51 95 foreground file; +#X text 438 96 background file; +#X text 579 14 gridflow; +#X obj 18 269 @out window; +#X text 206 209 a picture that has an opacity level will be used as +foreground vs a picture that has no opacity channel. the output is +a picture that has no opacity channel; +#X msg 41 72 open r001.jpg; +#X msg 234 69 open b001.jpg; +#X msg 429 71 open g001.jpg; +#X obj 18 50 fork; +#X obj 211 47 fork; +#X obj 406 50 fork; +#X connect 0 0 19 0; +#X connect 1 0 7 0; +#X connect 2 0 20 0; +#X connect 3 0 4 0; +#X connect 4 0 7 1; +#X connect 6 0 14 0; +#X connect 7 0 6 0; +#X connect 8 0 21 0; +#X connect 9 0 6 1; +#X connect 16 0 1 0; +#X connect 17 0 3 0; +#X connect 18 0 9 0; +#X connect 19 0 1 0; +#X connect 19 1 16 0; +#X connect 20 0 3 0; +#X connect 20 1 17 0; +#X connect 21 0 9 0; +#X connect 21 1 18 0; diff --git a/externals/gridflow/pd_help/@perspective.pd b/externals/gridflow/pd_help/@perspective.pd new file mode 100644 index 00000000..db145d54 --- /dev/null +++ b/externals/gridflow/pd_help/@perspective.pd @@ -0,0 +1,29 @@ +#N canvas 280 56 664 282 10; +#X text 403 215 see also:; +#X obj 477 214 @redim; +#X obj 259 173 @perspective; +#X obj 20 147 @three; +#X obj 530 214 @ravel; +#X obj 20 125 random 10; +#X obj 87 125 random 10; +#X obj 155 125 random 10; +#X obj 20 86 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 587 12 gridflow; +#X text 14 15 @perspective; +#X obj 20 210 @print; +#X obj 259 210 @print; +#X text 143 15 transforms a dim[a... \, b] grid into a dim[a... \, +b-1] grid. there is a projection plane perpendicular to the last axis +and whose position is given by the creation argument. each vector's +length is adjusted so that it lies onto that plane. then the last dimension +of each vector is dropped; +#X connect 2 0 12 0; +#X connect 3 0 2 0; +#X connect 3 0 11 0; +#X connect 5 0 3 0; +#X connect 6 0 3 1; +#X connect 7 0 3 2; +#X connect 8 0 5 0; +#X connect 8 0 6 0; +#X connect 8 0 7 0; diff --git a/externals/gridflow/pd_help/@posterize.pd b/externals/gridflow/pd_help/@posterize.pd new file mode 100644 index 00000000..e10e42ba --- /dev/null +++ b/externals/gridflow/pd_help/@posterize.pd @@ -0,0 +1,36 @@ +#N canvas 432 100 640 338 10; +#X obj 20 32 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 20 100 @in; +#X obj 19 174 @posterize; +#X text 16 7 @posterize; +#X floatatom 84 131 5 2 255 0 - - -; +#X obj 84 147 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 19 127 @store; +#X text 132 131 2 - 255; +#X text 157 157 number of possible levels per channel. the levels are +equally spaced \, with the lowest at 0 and the highest at 255 the minimum +number of levels is 2 and the default value is also 2; +#X text 572 6 gridflow; +#X text 210 300 see also:; +#X obj 281 304 @convolve; +#X obj 419 304 @solarize; +#X obj 488 304 @layer; +#X obj 350 304 @contrast; +#X obj 20 59 fork; +#X msg 43 79 open bluemarble.jpg; +#X obj 19 303 @out window; +#X text 98 7 reduces the number of possible intensities in an image: +it rounds the color values. the effect is mostly apparent with a low +number of levels; +#X connect 0 0 15 0; +#X connect 1 0 6 1; +#X connect 2 0 17 0; +#X connect 4 0 2 1; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X connect 15 0 1 0; +#X connect 15 1 16 0; +#X connect 16 0 1 0; diff --git a/externals/gridflow/pd_help/@print.pd b/externals/gridflow/pd_help/@print.pd new file mode 100644 index 00000000..1537faab --- /dev/null +++ b/externals/gridflow/pd_help/@print.pd @@ -0,0 +1,28 @@ +#N canvas 435 101 688 277 10; +#X text 191 203 see also:; +#X obj 297 208 @export; +#X obj 352 208 @export_list; +#X obj 442 208 rubyprint; +#X obj 19 123 @three; +#X floatatom 19 73 5 0 0 0 - - -; +#X floatatom 37 52 5 0 0 0 - - -; +#X floatatom 56 73 5 0 0 0 - - -; +#X obj 19 197 @print; +#X text 14 15 @print; +#X text 143 15 prints grids dimensions or all the grid data if there +are 2 dimensions or less.; +#X obj 112 123 @import ( 3 3 3 ); +#X obj 113 73 until; +#X msg 113 53 27; +#X obj 112 93 random 27; +#X text 619 13 gridflow; +#X obj 262 208 @dim; +#X obj 512 208 printargs; +#X connect 4 0 8 0; +#X connect 5 0 4 0; +#X connect 6 0 4 1; +#X connect 7 0 4 2; +#X connect 11 0 8 0; +#X connect 12 0 14 0; +#X connect 13 0 12 0; +#X connect 14 0 11 0; diff --git a/externals/gridflow/pd_help/@ravel.pd b/externals/gridflow/pd_help/@ravel.pd new file mode 100644 index 00000000..65bcad40 --- /dev/null +++ b/externals/gridflow/pd_help/@ravel.pd @@ -0,0 +1,31 @@ +#N canvas 435 101 660 279 10; +#X text 14 15 @ravel; +#X text 143 15 like @redim but always produces a 1-D grid with the +same total number of elements.; +#X obj 20 102 @in; +#X obj 20 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 20 168 @dim; +#X obj 20 190 @export_list; +#X obj 20 211 print before; +#X obj 140 129 @ravel; +#X obj 259 170 @dim; +#X obj 259 192 @export_list; +#X obj 259 213 print after; +#X text 403 215 see also:; +#X obj 567 214 @perspective; +#X text 575 14 gridflow; +#X obj 477 214 @redim ( 1 ); +#X msg 43 81 open bluemarble.jpg; +#X obj 20 60 fork; +#X connect 2 0 4 0; +#X connect 2 0 7 0; +#X connect 3 0 16 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 15 0 2 0; +#X connect 16 0 2 0; +#X connect 16 1 15 0; diff --git a/externals/gridflow/pd_help/@redim.pd b/externals/gridflow/pd_help/@redim.pd new file mode 100644 index 00000000..69e47169 --- /dev/null +++ b/externals/gridflow/pd_help/@redim.pd @@ -0,0 +1,21 @@ +#N canvas 435 101 633 282 10; +#X text 15 8 @redim; +#X text 114 14 rearrange a grid's values according to new dimensions +; +#X obj 25 99 @in; +#X obj 25 32 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 25 132 @redim ( 120 120 3 ); +#X text 287 192 see also:; +#X obj 367 195 @ravel; +#X obj 418 195 @perspective; +#X text 551 13 gridflow; +#X msg 48 77 open bluemarble.jpg; +#X obj 25 55 fork; +#X obj 25 187 @out window; +#X connect 2 0 4 0; +#X connect 3 0 10 0; +#X connect 4 0 11 0; +#X connect 9 0 2 0; +#X connect 10 0 2 0; +#X connect 10 1 9 0; diff --git a/externals/gridflow/pd_help/@rgb_to_greyscale.pd b/externals/gridflow/pd_help/@rgb_to_greyscale.pd new file mode 100644 index 00000000..c905d183 --- /dev/null +++ b/externals/gridflow/pd_help/@rgb_to_greyscale.pd @@ -0,0 +1,19 @@ +#N canvas 119 122 514 375 10; +#X obj 19 47 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 19 100 @in; +#X obj 19 132 @rgb_to_greyscale; +#X text 14 15 @rgb_to_greyscale; +#X obj 19 152 s xx; +#X obj 18 215 r xx; +#X obj 18 235 @greyscale_to_rgb; +#X text 444 11 gridflow; +#X obj 18 329 @out window; +#X msg 44 72 open r001.jpg; +#X connect 0 0 9 0; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 9 0 1 0; diff --git a/externals/gridflow/pd_help/@scale_by.pd b/externals/gridflow/pd_help/@scale_by.pd new file mode 100644 index 00000000..fa73b249 --- /dev/null +++ b/externals/gridflow/pd_help/@scale_by.pd @@ -0,0 +1,30 @@ +#N canvas 614 643 589 398 10; +#X obj 113 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 113 101 @in; +#X obj 20 72 metro 10; +#X obj 20 49 tgl 15 0 empty empty empty 0 -6 0 8 -233017 -1 -1 1 1 +; +#X text 26 359 see also:; +#X text 14 15 @scale_by; +#X obj 102 358 @scale_to; +#X obj 113 157 @scale_by; +#X floatatom 172 116 5 0 0 0 - - -; +#X text 518 16 gridflow; +#X obj 172 358 @downscale_by; +#X obj 172 136 @import ( 1 ); +#X text 157 198 identical to scale_to with arguments that are exactly +twice that of the incoming grid. it's several times faster.; +#X obj 113 275 @out window; +#X msg 136 71 open bluemarble.jpg; +#X obj 113 50 fork; +#X connect 0 0 15 0; +#X connect 1 0 7 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 7 0 13 0; +#X connect 8 0 11 0; +#X connect 11 0 7 1; +#X connect 14 0 1 0; +#X connect 15 0 1 0; +#X connect 15 1 14 0; diff --git a/externals/gridflow/pd_help/@scale_to.pd b/externals/gridflow/pd_help/@scale_to.pd new file mode 100644 index 00000000..432e223f --- /dev/null +++ b/externals/gridflow/pd_help/@scale_to.pd @@ -0,0 +1,34 @@ +#N canvas 497 180 649 321 10; +#X obj 113 26 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 113 101 @in; +#X text 14 15 @scale_to; +#X obj 20 49 tgl 15 0 empty empty empty 0 -6 0 8 -233017 -1 -1 1 1 +; +#X obj 269 157 @two; +#X obj 310 43 vsl 15 128 0 640 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 3300 1; +#X obj 333 43 vsl 15 128 0 480 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 6300 1; +#X obj 352 285 @scale_by; +#X text 281 281 see also:; +#X text 190 182 though not pointed out in the manual \, the initial +arguments seem to be mandatory.; +#X text 578 11 gridflow; +#X obj 423 285 @downscale_by; +#X obj 20 72 metro 100; +#X obj 113 262 @out window; +#X msg 135 74 open b001.jpg; +#X obj 113 51 fork; +#X obj 113 157 @scale_to ( 133 133 ); +#X connect 0 0 15 0; +#X connect 1 0 16 0; +#X connect 3 0 12 0; +#X connect 4 0 16 1; +#X connect 5 0 4 0; +#X connect 6 0 4 1; +#X connect 12 0 1 0; +#X connect 14 0 1 0; +#X connect 15 0 1 0; +#X connect 15 1 14 0; +#X connect 16 0 13 0; diff --git a/externals/gridflow/pd_help/@scan.pd b/externals/gridflow/pd_help/@scan.pd new file mode 100644 index 00000000..64f62f95 --- /dev/null +++ b/externals/gridflow/pd_help/@scan.pd @@ -0,0 +1,26 @@ +#N canvas 140 0 421 309 10; +#X text 14 15 @scan; +#X text 69 15 computes subtotals; +#X obj 17 127 @scan +; +#X obj 17 96 @three; +#X floatatom 17 56 5 0 0 0 - - -; +#X floatatom 62 56 5 0 0 0 - - -; +#X floatatom 109 56 5 0 0 0 - - -; +#X floatatom 17 225 5 0 0 0 - - -; +#X obj 17 186 unpack f f f; +#X floatatom 56 225 5 0 0 0 - - -; +#X floatatom 96 225 5 0 0 0 - - -; +#X obj 17 164 @export_list; +#X text 73 129 second inlet seems to be dead; +#X text 340 14 gridflow; +#X text 14 266 see also:; +#X obj 83 270 @fold +; +#X connect 2 0 11 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 5 0 3 1; +#X connect 6 0 3 2; +#X connect 8 0 7 0; +#X connect 8 1 9 0; +#X connect 8 2 10 0; +#X connect 11 0 8 0; diff --git a/externals/gridflow/pd_help/@solarize.pd b/externals/gridflow/pd_help/@solarize.pd new file mode 100644 index 00000000..60c48b25 --- /dev/null +++ b/externals/gridflow/pd_help/@solarize.pd @@ -0,0 +1,25 @@ +#N canvas 432 100 613 339 10; +#X obj 20 59 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 20 138 @in; +#X text 16 7 @solarize; +#X obj 20 174 @solarize; +#X text 98 7 makes medium intensities brightest. formerly brightest +colors become darkest \, formerly darkest stays darkest. this filter +is linear. it's like a 200% contrast \, except that overflows are mirrored +instead of clipped or wrapped.; +#X text 545 5 gridflow; +#X text 202 305 see also:; +#X obj 273 309 @convolve; +#X obj 487 309 @layer; +#X obj 342 309 @contrast; +#X obj 411 309 @posterize; +#X obj 20 222 @out window; +#X msg 43 112 open bluemarble.jpg; +#X obj 20 83 fork; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 3 0 11 0; +#X connect 12 0 1 0; +#X connect 13 0 1 0; +#X connect 13 1 12 0; diff --git a/externals/gridflow/pd_help/@spread.pd b/externals/gridflow/pd_help/@spread.pd new file mode 100644 index 00000000..c3c39895 --- /dev/null +++ b/externals/gridflow/pd_help/@spread.pd @@ -0,0 +1,64 @@ +#N canvas 265 540 787 472 10; +#X text 14 15 @spread; +#X text 129 15 makes noise; +#X obj 232 159 @in; +#X obj 232 58 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 232 207 spigot; +#X obj 278 207 == 0; +#X obj 275 140 tgl 15 0 empty empty empty 0 -6 0 8 -233017 -1 -1 0 +1; +#X obj 310 207 spigot; +#X obj 310 291 @ min 255; +#X obj 310 270 @spread 1; +#X obj 310 312 @ min 0; +#X floatatom 368 241 5 0 0 0 - - -; +#X obj 195 269 @store; +#X obj 20 197 @spread 1; +#X floatatom 78 163 5 0 0 0 - - -; +#X obj 20 88 until; +#X obj 20 51 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X msg 20 69 65536; +#X obj 61 88 float; +#X obj 101 88 + 1; +#X obj 20 129 @import ( 256 256 2 ); +#X text 368 314 we limit here \, because the values might go out of +range; +#X text 702 13 gridflow; +#X obj 195 393 @out window; +#X obj 310 395 @out window; +#X msg 255 112 open r001.jpg; +#X obj 232 87 fork; +#X obj 149 73 metro 50; +#X obj 149 51 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 300 141 switch displays \, use this to get an image into the +@store; +#X connect 2 0 4 0; +#X connect 2 0 7 0; +#X connect 3 0 26 0; +#X connect 4 0 12 1; +#X connect 5 0 7 1; +#X connect 6 0 4 1; +#X connect 6 0 5 0; +#X connect 7 0 9 0; +#X connect 8 0 10 0; +#X connect 9 0 8 0; +#X connect 10 0 24 0; +#X connect 11 0 9 1; +#X connect 12 0 23 0; +#X connect 13 0 12 0; +#X connect 14 0 13 1; +#X connect 15 0 18 0; +#X connect 16 0 17 0; +#X connect 17 0 15 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 18 1; +#X connect 20 0 13 0; +#X connect 25 0 2 0; +#X connect 26 0 2 0; +#X connect 26 1 25 0; +#X connect 27 0 2 0; +#X connect 28 0 27 0; diff --git a/externals/gridflow/pd_help/@store.pd b/externals/gridflow/pd_help/@store.pd new file mode 100644 index 00000000..68dd5a14 --- /dev/null +++ b/externals/gridflow/pd_help/@store.pd @@ -0,0 +1,48 @@ +#N canvas 519 121 541 394 10; +#X text 14 15 @store; +#X obj 18 118 @two; +#X floatatom 18 86 5 0 0 0 - - -; +#X floatatom 63 86 5 0 0 0 - - -; +#X text 92 15 stores a single grid and can recall parts of it.; +#X obj 111 136 @export_list; +#X floatatom 111 184 5 0 0 0 - - -; +#X obj 73 221 @redim ( 1 2 ); +#X obj 73 266 @store; +#X obj 73 307 @export_list; +#X obj 294 119 @in; +#X obj 294 45 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 +-1; +#X obj 73 326 unpack f f f; +#X floatatom 73 351 5 0 0 0 - - -; +#X text 56 352 R:; +#X floatatom 134 351 5 0 0 0 - - -; +#X floatatom 194 351 5 0 0 0 - - -; +#X text 117 352 G:; +#X text 178 352 B:; +#X text 130 262 this example allows you to select a single pixel from +the loaded picture and view its rgb value.; +#X obj 111 155 unpack; +#X floatatom 164 185 5 0 0 0 - - -; +#X text 92 185 X:; +#X text 149 186 Y:; +#X text 478 14 gridflow; +#X msg 317 92 open r001.jpg; +#X obj 294 70 fork; +#X connect 1 0 5 0; +#X connect 1 0 7 0; +#X connect 2 0 1 0; +#X connect 3 0 1 1; +#X connect 5 0 20 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 12 0; +#X connect 10 0 8 1; +#X connect 11 0 26 0; +#X connect 12 0 13 0; +#X connect 12 1 15 0; +#X connect 12 2 16 0; +#X connect 20 0 6 0; +#X connect 20 1 21 0; +#X connect 25 0 10 0; +#X connect 26 0 10 0; +#X connect 26 1 25 0; diff --git a/externals/gridflow/pd_help/@twothreefour.pd b/externals/gridflow/pd_help/@twothreefour.pd new file mode 100644 index 00000000..fa57a796 --- /dev/null +++ b/externals/gridflow/pd_help/@twothreefour.pd @@ -0,0 +1,70 @@ +#N canvas 573 90 733 417 10; +#X text 14 15 @two \, @three \, @four; +#X text 173 16 hold 2 \, 3 or 4 values \, defaulting to all zeroes. +each time one is changed (by sending an integer in that inlet) \, a +dim(n) grid is sent through the inlet.; +#X floatatom 20 95 5 0 0 0 - - -; +#X floatatom 62 95 5 0 0 0 - - -; +#X obj 20 129 @two; +#X floatatom 113 95 5 0 0 0 - - -; +#X floatatom 155 95 5 0 0 0 - - -; +#X obj 113 129 @three; +#X floatatom 197 95 5 0 0 0 - - -; +#X floatatom 249 96 5 0 0 0 - - -; +#X floatatom 291 96 5 0 0 0 - - -; +#X floatatom 333 96 5 0 0 0 - - -; +#X obj 249 130 @four; +#X floatatom 376 96 5 0 0 0 - - -; +#X obj 22 294 @export_list; +#X obj 20 152 s _2; +#X obj 113 152 s _3; +#X obj 249 152 s _4; +#X obj 22 272 r _2; +#X obj 55 272 r _3; +#X obj 88 272 r _4; +#X floatatom 22 346 5 0 0 0 - - -; +#X obj 165 295 @fold +; +#X obj 165 273 r _2; +#X obj 198 273 r _3; +#X obj 231 273 r _4; +#X obj 165 315 @export; +#X obj 165 336 print sum; +#X obj 309 273 r _2; +#X obj 342 273 r _3; +#X obj 375 273 r _4; +#X obj 309 296 @export; +#X obj 309 317 print; +#X text 19 381 see also:; +#X obj 149 385 @import ( 1 ); +#X obj 279 385 @export; +#X obj 334 385 @export_list; +#X obj 424 385 @export_symbol; +#X text 658 16 gridflow; +#X obj 245 385 @dim; +#X obj 88 385 @in; +#X obj 115 385 @for; +#X connect 2 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 15 0; +#X connect 5 0 7 0; +#X connect 6 0 7 1; +#X connect 7 0 16 0; +#X connect 8 0 7 2; +#X connect 9 0 12 0; +#X connect 10 0 12 1; +#X connect 11 0 12 2; +#X connect 12 0 17 0; +#X connect 13 0 12 3; +#X connect 14 0 21 0; +#X connect 18 0 14 0; +#X connect 19 0 14 0; +#X connect 20 0 14 0; +#X connect 22 0 26 0; +#X connect 23 0 22 0; +#X connect 24 0 22 0; +#X connect 25 0 22 0; +#X connect 26 0 27 0; +#X connect 28 0 31 0; +#X connect 29 0 31 0; +#X connect 30 0 31 0; +#X connect 31 0 32 0; diff --git a/externals/gridflow/pd_help/help_count.pd b/externals/gridflow/pd_help/help_count.pd new file mode 100644 index 00000000..9d812919 --- /dev/null +++ b/externals/gridflow/pd_help/help_count.pd @@ -0,0 +1,15 @@ +#N canvas 85 117 336 239 10; +#X obj 65 80 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 65 144 5 0 0 0 - - -; +#X obj 130 143 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 130 79 42; +#X obj 65 110 count 0 10; +#X text 158 78 count limit; +#X text 26 19 simple counter from a to b in increments of '1'. The +arguments sets the range.; +#X connect 0 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 1 2 0; diff --git a/externals/gridflow/pd_help/help_fade.pd b/externals/gridflow/pd_help/help_fade.pd new file mode 100644 index 00000000..e96fb054 --- /dev/null +++ b/externals/gridflow/pd_help/help_fade.pd @@ -0,0 +1,19 @@ +#N canvas 68 40 747 435 10; +#X obj 197 148 @in; +#X obj 215 114 @camera_control; +#X obj 95 87 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 197 190 @fade 10; +#X text 268 184 the creation argument is the number of frames the fade +occurs over; +#X obj 251 161 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -260818 +-1 -1 0 1; +#X obj 122 86 metro 50; +#X obj 197 240 @out window; +#X text 514 13 gridflow; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 2 0 6 0; +#X connect 3 0 7 0; +#X connect 5 0 3 1; +#X connect 6 0 0 0; diff --git a/externals/gridflow/pd_help/help_motion_detect.pd b/externals/gridflow/pd_help/help_motion_detect.pd new file mode 100644 index 00000000..95e8123a --- /dev/null +++ b/externals/gridflow/pd_help/help_motion_detect.pd @@ -0,0 +1,76 @@ +#N canvas 126 0 350 447 10; +#X obj 37 24 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 71 539 fps detailed; +#X obj 71 559 print; +#X obj 82 254 @motion_detection; +#X floatatom 261 298 5 0 0 0 - displaced_numb -; +#X obj 112 79 @camera_control; +#X obj 71 116 @in; +#X obj 261 272 tgl 15 0 displaced empty empty 0 0 128 4 -233017 -62784 +-233017 0 1; +#X text 283 271 <-- toggle displaced pixels on/off; +#X text 229 78 <-- select and initialise the type of camera first; +#X obj 264 246 hsl 128 15 0 30 0 0 noise empty noise_reduction 10 6 +128 12 -233017 -1 -62784 0 0; +#X text 312 299 <-- total number of displaced pixels (divided by 100000) +; +#X obj 261 220 tgl 15 0 snapshot empty empty 0 0 128 4 -233017 -258699 +-260818 0 1; +#X text 284 219 <-- compare incoming images/ take a snapshot; +#X obj 82 358 @centroid; +#X obj 37 45 metro 50; +#X obj 71 143 fork; +#X obj 71 231 demux 2; +#X obj 71 333 demux 2; +#X obj 71 441 demux 2; +#X obj 115 210 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 115 313 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 115 421 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 +1; +#X obj 71 518 @out window; +#N canvas 0 0 450 300 pixelate 0; +#X obj 55 92 @downscale_by ( 15 20 ) smoothly; +#X obj 55 118 @scale_by ( 32 32 ); +#X obj 42 40 inlet; +#X obj 39 168 outlet; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 0 0; +#X restore 82 464 pd pixelate; +#N canvas 0 0 450 300 get_image_size 0; +#X obj 39 70 @dim; +#X obj 39 116 @export_list; +#X obj 39 139 s size; +#X obj 39 92 @inner * + 0 ( 3 2 # 1 0 0 1 0 0 ); +#X obj 30 28 inlet; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 3 0 1 0; +#X connect 4 0 0 0; +#X restore 94 169 pd get_image_size; +#X text 226 169 <-- necessary for centroid; +#X text 208 357 <-- finds the centre of the displaced pixels; +#X text 169 463 <-- make the image into 15 x 20 squares; +#X connect 0 0 15 0; +#X connect 1 0 2 0; +#X connect 3 0 18 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 14 0 19 0; +#X connect 15 0 6 0; +#X connect 16 0 17 0; +#X connect 16 1 25 0; +#X connect 17 0 18 0; +#X connect 17 1 3 0; +#X connect 18 0 19 0; +#X connect 18 1 14 0; +#X connect 19 0 23 0; +#X connect 19 1 24 0; +#X connect 20 0 17 1; +#X connect 21 0 18 1; +#X connect 22 0 19 1; +#X connect 23 0 1 0; +#X connect 24 0 23 0; diff --git a/externals/gridflow/pd_help/help_mouse.pd b/externals/gridflow/pd_help/help_mouse.pd new file mode 100644 index 00000000..3b5dc0a5 --- /dev/null +++ b/externals/gridflow/pd_help/help_mouse.pd @@ -0,0 +1,55 @@ +#N canvas 215 0 510 490 10; +#X msg 147 123 option setcursor 32; +#X text 49 22 How to get the mouse coordinates and hide / change the +cursor?; +#X msg 128 100 option hidecursor; +#X text 273 98 <-- removes the cursor; +#X text 307 120 <-- accepts 0 - 63; +#X obj 206 168 print xy_clicked; +#X obj 110 165 @out window; +#X obj 207 214 print xy_unclicked; +#X obj 107 341 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 127 341 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 147 341 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X floatatom 178 359 5 0 0 0 - - -; +#X obj 178 333 +; +#X obj 210 333 t a; +#X obj 207 238 print xy_moved; +#X obj 206 190 print xy_dragged; +#X obj 110 267 @mouse \, ...; +#X obj 380 376 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 400 376 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 420 376 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 380 402 @three; +#X obj 380 431 @export_list; +#X obj 440 352 loadbang; +#X text 281 332 select buttons to be considered in click/drag/unclick +; +#X connect 0 0 6 0; +#X connect 2 0 6 0; +#X connect 6 0 16 0; +#X connect 12 0 13 0; +#X connect 12 0 11 0; +#X connect 13 0 12 1; +#X connect 16 0 5 0; +#X connect 16 1 15 0; +#X connect 16 2 7 0; +#X connect 16 3 14 0; +#X connect 16 4 8 0; +#X connect 16 5 9 0; +#X connect 16 6 10 0; +#X connect 16 7 12 0; +#X connect 17 0 20 0; +#X connect 18 0 20 1; +#X connect 19 0 20 2; +#X connect 20 0 21 0; +#X connect 21 0 16 1; +#X connect 22 0 17 0; +#X connect 22 0 18 0; +#X connect 22 0 19 0; diff --git a/externals/gridflow/pd_help/printargs.pd b/externals/gridflow/pd_help/printargs.pd new file mode 100644 index 00000000..39ada19e --- /dev/null +++ b/externals/gridflow/pd_help/printargs.pd @@ -0,0 +1,10 @@ +#N canvas 435 101 688 277 10; +#X text 191 203 see also:; +#X obj 297 208 @export; +#X text 619 13 gridflow; +#X obj 262 208 @dim; +#X obj 352 208 @print; +#X text 14 15 printargs; +#X text 144 14 prints everything; +#X obj 401 208 rubyprint; +#X obj 17 101 printargs lallala; diff --git a/externals/gridflow/pd_help/rubyprint.pd b/externals/gridflow/pd_help/rubyprint.pd new file mode 100644 index 00000000..2cdc5e56 --- /dev/null +++ b/externals/gridflow/pd_help/rubyprint.pd @@ -0,0 +1,26 @@ +#N canvas 435 101 688 277 10; +#X text 191 203 see also:; +#X obj 297 208 @export; +#X obj 19 123 @three; +#X floatatom 19 73 5 0 0 0 - - -; +#X floatatom 37 52 5 0 0 0 - - -; +#X floatatom 56 73 5 0 0 0 - - -; +#X obj 112 123 @import ( 3 3 3 ); +#X obj 113 73 until; +#X msg 113 53 27; +#X obj 112 93 random 27; +#X text 619 13 gridflow; +#X obj 262 208 @dim; +#X obj 401 208 printargs; +#X text 14 15 rubyprint; +#X obj 352 208 @print; +#X obj 19 197 rubyprint; +#X text 144 15 prints the message to the console; +#X connect 2 0 15 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X connect 5 0 2 2; +#X connect 6 0 15 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 9 0 6 0; |