From 91c0003b158e5f0ed9d0677fb136ae8bb6f86ec5 Mon Sep 17 00:00:00 2001 From: "N.N." Date: Mon, 28 Apr 2008 18:10:15 +0000 Subject: this is an old gridflow, and there's already a svn repository at http://gridflow.ca/svn/trunk svn path=/trunk/; revision=9739 --- externals/gridflow/doc/Makefile | 2 - externals/gridflow/doc/architecture.html | 217 --- externals/gridflow/doc/architecture.xml | 395 ----- externals/gridflow/doc/flow_classes/#+-help.pd | 364 ----- externals/gridflow/doc/flow_classes/#-help.pd | 309 ---- externals/gridflow/doc/flow_classes/#-icon.png | Bin 198 -> 0 bytes .../#apply_colormap_channelwise-icon.png | Bin 521 -> 0 bytes externals/gridflow/doc/flow_classes/#cast-help.pd | 45 - externals/gridflow/doc/flow_classes/#cast-icon.png | Bin 307 -> 0 bytes .../gridflow/doc/flow_classes/#checkers-icon.png | Bin 294 -> 0 bytes externals/gridflow/doc/flow_classes/#clip-help.pd | 67 - .../gridflow/doc/flow_classes/#color-icon.png | Bin 549 -> 0 bytes .../gridflow/doc/flow_classes/#complex_sq-icon.png | Bin 319 -> 0 bytes .../gridflow/doc/flow_classes/#contrast-help.pd | 46 - .../gridflow/doc/flow_classes/#contrast-icon.png | Bin 289 -> 0 bytes .../gridflow/doc/flow_classes/#convolve-icon.png | Bin 281 -> 0 bytes externals/gridflow/doc/flow_classes/#dim-help.pd | 32 - externals/gridflow/doc/flow_classes/#dim-icon.png | Bin 223 -> 0 bytes .../doc/flow_classes/#downscale_by-icon.png | Bin 353 -> 0 bytes .../gridflow/doc/flow_classes/#draw_image-icon.png | Bin 367 -> 0 bytes .../doc/flow_classes/#draw_polygon-icon.png | Bin 404 -> 0 bytes .../gridflow/doc/flow_classes/#export-icon.png | Bin 263 -> 0 bytes .../doc/flow_classes/#export_list-icon.png | Bin 337 -> 0 bytes .../doc/flow_classes/#export_symbol-icon.png | Bin 366 -> 0 bytes externals/gridflow/doc/flow_classes/#fade-help.pd | 80 - externals/gridflow/doc/flow_classes/#fade-icon.png | Bin 242 -> 0 bytes .../gridflow/doc/flow_classes/#fade_lin-icon.png | Bin 295 -> 0 bytes .../gridflow/doc/flow_classes/#finished-icon.png | Bin 291 -> 0 bytes externals/gridflow/doc/flow_classes/#fold-icon.png | Bin 255 -> 0 bytes externals/gridflow/doc/flow_classes/#for-icon.png | Bin 305 -> 0 bytes .../gridflow/doc/flow_classes/#grade-icon.png | Bin 256 -> 0 bytes .../doc/flow_classes/#greyscale_to_rgb-icon.png | Bin 393 -> 0 bytes .../gridflow/doc/flow_classes/#import-icon.png | Bin 428 -> 0 bytes externals/gridflow/doc/flow_classes/#in-help.pd | 135 -- .../gridflow/doc/flow_classes/#inner-icon.png | Bin 287 -> 0 bytes externals/gridflow/doc/flow_classes/#join-icon.png | Bin 265 -> 0 bytes .../gridflow/doc/flow_classes/#layer-icon.png | Bin 268 -> 0 bytes externals/gridflow/doc/flow_classes/#numop-help.pd | 366 ----- .../gridflow/doc/flow_classes/#outer-icon.png | Bin 270 -> 0 bytes externals/gridflow/doc/flow_classes/#pack-help.pd | 75 - externals/gridflow/doc/flow_classes/#pack-icon.png | Bin 252 -> 0 bytes .../doc/flow_classes/#pack_and_#unpack-help.pd | 85 -- .../doc/flow_classes/#perspective-icon.png | Bin 337 -> 0 bytes .../gridflow/doc/flow_classes/#posterize-icon.png | Bin 309 -> 0 bytes externals/gridflow/doc/flow_classes/#print-help.pd | 68 - .../gridflow/doc/flow_classes/#print-help2.pd | 113 -- .../gridflow/doc/flow_classes/#print-icon.png | Bin 250 -> 0 bytes .../gridflow/doc/flow_classes/#ravel-icon.png | Bin 258 -> 0 bytes .../gridflow/doc/flow_classes/#redim-icon.png | Bin 326 -> 0 bytes .../gridflow/doc/flow_classes/#remap_image-help.pd | 73 - .../doc/flow_classes/#remap_image-icon.png | Bin 323 -> 0 bytes .../gridflow/doc/flow_classes/#reverse-help.pd | 46 - .../doc/flow_classes/#rgb_to_greyscale-icon.png | Bin 407 -> 0 bytes .../gridflow/doc/flow_classes/#rgb_to_yuv-help.pd | 11 - .../gridflow/doc/flow_classes/#rgb_to_yuv-icon.png | Bin 328 -> 0 bytes .../#rgb_to_yuv_and_#yuv_to_rgb-help.pd | 44 - .../gridflow/doc/flow_classes/#rotate-icon.png | Bin 261 -> 0 bytes .../gridflow/doc/flow_classes/#scale_by-icon.png | Bin 311 -> 0 bytes .../gridflow/doc/flow_classes/#scale_to-icon.png | Bin 287 -> 0 bytes externals/gridflow/doc/flow_classes/#scan-icon.png | Bin 262 -> 0 bytes .../gridflow/doc/flow_classes/#solarize-icon.png | Bin 294 -> 0 bytes .../gridflow/doc/flow_classes/#spread-icon.png | Bin 279 -> 0 bytes .../gridflow/doc/flow_classes/#store-icon.png | Bin 253 -> 0 bytes .../gridflow/doc/flow_classes/#transpose-icon.png | Bin 311 -> 0 bytes externals/gridflow/doc/flow_classes/#type-icon.png | Bin 253 -> 0 bytes .../doc/flow_classes/#unpack-#pack-help.pd | 45 - .../gridflow/doc/flow_classes/#yuv_to_rgb-icon.png | Bin 315 -> 0 bytes .../gridflow/doc/flow_classes/@complex_sq-icon.png | Bin 336 -> 0 bytes .../gridflow/doc/flow_classes/@global-icon.png | Bin 264 -> 0 bytes externals/gridflow/doc/flow_classes/@join-icon.png | Bin 242 -> 0 bytes .../gridflow/doc/flow_classes/bindpatcher-icon.png | Bin 299 -> 0 bytes externals/gridflow/doc/flow_classes/demux-icon.png | Bin 235 -> 0 bytes externals/gridflow/doc/flow_classes/exec-help.pd | 13 - externals/gridflow/doc/flow_classes/exec-icon.png | Bin 219 -> 0 bytes .../gridflow/doc/flow_classes/foreach-icon.png | Bin 255 -> 0 bytes externals/gridflow/doc/flow_classes/fork-icon.png | Bin 218 -> 0 bytes externals/gridflow/doc/flow_classes/fps-icon.png | Bin 317 -> 0 bytes externals/gridflow/doc/flow_classes/inv+-icon.png | Bin 219 -> 0 bytes .../gridflow/doc/flow_classes/inv_mul-icon.png | Bin 226 -> 0 bytes .../gridflow/doc/flow_classes/listappend-icon.png | Bin 302 -> 0 bytes .../gridflow/doc/flow_classes/listelement-help.pd | 61 - .../gridflow/doc/flow_classes/listelement-icon.png | Bin 331 -> 0 bytes .../gridflow/doc/flow_classes/listflatten-icon.png | Bin 305 -> 0 bytes .../gridflow/doc/flow_classes/listlength-icon.png | Bin 308 -> 0 bytes .../gridflow/doc/flow_classes/listmake-icon.png | Bin 287 -> 0 bytes .../gridflow/doc/flow_classes/listprepend-icon.png | Bin 320 -> 0 bytes .../gridflow/doc/flow_classes/listreverse-icon.png | Bin 312 -> 0 bytes .../gridflow/doc/flow_classes/listsublist-icon.png | Bin 375 -> 0 bytes externals/gridflow/doc/flow_classes/ls-help.pd | 21 - externals/gridflow/doc/flow_classes/ls-icon.png | Bin 203 -> 0 bytes .../doc/flow_classes/messageappend-icon.png | Bin 329 -> 0 bytes .../doc/flow_classes/messageprepend-icon.png | Bin 344 -> 0 bytes .../gridflow/doc/flow_classes/oneshot-icon.png | Bin 261 -> 0 bytes .../doc/flow_classes/pd_netreceive-icon.png | Bin 400 -> 0 bytes .../gridflow/doc/flow_classes/pd_netsend-icon.png | Bin 476 -> 0 bytes .../gridflow/doc/flow_classes/pingpong-icon.png | Bin 248 -> 0 bytes .../doc/flow_classes/plotter_control-help.pd | 64 - .../doc/flow_classes/plotter_control-icon.png | Bin 327 -> 0 bytes .../gridflow/doc/flow_classes/printargs-icon.png | Bin 285 -> 0 bytes externals/gridflow/doc/flow_classes/range-icon.png | Bin 230 -> 0 bytes .../gridflow/doc/flow_classes/renamefile-help.pd | 9 - .../gridflow/doc/flow_classes/renamefile-icon.png | Bin 280 -> 0 bytes externals/gridflow/doc/flow_classes/rubyarray.png | Bin 288 -> 0 bytes .../gridflow/doc/flow_classes/rubyprint-icon.png | Bin 285 -> 0 bytes .../gridflow/doc/flow_classes/rubysprintf-icon.png | Bin 339 -> 0 bytes externals/gridflow/doc/flow_classes/shunt-icon.png | Bin 265 -> 0 bytes .../gridflow/doc/flow_classes/unix_time-help.pd | 29 - .../gridflow/doc/flow_classes/unix_time-icon.png | Bin 292 -> 0 bytes externals/gridflow/doc/format.html | 485 ------ externals/gridflow/doc/format.xml | 780 ---------- externals/gridflow/doc/format/#camera-icon.png | Bin 302 -> 0 bytes externals/gridflow/doc/format/#in-help.pd | 189 --- externals/gridflow/doc/format/#in-icon.png | Bin 252 -> 0 bytes externals/gridflow/doc/format/#mouse-icon.png | Bin 287 -> 0 bytes externals/gridflow/doc/format/#out-icon.png | Bin 215 -> 0 bytes externals/gridflow/doc/format/#peephole-icon.png | Bin 319 -> 0 bytes externals/gridflow/doc/format/#quicktime-help.pd | 10 - externals/gridflow/doc/format/#videodev-help.pd | 15 - externals/gridflow/doc/format/aalib-icon.png | Bin 338 -> 0 bytes externals/gridflow/doc/format/jpeg-icon.png | Bin 474 -> 0 bytes externals/gridflow/doc/format/opengrid-icon.png | Bin 406 -> 0 bytes externals/gridflow/doc/format/openmpeg-icon.png | Bin 409 -> 0 bytes externals/gridflow/doc/format/openppm-icon.png | Bin 394 -> 0 bytes externals/gridflow/doc/format/opentarga-icon.png | Bin 418 -> 0 bytes externals/gridflow/doc/format/openx11-icon.png | Bin 336 -> 0 bytes externals/gridflow/doc/format/png-icon.png | Bin 451 -> 0 bytes externals/gridflow/doc/format/quartz-icon.png | Bin 360 -> 0 bytes externals/gridflow/doc/format/quicktime-icon.png | Bin 528 -> 0 bytes externals/gridflow/doc/format/sdl-icon.png | Bin 331 -> 0 bytes externals/gridflow/doc/format/videodev-icon.png | Bin 425 -> 0 bytes externals/gridflow/doc/format/window-icon.png | Bin 299 -> 0 bytes externals/gridflow/doc/format/window2-icon.png | Bin 358 -> 0 bytes externals/gridflow/doc/gridflow.css | 15 - externals/gridflow/doc/images/black.png | Bin 85 -> 0 bytes externals/gridflow/doc/images/crop_icons | 12 - externals/gridflow/doc/images/pingpong.png | Bin 765 -> 0 bytes externals/gridflow/doc/images/see_screenshot.png | Bin 870 -> 0 bytes externals/gridflow/doc/images/titre_gridflow.png | Bin 2530 -> 0 bytes externals/gridflow/doc/index.html | 149 -- externals/gridflow/doc/install.html | 122 -- externals/gridflow/doc/install.xml | 140 -- externals/gridflow/doc/internals.html | 206 --- externals/gridflow/doc/internals.xml | 228 --- externals/gridflow/doc/introduction.html | 125 -- externals/gridflow/doc/license.html | 75 - externals/gridflow/doc/moulinette.rb | 660 -------- externals/gridflow/doc/op/abs-icon.png | Bin 268 -> 0 bytes externals/gridflow/doc/op/add-icon.png | Bin 198 -> 0 bytes externals/gridflow/doc/op/and-icon.png | Bin 209 -> 0 bytes externals/gridflow/doc/op/atan-icon.png | Bin 248 -> 0 bytes externals/gridflow/doc/op/avg-icon.png | Bin 243 -> 0 bytes externals/gridflow/doc/op/bus-icon.png | Bin 247 -> 0 bytes externals/gridflow/doc/op/clip+-icon.png | Bin 263 -> 0 bytes externals/gridflow/doc/op/clip--icon.png | Bin 255 -> 0 bytes externals/gridflow/doc/op/cmp-icon.png | Bin 240 -> 0 bytes externals/gridflow/doc/op/cos-icon.png | Bin 250 -> 0 bytes externals/gridflow/doc/op/div-icon.png | Bin 203 -> 0 bytes externals/gridflow/doc/op/div2-icon.png | Bin 236 -> 0 bytes externals/gridflow/doc/op/dom-icon.png | Bin 286 -> 0 bytes externals/gridflow/doc/op/eq-icon.png | Bin 205 -> 0 bytes externals/gridflow/doc/op/gamma-icon.png | Bin 258 -> 0 bytes externals/gridflow/doc/op/gcd-icon.png | Bin 241 -> 0 bytes externals/gridflow/doc/op/ge-icon.png | Bin 212 -> 0 bytes externals/gridflow/doc/op/gt-icon.png | Bin 197 -> 0 bytes externals/gridflow/doc/op/hypot-icon.png | Bin 273 -> 0 bytes externals/gridflow/doc/op/ignore-icon.png | Bin 276 -> 0 bytes externals/gridflow/doc/op/lcm-icon.png | Bin 227 -> 0 bytes externals/gridflow/doc/op/le-icon.png | Bin 214 -> 0 bytes externals/gridflow/doc/op/log-icon.png | Bin 248 -> 0 bytes externals/gridflow/doc/op/lt-icon.png | Bin 196 -> 0 bytes externals/gridflow/doc/op/max-icon.png | Bin 238 -> 0 bytes externals/gridflow/doc/op/mer-icon.png | Bin 293 -> 0 bytes externals/gridflow/doc/op/min-icon.png | Bin 233 -> 0 bytes externals/gridflow/doc/op/mod-icon.png | Bin 213 -> 0 bytes externals/gridflow/doc/op/mul-icon.png | Bin 203 -> 0 bytes externals/gridflow/doc/op/ne-icon.png | Bin 209 -> 0 bytes externals/gridflow/doc/op/or-icon.png | Bin 185 -> 0 bytes externals/gridflow/doc/op/pow-icon.png | Bin 210 -> 0 bytes externals/gridflow/doc/op/put-icon.png | Bin 227 -> 0 bytes externals/gridflow/doc/op/rand-icon.png | Bin 246 -> 0 bytes externals/gridflow/doc/op/rem-icon.png | Bin 236 -> 0 bytes externals/gridflow/doc/op/sc_and-icon.png | Bin 228 -> 0 bytes externals/gridflow/doc/op/sc_or-icon.png | Bin 183 -> 0 bytes externals/gridflow/doc/op/shl-icon.png | Bin 204 -> 0 bytes externals/gridflow/doc/op/shr-icon.png | Bin 204 -> 0 bytes externals/gridflow/doc/op/sin-icon.png | Bin 257 -> 0 bytes externals/gridflow/doc/op/sq-icon.png | Bin 241 -> 0 bytes externals/gridflow/doc/op/sqrt-icon.png | Bin 264 -> 0 bytes externals/gridflow/doc/op/sub-icon.png | Bin 189 -> 0 bytes externals/gridflow/doc/op/tanh-icon.png | Bin 264 -> 0 bytes externals/gridflow/doc/op/vid-icon.png | Bin 250 -> 0 bytes externals/gridflow/doc/op/vid2-icon.png | Bin 313 -> 0 bytes externals/gridflow/doc/op/xor-icon.png | Bin 200 -> 0 bytes externals/gridflow/doc/profiling.html | 151 -- externals/gridflow/doc/project_policy.html | 98 -- externals/gridflow/doc/project_policy.xml | 99 -- externals/gridflow/doc/reference.html | 1165 -------------- externals/gridflow/doc/reference.xml | 1607 -------------------- externals/gridflow/doc/tutorials/0-0-intro_page.pd | 89 -- .../2-3-4-image-modification-2-remap-image.pd | 55 - .../2-3-5-image-modification-2-convolve.pd | 120 -- .../2-3-6-image-modification-2-cross-fade.pd | 93 -- externals/gridflow/doc/tutorials/2nd-part-numop.pd | 80 - .../gridflow/doc/tutorials/3-1-0-open-video.pd | 38 - .../doc/tutorials/3-2-video-manipulation.pd | 1 - .../gridflow/doc/tutorials/3-3-record-video.pd | 51 - .../gridflow/doc/tutorials/4-0-open-live-stream.pd | 24 - ...4-1-2-simple-motion-detection-absolute-value.pd | 31 - ...ion-detection-more-advanced-and-more-options.pd | 49 - .../doc/tutorials/4-1-simple-motion-detection.pd | 37 - externals/gridflow/doc/tutorials/PD-GF-Lecture.pd | 80 - externals/gridflow/doc/tutorials/PD-Lecture.pd | 64 - externals/gridflow/doc/tutorials/colors.pd | 12 - .../d_gf_2_0-Intro_to_images_open_image.pd | 62 - ...2_2_1-image-modification-1-numop-all-in-one2.pd | 127 -- externals/gridflow/doc/tutorials/d_gf_2_2_2.pd | 68 - .../doc/tutorials/gf_1_0-Introduction_to_grids.pd | 98 -- .../tutorials/gf_2-2-3-resize-image_dec_2005.pd | 60 - .../doc/tutorials/gf_2-2-4-greyscale_dec_2005.pd | 27 - .../tutorials/gf_2_0-Intro_to_images_open_image.pd | 62 - ...2_2_1-image-modification-1-numop-all-in-one2.pd | 127 -- externals/gridflow/doc/tutorials/gf_2_2_2.pd | 68 - externals/gridflow/doc/tutorials/grid-intro.pd | 10 - ...-3-0-1-image-modification-1-numop-all-in-one.pd | 123 -- .../doc/tutorials/probably_not_good_2-3-0-2.pd | 61 - externals/gridflow/doc/tutorials/pure-data-1.pd | 71 - externals/gridflow/doc/tutorials/pure-data-2.pd | 73 - externals/gridflow/doc/tutorials/pure-data-3.pd | 70 - externals/gridflow/doc/tutorials/pure-data-4.pd | 87 -- externals/gridflow/doc/tutorials/pure-data-5.pd | 108 -- externals/gridflow/doc/tutorials/pure-data-6.pd | 92 -- externals/gridflow/doc/tutorials/pure-data-7.pd | 106 -- externals/gridflow/doc/tutorials/pure-data-8.pd | 89 -- externals/gridflow/doc/tutorials/pure-data-9.pd | 43 - .../doc/tutorials/randomly-select-an-image.pd | 53 - .../doc/tutorials/title-page-pd-gf-in-one.pd | 129 -- .../gridflow/doc/tutorials/txt-for-resize-image.pd | 3 - 237 files changed, 11787 deletions(-) delete mode 100644 externals/gridflow/doc/Makefile delete mode 100644 externals/gridflow/doc/architecture.html delete mode 100644 externals/gridflow/doc/architecture.xml delete mode 100644 externals/gridflow/doc/flow_classes/#+-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#apply_colormap_channelwise-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#cast-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#cast-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#checkers-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#clip-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#color-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#complex_sq-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#contrast-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#contrast-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#convolve-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#dim-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#dim-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#downscale_by-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#draw_image-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#draw_polygon-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#export-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#export_list-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#export_symbol-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#fade-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#fade-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#fade_lin-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#finished-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#fold-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#for-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#grade-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#greyscale_to_rgb-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#import-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#in-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#inner-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#join-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#layer-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#numop-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#outer-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#pack-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#pack-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#pack_and_#unpack-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#perspective-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#posterize-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#print-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#print-help2.pd delete mode 100644 externals/gridflow/doc/flow_classes/#print-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#ravel-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#redim-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#remap_image-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#remap_image-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#reverse-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#rgb_to_greyscale-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#rgb_to_yuv-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#rgb_to_yuv-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#rgb_to_yuv_and_#yuv_to_rgb-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#rotate-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#scale_by-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#scale_to-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#scan-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#solarize-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#spread-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#store-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#transpose-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#type-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/#unpack-#pack-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/#yuv_to_rgb-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/@complex_sq-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/@global-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/@join-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/bindpatcher-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/demux-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/exec-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/exec-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/foreach-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/fork-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/fps-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/inv+-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/inv_mul-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/listappend-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/listelement-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/listelement-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/listflatten-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/listlength-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/listmake-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/listprepend-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/listreverse-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/listsublist-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/ls-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/ls-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/messageappend-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/messageprepend-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/oneshot-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/pd_netreceive-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/pd_netsend-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/pingpong-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/plotter_control-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/plotter_control-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/printargs-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/range-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/renamefile-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/renamefile-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/rubyarray.png delete mode 100644 externals/gridflow/doc/flow_classes/rubyprint-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/rubysprintf-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/shunt-icon.png delete mode 100644 externals/gridflow/doc/flow_classes/unix_time-help.pd delete mode 100644 externals/gridflow/doc/flow_classes/unix_time-icon.png delete mode 100644 externals/gridflow/doc/format.html delete mode 100644 externals/gridflow/doc/format.xml delete mode 100644 externals/gridflow/doc/format/#camera-icon.png delete mode 100644 externals/gridflow/doc/format/#in-help.pd delete mode 100644 externals/gridflow/doc/format/#in-icon.png delete mode 100644 externals/gridflow/doc/format/#mouse-icon.png delete mode 100644 externals/gridflow/doc/format/#out-icon.png delete mode 100644 externals/gridflow/doc/format/#peephole-icon.png delete mode 100644 externals/gridflow/doc/format/#quicktime-help.pd delete mode 100644 externals/gridflow/doc/format/#videodev-help.pd delete mode 100644 externals/gridflow/doc/format/aalib-icon.png delete mode 100644 externals/gridflow/doc/format/jpeg-icon.png delete mode 100644 externals/gridflow/doc/format/opengrid-icon.png delete mode 100644 externals/gridflow/doc/format/openmpeg-icon.png delete mode 100644 externals/gridflow/doc/format/openppm-icon.png delete mode 100644 externals/gridflow/doc/format/opentarga-icon.png delete mode 100644 externals/gridflow/doc/format/openx11-icon.png delete mode 100644 externals/gridflow/doc/format/png-icon.png delete mode 100644 externals/gridflow/doc/format/quartz-icon.png delete mode 100644 externals/gridflow/doc/format/quicktime-icon.png delete mode 100644 externals/gridflow/doc/format/sdl-icon.png delete mode 100644 externals/gridflow/doc/format/videodev-icon.png delete mode 100644 externals/gridflow/doc/format/window-icon.png delete mode 100644 externals/gridflow/doc/format/window2-icon.png delete mode 100644 externals/gridflow/doc/gridflow.css delete mode 100644 externals/gridflow/doc/images/black.png delete mode 100644 externals/gridflow/doc/images/crop_icons delete mode 100644 externals/gridflow/doc/images/pingpong.png delete mode 100644 externals/gridflow/doc/images/see_screenshot.png delete mode 100644 externals/gridflow/doc/images/titre_gridflow.png delete mode 100644 externals/gridflow/doc/index.html delete mode 100644 externals/gridflow/doc/install.html delete mode 100644 externals/gridflow/doc/install.xml delete mode 100644 externals/gridflow/doc/internals.html delete mode 100644 externals/gridflow/doc/internals.xml delete mode 100644 externals/gridflow/doc/introduction.html delete mode 100644 externals/gridflow/doc/license.html delete mode 100644 externals/gridflow/doc/moulinette.rb delete mode 100644 externals/gridflow/doc/op/abs-icon.png delete mode 100644 externals/gridflow/doc/op/add-icon.png delete mode 100644 externals/gridflow/doc/op/and-icon.png delete mode 100644 externals/gridflow/doc/op/atan-icon.png delete mode 100644 externals/gridflow/doc/op/avg-icon.png delete mode 100644 externals/gridflow/doc/op/bus-icon.png delete mode 100644 externals/gridflow/doc/op/clip+-icon.png delete mode 100644 externals/gridflow/doc/op/clip--icon.png delete mode 100644 externals/gridflow/doc/op/cmp-icon.png delete mode 100644 externals/gridflow/doc/op/cos-icon.png delete mode 100644 externals/gridflow/doc/op/div-icon.png delete mode 100644 externals/gridflow/doc/op/div2-icon.png delete mode 100644 externals/gridflow/doc/op/dom-icon.png delete mode 100644 externals/gridflow/doc/op/eq-icon.png delete mode 100644 externals/gridflow/doc/op/gamma-icon.png delete mode 100644 externals/gridflow/doc/op/gcd-icon.png delete mode 100644 externals/gridflow/doc/op/ge-icon.png delete mode 100644 externals/gridflow/doc/op/gt-icon.png delete mode 100644 externals/gridflow/doc/op/hypot-icon.png delete mode 100644 externals/gridflow/doc/op/ignore-icon.png delete mode 100644 externals/gridflow/doc/op/lcm-icon.png delete mode 100644 externals/gridflow/doc/op/le-icon.png delete mode 100644 externals/gridflow/doc/op/log-icon.png delete mode 100644 externals/gridflow/doc/op/lt-icon.png delete mode 100644 externals/gridflow/doc/op/max-icon.png delete mode 100644 externals/gridflow/doc/op/mer-icon.png delete mode 100644 externals/gridflow/doc/op/min-icon.png delete mode 100644 externals/gridflow/doc/op/mod-icon.png delete mode 100644 externals/gridflow/doc/op/mul-icon.png delete mode 100644 externals/gridflow/doc/op/ne-icon.png delete mode 100644 externals/gridflow/doc/op/or-icon.png delete mode 100644 externals/gridflow/doc/op/pow-icon.png delete mode 100644 externals/gridflow/doc/op/put-icon.png delete mode 100644 externals/gridflow/doc/op/rand-icon.png delete mode 100644 externals/gridflow/doc/op/rem-icon.png delete mode 100644 externals/gridflow/doc/op/sc_and-icon.png delete mode 100644 externals/gridflow/doc/op/sc_or-icon.png delete mode 100644 externals/gridflow/doc/op/shl-icon.png delete mode 100644 externals/gridflow/doc/op/shr-icon.png delete mode 100644 externals/gridflow/doc/op/sin-icon.png delete mode 100644 externals/gridflow/doc/op/sq-icon.png delete mode 100644 externals/gridflow/doc/op/sqrt-icon.png delete mode 100644 externals/gridflow/doc/op/sub-icon.png delete mode 100644 externals/gridflow/doc/op/tanh-icon.png delete mode 100644 externals/gridflow/doc/op/vid-icon.png delete mode 100644 externals/gridflow/doc/op/vid2-icon.png delete mode 100644 externals/gridflow/doc/op/xor-icon.png delete mode 100644 externals/gridflow/doc/profiling.html delete mode 100644 externals/gridflow/doc/project_policy.html delete mode 100644 externals/gridflow/doc/project_policy.xml delete mode 100644 externals/gridflow/doc/reference.html delete mode 100644 externals/gridflow/doc/reference.xml delete mode 100755 externals/gridflow/doc/tutorials/0-0-intro_page.pd delete mode 100755 externals/gridflow/doc/tutorials/2-3-4-image-modification-2-remap-image.pd delete mode 100755 externals/gridflow/doc/tutorials/2-3-5-image-modification-2-convolve.pd delete mode 100755 externals/gridflow/doc/tutorials/2-3-6-image-modification-2-cross-fade.pd delete mode 100755 externals/gridflow/doc/tutorials/2nd-part-numop.pd delete mode 100755 externals/gridflow/doc/tutorials/3-1-0-open-video.pd delete mode 100755 externals/gridflow/doc/tutorials/3-2-video-manipulation.pd delete mode 100755 externals/gridflow/doc/tutorials/3-3-record-video.pd delete mode 100755 externals/gridflow/doc/tutorials/4-0-open-live-stream.pd delete mode 100755 externals/gridflow/doc/tutorials/4-1-2-simple-motion-detection-absolute-value.pd delete mode 100755 externals/gridflow/doc/tutorials/4-1-3-motion-detection-more-advanced-and-more-options.pd delete mode 100755 externals/gridflow/doc/tutorials/4-1-simple-motion-detection.pd delete mode 100755 externals/gridflow/doc/tutorials/PD-GF-Lecture.pd delete mode 100755 externals/gridflow/doc/tutorials/PD-Lecture.pd delete mode 100755 externals/gridflow/doc/tutorials/colors.pd delete mode 100644 externals/gridflow/doc/tutorials/d_gf_2_0-Intro_to_images_open_image.pd delete mode 100644 externals/gridflow/doc/tutorials/d_gf_2_2_1-image-modification-1-numop-all-in-one2.pd delete mode 100644 externals/gridflow/doc/tutorials/d_gf_2_2_2.pd delete mode 100755 externals/gridflow/doc/tutorials/gf_1_0-Introduction_to_grids.pd delete mode 100644 externals/gridflow/doc/tutorials/gf_2-2-3-resize-image_dec_2005.pd delete mode 100644 externals/gridflow/doc/tutorials/gf_2-2-4-greyscale_dec_2005.pd delete mode 100755 externals/gridflow/doc/tutorials/gf_2_0-Intro_to_images_open_image.pd delete mode 100755 externals/gridflow/doc/tutorials/gf_2_2_1-image-modification-1-numop-all-in-one2.pd delete mode 100644 externals/gridflow/doc/tutorials/gf_2_2_2.pd delete mode 100755 externals/gridflow/doc/tutorials/grid-intro.pd delete mode 100755 externals/gridflow/doc/tutorials/probably_not_good_2-3-0-1-image-modification-1-numop-all-in-one.pd delete mode 100644 externals/gridflow/doc/tutorials/probably_not_good_2-3-0-2.pd delete mode 100755 externals/gridflow/doc/tutorials/pure-data-1.pd delete mode 100755 externals/gridflow/doc/tutorials/pure-data-2.pd delete mode 100755 externals/gridflow/doc/tutorials/pure-data-3.pd delete mode 100755 externals/gridflow/doc/tutorials/pure-data-4.pd delete mode 100755 externals/gridflow/doc/tutorials/pure-data-5.pd delete mode 100755 externals/gridflow/doc/tutorials/pure-data-6.pd delete mode 100755 externals/gridflow/doc/tutorials/pure-data-7.pd delete mode 100755 externals/gridflow/doc/tutorials/pure-data-8.pd delete mode 100755 externals/gridflow/doc/tutorials/pure-data-9.pd delete mode 100755 externals/gridflow/doc/tutorials/randomly-select-an-image.pd delete mode 100755 externals/gridflow/doc/tutorials/title-page-pd-gf-in-one.pd delete mode 100755 externals/gridflow/doc/tutorials/txt-for-resize-image.pd (limited to 'externals/gridflow/doc') diff --git a/externals/gridflow/doc/Makefile b/externals/gridflow/doc/Makefile deleted file mode 100644 index 9171db3f..00000000 --- a/externals/gridflow/doc/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -all:: - ruby moulinette.rb \ No newline at end of file diff --git a/externals/gridflow/doc/architecture.html b/externals/gridflow/doc/architecture.html deleted file mode 100644 index 009464a1..00000000 --- a/externals/gridflow/doc/architecture.html +++ /dev/null @@ -1,217 +0,0 @@ - - -GridFlow 0.8.1 - Reference Manual: Architecture - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
 
-
-

GridFlow 0.8.1 - Reference Manual: Architecture

-
    
-

Numbers

High-performance computation requires precise and quite peculiar - definitions of numbers and their representation.

Inside most programs, numbers are written down as strings of - bits. A bit is either zero or one. Just like the decimal system - uses units, tens, hundreds, the binary system uses units, twos, - fours, eights, sixteens, and so on, doubling every time.

One notation, called integer allows for only integer values to be - written (no fractions). when it is unsigned, no negative values may - be written. when it is signed, one bit indicates whether the number - is positive or negative. Integer storage is usually fixed-size, so you have - bounds on the size of numbers, and if a result is too big it "wraps around", truncating the biggest - bits.

Another notation, called floating point (or float) stores numbers using - a fixed number of significant digits, and a scale factor that allows for huge numbers - and tiny fractions at once. Note that 1/3 has periodic digits, but even 0.1 has periodic digits, - in binary coding; so expect some slight roundings; the precision offered should be - sufficient for most purposes. Make sure the errors of rounding don't accumulate, though.

This little program of mine prints 1/3 in base 2 (only digits after the period): ruby -e 'x=1/3.0;for i in 0..52 do x*=2;y=x.floor;print y;x-=y end;puts'

In GridFlow, there are six kinds of numbers:

namealiasesrangesize (bytes)precisiondescription
uint8u8 b0..25511 - unsigned 8-bit integer. - this is the usual size of numbers taken from files and cameras, and - written to files and to windows. (however this gets converted to int32 - unless otherwise specified.)
int16i16 s±215 = -32768..3276721...
int32i32 i±231 = -2147483648..214748364741 - signed 32-bit integer. - this is used for most computations.
int64i64 l±26381...
float32f32 f±10±38423 bits = 0.000012% (about 7 digits)...
float64f64 d±10±308852 bits (about 15 digits)...
 
-

Grid Literals

- In every grid-accepting inlet, a list may be sent instead; if - it consists only of integers, it will be converted to a - one-dimensional grid. Else it may contain a single "#" sign and - integers on both sides of it, where the ones to the left of it are - fed as arguments to an imaginary [#redim] object and the one to the - right of it are fed through that [#redim].

- In every grid-accepting inlet, an integer or float may also be sent; - it will be converted to a zero-dimensional grid (a scalar).

 
-

Grid Protocol

- a grid has an associated number type that defines what are the possible values for its elements - (and how much space it takes). the default is int32.

- a single-dimensional grid of 3 elements (a triplet) is called dim(3). a - three-dimensional grid of 240 rows of 320 columns of triplets is called - dim(240,320,3).

- There is a sequence in which elements of a Grid are stored and - transmitted. Dimension 0 is called "first" and dimension N-1 is - called "last". They are called so because if you select a - position in the first dimension of a grid, the selected part is of the same - shape minus the first dimension; so in dim(240,320,3) if you select - row 51 (or whichever valid row number), you get a dim(320,3). if you select - a subpart two more times you get to a single number.

- At each such level, elements are sent/stored in their numeric order, - and are numbered using natural numbers starting at 0. This ordering usually - does not matter, but sometimes it does. Most notably, [#import], [#export] and [#redim] care about it.

- On the other hand, order of dimensions usually does matter; this is - what distinguishes rows from columns and channels, for example. - Most objects care about the distinction.

- A grid with only 1 element in a given dimension is different from one - lacking that dimension; it won't have the same meaning. You can use this - property to your advantage sometimes.

- Zero-dimensional grids exist. They are called dim(). They can only contain - a single number.

 
-

Picture Protocol

This section is useful if you want to know what a picture is - in terms of a grid.

A picture is a three-dimensional Grid:

  • 0 : rows
  • 1 : columns
  • 2 : channels

Channels for the RGB color model are:

  • 0 : red
  • 1 : green
  • 2 : blue

- Because Grids are made of 32-bit integers, a three-channel picture uses - 96 bpp (bits per pixel), and have to be downscaled to 24 bpp (or 16 bpp) - for display. That huge amount of slack is there because when you create - your own effects you often have intermediate results that need to be of - higher precision than a normal picture. Especially, results of multiplications - are big and should not overflow before you divide them back to normal; - and similarly, you can have negative values all over, as long as you take - care of them before they get to the display.

- In the final conversion, high bits are just ignored. This means: black is - 0, maximum is 255, and values wrap like with % 256. If you want to - clip them, you may use [# max 0] and [# min 255] objects.

 
-

Numeric Operators

In the following table, A is the value entered to the - left, and B is the value entered to the right.

Angles are in hundredths of degrees. This means a full circle - (two pi radians) is 36000. You convert from degrees to our angles - by multiplying by 100. You convert from radians to our angles by - multiplying by 18000/pi.

Hyperbolic functions (tanh) work with our angles too, so the - same conversions apply.

namedescriptionmeaning in pixel context (pictures, palettes)meaning in spatial context (indexmaps, polygons)
ignore A no effectno effect
put B replace byreplace by
+ A + B brightness, crossfademove, morph
- A - B brightness, motion detectionmove, motion detection
inv+ B - A negate then contrast180 degree rotate then move
* A * B contrastzoom out
/ A / B, rounded towards zero contrastzoom in
div A / B, rounded downwards contrastzoom in
inv* B / A, rounded towards zero ----
swapdiv B / A, rounded downwards ----
% A % B, modulo (goes with div) --tile
swap% B % A, modulo (goes with div) ----
rem A % B, remainder (goes with /) ----
swaprem B % A, remainder (goes with /) ----
gcd - greatest common divisor----
lcm - least common multiple----
| A or B, bitwise bright munchiesbottomright munchies
^ A xor B, bitwise symmetric munchies (fractal checkers)symmetric munchies (fractal checkers)
& A and B, bitwise dark munchiestopleft munchies
<< A * (2**(B % 32)), which is left-shifting like *like *
>> A / (2**(B % 32)), which is right-shifting like /,divlike /,div
|| if A is zero then B else A ----
&& if A is zero then zero else B----
min the lowest value in A,B clippingclipping (of individual points)
max the highest value in A,B clippingclipping (of individual points)
cmp -1 when A<B; 0 when A=B; 1 when A>B. ----
== is A equal to B ? 1=true, 0=false ----
!= is A not equal to B ? ----
> is A greater than B ? ----
<= is A not greater than B ? ----
< is A less than B ? ----
>=is A not less than B ? ----
sin* B * sin(A) --waves, rotations
cos* B * cos(A) --waves, rotations
atan arctan(A/B) --find angle to origin (part of polar transform)
tanh* B * tanh(A) smooth clippingsmooth clipping (of individual points), neural sigmoid, fuzzy logic
log* B * log(A) (in base e) ----
gamma floor(pow(a/256.0,256.0/b)*256.0) gamma correction--
** A**B, that is, A raised to power B gamma correction--
abs- absolute value of (A-B) ----
rand randomly produces a non-negative number below A ----
sqrt square root of A, rounded downwards ----
sq- (A-B) times (A-B) ----
clip+ like A+B but overflow causes clipping instead of wrapping around (coming soon) ----
clip- like A-B but overflow causes clipping instead of wrapping around (coming soon) ----
avg (A+B)/2 ----
hypot square root of (A*A+B*B) ----
erf* integral of e^(-x*x) dx ... (coming soon; what ought to be the scaling factor?) ----
 
-

Synchronisation

In GridFlow you cannot send two grids in different inlets at the -same time. You have to use [#finished] together with (possibly) [fork] and [#store], -which can be cumbersome. If you don't do this, the result is undefined -behaviour (or crash!).

In GridFlow 0.7.1 this is beginning to change. [#store] and # now allow -right-inlet grids to be buffered if an operation is occuring on left inlet. This -should make many circuits simpler.

(more to come)

 
-

Bridges

Starting with version 0.6, GridFlow is Ruby-centric instead of jMax-centric. -jMax support has been added back as a Bridge.

Bridges, for the most part, plug into the FObject class, which is the common -root of most of GridFlow's classes. Under the current design, the bridge is -compiled separately, and is directly loaded by the host software; then the -bridge starts Ruby and makes it load the main GridFlow; then the bridge hooks -with the main part.

 
-
-

-GridFlow 0.8.1 Documentation
-Copyright © 2001,2002,2003,2004,2005,2006 by Mathieu Bouchard -matju@artengine.ca -

-
- - diff --git a/externals/gridflow/doc/architecture.xml b/externals/gridflow/doc/architecture.xml deleted file mode 100644 index bf87474e..00000000 --- a/externals/gridflow/doc/architecture.xml +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - - - - - - - -
- -

High-performance computation requires precise and quite peculiar - definitions of numbers and their representation.

- -

Inside most programs, numbers are written down as strings of - bits. A bit is either zero or one. Just like the decimal system - uses units, tens, hundreds, the binary system uses units, twos, - fours, eights, sixteens, and so on, doubling every time.

- -

One notation, called integer allows for only integer values to be - written (no fractions). when it is unsigned, no negative values may - be written. when it is signed, one bit indicates whether the number - is positive or negative. Integer storage is usually fixed-size, so you have - bounds on the size of numbers, and if a result is too big it "wraps around", truncating the biggest - bits.

- -

Another notation, called floating point (or float) stores numbers using - a fixed number of significant digits, and a scale factor that allows for huge numbers - and tiny fractions at once. Note that 1/3 has periodic digits, but even 0.1 has periodic digits, - in binary coding; so expect some slight roundings; the precision offered should be - sufficient for most purposes. Make sure the errors of rounding don't accumulate, though.

- -

This little program of mine prints 1/3 in base 2 (only digits after the period): - ruby -e 'x=1/3.0;for i in 0..52 do x*=2;y=x.floor;print y;x-=y end;puts'

- - -

In GridFlow, there are six kinds of numbers:

- - - name - aliases - range - size (bytes) - precision - description - - unsigned 8-bit integer. - this is the usual size of numbers taken from files and cameras, and - written to files and to windows. (however this gets converted to int32 - unless otherwise specified.) - - ... - - signed 32-bit integer. - this is used for most computations. - - ... - ... - ... -
-
- -
-

- In every grid-accepting inlet, a list may be sent instead; if - it consists only of integers, it will be converted to a - one-dimensional grid. Else it may contain a single "#" sign and - integers on both sides of it, where the ones to the left of it are - fed as arguments to an imaginary [#redim] object and the one to the - right of it are fed through that [#redim]. -

-

- In every grid-accepting inlet, an integer or float may also be sent; - it will be converted to a zero-dimensional grid (a scalar). -

-
- -
-

- a grid has an associated number type that defines what are the possible values for its elements - (and how much space it takes). the default is int32. -

-

- a single-dimensional grid of 3 elements (a triplet) is called dim(3). a - three-dimensional grid of 240 rows of 320 columns of triplets is called - dim(240,320,3). -

-

- There is a sequence in which elements of a Grid are stored and - transmitted. Dimension 0 is called "first" and dimension N-1 is - called "last". They are called so because if you select a - position in the first dimension of a grid, the selected part is of the same - shape minus the first dimension; so in dim(240,320,3) if you select - row 51 (or whichever valid row number), you get a dim(320,3). if you select - a subpart two more times you get to a single number. -

-

- At each such level, elements are sent/stored in their numeric order, - and are numbered using natural numbers starting at 0. This ordering usually - does not matter, but sometimes it does. Most notably, [#import], - [#export] and [#redim] care about it. -

-

- On the other hand, order of dimensions usually does matter; this is - what distinguishes rows from columns and channels, for example. - Most objects care about the distinction. -

-

- A grid with only 1 element in a given dimension is different from one - lacking that dimension; it won't have the same meaning. You can use this - property to your advantage sometimes. -

-

- Zero-dimensional grids exist. They are called dim(). They can only contain - a single number. -

-
- -
-

This section is useful if you want to know what a picture is - in terms of a grid. -

- -

A picture is a three-dimensional Grid: - -

  • rows
  • -
  • columns
  • -
  • channels
  • - -

    -

    Channels for the RGB color model are: - -

  • red
  • -
  • green
  • -
  • blue
  • - -

    -

    - Because Grids are made of 32-bit integers, a three-channel picture uses - 96 bpp (bits per pixel), and have to be downscaled to 24 bpp (or 16 bpp) - for display. That huge amount of slack is there because when you create - your own effects you often have intermediate results that need to be of - higher precision than a normal picture. Especially, results of multiplications - are big and should not overflow before you divide them back to normal; - and similarly, you can have negative values all over, as long as you take - care of them before they get to the display. -

    -

    - In the final conversion, high bits are just ignored. This means: black is - 0, maximum is 255, and values wrap like with % 256. If you want to - clip them, you may use [# max 0] and [# min 255] objects. -

    -
    - -
    -

    In the following table, A is the value entered to the - left, and B is the value entered to the right.

    - -

    Angles are in hundredths of degrees. This means a full circle - (two pi radians) is 36000. You convert from degrees to our angles - by multiplying by 100. You convert from radians to our angles by - multiplying by 18000/pi.

    - -

    Hyperbolic functions (tanh) work with our angles too, so the - same conversions apply.

    - - - name - description - meaning in pixel context (pictures, palettes) - meaning in spatial context (indexmaps, polygons) - - - A - B - - - A + B - A - B - B - A - - - A * B - A / B, rounded towards zero - A / B, rounded downwards - B / A, rounded towards zero - B / A, rounded downwards - A % B, modulo (goes with div) - B % A, modulo (goes with div) - A % B, remainder (goes with /) - B % A, remainder (goes with /) - - - greatest common divisor - - - least common multiple - - - A or B, bitwise - A xor B, bitwise - A and B, bitwise - A * (2**(B % 32)), which is left-shifting - A / (2**(B % 32)), which is right-shifting - - - if A is zero then B else A - if A is zero then zero else B - the lowest value in A,B - the highest value in A,B - - - -1 when A<B; 0 when A=B; 1 when A>B. - is A equal to B ? 1=true, 0=false - is A not equal to B ? - is A greater than B ? - is A not greater than B ? - is A less than B ? - is A not less than B ? - - - B * sin(A) - B * cos(A) - arctan(A/B) - B * tanh(A) - B * log(A) (in base e) - floor(pow(a/256.0,256.0/b)*256.0) - A**B, that is, A raised to power B - - - absolute value of (A-B) - randomly produces a non-negative number below A - square root of A, rounded downwards - (A-B) times (A-B) - - - like A+B but overflow causes clipping instead of wrapping around (coming soon) - like A-B but overflow causes clipping instead of wrapping around (coming soon) - (A+B)/2 - square root of (A*A+B*B) - integral of e^(-x*x) dx ... (coming soon; what ought to be the scaling factor?) -
    -
    - - - -
    -

    In GridFlow you cannot send two grids in different inlets at the -same time. You have to use [#finished] together with (possibly) [fork] and [#store], -which can be cumbersome. If you don't do this, the result is undefined -behaviour (or crash!).

    - -

    In GridFlow 0.7.1 this is beginning to change. [#store] and # now allow -right-inlet grids to be buffered if an operation is occuring on left inlet. This -should make many circuits simpler. -

    - -

    (more to come)

    -
    - -
    -

    Starting with version 0.6, GridFlow is Ruby-centric instead of jMax-centric. -jMax support has been added back as a Bridge.

    - -

    Bridges, for the most part, plug into the FObject class, which is the common -root of most of GridFlow's classes. Under the current design, the bridge is -compiled separately, and is directly loaded by the host software; then the -bridge starts Ruby and makes it load the main GridFlow; then the bridge hooks -with the main part. -

    - -
    - -
    diff --git a/externals/gridflow/doc/flow_classes/#+-help.pd b/externals/gridflow/doc/flow_classes/#+-help.pd deleted file mode 100644 index 511d67c1..00000000 --- a/externals/gridflow/doc/flow_classes/#+-help.pd +++ /dev/null @@ -1,364 +0,0 @@ -#N canvas 165 32 693 623 10; -#X obj 8 3 cnv 15 90 578 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 36 326 INLETS:; -#X text 36 344 - LEFT:; -#X text 30 386 - RIGHT:; -#X text 29 469 OUTLETS:; -#X text 28 53 EXAMPLES:; -#X text 16 553 SEE ALSO:; -#N canvas 52 15 871 640 More_Info 0; -#X text 76 366 A + B; -#X text 77 510 A * B; -#X text 73 571 rounded towards zero; -#X text 14 73 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 13 44 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 text 902 31 GridFlow 0.8.0; -#X obj 479 70 #color; -#X obj 684 72 #color; -#X msg 15 366 op +; -#X msg 15 507 op *; -#X obj 15 385 s op; -#X obj 423 155 r op; -#X obj 15 526 s op; -#X obj 15 436 s op; -#X text 77 421 A - B; -#X msg 15 417 op -; -#X obj 15 761 s op; -#X msg 15 742 op %; -#X text 69 743 A % B; -#X obj 15 575 s op; -#X msg 15 556 op /; -#X text 79 557 A / B; -#X obj 14 809 s op; -#X text 83 790 B % A; -#X text 15 14 Numeric Operators: *whoa \, there's a lot of them; -#X obj 16 482 s op; -#X msg 16 463 op inv+; -#X text 79 464 B -A; -#X obj 15 623 s op; -#X text 79 605 A / B; -#X msg 15 604 op div; -#X text 75 621 rounded downwards; -#X obj 15 668 s op; -#X msg 15 649 op inv*; -#X text 80 650 B / A; -#X text 77 665 rounded towards 0; -#X obj 15 712 s op; -#X text 76 714 rounded downwards; -#X text 101 695 B / A; -#X text 68 760 modulo (goes with div); -#X text 65 809 modulo (goes with div); -#X msg 14 790 op swap%; -#X obj 15 286 s op; -#X obj 15 334 s op; -#X msg 15 267 op ignore; -#X text 90 268 A; -#X msg 15 315 op put; -#X text 76 315 B; -#X msg 15 693 op swapdiv; -#X obj 237 286 s op; -#X msg 237 267 op rem; -#X text 315 263 A % B; -#X obj 236 338 s op; -#X text 330 319 B % A; -#X text 314 278 remainder; -#X text 314 293 (goes with /); -#X msg 236 319 op swaprem; -#X text 327 333 remainder; -#X text 326 348 (goes with /); -#X obj 236 388 s op; -#X obj 236 435 s op; -#X msg 236 369 op gcd; -#X msg 236 416 op lcm; -#X text 298 373 greatest common divisor; -#X text 298 420 least common multiple; -#X obj 235 481 s op; -#X text 299 464 A or B \, bitwise; -#X msg 235 462 op; -#X obj 235 525 s op; -#X text 299 508 A xor B \, bitwise; -#X msg 235 506 op ^; -#X obj 235 578 s op; -#X msg 235 559 op &; -#X text 300 561 A and B \, bitwise; -#X obj 235 623 s op; -#X msg 235 604 op <<; -#X text 300 606 A * (2**(B % 32); -#X text 299 621 left-shifthing; -#X obj 235 669 s op; -#X msg 235 649 op >>; -#X text 299 666 right-shifthing; -#X text 300 652 A / (2**(B % 32); -#X obj 218 463 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X obj 235 714 s op; -#X msg 235 695 op; -#X obj 218 695 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X text 299 697 if A is zero then; -#X text 300 711 B else A; -#X obj 235 758 s op; -#X text 299 741 if A is zero then; -#X text 15 110 comment; -#X msg 235 739 op &&; -#X text 300 755 zero else B; -#X obj 236 807 s op; -#X msg 236 788 op min; -#X text 300 789 the lowest value; -#X text 301 804 in A \, B; -#X obj 500 287 s op; -#X msg 500 267 op max; -#X text 556 284 in A \, B; -#X text 557 268 the highest value; -#X obj 500 333 s op; -#X msg 500 313 op cmp; -#X text 551 310 -1 when AB; -#X text 558 324 0 when A=B; -#X obj 500 386 s op; -#X msg 500 366 op ==; -#X text 557 367 is A equal to B ?; -#X text 556 385 1 = true \, 0 = false; -#X obj 500 433 s op; -#X msg 500 413 op !=; -#X text 557 414 is A not equal to B ?; -#X obj 500 477 s op; -#X msg 500 456 op >; -#X text 557 457 is A greater than B ?; -#X obj 500 523 s op; -#X msg 500 502 op <=; -#X text 557 503 is A not greater than B ?; -#X obj 500 572 s op; -#X msg 500 551 op <; -#X text 557 552 is A less than B ?; -#X obj 500 618 s op; -#X msg 500 597 op >=; -#X text 557 598 is A not less than B ?; -#X obj 500 666 s op; -#X msg 500 645 op sin*; -#X text 559 646 B * sin(A); -#X obj 500 713 s op; -#X msg 500 691 op cos*; -#X text 560 693 B * cos(A); -#X obj 500 758 s op; -#X msg 500 736 op atan; -#X text 560 737 arctan(A/B); -#X obj 499 805 s op; -#X msg 499 783 op tan*; -#X text 559 784 tanh(A); -#X obj 738 288 s op; -#X msg 738 268 op log*; -#X text 795 269 B*log(A); -#X text 794 286 in base e; -#X obj 738 334 s op; -#X msg 738 314 op gamma; -#X text 809 314 floor(pow(a/256.0 \, 256.0/b)*256.0); -#X obj 737 385 s op; -#X msg 737 366 op **; -#X text 799 368 A**B; -#X text 799 385 A raised to power B; -#X obj 737 431 s op; -#X msg 737 412 op abs-; -#X text 799 412 absolute value of (A-B); -#X obj 737 478 s op; -#X msg 737 459 op rand; -#X text 800 473 number below A; -#X text 799 458 randomly produces a non-negative; -#X obj 737 524 s op; -#X msg 737 505 op sqrt; -#X text 799 504 square root of A; -#X text 800 519 rounded downwards; -#X obj 737 566 s op; -#X msg 737 547 op sq-; -#X text 800 546 (A-B) times (A-B); -#X obj 740 614 s op; -#X obj 723 595 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 740 595 op clip+; -#X text 808 595 A+B but output is clipped; -#X obj 740 660 s op; -#X obj 723 641 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 740 641 op clip-; -#X text 808 641 A-B but output is clipped; -#X obj 740 706 s op; -#X obj 740 750 s op; -#X text 808 687 (A+B)/2; -#X msg 740 687 op avg; -#X msg 740 731 op hypot; -#X text 808 731 square root of (A*A+B*B); -#X obj 740 792 s op; -#X obj 723 773 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 740 773 op erf; -#X text 807 773 integral of e^(-x*x)dx; -#N canvas 8 30 615 351 all_operators 0; -#X obj 174 99 # -; -#X obj 522 97 # swap%; -#X obj 186 177 # abs-; -#X obj 238 177 # rand; -#X obj 342 177 # sq-; -#X obj 290 177 # sqrt; -#X obj 144 99 # +; -#X obj 492 97 # %; -#X obj 260 99 # *; -#X obj 289 99 # /; -#X obj 206 99 # inv+; -#X obj 321 99 # div; -#X obj 367 98 # inv*; -#X obj 420 98 # swapdiv; -#X obj 35 99 # ignore; -#X obj 100 100 # put; -#X obj 35 125 # rem; -#X obj 78 125 # swaprem; -#X obj 149 125 # gcd; -#X obj 191 125 # lcm; -#X obj 234 125 # |; -#X obj 234 125 # |; -#X obj 263 125 # ^; -#X obj 293 125 # &; -#X obj 322 125 # <<; -#X obj 358 125 # >>; -#X obj 394 125 # ||; -#X obj 431 125 # &&; -#X obj 467 125 # min; -#X obj 35 151 # max; -#X obj 79 151 # cmp; -#X obj 124 151 # ==; -#X obj 162 151 # !=; -#X obj 199 151 # >; -#X obj 234 151 # <=; -#X obj 274 151 # <; -#X obj 304 152 # >=; -#X obj 341 152 # sin*; -#X obj 391 152 # cos*; -#X obj 442 152 # atan; -#X obj 493 152 # tanh*; -#X obj 35 177 # log*; -#X obj 87 177 # gamma; -#X obj 148 177 # **; -#X obj 388 177 # avg; -#X obj 433 177 # hypot; -#X restore 15 174 pd all_operators; -#X text 585 31 select values below; -#X text 14 233 select an operator below; -#X text 478 51 A; -#X text 683 53 B; -#X obj 479 182 # +; -#X obj 257 196 #color; -#X obj 297 162 #reverse; -#X obj 443 215 display; -#X obj 656 197 #unpack 3; -#X floatatom 605 244 5 0 0 0 - - -; -#X obj 642 150 t a a; -#X obj 597 191 display; -#X connect 7 0 186 0; -#X connect 7 0 188 0; -#X connect 7 0 192 0; -#X connect 8 0 186 1; -#X connect 9 0 11 0; -#X connect 10 0 13 0; -#X connect 12 0 186 0; -#X connect 16 0 14 0; -#X connect 18 0 17 0; -#X connect 21 0 20 0; -#X connect 27 0 26 0; -#X connect 31 0 29 0; -#X connect 34 0 33 0; -#X connect 42 0 23 0; -#X connect 45 0 43 0; -#X connect 47 0 44 0; -#X connect 49 0 37 0; -#X connect 51 0 50 0; -#X connect 57 0 53 0; -#X connect 62 0 60 0; -#X connect 63 0 61 0; -#X connect 68 0 66 0; -#X connect 71 0 69 0; -#X connect 73 0 72 0; -#X connect 76 0 75 0; -#X connect 80 0 79 0; -#X connect 85 0 84 0; -#X connect 92 0 89 0; -#X connect 95 0 94 0; -#X connect 99 0 98 0; -#X connect 103 0 102 0; -#X connect 108 0 107 0; -#X connect 112 0 111 0; -#X connect 115 0 114 0; -#X connect 118 0 117 0; -#X connect 121 0 120 0; -#X connect 124 0 123 0; -#X connect 127 0 126 0; -#X connect 130 0 129 0; -#X connect 133 0 132 0; -#X connect 136 0 135 0; -#X connect 139 0 138 0; -#X connect 143 0 142 0; -#X connect 146 0 145 0; -#X connect 150 0 149 0; -#X connect 153 0 152 0; -#X connect 157 0 156 0; -#X connect 161 0 160 0; -#X connect 165 0 163 0; -#X connect 169 0 167 0; -#X connect 174 0 171 0; -#X connect 175 0 172 0; -#X connect 179 0 177 0; -#X connect 188 0 187 0; -#X connect 188 0 189 0; -#X connect 190 0 191 0; -#X connect 192 0 193 0; -#X connect 192 1 190 0; -#X restore 115 574 pd More_Info; -#X text 36 492 - LEFT:; -#X text 412 575 updated for GridFlow version 0.8.0; -#X floatatom 151 163 5 0 0 0 - - -; -#X text 113 554 list of other operators; -#X obj 71 9 # +; -#X text 108 12 - OPERATORS ([# +] in this case) APPLY OPERATIONS ONTO -GRIDS; -#X text 109 345 Grid - accepts a grid that will be modified by the -operator according to the right inlet value. (list of operators in -[pd more_info]) ([# +] in this example.); -#X text 108 395 Grid - accepts grids that will modify the incoming -grid \, from the left inlet \, (preferably of the same dimensions.) -; -#X text 105 439 Integer - accepts integers that will modify the incoming -grid.; -#X text 107 492 Grid - outputs the modified data as a grid.; -#X obj 142 211 display; -#X obj 114 93 #color; -#X msg 114 60 255 0 0; -#X obj 114 253 #color; -#X obj 511 179 #in; -#X obj 511 249 #out window; -#X msg 541 156 open b001.jpg; -#X obj 511 113 t b b; -#X obj 511 58 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 511 79 metro 100; -#X obj 511 202 # +; -#X obj 511 226 #clip; -#X text 204 164 <-- change this value.; -#X obj 114 181 # + 42; -#X text 293 109 <-- modify color; -#X connect 10 0 31 1; -#X connect 19 0 31 0; -#X connect 20 0 19 0; -#X connect 22 0 28 0; -#X connect 24 0 22 0; -#X connect 25 0 22 0; -#X connect 25 1 24 0; -#X connect 26 0 27 0; -#X connect 27 0 25 0; -#X connect 28 0 29 0; -#X connect 29 0 23 0; -#X connect 31 0 18 0; -#X connect 31 0 21 0; diff --git a/externals/gridflow/doc/flow_classes/#-help.pd b/externals/gridflow/doc/flow_classes/#-help.pd deleted file mode 100644 index 3b891db4..00000000 --- a/externals/gridflow/doc/flow_classes/#-help.pd +++ /dev/null @@ -1,309 +0,0 @@ -#N canvas 291 30 1089 795 10; -#X text 76 366 A + B; -#X text 77 510 A * B; -#X text 73 571 rounded towards zero; -#X text 14 73 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 13 44 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 text 902 31 GridFlow 0.8.0; -#X obj 479 70 #color; -#X obj 684 72 #color; -#X msg 15 366 op +; -#X msg 15 507 op *; -#X obj 15 385 s op; -#X obj 423 155 r op; -#X obj 15 526 s op; -#X obj 15 436 s op; -#X text 77 421 A - B; -#X msg 15 417 op -; -#X obj 15 761 s op; -#X msg 15 742 op %; -#X text 69 743 A % B; -#X obj 15 575 s op; -#X msg 15 556 op /; -#X text 79 557 A / B; -#X obj 14 809 s op; -#X text 83 790 B % A; -#X text 15 14 Numeric Operators: *whoa \, there's a lot of them; -#X obj 16 482 s op; -#X msg 16 463 op inv+; -#X text 79 464 B -A; -#X obj 15 623 s op; -#X text 79 605 A / B; -#X msg 15 604 op div; -#X text 75 621 rounded downwards; -#X obj 15 668 s op; -#X msg 15 649 op inv*; -#X text 80 650 B / A; -#X text 77 665 rounded towards 0; -#X obj 15 712 s op; -#X text 76 714 rounded downwards; -#X text 101 695 B / A; -#X text 68 760 modulo (goes with div); -#X text 65 809 modulo (goes with div); -#X msg 14 790 op swap%; -#X obj 15 286 s op; -#X obj 15 334 s op; -#X msg 15 267 op ignore; -#X text 90 268 A; -#X msg 15 315 op put; -#X text 76 315 B; -#X msg 15 693 op swapdiv; -#X obj 237 286 s op; -#X msg 237 267 op rem; -#X text 315 263 A % B; -#X obj 236 338 s op; -#X text 330 319 B % A; -#X text 314 278 remainder; -#X text 314 293 (goes with /); -#X msg 236 319 op swaprem; -#X text 327 333 remainder; -#X text 326 348 (goes with /); -#X obj 236 388 s op; -#X obj 236 435 s op; -#X msg 236 369 op gcd; -#X msg 236 416 op lcm; -#X text 298 373 greatest common divisor; -#X text 298 420 least common multiple; -#X obj 235 481 s op; -#X text 299 464 A or B \, bitwise; -#X msg 235 462 op; -#X obj 235 525 s op; -#X text 299 508 A xor B \, bitwise; -#X msg 235 506 op ^; -#X obj 235 578 s op; -#X msg 235 559 op &; -#X text 300 561 A and B \, bitwise; -#X obj 235 623 s op; -#X msg 235 604 op <<; -#X text 300 606 A * (2**(B % 32); -#X text 299 621 left-shifthing; -#X obj 235 669 s op; -#X msg 235 649 op >>; -#X text 299 666 right-shifthing; -#X text 300 652 A / (2**(B % 32); -#X obj 218 463 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X obj 235 714 s op; -#X msg 235 695 op; -#X obj 218 695 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X text 299 697 if A is zero then; -#X text 300 711 B else A; -#X obj 235 758 s op; -#X text 299 741 if A is zero then; -#X text 15 110 comment; -#X msg 235 739 op &&; -#X text 300 755 zero else B; -#X obj 236 807 s op; -#X msg 236 788 op min; -#X text 300 789 the lowest value; -#X text 301 804 in A \, B; -#X obj 500 287 s op; -#X msg 500 267 op max; -#X text 556 284 in A \, B; -#X text 557 268 the highest value; -#X obj 500 333 s op; -#X msg 500 313 op cmp; -#X text 551 310 -1 when AB; -#X text 558 324 0 when A=B; -#X obj 500 386 s op; -#X msg 500 366 op ==; -#X text 557 367 is A equal to B ?; -#X text 556 385 1 = true \, 0 = false; -#X obj 500 433 s op; -#X msg 500 413 op !=; -#X text 557 414 is A not equal to B ?; -#X obj 500 477 s op; -#X msg 500 456 op >; -#X text 557 457 is A greater than B ?; -#X obj 500 523 s op; -#X msg 500 502 op <=; -#X text 557 503 is A not greater than B ?; -#X obj 500 572 s op; -#X msg 500 551 op <; -#X text 557 552 is A less than B ?; -#X obj 500 618 s op; -#X msg 500 597 op >=; -#X text 557 598 is A not less than B ?; -#X obj 500 666 s op; -#X msg 500 645 op sin*; -#X text 559 646 B * sin(A); -#X obj 500 713 s op; -#X msg 500 691 op cos*; -#X text 560 693 B * cos(A); -#X obj 500 758 s op; -#X msg 500 736 op atan; -#X text 560 737 arctan(A/B); -#X obj 499 805 s op; -#X msg 499 783 op tan*; -#X text 559 784 tanh(A); -#X obj 738 288 s op; -#X msg 738 268 op log*; -#X text 795 269 B*log(A); -#X text 794 286 in base e; -#X obj 738 334 s op; -#X msg 738 314 op gamma; -#X text 809 314 floor(pow(a/256.0 \, 256.0/b)*256.0); -#X obj 737 385 s op; -#X msg 737 366 op **; -#X text 799 368 A**B; -#X text 799 385 A raised to power B; -#X obj 737 431 s op; -#X msg 737 412 op abs-; -#X text 799 412 absolute value of (A-B); -#X obj 737 478 s op; -#X msg 737 459 op rand; -#X text 800 473 number below A; -#X text 799 458 randomly produces a non-negative; -#X obj 737 524 s op; -#X msg 737 505 op sqrt; -#X text 799 504 square root of A; -#X text 800 519 rounded downwards; -#X obj 737 566 s op; -#X msg 737 547 op sq-; -#X text 800 546 (A-B) times (A-B); -#X obj 740 614 s op; -#X obj 723 595 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 740 595 op clip+; -#X text 808 595 A+B but output is clipped; -#X obj 740 660 s op; -#X obj 723 641 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 740 641 op clip-; -#X text 808 641 A-B but output is clipped; -#X obj 740 706 s op; -#X obj 740 750 s op; -#X text 808 687 (A+B)/2; -#X msg 740 687 op avg; -#X msg 740 731 op hypot; -#X text 808 731 square root of (A*A+B*B); -#X obj 740 792 s op; -#X obj 723 773 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 740 773 op erf; -#X text 807 773 integral of e^(-x*x)dx; -#N canvas 8 30 615 351 all_operators 0; -#X obj 174 99 # -; -#X obj 522 97 # swap%; -#X obj 186 177 # abs-; -#X obj 238 177 # rand; -#X obj 342 177 # sq-; -#X obj 290 177 # sqrt; -#X obj 144 99 # +; -#X obj 492 97 # %; -#X obj 260 99 # *; -#X obj 289 99 # /; -#X obj 206 99 # inv+; -#X obj 321 99 # div; -#X obj 367 98 # inv*; -#X obj 420 98 # swapdiv; -#X obj 35 99 # ignore; -#X obj 100 100 # put; -#X obj 35 125 # rem; -#X obj 78 125 # swaprem; -#X obj 149 125 # gcd; -#X obj 191 125 # lcm; -#X obj 234 125 # |; -#X obj 234 125 # |; -#X obj 263 125 # ^; -#X obj 293 125 # &; -#X obj 322 125 # <<; -#X obj 358 125 # >>; -#X obj 394 125 # ||; -#X obj 431 125 # &&; -#X obj 467 125 # min; -#X obj 35 151 # max; -#X obj 79 151 # cmp; -#X obj 124 151 # ==; -#X obj 162 151 # !=; -#X obj 199 151 # >; -#X obj 234 151 # <=; -#X obj 274 151 # <; -#X obj 304 152 # >=; -#X obj 341 152 # sin*; -#X obj 391 152 # cos*; -#X obj 442 152 # atan; -#X obj 493 152 # tanh*; -#X obj 35 177 # log*; -#X obj 87 177 # gamma; -#X obj 148 177 # **; -#X obj 388 177 # avg; -#X obj 433 177 # hypot; -#X restore 15 174 pd all_operators; -#X text 585 31 select values below; -#X text 14 233 select an operator below; -#X text 478 51 A; -#X text 683 53 B; -#X obj 479 182 # +; -#X obj 257 196 #color; -#X obj 297 162 #reverse; -#X obj 443 215 display; -#X obj 656 197 #unpack 3; -#X floatatom 605 244 5 0 0 0 - - -; -#X obj 642 150 t a a; -#X obj 597 191 display; -#X connect 7 0 186 0; -#X connect 7 0 188 0; -#X connect 7 0 192 0; -#X connect 8 0 186 1; -#X connect 9 0 11 0; -#X connect 10 0 13 0; -#X connect 12 0 186 0; -#X connect 16 0 14 0; -#X connect 18 0 17 0; -#X connect 21 0 20 0; -#X connect 27 0 26 0; -#X connect 31 0 29 0; -#X connect 34 0 33 0; -#X connect 42 0 23 0; -#X connect 45 0 43 0; -#X connect 47 0 44 0; -#X connect 49 0 37 0; -#X connect 51 0 50 0; -#X connect 57 0 53 0; -#X connect 62 0 60 0; -#X connect 63 0 61 0; -#X connect 68 0 66 0; -#X connect 71 0 69 0; -#X connect 73 0 72 0; -#X connect 76 0 75 0; -#X connect 80 0 79 0; -#X connect 85 0 84 0; -#X connect 92 0 89 0; -#X connect 95 0 94 0; -#X connect 99 0 98 0; -#X connect 103 0 102 0; -#X connect 108 0 107 0; -#X connect 112 0 111 0; -#X connect 115 0 114 0; -#X connect 118 0 117 0; -#X connect 121 0 120 0; -#X connect 124 0 123 0; -#X connect 127 0 126 0; -#X connect 130 0 129 0; -#X connect 133 0 132 0; -#X connect 136 0 135 0; -#X connect 139 0 138 0; -#X connect 143 0 142 0; -#X connect 146 0 145 0; -#X connect 150 0 149 0; -#X connect 153 0 152 0; -#X connect 157 0 156 0; -#X connect 161 0 160 0; -#X connect 165 0 163 0; -#X connect 169 0 167 0; -#X connect 174 0 171 0; -#X connect 175 0 172 0; -#X connect 179 0 177 0; -#X connect 188 0 187 0; -#X connect 188 0 189 0; -#X connect 190 0 191 0; -#X connect 192 0 193 0; -#X connect 192 1 190 0; diff --git a/externals/gridflow/doc/flow_classes/#-icon.png b/externals/gridflow/doc/flow_classes/#-icon.png deleted file mode 100644 index b1fedc1b..00000000 Binary files a/externals/gridflow/doc/flow_classes/#-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#apply_colormap_channelwise-icon.png b/externals/gridflow/doc/flow_classes/#apply_colormap_channelwise-icon.png deleted file mode 100644 index 155d68c3..00000000 Binary files a/externals/gridflow/doc/flow_classes/#apply_colormap_channelwise-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#cast-help.pd b/externals/gridflow/doc/flow_classes/#cast-help.pd deleted file mode 100644 index 94246cc9..00000000 --- a/externals/gridflow/doc/flow_classes/#cast-help.pd +++ /dev/null @@ -1,45 +0,0 @@ -#N canvas 435 101 684 379 10; -#X text 108 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 109 53 numbertypes are: uint8 \, int16 \, int32 \, int64 \, -float32 \, float64. see doc/architecture.html for more info.; -#X obj 115 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 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 78 210 t a a a a; -#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 2005 256; -#X obj 215 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 115 136 #pack 4 float32; -#X obj 115 158 #redim ( 2 2 ); -#X obj 78 185 #store; -#X obj 136 234 #print; -#X obj 116 254 #cast uint8; -#X obj 116 274 #print; -#X obj 97 294 #cast int32; -#X obj 97 314 #print; -#X obj 78 334 #cast float64; -#X obj 78 354 #print; -#X text 14 14 [#cast]; -#X text 575 10 GridFlow 0.8.0; -#X connect 2 0 9 0; -#X connect 3 0 11 0; -#X connect 5 0 17 0; -#X connect 5 1 15 0; -#X connect 5 2 13 0; -#X connect 5 3 12 0; -#X connect 6 0 9 1; -#X connect 7 0 9 2; -#X connect 8 0 9 3; -#X connect 9 0 10 0; -#X connect 10 0 11 1; -#X connect 11 0 5 0; -#X connect 13 0 14 0; -#X connect 15 0 16 0; -#X connect 17 0 18 0; diff --git a/externals/gridflow/doc/flow_classes/#cast-icon.png b/externals/gridflow/doc/flow_classes/#cast-icon.png deleted file mode 100644 index 7abe3191..00000000 Binary files a/externals/gridflow/doc/flow_classes/#cast-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#checkers-icon.png b/externals/gridflow/doc/flow_classes/#checkers-icon.png deleted file mode 100644 index e0ab0ad0..00000000 Binary files a/externals/gridflow/doc/flow_classes/#checkers-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#clip-help.pd b/externals/gridflow/doc/flow_classes/#clip-help.pd deleted file mode 100644 index 490afbbc..00000000 --- a/externals/gridflow/doc/flow_classes/#clip-help.pd +++ /dev/null @@ -1,67 +0,0 @@ -#N canvas 693 131 606 601 10; -#X obj 360 381 #in; -#X obj 360 422 # + 42; -#X floatatom 404 400 5 0 0 0 - - -; -#X obj 360 528 #out window; -#X msg 390 358 open b001.jpg; -#X obj 360 335 t b b; -#X obj -1 0 cnv 15 90 600 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 360 302 metro 100; -#X obj 360 281 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 -; -#X floatatom 384 452 5 0 0 0 - - -; -#X floatatom 434 452 5 0 0 0 - - -; -#X text 38 36 INLETS:; -#X text 38 51 - LEFT:; -#X text 32 143 - RIGHT:; -#X text 29 253 OUTLETS:; -#X text 15 194 ARGUMENTS:; -#X text 22 283 EXAMPLES:; -#X text 20 565 SEE ALSO:; -#X text 25 93 - CENTER:; -#X obj 47 10 #clip; -#X text 501 558 GridFlow 0.8.0; -#X floatatom 119 397 5 0 0 0 - - -; -#X floatatom 119 286 5 0 0 0 - - -; -#X text 205 339 creation arguments; -#X obj 119 342 #clip 255 0; -#X text 107 191 Two - [int] accepts two integers as creation arguments -which initializes the first values to be stored in the object and duplicate -the functions of the second and third inlet.; -#X obj 118 564 # min; -#X obj 165 564 # max; -#X obj 213 564 clip; -#X text 109 91 Integer - An integer at the second inlet is stored for -later use. It will be used as the high value at which to clip incoming -Grid values at that left inlet.; -#X text 109 142 Integer - An integer at the third inlet is stored for -later use. It will be used as the low value at which to clip incoming -Grid values at that left inlet.; -#X text 108 12 - FORCE THE GRID VALUES INTO A RANGE; -#X text 109 50 Grid - Grid values at the left inlet will be clipped -to the high and low values stored in the object.; -#X obj 360 485 #clip; -#X text 419 483 no arguments (defaults to 255 \, 0); -#X text 452 399 <-- change these; -#X obj 119 312 #import (1); -#X obj 119 370 #export; -#X text 107 191 Two - [int] accepts two integers as creation arguments -which initializes the first values to be stored in the object and duplicate -the functions of the second and third inlet.; -#X text 485 452 <--; -#X connect 0 0 1 0; -#X connect 1 0 33 0; -#X connect 2 0 1 1; -#X connect 4 0 0 0; -#X connect 5 0 0 0; -#X connect 5 1 4 0; -#X connect 7 0 5 0; -#X connect 8 0 7 0; -#X connect 9 0 33 1; -#X connect 10 0 33 2; -#X connect 22 0 36 0; -#X connect 24 0 37 0; -#X connect 33 0 3 0; -#X connect 36 0 24 0; -#X connect 37 0 21 0; diff --git a/externals/gridflow/doc/flow_classes/#color-icon.png b/externals/gridflow/doc/flow_classes/#color-icon.png deleted file mode 100644 index 0ca1b51c..00000000 Binary files a/externals/gridflow/doc/flow_classes/#color-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#complex_sq-icon.png b/externals/gridflow/doc/flow_classes/#complex_sq-icon.png deleted file mode 100644 index 9ad2c3f5..00000000 Binary files a/externals/gridflow/doc/flow_classes/#complex_sq-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#contrast-help.pd b/externals/gridflow/doc/flow_classes/#contrast-help.pd deleted file mode 100644 index 7e8b1734..00000000 --- a/externals/gridflow/doc/flow_classes/#contrast-help.pd +++ /dev/null @@ -1,46 +0,0 @@ -#N canvas 120 14 814 532 10; -#X obj 96 131 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 --1; -#X obj 22 151 metro 100; -#X obj 22 130 tgl 15 0 empty empty empty 0 -6 0 8 -233017 -1 -1 0 1 -; -#X obj 123 269 hsl 128 15 0 256 0 0 empty empty empty -2 -6 0 8 -262144 --1 -1 0 1; -#X obj 124 332 hsl 128 15 0 256 0 0 empty empty empty -2 -6 0 8 -262144 --1 -1 0 1; -#X text 15 57 adjusts the intensity in an image. resulting values outside -0-255 are automatically clipped.; -#X text 262 334 master contrast; -#X text 258 273 secondary contrast; -#X floatatom 51 343 5 0 0 0 - - -; -#X floatatom 80 375 5 0 0 0 - - -; -#X text 401 273 makes the incoming black correspond to a certain fraction -between output black and the master contrast value. no effect is 256 -this is also the default.; -#X text 402 334 makes the incoming white correspond to a certain fraction -between output black and output white. no effect is 256 this is also -the default.; -#X text 18 497 see also:; -#X msg 119 220 open bluemarble.jpg; -#X obj 96 151 fork; -#X obj 88 499 #convolve; -#X obj 158 499 #posterize; -#X obj 235 499 #solarize; -#X obj 305 499 #layer; -#X obj 22 423 #out window; -#X obj 22 397 #contrast; -#X obj 22 237 #in; -#X text 13 15 [#contrast]; -#X text 700 15 GridFlow 0.8.0; -#X connect 0 0 14 0; -#X connect 1 0 21 0; -#X connect 2 0 1 0; -#X connect 3 0 8 0; -#X connect 4 0 9 0; -#X connect 8 0 20 1; -#X connect 9 0 20 2; -#X connect 13 0 21 0; -#X connect 14 0 21 0; -#X connect 14 1 13 0; -#X connect 20 0 19 0; -#X connect 21 0 20 0; diff --git a/externals/gridflow/doc/flow_classes/#contrast-icon.png b/externals/gridflow/doc/flow_classes/#contrast-icon.png deleted file mode 100644 index 42717ad6..00000000 Binary files a/externals/gridflow/doc/flow_classes/#contrast-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#convolve-icon.png b/externals/gridflow/doc/flow_classes/#convolve-icon.png deleted file mode 100644 index 476ad435..00000000 Binary files a/externals/gridflow/doc/flow_classes/#convolve-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#dim-help.pd b/externals/gridflow/doc/flow_classes/#dim-help.pd deleted file mode 100644 index 49017c9b..00000000 --- a/externals/gridflow/doc/flow_classes/#dim-help.pd +++ /dev/null @@ -1,32 +0,0 @@ -#N canvas 449 187 546 331 10; -#X obj 26 83 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 --1; -#X obj 137 217 print dimension; -#X obj 18 241 print number_of_dimensions; -#X text 18 282 see also:; -#X obj 136 283 rubyprint; -#X obj 206 283 printargs; -#X msg 18 63 open bluemarble.jpg; -#X text 438 10 GridFlow 0.8.0; -#X obj 87 283 #print; -#X obj 276 283 #export; -#X obj 332 283 #export_list; -#X obj 137 196 #export; -#X obj 18 197 #dim; -#X obj 18 217 #export; -#X obj 18 127 #dim; -#X obj 18 103 #in; -#X text 14 15 [#dim]; -#X text 137 100 dim receives a grid \, doesn't look at the data within -but only the list of dimensions and turns it into a one dimension grid. -given a grid sized like dim(240 \, 320 \, 4) #dim will return a grid -like dim(3) whose values are 240 \, 320 \, 4; -#X connect 0 0 15 0; -#X connect 6 0 0 0; -#X connect 6 0 15 0; -#X connect 11 0 1 0; -#X connect 12 0 13 0; -#X connect 13 0 2 0; -#X connect 14 0 11 0; -#X connect 14 0 12 0; -#X connect 15 0 14 0; diff --git a/externals/gridflow/doc/flow_classes/#dim-icon.png b/externals/gridflow/doc/flow_classes/#dim-icon.png deleted file mode 100644 index 4c0462df..00000000 Binary files a/externals/gridflow/doc/flow_classes/#dim-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#downscale_by-icon.png b/externals/gridflow/doc/flow_classes/#downscale_by-icon.png deleted file mode 100644 index 59b2bf23..00000000 Binary files a/externals/gridflow/doc/flow_classes/#downscale_by-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#draw_image-icon.png b/externals/gridflow/doc/flow_classes/#draw_image-icon.png deleted file mode 100644 index 7f9a62b1..00000000 Binary files a/externals/gridflow/doc/flow_classes/#draw_image-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#draw_polygon-icon.png b/externals/gridflow/doc/flow_classes/#draw_polygon-icon.png deleted file mode 100644 index 6945bd62..00000000 Binary files a/externals/gridflow/doc/flow_classes/#draw_polygon-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#export-icon.png b/externals/gridflow/doc/flow_classes/#export-icon.png deleted file mode 100644 index 322e8d91..00000000 Binary files a/externals/gridflow/doc/flow_classes/#export-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#export_list-icon.png b/externals/gridflow/doc/flow_classes/#export_list-icon.png deleted file mode 100644 index 11743525..00000000 Binary files a/externals/gridflow/doc/flow_classes/#export_list-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#export_symbol-icon.png b/externals/gridflow/doc/flow_classes/#export_symbol-icon.png deleted file mode 100644 index 28c70df9..00000000 Binary files a/externals/gridflow/doc/flow_classes/#export_symbol-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#fade-help.pd b/externals/gridflow/doc/flow_classes/#fade-help.pd deleted file mode 100644 index 551d8637..00000000 --- a/externals/gridflow/doc/flow_classes/#fade-help.pd +++ /dev/null @@ -1,80 +0,0 @@ -#N canvas 48 74 732 441 10; -#X obj 268 95 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 278 115 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 406 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 8 3 cnv 15 720 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 278 174 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 268 25 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 25 Arguments:; -#X obj 268 281 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 281 Outlets:; -#X obj 8 25 cnv 15 250 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 11 25 Usage:; -#X obj 8 45 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 81 cnv 15 250 320 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 268 343 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 343 More Info:; -#X text 271 95 Inlets: (Read left to right \, inlet "0" being the leftmost) -; -#X text 281 115 0: (Leftmost); -#X text 281 174 1: (Rightmost); -#X obj 104 53 #fade; -#X obj 91 324 #fade; -#X obj 91 350 #out window; -#X msg 31 224 open b001.jpg; -#X obj 22 166 bng 15 250 50 0 empty empty empty 0 -6 0 8 -225271 -1 --1; -#X obj 22 252 #in; -#X obj 22 199 t b b; -#X obj 50 303 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X floatatom 134 305 5 0 0 0 - - -; -#X obj 22 139 metro 500; -#X obj 22 113 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 144 165 bng 15 250 50 0 empty empty empty 0 -6 0 8 -225271 -1 --1; -#X obj 144 251 #in; -#X obj 144 198 t b b; -#X msg 153 223 open r001.jpg; -#X obj 144 136 metro 500; -#X obj 144 111 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X text 16 413 GridFlow 0.8.0; -#X text 71 3 Fades a grids according to the argument you provide.; -#X text 10 4 SUMMARY:; -#X text 284 45 One - See inlet 0: (rightmost); -#X text 292 135 Grid - Accepts s grid and multiplies it with a fraction -of the previously outputted grid.; -#X text 292 195 Integer - accepts an integer that determines the amount -one grid is blended with another. For example: integer 5 takes 20% -of the first image and blends it with 80% of the following image.; -#X text 283 301 One - Outputs the fading images.; -#X connect 19 0 20 0; -#X connect 21 0 23 0; -#X connect 22 0 24 0; -#X connect 23 0 19 0; -#X connect 24 0 23 0; -#X connect 24 1 21 0; -#X connect 25 0 19 0; -#X connect 26 0 19 1; -#X connect 27 0 22 0; -#X connect 28 0 27 0; -#X connect 29 0 31 0; -#X connect 30 0 19 0; -#X connect 31 0 30 0; -#X connect 31 1 32 0; -#X connect 32 0 30 0; -#X connect 33 0 29 0; -#X connect 34 0 33 0; diff --git a/externals/gridflow/doc/flow_classes/#fade-icon.png b/externals/gridflow/doc/flow_classes/#fade-icon.png deleted file mode 100644 index 6b7f0fd1..00000000 Binary files a/externals/gridflow/doc/flow_classes/#fade-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#fade_lin-icon.png b/externals/gridflow/doc/flow_classes/#fade_lin-icon.png deleted file mode 100644 index 086a8194..00000000 Binary files a/externals/gridflow/doc/flow_classes/#fade_lin-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#finished-icon.png b/externals/gridflow/doc/flow_classes/#finished-icon.png deleted file mode 100644 index b4ec90ef..00000000 Binary files a/externals/gridflow/doc/flow_classes/#finished-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#fold-icon.png b/externals/gridflow/doc/flow_classes/#fold-icon.png deleted file mode 100644 index 09898f18..00000000 Binary files a/externals/gridflow/doc/flow_classes/#fold-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#for-icon.png b/externals/gridflow/doc/flow_classes/#for-icon.png deleted file mode 100644 index 607fe8cb..00000000 Binary files a/externals/gridflow/doc/flow_classes/#for-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#grade-icon.png b/externals/gridflow/doc/flow_classes/#grade-icon.png deleted file mode 100644 index d94b8bf8..00000000 Binary files a/externals/gridflow/doc/flow_classes/#grade-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#greyscale_to_rgb-icon.png b/externals/gridflow/doc/flow_classes/#greyscale_to_rgb-icon.png deleted file mode 100644 index 0a027327..00000000 Binary files a/externals/gridflow/doc/flow_classes/#greyscale_to_rgb-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#import-icon.png b/externals/gridflow/doc/flow_classes/#import-icon.png deleted file mode 100644 index 7dc215ac..00000000 Binary files a/externals/gridflow/doc/flow_classes/#import-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#in-help.pd b/externals/gridflow/doc/flow_classes/#in-help.pd deleted file mode 100644 index 6db03b52..00000000 --- a/externals/gridflow/doc/flow_classes/#in-help.pd +++ /dev/null @@ -1,135 +0,0 @@ -#N canvas 373 24 613 584 10; -#X obj 123 779 #out window; -#X obj 123 711 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 5 -9 cnv 15 90 1100 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 57 -1 #in; -#X text 35 37 INLETS:; -#X text 42 68 -LEFT:; -#X text 102 -1 -IMPORTS GRIDS (IMAGES OR MOVIES); -#X text 110 268 Message "close" closes the video input device. Only -necessary if you are using a live capture device.; -#X text 109 68 Bang sends a grid (static image or one frame of video) -to [#out]. Successive bangs advance through the grid (frames of video). -; -#X text 110 119 Message "open" follwed by the filename \, ex: "open -someimage.jpg" gives a grid (most often an image) to an [#out].; -#X text 108 226 Interger will display the frame number of the frame -just sent. Applies to formats that have frame numbers.; -#X text 109 173 Message "set" \, followed by a number \, will select -the video frame corresponding to the number. A bang must be sent in -order to display the frame.; -#X text 8 444 ARGUMENTS:; -#X text 107 444 filename \, [#in someimage.jpg] eliminates the need -for message "open someimage.jpg" but limits that image.; -#X text 23 500 OUTLETS:; -#X text 37 531 -LEFT:; -#X text 110 530 Displays the resulting grid when connected to [#out] -; -#X text 29 574 -RIGHT:; -#X text 109 574 Integer \, a numbner box will identify the frame number -corresponding to the frame currently displayed.Applies only to formats -that have frame numbers.; -#X text 16 676 EXAMPLES:; -#X text 112 313 Message "rewind" will rewind a video file to its beginning. -; -#X text 111 341 Message "loop 1" restarts a video each time it reaches -the end. The loop option is on by default.; -#X text 110 381 Message "loop 0" turns off the loop option. The video -stops once it reaches the end.; -#X text 110 624 Bang signals when a frame could not be read and signals -the end of a file.; -#X obj 123 755 #in; -#X floatatom 402 752 5 0 0 0 - - -; -#X msg 343 752 set 2; -#X msg 131 733 open b001.jpg; -#X text 137 685 for images:; -#X obj 320 880 #out window; -#X obj 320 711 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 320 833 #in; -#X msg 326 730 open movie.mpeg; -#X msg 404 802 loop 0; -#X msg 466 804 loop 1; -#X floatatom 336 859 5 0 0 0 - - -; -#X msg 404 777 rewind; -#X text 323 686 for video files:; -#X obj 382 850 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X text 16 949 SEE ALSO:; -#X text 367 1067 updated for GridFlow version 0.8.0; -#N canvas 135 17 680 586 More_Info 0; -#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 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 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 text 577 15 comment; -#X obj 35 213 #in; -#X obj 35 441 #out; -#X text 14 15 #in \, #out communicating grids (pictures) to/from devices -\, sockets \, files; -#X connect 0 0 31 0; -#X connect 1 0 0 0; -#X connect 5 0 30 0; -#X connect 7 0 31 0; -#X connect 8 0 31 0; -#X connect 12 0 31 0; -#X connect 18 0 31 0; -#X connect 19 0 30 0; -#X connect 20 0 30 0; -#X connect 21 0 30 0; -#X connect 22 0 31 0; -#X connect 24 0 30 0; -#X connect 26 0 31 0; -#X connect 27 0 31 0; -#X connect 30 0 31 0; -#X restore 105 951 pd More_Info; -#X obj 105 990 #import ( 1 ); -#X obj 202 990 #export; -#X obj 257 990 #export_list; -#X obj 347 990 #export_symbol; -#X obj 453 989 #pack; -#X connect 1 0 24 0; -#X connect 24 0 0 0; -#X connect 25 0 31 0; -#X connect 26 0 31 0; -#X connect 27 0 24 0; -#X connect 30 0 31 0; -#X connect 31 0 29 0; -#X connect 31 1 35 0; -#X connect 31 1 38 0; -#X connect 32 0 31 0; -#X connect 33 0 31 0; -#X connect 34 0 31 0; -#X connect 36 0 31 0; diff --git a/externals/gridflow/doc/flow_classes/#inner-icon.png b/externals/gridflow/doc/flow_classes/#inner-icon.png deleted file mode 100644 index 6da9db08..00000000 Binary files a/externals/gridflow/doc/flow_classes/#inner-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#join-icon.png b/externals/gridflow/doc/flow_classes/#join-icon.png deleted file mode 100644 index d13aefc0..00000000 Binary files a/externals/gridflow/doc/flow_classes/#join-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#layer-icon.png b/externals/gridflow/doc/flow_classes/#layer-icon.png deleted file mode 100644 index 19a839fa..00000000 Binary files a/externals/gridflow/doc/flow_classes/#layer-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#numop-help.pd b/externals/gridflow/doc/flow_classes/#numop-help.pd deleted file mode 100644 index 22e54eb0..00000000 --- a/externals/gridflow/doc/flow_classes/#numop-help.pd +++ /dev/null @@ -1,366 +0,0 @@ -#N canvas 106 82 735 448 10; -#X obj 278 136 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 410 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 8 8 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 278 222 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 267 46 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 270 45 Arguments:; -#X obj 268 292 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 292 Outlets:; -#X obj 8 46 cnv 15 250 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 11 46 Usage:; -#X obj 8 67 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 104 cnv 15 250 300 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 266 355 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 269 355 More Info:; -#X text 281 136 0: (Leftmost); -#X text 281 222 1: (Rightmost); -#X text 12 8 SUMMARY:; -#X text 73 8 Transforms a grid by applying mathematical operations -in order to generate effects on a pixel by pixel basis.; -#X obj 109 76 # +; -#X floatatom 31 234 5 0 0 0 - - -; -#X obj 42 288 display; -#X obj 15 149 #color; -#X msg 15 116 255 0 0; -#X obj 15 331 #color; -#X text 281 74 One - see: inlet 1: (Rightmost); -#X obj 267 101 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 270 101 Inlets: (Read left to right \, inlet "0" being the -leftmost); -#X text 283 313 One - outputs the transformed grid.; -#X text 16 417 GridFlow 0.8.0; -#X obj 15 258 # +; -#X text 292 242 Integer - Accepts integers that modify the incoming -grid.; -#N canvas 15 0 912 644 numop 0; -#X text 76 366 A + B; -#X text 77 510 A * B; -#X text 73 571 rounded towards zero; -#X text 14 73 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 13 44 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 text 902 31 GridFlow 0.8.0; -#X obj 479 70 #color; -#X obj 684 72 #color; -#X msg 15 366 op +; -#X msg 15 507 op *; -#X obj 15 385 s op; -#X obj 423 155 r op; -#X obj 15 526 s op; -#X obj 15 436 s op; -#X text 77 421 A - B; -#X msg 15 417 op -; -#X obj 15 761 s op; -#X msg 15 742 op %; -#X text 69 743 A % B; -#X obj 15 575 s op; -#X msg 15 556 op /; -#X text 79 557 A / B; -#X obj 14 809 s op; -#X text 83 790 B % A; -#X text 15 14 Numeric Operators: *whoa \, there's a lot of them; -#X obj 16 482 s op; -#X msg 16 463 op inv+; -#X text 79 464 B -A; -#X obj 15 623 s op; -#X text 79 605 A / B; -#X msg 15 604 op div; -#X text 75 621 rounded downwards; -#X obj 15 668 s op; -#X msg 15 649 op inv*; -#X text 80 650 B / A; -#X text 77 665 rounded towards 0; -#X obj 15 712 s op; -#X text 76 714 rounded downwards; -#X text 101 695 B / A; -#X text 68 760 modulo (goes with div); -#X text 65 809 modulo (goes with div); -#X msg 14 790 op swap%; -#X obj 15 286 s op; -#X obj 15 334 s op; -#X msg 15 267 op ignore; -#X text 90 268 A; -#X msg 15 315 op put; -#X text 76 315 B; -#X msg 15 693 op swapdiv; -#X obj 237 286 s op; -#X msg 237 267 op rem; -#X text 315 263 A % B; -#X obj 236 338 s op; -#X text 330 319 B % A; -#X text 314 278 remainder; -#X text 314 293 (goes with /); -#X msg 236 319 op swaprem; -#X text 327 333 remainder; -#X text 326 348 (goes with /); -#X obj 236 388 s op; -#X obj 236 435 s op; -#X msg 236 369 op gcd; -#X msg 236 416 op lcm; -#X text 298 373 greatest common divisor; -#X text 298 420 least common multiple; -#X obj 235 481 s op; -#X text 299 464 A or B \, bitwise; -#X msg 235 462 op; -#X obj 235 525 s op; -#X text 299 508 A xor B \, bitwise; -#X msg 235 506 op ^; -#X obj 235 578 s op; -#X msg 235 559 op &; -#X text 300 561 A and B \, bitwise; -#X obj 235 623 s op; -#X msg 235 604 op <<; -#X text 300 606 A * (2**(B % 32); -#X text 299 621 left-shifthing; -#X obj 235 669 s op; -#X msg 235 649 op >>; -#X text 299 666 right-shifthing; -#X text 300 652 A / (2**(B % 32); -#X obj 218 463 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X obj 235 714 s op; -#X msg 235 695 op; -#X obj 218 695 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X text 299 697 if A is zero then; -#X text 300 711 B else A; -#X obj 235 758 s op; -#X text 299 741 if A is zero then; -#X text 15 110 comment; -#X msg 235 739 op &&; -#X text 300 755 zero else B; -#X obj 236 807 s op; -#X msg 236 788 op min; -#X text 300 789 the lowest value; -#X text 301 804 in A \, B; -#X obj 500 287 s op; -#X msg 500 267 op max; -#X text 556 284 in A \, B; -#X text 557 268 the highest value; -#X obj 500 333 s op; -#X msg 500 313 op cmp; -#X text 551 310 -1 when AB; -#X text 558 324 0 when A=B; -#X obj 500 386 s op; -#X msg 500 366 op ==; -#X text 557 367 is A equal to B ?; -#X text 556 385 1 = true \, 0 = false; -#X obj 500 433 s op; -#X msg 500 413 op !=; -#X text 557 414 is A not equal to B ?; -#X obj 500 477 s op; -#X msg 500 456 op >; -#X text 557 457 is A greater than B ?; -#X obj 500 523 s op; -#X msg 500 502 op <=; -#X text 557 503 is A not greater than B ?; -#X obj 500 572 s op; -#X msg 500 551 op <; -#X text 557 552 is A less than B ?; -#X obj 500 618 s op; -#X msg 500 597 op >=; -#X text 557 598 is A not less than B ?; -#X obj 500 666 s op; -#X msg 500 645 op sin*; -#X text 559 646 B * sin(A); -#X obj 500 713 s op; -#X msg 500 691 op cos*; -#X text 560 693 B * cos(A); -#X obj 500 758 s op; -#X msg 500 736 op atan; -#X text 560 737 arctan(A/B); -#X obj 499 805 s op; -#X msg 499 783 op tan*; -#X text 559 784 tanh(A); -#X obj 738 288 s op; -#X msg 738 268 op log*; -#X text 795 269 B*log(A); -#X text 794 286 in base e; -#X obj 738 334 s op; -#X msg 738 314 op gamma; -#X text 809 314 floor(pow(a/256.0 \, 256.0/b)*256.0); -#X obj 737 385 s op; -#X msg 737 366 op **; -#X text 799 368 A**B; -#X text 799 385 A raised to power B; -#X obj 737 431 s op; -#X msg 737 412 op abs-; -#X text 799 412 absolute value of (A-B); -#X obj 737 478 s op; -#X msg 737 459 op rand; -#X text 800 473 number below A; -#X text 799 458 randomly produces a non-negative; -#X obj 737 524 s op; -#X msg 737 505 op sqrt; -#X text 799 504 square root of A; -#X text 800 519 rounded downwards; -#X obj 737 566 s op; -#X msg 737 547 op sq-; -#X text 800 546 (A-B) times (A-B); -#X obj 740 614 s op; -#X obj 723 595 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 740 595 op clip+; -#X text 808 595 A+B but output is clipped; -#X obj 740 660 s op; -#X obj 723 641 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 740 641 op clip-; -#X text 808 641 A-B but output is clipped; -#X obj 740 706 s op; -#X obj 740 750 s op; -#X text 808 687 (A+B)/2; -#X msg 740 687 op avg; -#X msg 740 731 op hypot; -#X text 808 731 square root of (A*A+B*B); -#X obj 740 792 s op; -#X obj 723 773 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 --1; -#X msg 740 773 op erf; -#X text 807 773 integral of e^(-x*x)dx; -#N canvas 8 30 615 351 all_operators 0; -#X obj 174 99 # -; -#X obj 522 97 # swap%; -#X obj 186 177 # abs-; -#X obj 238 177 # rand; -#X obj 342 177 # sq-; -#X obj 290 177 # sqrt; -#X obj 144 99 # +; -#X obj 492 97 # %; -#X obj 260 99 # *; -#X obj 289 99 # /; -#X obj 206 99 # inv+; -#X obj 321 99 # div; -#X obj 367 98 # inv*; -#X obj 420 98 # swapdiv; -#X obj 35 99 # ignore; -#X obj 100 100 # put; -#X obj 35 125 # rem; -#X obj 78 125 # swaprem; -#X obj 149 125 # gcd; -#X obj 191 125 # lcm; -#X obj 234 125 # |; -#X obj 234 125 # |; -#X obj 263 125 # ^; -#X obj 293 125 # &; -#X obj 322 125 # <<; -#X obj 358 125 # >>; -#X obj 394 125 # ||; -#X obj 431 125 # &&; -#X obj 467 125 # min; -#X obj 35 151 # max; -#X obj 79 151 # cmp; -#X obj 124 151 # ==; -#X obj 162 151 # !=; -#X obj 199 151 # >; -#X obj 234 151 # <=; -#X obj 274 151 # <; -#X obj 304 152 # >=; -#X obj 341 152 # sin*; -#X obj 391 152 # cos*; -#X obj 442 152 # atan; -#X obj 493 152 # tanh*; -#X obj 35 177 # log*; -#X obj 87 177 # gamma; -#X obj 148 177 # **; -#X obj 388 177 # avg; -#X obj 433 177 # hypot; -#X restore 15 174 pd all_operators; -#X text 585 31 select values below; -#X text 14 233 select an operator below; -#X text 478 51 A; -#X text 683 53 B; -#X obj 479 182 # +; -#X obj 257 196 #color; -#X obj 297 162 #reverse; -#X obj 443 215 display; -#X obj 656 197 #unpack 3; -#X floatatom 605 244 5 0 0 0 - - -; -#X obj 642 150 t a a; -#X obj 597 191 display; -#X connect 7 0 186 0; -#X connect 7 0 188 0; -#X connect 7 0 192 0; -#X connect 8 0 186 1; -#X connect 9 0 11 0; -#X connect 10 0 13 0; -#X connect 12 0 186 0; -#X connect 16 0 14 0; -#X connect 18 0 17 0; -#X connect 21 0 20 0; -#X connect 27 0 26 0; -#X connect 31 0 29 0; -#X connect 34 0 33 0; -#X connect 42 0 23 0; -#X connect 45 0 43 0; -#X connect 47 0 44 0; -#X connect 49 0 37 0; -#X connect 51 0 50 0; -#X connect 57 0 53 0; -#X connect 62 0 60 0; -#X connect 63 0 61 0; -#X connect 68 0 66 0; -#X connect 71 0 69 0; -#X connect 73 0 72 0; -#X connect 76 0 75 0; -#X connect 80 0 79 0; -#X connect 85 0 84 0; -#X connect 92 0 89 0; -#X connect 95 0 94 0; -#X connect 99 0 98 0; -#X connect 103 0 102 0; -#X connect 108 0 107 0; -#X connect 112 0 111 0; -#X connect 115 0 114 0; -#X connect 118 0 117 0; -#X connect 121 0 120 0; -#X connect 124 0 123 0; -#X connect 127 0 126 0; -#X connect 130 0 129 0; -#X connect 133 0 132 0; -#X connect 136 0 135 0; -#X connect 139 0 138 0; -#X connect 143 0 142 0; -#X connect 146 0 145 0; -#X connect 150 0 149 0; -#X connect 153 0 152 0; -#X connect 157 0 156 0; -#X connect 161 0 160 0; -#X connect 165 0 163 0; -#X connect 169 0 167 0; -#X connect 174 0 171 0; -#X connect 175 0 172 0; -#X connect 179 0 177 0; -#X connect 188 0 187 0; -#X connect 188 0 189 0; -#X connect 190 0 191 0; -#X connect 192 0 193 0; -#X connect 192 1 190 0; -#X restore 265 380 pd numop; -#X text 290 157 Grid - Accepts a grid to be modified by an operator -consistent with the right inlet value (list of operators in [pd numop]). -In this example [# +] is used.; -#X text 72 234 <-- change this value to modify the operation.; -#X text 193 154 <--modify color with sliders.; -#X connect 19 0 29 1; -#X connect 21 0 29 0; -#X connect 22 0 21 0; -#X connect 29 0 20 0; -#X connect 29 0 23 0; diff --git a/externals/gridflow/doc/flow_classes/#outer-icon.png b/externals/gridflow/doc/flow_classes/#outer-icon.png deleted file mode 100644 index 7c9c4ed7..00000000 Binary files a/externals/gridflow/doc/flow_classes/#outer-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#pack-help.pd b/externals/gridflow/doc/flow_classes/#pack-help.pd deleted file mode 100644 index b2bff45a..00000000 --- a/externals/gridflow/doc/flow_classes/#pack-help.pd +++ /dev/null @@ -1,75 +0,0 @@ -#N canvas 29 63 693 623 10; -#X obj 8 3 cnv 15 90 578 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 45 273 INLETS:; -#X text 42 304 - LEFT:; -#X text 33 410 OUTLETS:; -#X text 28 53 EXAMPLES:; -#X text 24 506 SEE ALSO:; -#N canvas 247 137 487 505 More_Info 0; -#X text 485 23 GridFlow 0.8.0; -#X obj 523 257 #unpack 3; -#X floatatom 513 305 5 0 0 0 - - -; -#X obj 416 190 t a a; -#X obj 333 301 display; -#X floatatom 552 305 5 0 0 0 - - -; -#X floatatom 591 305 5 0 0 0 - - -; -#X text -48 51 [#unpack]; -#X obj 530 352 #pack 3; -#X text -49 122 It takes an integer as an argument to specify the number -of Dimensions the incoming grid has.; -#X obj 416 76 #color; -#X obj 516 411 #color; -#X text -48 84 Accepts grids in its inlet and produces integers via -its outlet.; -#X text -39 349 [#pack]; -#X text -39 382 Accepts integers in its inlets and produces a corresponding -grid via its outlet.; -#X text -40 421 It takes an integer as an argument to specify the number -of incoming integers and the corresponding number of Dimensions the -outgoing grid will have.; -#X obj 483 332 - 127; -#X obj -31 190 trigger bang bang; -#X obj 166 178 metro 100; -#X obj 89 345 display; -#X obj 174 272 print blah; -#X obj 145 316 print blah2; -#X obj 122 155 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X connect 1 0 2 0; -#X connect 1 1 5 0; -#X connect 1 2 6 0; -#X connect 2 0 16 0; -#X connect 3 0 4 0; -#X connect 3 1 1 0; -#X connect 5 0 8 1; -#X connect 6 0 8 2; -#X connect 8 0 11 0; -#X connect 10 0 3 0; -#X connect 16 0 8 0; -#X connect 18 0 19 0; -#X connect 18 0 20 0; -#X connect 18 0 21 0; -#X connect 22 0 18 0; -#X restore 119 550 pd More_Info; -#X text 36 435 - LEFT:; -#X text 412 575 updated for GridFlow version 0.8.0; -#X obj 47 13 #pack; -#X text 183 183 comment; -#X obj 120 173 #color; -#X floatatom 120 65 5 0 0 0 - - -; -#X floatatom 142 93 5 0 0 0 - - -; -#X floatatom 164 121 5 0 0 0 - - -; -#X obj 120 147 #pack 3; -#X text 25 346 ARGUMENT:; -#X text 120 304 Grid - combination of inputs.; -#X text 104 436 Grid - combination of inputs given by inlets.; -#X text 114 344 Interger - defines the number of inlets and the amount -of outcoming grid dimensions.; -#X obj 121 511 #unpack 3; -#X text 114 13 Creates a vector (a list of numbers) from individual -integers.; -#X connect 12 0 15 0; -#X connect 13 0 15 1; -#X connect 14 0 15 2; -#X connect 15 0 11 0; diff --git a/externals/gridflow/doc/flow_classes/#pack-icon.png b/externals/gridflow/doc/flow_classes/#pack-icon.png deleted file mode 100644 index 21ee761b..00000000 Binary files a/externals/gridflow/doc/flow_classes/#pack-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#pack_and_#unpack-help.pd b/externals/gridflow/doc/flow_classes/#pack_and_#unpack-help.pd deleted file mode 100644 index 87fa2694..00000000 --- a/externals/gridflow/doc/flow_classes/#pack_and_#unpack-help.pd +++ /dev/null @@ -1,85 +0,0 @@ -#N canvas 109 540 736 659 10; -#X obj 268 124 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 278 148 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 641 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 7 5 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 268 43 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 43 Arguments:; -#X obj 268 267 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 267 Outlets:; -#X obj 8 43 cnv 15 250 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 11 43 Usage:; -#X obj 8 63 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 100 cnv 15 250 200 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 271 124 Inlets: (Read left to right \, inlet "0" being the -leftmost); -#X obj 80 71 #pack; -#X text 11 5 SUMMARY:; -#X text 76 5 Creates a one dimentional grid (Dim(N) vector) from individual -integers.; -#X obj 30 222 #color; -#X floatatom 30 114 5 0 0 0 - - -; -#X floatatom 52 142 5 0 0 0 - - -; -#X floatatom 74 170 5 0 0 0 - - -; -#X obj 30 196 #pack 3; -#X text 283 63 One - [integer] defines the number of inlets and the -amount of grid dimensions.; -#X text 289 175 Integer - accepts multiple integers as defined by the -argument and creates a vector.; -#X text 283 287 One - outputs values from each individual inlet.; -#X obj 270 483 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 281 503 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 7 335 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 268 373 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 373 Arguments:; -#X obj 268 595 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 595 Outlets:; -#X obj 8 373 cnv 15 250 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 11 373 Usage:; -#X obj 8 393 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 430 cnv 15 250 200 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 273 482 Inlets: (Read left to right \, inlet "0" being the -leftmost); -#X text 11 335 SUMMARY:; -#X obj 79 400 #unpack; -#X obj 30 518 #unpack 3; -#X obj 30 451 #color; -#X floatatom 30 601 5 0 0 0 - - -; -#X floatatom 59 574 5 0 0 0 - - -; -#X floatatom 88 549 5 0 0 0 - - -; -#X text 283 393 One - [integer] defines the number of outlets and the -amount of grid dimensions.; -#X text 281 148 All:; -#X text 283 503 All:; -#X text 284 529 Grid - receives grids and outputs integers.; -#X text 289 218 Grid - receives grids and outputs integers.; -#X text 77 335 Outputs individual integers corresponding to the vector -dimensions (number of elements in a grid).; -#X text 284 615 All - outputs the vector dimensions as individual integers. -; -#X text 17 648 GridFlow 0.8.0; -#X connect 17 0 20 0; -#X connect 18 0 20 1; -#X connect 19 0 20 2; -#X connect 20 0 16 0; -#X connect 38 0 40 0; -#X connect 38 1 41 0; -#X connect 38 2 42 0; -#X connect 39 0 38 0; diff --git a/externals/gridflow/doc/flow_classes/#perspective-icon.png b/externals/gridflow/doc/flow_classes/#perspective-icon.png deleted file mode 100644 index 23d6f492..00000000 Binary files a/externals/gridflow/doc/flow_classes/#perspective-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#posterize-icon.png b/externals/gridflow/doc/flow_classes/#posterize-icon.png deleted file mode 100644 index 0dd80c0f..00000000 Binary files a/externals/gridflow/doc/flow_classes/#posterize-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#print-help.pd b/externals/gridflow/doc/flow_classes/#print-help.pd deleted file mode 100644 index cea6ebd8..00000000 --- a/externals/gridflow/doc/flow_classes/#print-help.pd +++ /dev/null @@ -1,68 +0,0 @@ -#N canvas 38 0 738 404 10; -#X obj 269 196 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 279 217 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 7 369 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 8 6 cnv 15 720 40 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 268 53 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 53 Arguments:; -#X obj 8 53 cnv 15 250 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 11 53 Usage:; -#X obj 8 73 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 271 305 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 272 196 Inlets: (Read left to right \, inlet "0" being the -leftmost); -#X text 282 217 0: (Leftmost); -#X obj 8 110 cnv 15 250 250 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 105 79 #print; -#X text 12 6 SUMMARY:; -#X floatatom 167 212 5 0 0 0 - - -; -#X floatatom 189 233 5 0 0 0 - - -; -#X floatatom 211 253 5 0 0 0 - - -; -#X obj 34 202 until; -#X msg 34 176 27; -#X obj 34 226 random 27; -#X obj 167 272 #pack 3; -#X obj 34 251 #import ( 3 3 3 ); -#X msg 35 118 open r001.jpg; -#X obj 15 150 #in; -#X obj 12 118 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X text 155 189 view grid info; -#X text 101 344 view result in console; -#X text 274 305 Related objects:; -#X obj 460 336 rubyprint; -#X obj 530 329 printargs; -#X obj 279 336 #dim; -#X obj 314 336 #export; -#X obj 369 336 #export_list; -#X obj 600 329 print; -#X text 15 376 GridFLow 0.8.0; -#X text 73 6 Displays the dimensions of a grid in the console. If the -grid has less than two dimensions it will display all grid data.; -#X text 284 123 Symbol - Adds a symbol (text) as a prefix before the -printed element in the console.; -#X text 283 87 Integer - Adds a number as a prefix before the element -printed in the console. See here; -#X text 282 246 Grid - Receives and outputs the dimensions of a grid. -; -#X obj 15 319 #print paprika; -#X connect 15 0 21 0; -#X connect 16 0 21 1; -#X connect 17 0 21 2; -#X connect 18 0 20 0; -#X connect 19 0 18 0; -#X connect 20 0 22 0; -#X connect 21 0 40 0; -#X connect 22 0 40 0; -#X connect 23 0 24 0; -#X connect 24 0 40 0; -#X connect 25 0 24 0; diff --git a/externals/gridflow/doc/flow_classes/#print-help2.pd b/externals/gridflow/doc/flow_classes/#print-help2.pd deleted file mode 100644 index d06eeebc..00000000 --- a/externals/gridflow/doc/flow_classes/#print-help2.pd +++ /dev/null @@ -1,113 +0,0 @@ -#N canvas 186 33 771 654 10; -#X obj 268 45 cnv 15 460 15 empty empty empty 20 12 0 14 -158509 -66577 -0; -#X obj 278 65 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 483 cnv 15 720 30 empty empty empty 20 12 0 14 -158509 -66577 -0; -#X obj 8 513 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 5 cnv 15 720 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 12 525 KEYWORDS: control number float store; -#X text 12 515 CATAGORY: control; -#X text 281 65 Left:; -#X obj 268 305 cnv 15 460 15 empty empty empty 20 12 0 14 -158509 -66577 -0; -#X text 271 305 Arguments:; -#X text 283 325 One - [float] accepts a single float as a creation -argument which initializes the first value to be sent out the left -outlet.; -#X obj 268 375 cnv 15 460 15 empty empty empty 20 12 0 14 -158509 -66577 -0; -#X text 271 375 Outlets:; -#X text 283 395 One - outputs the stored floating point value of the -object.; -#X obj 8 45 cnv 15 250 15 empty empty empty 20 12 0 14 -158509 -66577 -0; -#X text 11 45 Usage:; -#X obj 8 65 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 103 cnv 15 250 350 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 150 73 f; -#X text 126 73 OR; -#X obj 452 489 pddp; -#N canvas 58 22 261 146 Related_Objects 0; -#X obj 3 87 cnv 15 250 15 empty empty empty 20 12 0 14 -158509 -66577 -0; -#X obj 5 6 cnv 15 250 15 empty empty empty 20 12 0 14 -158509 -66577 -0; -#X obj 3 107 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 69 113 randomF; -#X obj 138 113 lister; -#X text 7 6 Native PD Objects (internals); -#X text 5 87 Externals and libraries; -#X obj 4 27 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 70 34 int; -#X obj 137 34 symbol; -#X restore 15 490 pd Related_Objects; -#N canvas 57 22 517 577 More_Info 0; -#X text 43 24 All numbers in PD are kept in 32-bit floating point and -can represent real numbers between -8 \, 388608 and 8.388.608.00; -#X text 11 78 WHAT IS A FLOATING POINT NUMBER?; -#X text 41 267 The following are examples of floating point numbers: -; -#X text 61 293 3; -#X text 62 334 -111.5; -#X text 61 313 0.5; -#X text 40 387 3e-05 : This example is a computer shorthand for scientific -notation. It means 3*10-5 (or 10 to the negative 5th power multiplied -by 3).; -#X text 41 108 According to Webopedia.com \, "computers are integer -machines and are capable of representing real numbers only by using -complex codes." Hence \, real numbers must be 'approximated' by computers -using the "floating point standard". In such a number \, the decimal -point can "float" meaning that there is no fixed number of digits preceding -or following the decimal. A floating point number is therefore a computer's -approximation of a real number.; -#X text 43 453 Interesting side-note: In the early 1990's \, the Intel -80486 was shipped with a math coprocessor to help accelerate the process -of computing floating point numbers (which previously required a considerable -amount of CPU power.) Math coprocessors have since found there way -into nearly every graphics card and CPU available today.; -#X text 62 358 10000 to 1e-16; -#X restore 154 490 pd More_Info; -#X text 496 490 - Dave Sabine \, November 18 \, 2002; -#X text 10 459 doc/2.control.examples/sendnumber.pd - should be a bang/link -; -#X text 12 7 HELP: #print; -#X text 12 17 DESCRIPTION: Displays values in the console.; -#X obj 80 73 #print; -#X text 271 45 Inlet:; -#X text 301 111 Grid - receives a grid; -#X floatatom 71 221 5 0 0 0 - - -; -#X floatatom 93 242 5 0 0 0 - - -; -#X floatatom 115 262 5 0 0 0 - - -; -#X obj 133 349 until; -#X msg 133 323 27; -#X obj 133 373 random 27; -#X obj 71 281 #pack 3; -#X obj 133 398 #import ( 3 3 3 ); -#X obj 14 421 #print; -#X msg 39 139 open r001.jpg; -#X obj 39 167 #in; -#X obj 16 139 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X text 65 420 <-- view result in console; -#X text 12 106 view grid dimensions; -#X text 71 190 view grid info; -#X text 297 141 Integer - jhu; -#X connect 30 0 36 0; -#X connect 31 0 36 1; -#X connect 32 0 36 2; -#X connect 33 0 35 0; -#X connect 34 0 33 0; -#X connect 35 0 37 0; -#X connect 36 0 38 0; -#X connect 37 0 38 0; -#X connect 39 0 40 0; -#X connect 40 0 38 0; -#X connect 41 0 40 0; diff --git a/externals/gridflow/doc/flow_classes/#print-icon.png b/externals/gridflow/doc/flow_classes/#print-icon.png deleted file mode 100644 index 94952881..00000000 Binary files a/externals/gridflow/doc/flow_classes/#print-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#ravel-icon.png b/externals/gridflow/doc/flow_classes/#ravel-icon.png deleted file mode 100644 index 0e407c9a..00000000 Binary files a/externals/gridflow/doc/flow_classes/#ravel-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#redim-icon.png b/externals/gridflow/doc/flow_classes/#redim-icon.png deleted file mode 100644 index f931a2c9..00000000 Binary files a/externals/gridflow/doc/flow_classes/#redim-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#remap_image-help.pd b/externals/gridflow/doc/flow_classes/#remap_image-help.pd deleted file mode 100644 index 95dab924..00000000 --- a/externals/gridflow/doc/flow_classes/#remap_image-help.pd +++ /dev/null @@ -1,73 +0,0 @@ -#N canvas 95 151 750 524 10; -#X obj 268 25 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 278 68 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 442 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 8 5 cnv 15 720 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 278 140 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 268 259 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 259 Outlets:; -#X obj 8 25 cnv 15 250 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 11 25 Usage:; -#X obj 8 45 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 81 cnv 15 250 355 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 271 25 Inlets: (Read left to right \, inlet "0" being the leftmost) -; -#X text 281 68 0: (Leftmost); -#X text 281 140 1: (Rightmost); -#X text 12 5 SUMMARY: Transforms a grid by displacing pixels.; -#X obj 84 51 #remap_image; -#X text 292 88 Grid - Receives a grid that is to be transformed by -the object connected to the rightmost inlet.; -#X text 291 159 Numop - Receives a numereic operator \, pixel positions -are displaced according to the mathematic operation. Click here for -more transformation options.; -#X msg 48 143 open b001.jpg; -#X obj 18 86 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 18 174 #in; -#X obj 18 112 t b b; -#X obj 18 411 #out window; -#X obj 97 383 #print; -#X obj 57 213 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 101 285 5 0 0 0 - - -; -#X obj 68 244 #for (0 0) (240 320) (1 1); -#X obj 82 212 metro 100; -#X obj 82 187 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 97 317 # /; -#X obj 18 352 #remap_image; -#X text 16 449 GridFlow 0.8.0; -#X text 281 295 comment; -#X text 285 294 comment; -#X obj 282 299 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 281 355 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 285 299 0: (Leftmost); -#X text 284 355 1: (Rightmost); -#X text 296 323 Grid - Outputs the transformend image.; -#X text 288 375 Numop - Displays the displaced values.; -#X text 145 284 <-- Modify the value to see transformations.; -#X connect 18 0 20 0; -#X connect 19 0 21 0; -#X connect 20 0 30 0; -#X connect 21 0 20 0; -#X connect 21 1 18 0; -#X connect 24 0 26 0; -#X connect 25 0 29 1; -#X connect 26 0 29 0; -#X connect 27 0 26 0; -#X connect 28 0 27 0; -#X connect 29 0 30 1; -#X connect 30 0 22 0; -#X connect 30 1 23 0; diff --git a/externals/gridflow/doc/flow_classes/#remap_image-icon.png b/externals/gridflow/doc/flow_classes/#remap_image-icon.png deleted file mode 100644 index 6a22c134..00000000 Binary files a/externals/gridflow/doc/flow_classes/#remap_image-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#reverse-help.pd b/externals/gridflow/doc/flow_classes/#reverse-help.pd deleted file mode 100644 index 441e9d40..00000000 --- a/externals/gridflow/doc/flow_classes/#reverse-help.pd +++ /dev/null @@ -1,46 +0,0 @@ -#N canvas 599 113 566 552 10; -#X text 428 11 GridFlow 0.8.0; -#X obj 258 207 #color; -#X obj 288 391 #color; -#X obj 259 476 display; -#X text 15 27 [#reverse]; -#X obj 258 359 t a a; -#X text 15 57 Swaps the values of incoming grids while preserving the -number of Dimensions between incoming and outgoing grids.; -#X obj 22 287 #in; -#X obj 22 206 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X msg 52 256 open b001.jpg; -#X obj 22 401 #out window; -#X obj 87 289 hradio 15 1 0 6 empty empty empty 0 -6 0 8 -260818 -1 --1 5; -#X obj 87 307 - 3; -#X floatatom 87 327 5 0 0 0 - - -; -#X text 16 107 0 vertical; -#X text 16 122 1 horizontal; -#X text 16 135 2 rgb <-> bgr; -#X text 16 150 -1 \, -2 \, -3 \, swaps the specicied dimensions; -#X text 16 92 An int argument changes the behavior in this way :; -#X obj 22 228 t b b; -#X obj 22 344 #reverse 0; -#X obj 258 330 #reverse 0; -#X obj 323 275 hradio 15 1 0 6 empty empty empty 0 -6 0 8 -260818 -1 --1 0; -#X obj 323 293 - 3; -#X floatatom 323 313 5 0 0 0 - - -; -#X connect 1 0 21 0; -#X connect 5 0 3 0; -#X connect 5 1 2 0; -#X connect 7 0 20 0; -#X connect 8 0 19 0; -#X connect 9 0 7 0; -#X connect 11 0 12 0; -#X connect 12 0 13 0; -#X connect 13 0 20 1; -#X connect 19 0 7 0; -#X connect 19 1 9 0; -#X connect 20 0 10 0; -#X connect 21 0 5 0; -#X connect 22 0 23 0; -#X connect 23 0 24 0; -#X connect 24 0 21 1; diff --git a/externals/gridflow/doc/flow_classes/#rgb_to_greyscale-icon.png b/externals/gridflow/doc/flow_classes/#rgb_to_greyscale-icon.png deleted file mode 100644 index f032691d..00000000 Binary files a/externals/gridflow/doc/flow_classes/#rgb_to_greyscale-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#rgb_to_yuv-help.pd b/externals/gridflow/doc/flow_classes/#rgb_to_yuv-help.pd deleted file mode 100644 index 7ad7c3ec..00000000 --- a/externals/gridflow/doc/flow_classes/#rgb_to_yuv-help.pd +++ /dev/null @@ -1,11 +0,0 @@ -#N canvas 560 468 450 300 10; -#X msg 112 64 open lena.jpg; -#X obj 116 169 #out window; -#X obj 88 19 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 52 84 #in; -#X obj 60 132 #yuv_to_rgb; -#X connect 0 0 3 0; -#X connect 2 0 3 0; -#X connect 3 0 4 0; -#X connect 4 0 1 0; diff --git a/externals/gridflow/doc/flow_classes/#rgb_to_yuv-icon.png b/externals/gridflow/doc/flow_classes/#rgb_to_yuv-icon.png deleted file mode 100644 index 63a4119c..00000000 Binary files a/externals/gridflow/doc/flow_classes/#rgb_to_yuv-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#rgb_to_yuv_and_#yuv_to_rgb-help.pd b/externals/gridflow/doc/flow_classes/#rgb_to_yuv_and_#yuv_to_rgb-help.pd deleted file mode 100644 index 8be0a8c3..00000000 --- a/externals/gridflow/doc/flow_classes/#rgb_to_yuv_and_#yuv_to_rgb-help.pd +++ /dev/null @@ -1,44 +0,0 @@ -#N canvas 98 384 737 338 10; -#X obj 267 25 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 279 77 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 306 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 8 5 cnv 15 720 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 266 192 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 269 191 Outlets:; -#X obj 8 25 cnv 15 250 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 11 25 Usage:; -#X obj 8 45 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 81 cnv 15 250 220 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 270 25 Inlets: (Read left to right \, inlet "0" being the leftmost) -; -#X text 282 77 0: (Leftmost); -#X text 12 5 SUMMARY:; -#X obj 42 51 #rgb_to_yuv; -#X obj 15 117 #for (0 0) (256 256) (1 1); -#X obj 15 90 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 15 220 #clip; -#X obj 15 143 #inner (2 3 # 0 1 0 0 0 1); -#X obj 15 194 #yuv_to_rgb; -#X obj 15 168 # + (200 0 0); -#X obj 16 261 #peephole; -#X text 289 99 Grid - Receives a grid in RGB or YUV format.; -#X text 16 313 GridFlow 0.8.0; -#X obj 135 51 #yuv_to_rgb; -#X text 72 5 converts RGB colourspace to YUV colourspace or YUV to -RGB.; -#X text 291 224 One - outputs the converted grid.; -#X connect 14 0 17 0; -#X connect 15 0 14 0; -#X connect 16 0 20 0; -#X connect 17 0 19 0; -#X connect 18 0 16 0; -#X connect 19 0 18 0; diff --git a/externals/gridflow/doc/flow_classes/#rotate-icon.png b/externals/gridflow/doc/flow_classes/#rotate-icon.png deleted file mode 100644 index 5f7d0694..00000000 Binary files a/externals/gridflow/doc/flow_classes/#rotate-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#scale_by-icon.png b/externals/gridflow/doc/flow_classes/#scale_by-icon.png deleted file mode 100644 index cf1c678b..00000000 Binary files a/externals/gridflow/doc/flow_classes/#scale_by-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#scale_to-icon.png b/externals/gridflow/doc/flow_classes/#scale_to-icon.png deleted file mode 100644 index 06b45948..00000000 Binary files a/externals/gridflow/doc/flow_classes/#scale_to-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#scan-icon.png b/externals/gridflow/doc/flow_classes/#scan-icon.png deleted file mode 100644 index fad5d0ba..00000000 Binary files a/externals/gridflow/doc/flow_classes/#scan-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#solarize-icon.png b/externals/gridflow/doc/flow_classes/#solarize-icon.png deleted file mode 100644 index b5f95027..00000000 Binary files a/externals/gridflow/doc/flow_classes/#solarize-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#spread-icon.png b/externals/gridflow/doc/flow_classes/#spread-icon.png deleted file mode 100644 index 7d8e7eee..00000000 Binary files a/externals/gridflow/doc/flow_classes/#spread-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#store-icon.png b/externals/gridflow/doc/flow_classes/#store-icon.png deleted file mode 100644 index 73ffa715..00000000 Binary files a/externals/gridflow/doc/flow_classes/#store-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#transpose-icon.png b/externals/gridflow/doc/flow_classes/#transpose-icon.png deleted file mode 100644 index eb911696..00000000 Binary files a/externals/gridflow/doc/flow_classes/#transpose-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#type-icon.png b/externals/gridflow/doc/flow_classes/#type-icon.png deleted file mode 100644 index 6ff34e7c..00000000 Binary files a/externals/gridflow/doc/flow_classes/#type-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/#unpack-#pack-help.pd b/externals/gridflow/doc/flow_classes/#unpack-#pack-help.pd deleted file mode 100644 index cc78d8fb..00000000 --- a/externals/gridflow/doc/flow_classes/#unpack-#pack-help.pd +++ /dev/null @@ -1,45 +0,0 @@ -#N canvas 245 108 834 542 10; -#X text 485 23 GridFlow 0.8.0; -#X obj 523 257 #unpack 3; -#X floatatom 513 305 5 0 0 0 - - -; -#X obj 416 190 t a a; -#X obj 333 301 display; -#X floatatom 552 305 5 0 0 0 - - -; -#X floatatom 591 305 5 0 0 0 - - -; -#X text -48 51 [#unpack]; -#X obj 530 352 #pack 3; -#X text -49 122 It takes an integer as an argument to specify the number -of Dimensions the incoming grid has.; -#X obj 416 76 #color; -#X obj 516 411 #color; -#X text -48 84 Accepts grids in its inlet and produces integers via -its outlet.; -#X text -39 349 [#pack]; -#X text -39 382 Accepts integers in its inlets and produces a corresponding -grid via its outlet.; -#X text -40 421 It takes an integer as an argument to specify the number -of incoming integers and the corresponding number of Dimensions the -outgoing grid will have.; -#X obj 483 332 - 127; -#X obj -31 190 trigger bang bang; -#X obj 166 178 metro 100; -#X obj 89 345 display; -#X obj 174 272 print blah; -#X obj 145 316 print blah2; -#X obj 122 155 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X connect 1 0 2 0; -#X connect 1 1 5 0; -#X connect 1 2 6 0; -#X connect 2 0 16 0; -#X connect 3 0 4 0; -#X connect 3 1 1 0; -#X connect 5 0 8 1; -#X connect 6 0 8 2; -#X connect 8 0 11 0; -#X connect 10 0 3 0; -#X connect 16 0 8 0; -#X connect 18 0 19 0; -#X connect 18 0 20 0; -#X connect 18 0 21 0; -#X connect 22 0 18 0; diff --git a/externals/gridflow/doc/flow_classes/#yuv_to_rgb-icon.png b/externals/gridflow/doc/flow_classes/#yuv_to_rgb-icon.png deleted file mode 100644 index f5f10c8e..00000000 Binary files a/externals/gridflow/doc/flow_classes/#yuv_to_rgb-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/@complex_sq-icon.png b/externals/gridflow/doc/flow_classes/@complex_sq-icon.png deleted file mode 100644 index 7c9dd8d5..00000000 Binary files a/externals/gridflow/doc/flow_classes/@complex_sq-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/@global-icon.png b/externals/gridflow/doc/flow_classes/@global-icon.png deleted file mode 100644 index 5884d603..00000000 Binary files a/externals/gridflow/doc/flow_classes/@global-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/@join-icon.png b/externals/gridflow/doc/flow_classes/@join-icon.png deleted file mode 100644 index 461f626e..00000000 Binary files a/externals/gridflow/doc/flow_classes/@join-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/bindpatcher-icon.png b/externals/gridflow/doc/flow_classes/bindpatcher-icon.png deleted file mode 100644 index aed22ac1..00000000 Binary files a/externals/gridflow/doc/flow_classes/bindpatcher-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/demux-icon.png b/externals/gridflow/doc/flow_classes/demux-icon.png deleted file mode 100644 index d3937142..00000000 Binary files a/externals/gridflow/doc/flow_classes/demux-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/exec-help.pd b/externals/gridflow/doc/flow_classes/exec-help.pd deleted file mode 100644 index 816e29c2..00000000 --- a/externals/gridflow/doc/flow_classes/exec-help.pd +++ /dev/null @@ -1,13 +0,0 @@ -#N canvas 0 0 450 267 10; -#X text 259 22 GridFlow 0.8.0; -#X text 50 221 see also:; -#X obj 126 221 renamefile; -#X obj 241 221 unix_time; -#X obj 61 130 exec; -#X msg 35 78 shell xlogo &; -#X msg 144 78 shell ftp ac@artengine.ca &; -#X obj 209 221 ls; -#X text 141 121 Executes a program or script. It is not return a result -\, see the PureData shell after using the ftp command.; -#X connect 5 0 4 0; -#X connect 6 0 4 0; diff --git a/externals/gridflow/doc/flow_classes/exec-icon.png b/externals/gridflow/doc/flow_classes/exec-icon.png deleted file mode 100644 index 67cf913f..00000000 Binary files a/externals/gridflow/doc/flow_classes/exec-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/foreach-icon.png b/externals/gridflow/doc/flow_classes/foreach-icon.png deleted file mode 100644 index ccc9e766..00000000 Binary files a/externals/gridflow/doc/flow_classes/foreach-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/fork-icon.png b/externals/gridflow/doc/flow_classes/fork-icon.png deleted file mode 100644 index 4b4e8e00..00000000 Binary files a/externals/gridflow/doc/flow_classes/fork-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/fps-icon.png b/externals/gridflow/doc/flow_classes/fps-icon.png deleted file mode 100644 index e7e753f2..00000000 Binary files a/externals/gridflow/doc/flow_classes/fps-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/inv+-icon.png b/externals/gridflow/doc/flow_classes/inv+-icon.png deleted file mode 100644 index 37049db6..00000000 Binary files a/externals/gridflow/doc/flow_classes/inv+-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/inv_mul-icon.png b/externals/gridflow/doc/flow_classes/inv_mul-icon.png deleted file mode 100644 index 184203c2..00000000 Binary files a/externals/gridflow/doc/flow_classes/inv_mul-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/listappend-icon.png b/externals/gridflow/doc/flow_classes/listappend-icon.png deleted file mode 100644 index abf3316f..00000000 Binary files a/externals/gridflow/doc/flow_classes/listappend-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/listelement-help.pd b/externals/gridflow/doc/flow_classes/listelement-help.pd deleted file mode 100644 index 3b86fcf3..00000000 --- a/externals/gridflow/doc/flow_classes/listelement-help.pd +++ /dev/null @@ -1,61 +0,0 @@ -#N canvas 103 143 732 416 10; -#X obj 268 79 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 279 108 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 381 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 8 5 cnv 15 720 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 279 265 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 268 25 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 25 Arguments:; -#X obj 268 327 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 327 Outlets:; -#X obj 8 25 cnv 15 250 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 11 25 Usage:; -#X obj 8 46 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 83 cnv 15 250 289 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 271 79 Inlets: (Read left to right \, inlet "0" being the leftmost) -; -#X text 282 108 0: (Leftmost); -#X text 282 265 1: (Rightmost); -#X text 12 5 SUMMERY:; -#X text 73 5 Outputs one element of a list as selected by an integer. -; -#X floatatom 23 320 5 0 0 0 - - -; -#X obj 23 251 listelement 0; -#X floatatom 109 216 5 0 0 0 - - -; -#X obj 100 320 display; -#X obj 159 320 print; -#X msg 61 166 1 3 hello 8 13; -#X obj 23 134 pack 0 0; -#X floatatom 74 103 5 0 0 0 - - -; -#X floatatom 23 103 5 0 0 0 - - -; -#X obj 87 52 listelement; -#X text 286 299 Integer - index (selects the position of an element). -; -#X text 16 387 GridFlow 0.8.0; -#X text 282 50 One - see inlet 0: (rightmost); -#X text 280 139 List - An element in a list is chosen by the index -(an integer that selects the position of an element). This element -is sent to the outlet and can be viewed in the console using the print -object or in a number box if displaying an integer. For example: integer -"0" selects and outputs the first element in a list \, integer "1" -selects and outputs the second element in a list \, integers "-1" selects -and outputs the last element in a list.; -#X text 287 356 One - see inlet 0: (leftmost); -#X connect 19 0 18 0; -#X connect 19 0 21 0; -#X connect 19 0 22 0; -#X connect 20 0 19 1; -#X connect 23 0 19 0; -#X connect 24 0 19 0; -#X connect 25 0 24 1; -#X connect 26 0 24 0; diff --git a/externals/gridflow/doc/flow_classes/listelement-icon.png b/externals/gridflow/doc/flow_classes/listelement-icon.png deleted file mode 100644 index 00a3a1c5..00000000 Binary files a/externals/gridflow/doc/flow_classes/listelement-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/listflatten-icon.png b/externals/gridflow/doc/flow_classes/listflatten-icon.png deleted file mode 100644 index e6e9679e..00000000 Binary files a/externals/gridflow/doc/flow_classes/listflatten-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/listlength-icon.png b/externals/gridflow/doc/flow_classes/listlength-icon.png deleted file mode 100644 index dbde632a..00000000 Binary files a/externals/gridflow/doc/flow_classes/listlength-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/listmake-icon.png b/externals/gridflow/doc/flow_classes/listmake-icon.png deleted file mode 100644 index 3e7c5f62..00000000 Binary files a/externals/gridflow/doc/flow_classes/listmake-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/listprepend-icon.png b/externals/gridflow/doc/flow_classes/listprepend-icon.png deleted file mode 100644 index a42afce0..00000000 Binary files a/externals/gridflow/doc/flow_classes/listprepend-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/listreverse-icon.png b/externals/gridflow/doc/flow_classes/listreverse-icon.png deleted file mode 100644 index ec4d2a04..00000000 Binary files a/externals/gridflow/doc/flow_classes/listreverse-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/listsublist-icon.png b/externals/gridflow/doc/flow_classes/listsublist-icon.png deleted file mode 100644 index 4f9c1535..00000000 Binary files a/externals/gridflow/doc/flow_classes/listsublist-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/ls-help.pd b/externals/gridflow/doc/flow_classes/ls-help.pd deleted file mode 100644 index 5bc04c39..00000000 --- a/externals/gridflow/doc/flow_classes/ls-help.pd +++ /dev/null @@ -1,21 +0,0 @@ -#N canvas 293 272 624 295 10; -#X text 259 22 GridFlow 0.8.0; -#X text 30 266 see also:; -#X obj 106 267 renamefile; -#X obj 189 267 unix_time; -#X obj 67 130 ls; -#X obj 67 48 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 25 186 listlength; -#X floatatom 25 220 5 0 0 0 - - -; -#X obj 107 187 display; -#X obj 265 267 exec; -#X msg 67 81 symbol /home; -#X text 157 118 Similar to the Unix command 'ls'. Returns the filenames -in a directory. May be used with [listlength] to determine the number -of files in a directory.; -#X connect 4 0 6 0; -#X connect 4 0 8 0; -#X connect 5 0 10 0; -#X connect 6 0 7 0; -#X connect 10 0 4 0; diff --git a/externals/gridflow/doc/flow_classes/ls-icon.png b/externals/gridflow/doc/flow_classes/ls-icon.png deleted file mode 100644 index 162e080f..00000000 Binary files a/externals/gridflow/doc/flow_classes/ls-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/messageappend-icon.png b/externals/gridflow/doc/flow_classes/messageappend-icon.png deleted file mode 100644 index c8aecc6a..00000000 Binary files a/externals/gridflow/doc/flow_classes/messageappend-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/messageprepend-icon.png b/externals/gridflow/doc/flow_classes/messageprepend-icon.png deleted file mode 100644 index a398ff09..00000000 Binary files a/externals/gridflow/doc/flow_classes/messageprepend-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/oneshot-icon.png b/externals/gridflow/doc/flow_classes/oneshot-icon.png deleted file mode 100644 index be0b9829..00000000 Binary files a/externals/gridflow/doc/flow_classes/oneshot-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/pd_netreceive-icon.png b/externals/gridflow/doc/flow_classes/pd_netreceive-icon.png deleted file mode 100644 index 2a008238..00000000 Binary files a/externals/gridflow/doc/flow_classes/pd_netreceive-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/pd_netsend-icon.png b/externals/gridflow/doc/flow_classes/pd_netsend-icon.png deleted file mode 100644 index 1ba290b4..00000000 Binary files a/externals/gridflow/doc/flow_classes/pd_netsend-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/pingpong-icon.png b/externals/gridflow/doc/flow_classes/pingpong-icon.png deleted file mode 100644 index f84c9c2f..00000000 Binary files a/externals/gridflow/doc/flow_classes/pingpong-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/plotter_control-help.pd b/externals/gridflow/doc/flow_classes/plotter_control-help.pd deleted file mode 100644 index 1381d341..00000000 --- a/externals/gridflow/doc/flow_classes/plotter_control-help.pd +++ /dev/null @@ -1,64 +0,0 @@ -#N canvas 423 134 724 349 10; -#X text 557 11 GridFlow 0.8.0; -#X obj 92 99 r foo; -#X msg 557 173 print_from_ascii $*; -#X msg 557 52 print hello_world; -#X msg 284 54 pu; -#X msg 284 102 pd; -#X msg 285 205 sp 0; -#X msg 284 154 pa 120 160; -#X obj 557 124 unix_time; -#X obj 557 148 @export_list; -#X obj 557 104 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 74 255 comport 0 9600; -#X obj 76 129 plotter_control; -#X obj 93 158 print hpgl_commands; -#X obj 557 196 s foo; -#X text 324 54 pen up; -#X text 324 102 pen down; -#X obj 557 74 s foo; -#X text 368 154 move to absolute position; -#N canvas 0 0 450 300 draw_a_rectangle 0; -#X obj 120 196 @export_list; -#X obj 128 159 @ * ( 110 320 ); -#X msg 31 156 pu \, sp 0; -#X obj 28 97 fork; -#X msg 114 222 pd \, pa \$2 \$1; -#X msg 129 100 sp 5 \, pu \, pa 0 0 \, other si 320 320; -#X obj 115 252 s foo; -#X obj 33 71 fork; -#X obj 30 126 fork; -#X msg 128 134 0 0 \, 0 1 \, 1 1 \, 1 0 \, 0 0; -#X obj 31 35 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X connect 0 0 4 0; -#X connect 1 0 0 0; -#X connect 2 0 6 0; -#X connect 3 0 8 0; -#X connect 3 1 9 0; -#X connect 4 0 6 0; -#X connect 7 0 3 0; -#X connect 7 1 5 0; -#X connect 8 0 2 0; -#X connect 9 0 1 0; -#X connect 10 0 7 0; -#X restore 557 228 pd draw_a_rectangle; -#X text 76 9 plotter_control; -#X text 74 280 use the comport object to interface to the plotter; -#X obj 285 227 s foo; -#X obj 284 176 s foo; -#X obj 284 124 s foo; -#X obj 284 76 s foo; -#X text 328 207 (0...6) remove/change the pen; -#X connect 1 0 12 0; -#X connect 2 0 14 0; -#X connect 3 0 17 0; -#X connect 4 0 25 0; -#X connect 5 0 24 0; -#X connect 6 0 22 0; -#X connect 7 0 23 0; -#X connect 8 0 9 0; -#X connect 9 0 2 0; -#X connect 10 0 8 0; -#X connect 12 0 13 0; diff --git a/externals/gridflow/doc/flow_classes/plotter_control-icon.png b/externals/gridflow/doc/flow_classes/plotter_control-icon.png deleted file mode 100644 index 3e33d7dd..00000000 Binary files a/externals/gridflow/doc/flow_classes/plotter_control-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/printargs-icon.png b/externals/gridflow/doc/flow_classes/printargs-icon.png deleted file mode 100644 index d8ed7ee2..00000000 Binary files a/externals/gridflow/doc/flow_classes/printargs-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/range-icon.png b/externals/gridflow/doc/flow_classes/range-icon.png deleted file mode 100644 index 45de1556..00000000 Binary files a/externals/gridflow/doc/flow_classes/range-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/renamefile-help.pd b/externals/gridflow/doc/flow_classes/renamefile-help.pd deleted file mode 100644 index 70d9937c..00000000 --- a/externals/gridflow/doc/flow_classes/renamefile-help.pd +++ /dev/null @@ -1,9 +0,0 @@ -#N canvas 383 288 441 244 10; -#X obj 50 120 renamefile; -#X msg 50 76 list current_name new_name; -#X obj 128 206 ls; -#X text 42 208 also see :; -#X text 313 21 GridFlow 0.8.0; -#X text 45 157 * The path should correspond to the location of the -file from where pd is started; -#X connect 1 0 0 0; diff --git a/externals/gridflow/doc/flow_classes/renamefile-icon.png b/externals/gridflow/doc/flow_classes/renamefile-icon.png deleted file mode 100644 index 58201e14..00000000 Binary files a/externals/gridflow/doc/flow_classes/renamefile-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/rubyarray.png b/externals/gridflow/doc/flow_classes/rubyarray.png deleted file mode 100644 index 2d3ad9e5..00000000 Binary files a/externals/gridflow/doc/flow_classes/rubyarray.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/rubyprint-icon.png b/externals/gridflow/doc/flow_classes/rubyprint-icon.png deleted file mode 100644 index 0ce6df14..00000000 Binary files a/externals/gridflow/doc/flow_classes/rubyprint-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/rubysprintf-icon.png b/externals/gridflow/doc/flow_classes/rubysprintf-icon.png deleted file mode 100644 index c7a5a249..00000000 Binary files a/externals/gridflow/doc/flow_classes/rubysprintf-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/shunt-icon.png b/externals/gridflow/doc/flow_classes/shunt-icon.png deleted file mode 100644 index ebf40bac..00000000 Binary files a/externals/gridflow/doc/flow_classes/shunt-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/flow_classes/unix_time-help.pd b/externals/gridflow/doc/flow_classes/unix_time-help.pd deleted file mode 100644 index d80b4c19..00000000 --- a/externals/gridflow/doc/flow_classes/unix_time-help.pd +++ /dev/null @@ -1,29 +0,0 @@ -#N canvas 134 38 639 312 10; -#X obj 91 113 unix_time; -#X obj 91 82 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 8 172 #export_list; -#X obj 91 40 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 -; -#X obj 9 246 display; -#X obj 91 58 metro 500; -#X text 60 243 <-- Ascii format for the date; -#X obj 308 221 display; -#X obj 123 171 display; -#X obj 307 195 display; -#X obj 306 170 rubysprintf %04d%02d%02d-%02d%02d%02d; -#X obj 8 282 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 16 289 GridFlow 0.8.0; -#X obj 8 5 cnv 15 720 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 9 5 SUMMARY : the unixtime command; -#X connect 0 0 2 0; -#X connect 0 1 8 0; -#X connect 0 2 7 0; -#X connect 0 2 10 0; -#X connect 1 0 0 0; -#X connect 2 0 4 0; -#X connect 3 0 5 0; -#X connect 5 0 1 0; -#X connect 10 0 9 0; diff --git a/externals/gridflow/doc/flow_classes/unix_time-icon.png b/externals/gridflow/doc/flow_classes/unix_time-icon.png deleted file mode 100644 index 1d85db8d..00000000 Binary files a/externals/gridflow/doc/flow_classes/unix_time-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format.html b/externals/gridflow/doc/format.html deleted file mode 100644 index 243e508e..00000000 --- a/externals/gridflow/doc/format.html +++ /dev/null @@ -1,485 +0,0 @@ - - -GridFlow 0.8.1 - Reference Manual: Format Classes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
     
    -
    -

    GridFlow 0.8.1 - Reference Manual: Format Classes

    -
        

    Objects for Input/Output

      -
    • [#in]
    • -
    • [#out]
    • -
    • [#peephole]
    • -
    • [#mouse]
    • -
    • [#camera]
    • -
    -

    Picture/Movie Formats

      -
    • [format ppm #in/#out]
    • -
    • [format targa #in/#out]
    • -
    • [format jpeg #in/#out]
    • -
    • [format png #in]
    • -
    • [format quicktime #in/#out]
    • -
    • [format mpeg #in]
    • -
    • [format grid #in/#out]
    • -
    -

    Acquisition Devices

      -
    • [format videodev #in]
    • -
    -

    Window Output

      -
    • [format x11 #in/#out]
    • -
    • [format quartz #out]
    • -
    • [format sdl #out]
    • -
    • [format aalib #out]
    • -
    • [format window #out]
    • -
    -

    -
    -

    Objects for Input/Output

      class #in

    -[#in]





    -
    method init (format, format_specific_part...) - If no arguments given, creates an input object for an unspecified - format. You then need to use the "open" command to link - a format handler to it. - If arguments given, the "open" command is immediately called - with those arguments. - Remember that most formats produce Dim[rows,columns,3] grids with - 0-255 values. (Most.)
    -
    inlet 0 method open (format, format_specific_part...) - This is the command that gives a particular resource - to a [#out] object. This is done through a "format" - (there is a list of formats in this manual). The other - arguments depend on the chosen format. The format may - be a file format or a protocol or a hardware device, etc. - The format called "file" is a special shortcut that autodetects the - type of file (by name suffix) and picks up the appropriate handler.
    -
    inlet 0 method open (filename) - This is a shortcut for "open file" followed by a filename. - The filename must contain a dot, else it will be seen as a handler name.
    -
    inlet 0 method close () - close may be necessary if you operate on "/dev/video", - which can only be read by one at a time. otherwise it's - usually not necessary.
    -
    inlet 0 method int (frame_number) - selects one picture from a multi-picture format - and then does the same as a bang.
    -
    inlet 0 method set (frame_number) - selects one picture from a multi-picture format, - to be displayed by the next bang.
    -
    inlet 0 method bang () - sends a grid through the outlet. the grid may be the - result of reading from a file, acquiring from a device, - capturing from the screen etc. - this is format-specific. most formats - produce grid(rows columns {red green blue}). - In formats that read from a file, reading another picture - will continue if there are several pictures in the - same file, but if the end of file is reached instead, - it will rewind and send the first picture again. - see section "External Picture Formats".
    -
    inlet 0 method option (symbol selector, stuff...) - Obsolete. the word "option" is optional now.
    -
    inlet 0 method rewind () - rewinds to beginning of file if applicable.
    -
    inlet 0 method loop (bool flag) - controls the automatic looping of movies.
    -
    outlet 1 method int () - frame number of frame just sent, - for formats that have frame numbers.
    -
    outlet 1 method bang () - tried to read a frame that does not exist - (signals end of file)
    -
      class #out

    -[#out]





    -
    method init (format, format_specific_part...) - If no arguments given, creates an output object for an unspecified - format. You then need to use the "open" command to link - a format handler to it. - If arguments given, the "open" command is immediately called - with those arguments. - Remember that most formats expect dim(rows,columns,3) grids with - 0-255 values. (Most.)
    -
    method init (integer rows, integer columns) - This alternate way to create an [#out] automatically calls "open window" and "out_size rows columns".
    -
    inlet 0 method open (format, format_specific_part...) - This is the command that gives a particular resource - to a [#out] object. This is done through a "format" - (there is a list of formats in this manual). The other - arguments depend on the chosen format. The format may - be a file format or a protocol or a hardware device, etc.
    -
    inlet 0 method open file () - The format called "file" is a special shortcut that autodetects the - type of file (by name suffix) and picks up the appropriate handler.
    -
    inlet 0 method open (filename) - This is a shortcut for "open file" followed by a filename. - The filename must contain a dot, else it will be seen as a handler name.
    -
    inlet 0 method grid (grid grid) - this is format-specific. most formats - expect grid(rows columns {red green blue}). - In formats that write to a file, sending a 2nd picture - overwrites the first. - see section "External Picture Formats".
    -
    inlet 0 method close () - closes the file. usually not necessary.
    -
    inlet 0 method option (symbol selector, stuff...) - Obsolete. Omit the word "option" now.
    -
    inlet 0 method timelog (0,1 status) - when status=1, current time (unix clock) and time since last - frame-end are printed in the console. when status=0, it is off. - default is 0.
    -
    inlet 0 method rewind () - rewinds to beginning of file if applicable. - will overwrite the previous data.
    -
    outlet 0 method bang () - sent when a complete grid has been received.
    -
      class #peephole

    -[#peephole]





    -

    - This object class only works with a X11-based version of Pd. - (e.g. on Linux, BSD, but not MacOS X).

    Similar to [#out window], except it creates an inset in the patch you put it - in, and a scaled version of the picture appears in the inset. It also emits the same messages - as [#out window] and automatically scales cursor position according to the current scale factor. - The scale factor is decided automatically.


    method init (int height, int width)
    -

    All other methods are as in [#out window].


      class #mouse

    -[#mouse]





    - - This will process the "position" messages emitted by [#out] or [#peephole] in - useful ways.
    outlet 0 method list () - y,x coords of a click
    -
    outlet 1 method list () - y,x coords of a drag (any button is kept pressed)
    -
    outlet 2 method list () - y,x coords of an unclick
    -
    outlet 3 method list () - y,x coords of a move (no button is pressed)
    -
    outlet 4 method float () button 1 status
    -
    outlet 5 method float () button 2 status
    -
    outlet 6 method float () button 3 status
    -
    outlet 7 method float () - wheel difference: -1 = roll up; 1 = roll down.
    -
      class #camera

    -[#camera]





    - - Works about like [#in videodev] except you can right-click-open it to access all of the - camera settings visually.
     
    -

    Picture/Movie Formats

      class format ppm #in/#out

    -[format ppm #in/#out]





    -

    Subformat P6 only. - Max-number can only be 255 (24-bit RGB).


    method open ppm file (symbol filename) - opens the specified file, taken from the current - directory.
    -
    method open ppm gzfile (symbol filename) - same but for .ppm.gz files
    -
    method grid (grid(rows columns {r g b}) grid) - values 0-255
    -
      class format targa #in/#out

    -[format targa #in/#out]





    -

    Support for RGB-24 (3 channels) and RGBA-32 (4 channels)


    method open targa file (symbol filename) - opens the specified file, taken from the current - directory.
    -
    method open targa gzfile (symbol filename) - same but for .tga.gz files
    -
    method grid (grid(rows columns 3) grid) RGB-24
    -
    method grid (grid(rows columns 4) grid) RGBA-32
    -
      class format jpeg #in/#out

    -[format jpeg #in/#out]





    -

    Support for RGB non-progressive


    method open jpeg file (symbol filename) - opens the specified file, taken from the current - directory.
    -
    method grid (grid(rows columns 3) grid) RGB-24
    -
      class format png #in

    -[format png #in]





    -

    Support for RGB non-progressive


    method open png file (symbol filename) - opens the specified file, taken from the current - directory.
    -
    method grid (grid(rows columns 1) grid) Y-8 (greyscale)
    -
    method grid (grid(rows columns 2) grid) YA-16 (greyscale and transparency)
    -
    method grid (grid(rows columns 3) grid) RGB-24 (colour)
    -
    method grid (grid(rows columns 4) grid) RGBA-32 (colour and transparency)
    -
      class format quicktime #in/#out

    -[format quicktime #in/#out]





    -

    Support for .mov files.

    This format supports frame-seek and frame-tell.

    Uses the HW-QuickTime library aka QuickTime4Linux - (libquicktime.so). There is also a variant on the same library and that project - is just called LibQuickTime.

    Some versions of those libraries may include support for different codecs, - and some also may support entirely different wrapper formats such as AVI.

    On Macintosh, Apple QuickTime is used instead, but several of the following - messages may not be available.


    method open quicktime file (symbol filename)
    -
    method codec (symbol codec) - Allowed values are at least: raw, jpeg, png, mjpa, yuv2, yuv4. - Some other values may allowed, depending on the version of the library - and which codec plugins are installed. - Must be set before the first frame is written. - only applies to [#out]. Choosing a codec is important - because codecs influence greatly the speed of - encoding, the speed of decoding, - the size of the written file, and its fidelity to the - original content. Note that there exist other Apple-QuickTime - codecs that are not supported by HW-QuickTime.
    -
    method parameter (symbol key, int value) - Sets special codec-specific settings. - For example: "parameter jpeg_quality 75"
    -
    method framerate (int fps) - Sets the framerate of the file. - This is not used by GridFlow when reading a file, but other - programs usually care.
    -
    method colorspace (symbol colorspace) - Allowed values are rgb, rgba, bgr, bgra, yuv, yuva. - Normally you don't need this.
    -
    method size (int height, int width) - Forces a window size when writing. Usually this has to be used after - setting the framerate and codec and before setting the codec-parameters. - (Strange. Sorry.)
    -
    method force_size (int height, int width) - forces a window size when reading. - this is a workaround for a problem in HW-QuickTime.
    -
      class format mpeg #in

    -[format mpeg #in]





    -

    support for .mpeg files

    this format supports frame-seek and frame-tell.

    Two different libraries are available for dealing with - MPEG files. Those have different details, capabilities and quirks.

    In any case, GridFlow does not support importing audio from - those files.

    If you use the HeroineWarrior library, you may open several - mpeg files at once, but not with the GregWard library.

    Libraries may scream error messages in a rude way.

    By opposition to PPM and TARGA, this format driver only - allows a single MPEG stream per file (you cannot "cat" - several MPEG files together).

    Supports Rewind and Frame Select.


    method open mpeg file (symbol filename) - opens the specified file, taken from the current - directory.
    -
      class format grid #in/#out

    -[format grid #in/#out]





    -

    - This is GridFlow's special file format. This is the only I/O - format that can hold anything that the [#store] object can.

    - This is the picture format that would support TCP connections - if that feature actually worked. More on this later.


    method open grid file (symbol filename) - opens the specified file, taken from the current - directory.
    -
    method open grid gzfile (symbol filename) - same but for .grid.gz files
    -
    method open grid tcp (symbol hostname, integer port) - dials an specified hostname/port on the InterNet or - compatible network. the TCP protocol is used.
    -
    method open grid tcpserver (integer port) - waits for a call (and answers) for this port on the - local machine via InterNet or compatible network. - Answers the call.
    -
    method type int32 () - output will be as 32 bit signed integers.
    -
    method type uint8 () - output will be as 8 bit unsigned integers.
    -
    method headerful () - cancels "headerless" (and back to reading .grid)
    -
    method headerless (dimensions...) - instead of reading .grid files with header, will read raw data, - faking a .grid header to itself. It will use the hereby specified - dimension list, as well as two other settings: type and endian.
    -

    When writing "raw" data, a file may be considered a long string of - base 256 digits (called bytes), but different computers have different - conventions for dealing with them:
    method endian ()

    • 1 : big: - A number will be written starting with the biggest digit. - This is the natural way on the Macintosh, Sun, Amiga, and so on.
    • 2 : little: - A number will be written starting with the smallest digit. - This is the natural way on the Intel 386/Pentium.
    • 3 : same: - A number will be written in whichever way is more natural - on this computer. The natural way is slightly faster to handle. - This is the default setting.

    -


     
    -

    Acquisition Devices

      class format videodev #in

    -[format videodev #in]





    -
    method open (device)
    -

    Video4Linux-1 devices, RGB-24 only. Variable picture size.

    We have been testing it using cards of the BT-848 family, - such as Miro DC10plus and Hauppauge WinTV, using the bttv.o linux driver. - Also we have been testing using Logitech QuickCam (and similar Labtec hardware), - but don't use the qce-ga driver, which is buggy and obsolete: the qc-usb - works better.

    Some hardware doesn't support RGB, so you may have to select a YUV colorspace - (see below) and then use [#yuv_to_rgb]. Don't forget to also do [# min 255] and [# max 0].

    If for some reason there's a bug that causes a driver to produce BGR instead of RGB, - so that red and blue are swapped, you can swap them back by filtering through a RGB-BGR - converter, such as [#inner * + 0 {3 3 # 0 0 1 0 1 0 1 0 0}].

    color adjustments:
    method brightness (0-65535 level)
    -
    method hue (0-65535 level)
    -
    method colour (0-65535 level)
    -
    method contrast (0-65535 level)
    -
    method whiteness (0-65535 level)
    -


    method get (symbol attr) - gets a specific attribute. a message is sent through right outlet. - valid attributes are: brightness, hue, colour, contrast, whiteness.
    -
    method get () - gets all attributes.
    -

    other options:
    method channel (integer )
    -
    method tuner (integer )
    -
    method norm (integer )
    -
    method frequency (integer )
    -
    method transfer (symbol(read|mmap) , integer )

    • 1 : mmap: - This is the normal (and fast) way of transferring pictures - from the camera.
    • 2 : read: - Some cameras/drivers only support this instead of mmap.
    - In case of mmap, the extra numeric argument sets the - queue length in number of frames, so you can select an - appropriate tradeoff between efficiency and latency.
    -
    method colorspace (symbol colorspace) - Allowed values are: RGB24, YUV420P. - Use this if your driver doesn't support RGB24.
    -
    method size (height, width) - sets the input size, especially when using a video digitalizer - device.
    -


     
    -

    Window Output

      class format x11 #in/#out

    -[format x11 #in/#out]





    -

    supports 15,16,24,32-bit truecolor displays

    now also support 8-bit indexed displays, using a private colormap - configured as 3:3:2 RGB. When using 8-bit you can specify the - "use_stripes" option to use a completely different color scheme - involving R,G,B diagonal stripes, a kind of 6:6:6 RGB spread over three - pixels.

    If you are using Windows or MacOS 10: you will have to install - a X11 server. This will emulate Unix display on your OS. (note: - Unix systems also need a X11 server, but it's built-in and handles - the video driver directly). In the case of MacOS 10 and QNX that both - use non-X11 display technology on top of a basically Unix OS, the - OS comes with a X11 server, but it may be on a "bundled software" - CD.


    method open x11 () - synonym of "open x11 here".
    -
    method open x11 here () - connects to the default X11 server, - according to your environment variable "DISPLAY".
    -
    method open x11 local (integer display_number) - connects to a display server on this machine.
    -
    method open x11 remote (symbol host_name, integer display_number) - connects to a remote X11 display server using TCP. - Sorry, IP addresses are not supported. - Port number will be 6000 plus the display number, because - of the X11 standard.
    -
    method grid (grid(rows columns {red green blue}) grid) - resizes the window to the size of the grid; - encodes that grid in the display's pixel format; - also displays it if autodraw > 0 - the values must be in range 0-255, - or else they will be "wrapped".
    -

    - Destroying the object (or sending "close") should close the window.

    because of the design of Xlib, or if any of the connections - involved crashes, then the whole program has to be terminated. - (don't you love xlib). Something similar happens if you close any - of the windows yourself, but IIRC this could be fixed.

    only one window may be used per connection (to simplify matters; - this doesn't reduce flexibility).

    there is an additional argument that may be added to every "open" message; if you don't put it, a new toplevel window is created. - if you put "root" then the screen's wallpaper will be used instead - (it may fail to work with some popular window managers). You can also - put a window number, e.g. 0x28003ff, you may connect to - an existing window; you can find out the number of a window by using - a tool like xwininfo, part of X11 standard tools.


    method out_size (integer height, integer width) - changes the window's size, just like sending a grid - dim(height,width,3) would. - this affects the size of screen captures too.
    -
    method draw () - forces a redraw of the window's contents.
    -
    method autodraw (0,1,2 level)
    • 0 : draw() is never automatically invoked
    • 1 : draw() is invoked after each grid is finished
    • 2 : draw() is invoked incrementally after each row is - received. (but buffering may cause lines to come in groups - anyway)

    -
    method setcursor (0..63 cursor) - Selects one of the 64 predefined cursors of X11. (Note that if - your cursor table has them numbered from 0 to 126 using only even - numbers, then those cursor numbers are all doubled compared to - the ones GridFlow uses.)
    -
    method hidecursor () - This makes the cursor invisible.
    -
    outlet 0 method position (integer y, integer x, integer buttons)

    This is emitted every time the cursor moves inside - the window connected to this format handler. This is also - emitted when the cursor is dragging from inside to outside - the window. This is also emitted when a mouse button is pressed.

    The y and x coordinates are relative to the upper - right corner of the window. Specific button states may be - extracted from the button value by applying [>> - buttonnumber] and then checking whether the result is odd. - Button numbers normally are:

    • 0 : Shift
    • 1 : CapsLock
    • 2 : Control
    • 3 : Alternate
    • 4 : NumLock
    • 5 : ???
    • 6 : Meta
    • 7 : ScrollLock
    • 8 : Left Button
    • 9 : Middle Button
    • 10 : Right Button
    • 11 : Wheel Up
    • 12 : Wheel Down

    NOTE: This message form may become longer in the future, but the already defined parts will stay the same.


    -
    outlet 0 method keypress (integer y, integer x, integer buttons, symbol keyname)

    Similar to position above, but this is emitted when a - keyboard key is pressed while this format handler's window - is active. Keynames follow the X11 standard, similarly to PureData's [keyname] object. - The only exception is that keynames that are digits get prefixed by a capital D so that - they don't get mistaken for actual numbers.

    NOTE: This message form may become longer in the future, but the already defined parts will stay the same.


    -
    outlet 0 method keyrelease (integer y, integer x, integer buttons, symbol keyname) - Same as keypress but when a key gets released instead.

    NOTE: This message form may become longer in the future, but the already defined parts will stay the same.


    -
      class format quartz #out

    -[format quartz #out]





    - - The equivalent of format x11 on MacOS 10.x, but with less features (sorry).
    method open () - opens a dim(240,320,3) rgb window (default).
    -
    method grid (grid(rows columns {red green blue}) grid) - Sends image to screen. Window will be resized to fit the image exactly.
    -
      class format sdl #out

    -[format sdl #out]





    -
    method open () - Opens a dim(240,320,3) rgb window (default).
    -
    method grid (grid(rows columns {red green blue}) grid) - Sends image to screen. Window will be resized to fit the image exactly.
    -
      class format aalib #out

    -[format aalib #out]





    -
    method open aalib (driver, args...)
    -
    method grid (grid(rows columns {white}) grid) - converts a greyscale image to an ascii image and possibly - displays it. note that the image is typically downscaled by - a factor of 2 by aalib itself.
    -
    method grid (grid(rows columns {ascii attr}) grid) - the inverse of "dump". Both together in a loop allow to - post-process aalib's buffer before displaying. Goes well - with "draw", "autodraw".
    -
    method print (int y, int x, int attr, symbol text)
    -
    method autodraw () - like X11's autodraw.
    -
    method draw () - like X11's draw.
    -
    method dump () - produces a Dim[y,x,2] grid whose two channels are - ascii character codes and character attributes.
    -
      class format window #out

    -[format window #out]





    -
    method open window () - Equivalent to "open x11", but this can be set by putting a line like - this in the config file: GridFlow.formats[:window] = GridFlow.formats[:x11] - (and similarly other aliases can be created too)
    -
     
    -
    -

    -GridFlow 0.8.1 Documentation
    -Copyright © 2001,2002,2003,2004,2005,2006 by Mathieu Bouchard -matju@artengine.ca -

    -
    - - diff --git a/externals/gridflow/doc/format.xml b/externals/gridflow/doc/format.xml deleted file mode 100644 index 030a777d..00000000 --- a/externals/gridflow/doc/format.xml +++ /dev/null @@ -1,780 +0,0 @@ - - - - - - -
    - - - - - - - - - - If no arguments given, creates an input object for an unspecified - format. You then need to use the "open" command to link - a format handler to it. - - If arguments given, the "open" command is immediately called - with those arguments. - - Remember that most formats produce Dim[rows,columns,3] grids with - 0-255 values. (Most.) - - - - - - - This is the command that gives a particular resource - to a [#out] object. This is done through a "format" - (there is a list of formats in this manual). The other - arguments depend on the chosen format. The format may - be a file format or a protocol or a hardware device, etc. - - The format called "file" is a special shortcut that autodetects the - type of file (by name suffix) and picks up the appropriate handler. - - - - This is a shortcut for "open file" followed by a filename. - The filename must contain a dot, else it will be seen as a handler name. - - - close may be necessary if you operate on "/dev/video", - which can only be read by one at a time. otherwise it's - usually not necessary. - - - - selects one picture from a multi-picture format - and then does the same as a bang. - - - - selects one picture from a multi-picture format, - to be displayed by the next bang. - - - sends a grid through the outlet. the grid may be the - result of reading from a file, acquiring from a device, - capturing from the screen etc. - - this is format-specific. most formats - produce grid(rows columns {red green blue}). - - In formats that read from a file, reading another picture - will continue if there are several pictures in the - same file, but if the end of file is reached instead, - it will rewind and send the first picture again. - - see section "External Picture Formats". - - - - - - Obsolete. the word "option" is optional now. - - - rewinds to beginning of file if applicable. - - - - controls the automatic looping of movies. - - - - - - frame number of frame just sent, - for formats that have frame numbers. - - - - tried to read a frame that does not exist - (signals end of file) - - - - - - - - - - - - - If no arguments given, creates an output object for an unspecified - format. You then need to use the "open" command to link - a format handler to it. - - If arguments given, the "open" command is immediately called - with those arguments. - - Remember that most formats expect dim(rows,columns,3) grids with - 0-255 values. (Most.) - - - - - - This alternate way to create an [#out] automatically calls - "open window" and "out_size rows columns". - - - - - - This is the command that gives a particular resource - to a [#out] object. This is done through a "format" - (there is a list of formats in this manual). The other - arguments depend on the chosen format. The format may - be a file format or a protocol or a hardware device, etc. - - - The format called "file" is a special shortcut that autodetects the - type of file (by name suffix) and picks up the appropriate handler. - - - - This is a shortcut for "open file" followed by a filename. - The filename must contain a dot, else it will be seen as a handler name. - - - this is format-specific. most formats - expect grid(rows columns {red green blue}). - - In formats that write to a file, sending a 2nd picture - overwrites the first. - - see section "External Picture Formats". - - - closes the file. usually not necessary. - - - - - Obsolete. Omit the word "option" now. - - - - when status=1, current time (unix clock) and time since last - frame-end are printed in the console. when status=0, it is off. - default is 0. - - - rewinds to beginning of file if applicable. - will overwrite the previous data. - - - - - sent when a complete grid has been received. - - - - - -

    - This object class only works with a X11-based version of Pd. - (e.g. on Linux, BSD, but not MacOS X). -

    -

    Similar to [#out window], except it creates an inset in the patch you put it - in, and a scaled version of the picture appears in the inset. It also emits the same messages - as [#out window] and automatically scales cursor position according to the current scale factor. - The scale factor is decided automatically. -

    - - - - -

    All other methods are as in [#out window].

    -
    - - This will process the "position" messages emitted by [#out] or [#peephole] in - useful ways. - - y,x coords of a click - - - y,x coords of a drag (any button is kept pressed) - - - y,x coords of an unclick - - - y,x coords of a move (no button is pressed) - - button 1 status - button 2 status - button 3 status - - wheel difference: -1 = roll up; 1 = roll down. - - - - Works about like [#in videodev] except you can right-click-open it to access all of the - camera settings visually. - -
    - -
    - - - - -

    Subformat P6 only. - Max-number can only be 255 (24-bit RGB). -

    - - - - opens the specified file, taken from the current - directory. - - - - - same but for .ppm.gz files - - - - - values 0-255 - -
    - - - -

    Support for RGB-24 (3 channels) and RGBA-32 (4 channels)

    - - - - opens the specified file, taken from the current - directory. - - - - - same but for .tga.gz files - - - RGB-24 - RGBA-32 -
    - - - -

    Support for RGB non-progressive

    - - - - opens the specified file, taken from the current - directory. - - - - RGB-24 - -
    - - - -

    Support for RGB non-progressive

    - - - - opens the specified file, taken from the current - directory. - - - Y-8 (greyscale) - YA-16 (greyscale and transparency) - RGB-24 (colour) - RGBA-32 (colour and transparency) -
    - - -

    Support for .mov files.

    -

    This format supports frame-seek and frame-tell.

    -

    Uses the HW-QuickTime library aka QuickTime4Linux - (libquicktime.so). There is also a variant on the same library and that project - is just called LibQuickTime.

    -

    Some versions of those libraries may include support for different codecs, - and some also may support entirely different wrapper formats such as AVI.

    -

    On Macintosh, Apple QuickTime is used instead, but several of the following - messages may not be available.

    - - - - - - - Allowed values are at least: raw, jpeg, png, mjpa, yuv2, yuv4. - Some other values may allowed, depending on the version of the library - and which codec plugins are installed. - Must be set before the first frame is written. - only applies to [#out]. Choosing a codec is important - because codecs influence greatly the speed of - encoding, the speed of decoding, - the size of the written file, and its fidelity to the - original content. Note that there exist other Apple-QuickTime - codecs that are not supported by HW-QuickTime. - - - - - Sets special codec-specific settings. - For example: "parameter jpeg_quality 75" - - - - Sets the framerate of the file. - This is not used by GridFlow when reading a file, but other - programs usually care. - - - - - Allowed values are rgb, rgba, bgr, bgra, yuv, yuva. - Normally you don't need this. - - - - - Forces a window size when writing. Usually this has to be used after - setting the framerate and codec and before setting the codec-parameters. - (Strange. Sorry.) - - - - - forces a window size when reading. - this is a workaround for a problem in HW-QuickTime. - -
    - - - -

    support for .mpeg files

    -

    this format supports frame-seek and frame-tell.

    -

    Two different libraries are available for dealing with - MPEG files. Those have different details, capabilities and quirks.

    -

    In any case, GridFlow does not support importing audio from - those files.

    -

    If you use the HeroineWarrior library, you may open several - mpeg files at once, but not with the GregWard library.

    -

    Libraries may scream error messages in a rude way.

    -

    By opposition to PPM and TARGA, this format driver only - allows a single MPEG stream per file (you cannot "cat" - several MPEG files together). -

    -

    Supports Rewind and Frame Select.

    - - - opens the specified file, taken from the current - directory. - -
    - - - - - - -

    - This is GridFlow's special file format. This is the only I/O - format that can hold anything that the [#store] object can. -

    -

    - This is the picture format that would support TCP connections - if that feature actually worked. More on this later. -

    - - - - opens the specified file, taken from the current - directory. - - - - same but for .grid.gz files - - - - - dials an specified hostname/port on the InterNet or - compatible network. the TCP protocol is used. - - - - waits for a call (and answers) for this port on the - local machine via InterNet or compatible network. - Answers the call. - - - output will be as 32 bit signed integers. - - - output will be as 8 bit unsigned integers. - - - cancels "headerless" (and back to reading .grid) - - - - instead of reading .grid files with header, will read raw data, - faking a .grid header to itself. It will use the hereby specified - dimension list, as well as two other settings: - type and endian. - - -

    When writing "raw" data, a file may be considered a long string of - base 256 digits (called bytes), but different computers have different - conventions for dealing with them: - - -

  • big: - A number will be written starting with the biggest digit. - This is the natural way on the Macintosh, Sun, Amiga, and so on. -
  • -
  • little: - A number will be written starting with the smallest digit. - This is the natural way on the Intel 386/Pentium. -
  • -
  • same: - A number will be written in whichever way is more natural - on this computer. The natural way is slightly faster to handle. - This is the default setting. -
  • - - -

    -
    -
    - -
    - - - - - - - - -

    Video4Linux-1 devices, RGB-24 only. Variable picture size.

    - -

    We have been testing it using cards of the BT-848 family, - such as Miro DC10plus and Hauppauge WinTV, using the bttv.o linux driver. - Also we have been testing using Logitech QuickCam (and similar Labtec hardware), - but don't use the qce-ga driver, which is buggy and obsolete: the qc-usb - works better.

    - -

    Some hardware doesn't support RGB, so you may have to select a YUV colorspace - (see below) and then use [#yuv_to_rgb]. Don't forget to also do - [# min 255] and [# max 0]. -

    - -

    If for some reason there's a bug that causes a driver to produce BGR instead of RGB, - so that red and blue are swapped, you can swap them back by filtering through a RGB-BGR - converter, such as [#inner * + 0 {3 3 # 0 0 1 0 1 0 1 0 0}].

    - -

    color adjustments: - - - - - -

    - - - gets a specific attribute. a message is sent through right outlet. - valid attributes are: brightness, hue, colour, contrast, whiteness. - - - gets all attributes. - - -

    other options: - - - - - - - - -

  • mmap: - This is the normal (and fast) way of transferring pictures - from the camera. -
  • -
  • read: - Some cameras/drivers only support this instead of mmap. -
  • - In case of mmap, the extra numeric argument sets the - queue length in number of frames, so you can select an - appropriate tradeoff between efficiency and latency. - - - - - Allowed values are: RGB24, YUV420P. - Use this if your driver doesn't support RGB24. - - - - - - sets the input size, especially when using a video digitalizer - device. - -

    -
    -
    - -
    - - - - - -

    supports 15,16,24,32-bit truecolor displays

    - -

    now also support 8-bit indexed displays, using a private colormap - configured as 3:3:2 RGB. When using 8-bit you can specify the - "use_stripes" option to use a completely different color scheme - involving R,G,B diagonal stripes, a kind of 6:6:6 RGB spread over three - pixels.

    - -

    If you are using Windows or MacOS 10: you will have to install - a X11 server. This will emulate Unix display on your OS. (note: - Unix systems also need a X11 server, but it's built-in and handles - the video driver directly). In the case of MacOS 10 and QNX that both - use non-X11 display technology on top of a basically Unix OS, the - OS comes with a X11 server, but it may be on a "bundled software" - CD.

    - - - synonym of "open x11 here". - - - - connects to the default X11 server, - according to your environment variable "DISPLAY". - - - - - connects to a display server on this machine. - - - - - - connects to a remote X11 display server using TCP. - Sorry, IP addresses are not supported. - Port number will be 6000 plus the display number, because - of the X11 standard. - - - - - resizes the window to the size of the grid; - encodes that grid in the display's pixel format; - also displays it if autodraw > 0 - the values must be in range 0-255, - or else they will be "wrapped". - - -

    - Destroying the object (or sending "close") should close the window. -

    - -

    because of the design of Xlib, or if any of the connections - involved crashes, then the whole program has to be terminated. - (don't you love xlib). Something similar happens if you close any - of the windows yourself, but IIRC this could be fixed.

    - -

    only one window may be used per connection (to simplify matters; - this doesn't reduce flexibility).

    - -

    there is an additional argument that may be added to every - "open" message; if you don't put it, a new toplevel window is created. - if you put "root" then the screen's wallpaper will be used instead - (it may fail to work with some popular window managers). You can also - put a window number, e.g. 0x28003ff, you may connect to - an existing window; you can find out the number of a window by using - a tool like xwininfo, part of X11 standard tools.

    - - - - - changes the window's size, just like sending a grid - dim(height,width,3) would. - - this affects the size of screen captures too. - - - - forces a redraw of the window's contents. - - - - - -
  • draw() is never automatically invoked
  • -
  • draw() is invoked after each grid is finished
  • -
  • draw() is invoked incrementally after each row is - received. (but buffering may cause lines to come in groups - anyway)
  • -
    -
    - - - - Selects one of the 64 predefined cursors of X11. (Note that if - your cursor table has them numbered from 0 to 126 using only even - numbers, then those cursor numbers are all doubled compared to - the ones GridFlow uses.) - - - - This makes the cursor invisible. - - - - - - - - -

    This is emitted every time the cursor moves inside - the window connected to this format handler. This is also - emitted when the cursor is dragging from inside to outside - the window. This is also emitted when a mouse button is pressed.

    - -

    The y and x coordinates are relative to the upper - right corner of the window. Specific button states may be - extracted from the button value by applying [>> - buttonnumber] and then checking whether the result is odd. - Button numbers normally are: - -

  • Shift
  • -
  • CapsLock
  • -
  • Control
  • -
  • Alternate
  • -
  • NumLock
  • -
  • ???
  • -
  • Meta
  • -
  • ScrollLock
  • -
  • Left Button
  • -
  • Middle Button
  • -
  • Right Button
  • -
  • Wheel Up
  • -
  • Wheel Down
  • -

    -

    NOTE: This message form may become longer in the future, but the already defined parts will stay the same.

    -
    - - - - - -

    Similar to position above, but this is emitted when a - keyboard key is pressed while this format handler's window - is active. Keynames follow the X11 standard, similarly to PureData's [keyname] object. - The only exception is that keynames that are digits get prefixed by a capital D so that - they don't get mistaken for actual numbers.

    -

    NOTE: This message form may become longer in the future, but the already defined parts will stay the same.

    -
    - - - - - - Same as keypress but when a key gets released instead. -

    NOTE: This message form may become longer in the future, but the already defined parts will stay the same.

    -
    -
    -
    - - - The equivalent of format x11 on MacOS 10.x, but with less features (sorry). - - opens a dim(240,320,3) rgb window (default). - - - - Sends image to screen. Window will be resized to fit the image exactly. - - - - - - Opens a dim(240,320,3) rgb window (default). - - - - Sends image to screen. Window will be resized to fit the image exactly. - - - - - - - Normally "X11" with uppercase X; else consult - the AALib manual. - - - You can pass "commandline options" of AALib here. - - - - - converts a greyscale image to an ascii image and possibly - displays it. note that the image is typically downscaled by - a factor of 2 by aalib itself. - - - - the inverse of "dump". Both together in a loop allow to - post-process aalib's buffer before displaying. Goes well - with "draw", "autodraw". - - - - - - - - - like X11's autodraw. - - - like X11's draw. - - - produces a Dim[y,x,2] grid whose two channels are - ascii character codes and character attributes. - - - - - - Equivalent to "open x11", but this can be set by putting a line like - this in the config file: GridFlow.formats[:window] = GridFlow.formats[:x11] - (and similarly other aliases can be created too) - - -
    - -
    diff --git a/externals/gridflow/doc/format/#camera-icon.png b/externals/gridflow/doc/format/#camera-icon.png deleted file mode 100644 index 994f5a54..00000000 Binary files a/externals/gridflow/doc/format/#camera-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/#in-help.pd b/externals/gridflow/doc/format/#in-help.pd deleted file mode 100644 index 4287c2ff..00000000 --- a/externals/gridflow/doc/format/#in-help.pd +++ /dev/null @@ -1,189 +0,0 @@ -#N canvas 63 0 743 682 10; -#X obj 268 100 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 278 120 cnv 15 450 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 6 682 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X obj 8 5 cnv 15 720 15 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 268 25 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 25 Arguments:; -#X obj 271 513 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 274 512 Outlets:; -#X obj 8 25 cnv 15 250 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 11 25 Usage:; -#X obj 8 45 cnv 15 250 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 85 cnv 15 250 130 empty empty empty 5 11 0 12 -233017 -1 0 -; -#X obj 8 223 cnv 15 250 400 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 269 610 cnv 15 460 15 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 271 100 Inlets: (Read left to right \, inlet "0" being the -leftmost); -#X text 281 120 0: (Leftmost); -#X text 12 5 SUMMARY:; -#X text 76 6 Imports a grid \, usually an image \, video or live stream. -; -#X obj 121 51 #in; -#X obj 14 179 #out window; -#X obj 14 112 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 114 348 5 0 0 0 - - -; -#X msg 55 348 set 2; -#X msg 22 133 open b001.jpg; -#X text 13 86 for images:; -#X obj 23 564 #out window; -#X obj 13 285 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X msg 45 326 open movie.mpeg; -#X msg 116 398 loop 0; -#X msg 129 426 loop 1; -#X floatatom 47 537 5 0 0 0 - - -; -#X msg 116 373 rewind; -#X text 14 226 for video files:; -#X obj 68 516 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 14 156 #in; -#X obj 161 143 #in b001.jpg; -#X obj 161 107 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 161 179 #out window; -#X obj 23 501 #in; -#X text 274 411 Message "loop 0" - turns off the loop option. The video -stops once it reaches the end.; -#X text 278 148 Grid - Bang sends a grid to [#out]. Since frames from -video and live stream are read as a series of individual grids \, successive -bangs advance through the frames.; -#X text 277 368 Message "loop 1" - Restarts a video each time it reaches -the end \, "loop 1" is the default setting.; -#X obj 277 643 #import ( 1 ); -#X obj 380 643 #export; -#X obj 442 644 #export_list; -#X obj 539 644 #export_symbol; -#X obj 648 644 #pack; -#X text 282 45 One - [Filename] like [#in b001.jpg] eliminates the -need for an "open someimege.jpg" message but limits the action to one -specified grid.; -#X text 277 199 Message "open" - followed by the filename \, sends -a grid to [#out]. For example: "open b001.jpg".; -#X text 275 456 Interger - Displays the frame number of the frame just -sent. Applies to formats that have frame numbers \, i.e. video.; -#X text 275 566 Bang- Signals the end of a file and when a file is -unreadable.; -#X text 276 337 Message "rewind" - Will rewind video to the beginning. -; -#X text 277 296 Message "close" - Closes the video input device. Only -necessary when you are using a live capture device.; -#X text 273 536 See Inlet: 1: (leftmost); -#X text 12 689 GridFlow 0.8.0; -#X text 272 610 See also:; -#N canvas 0 0 656 649 more 0; -#X msg 225 70 codec jpg; -#X msg 220 340 framerate 33; -#X msg 220 550 colorspace rgb; -#X msg 221 264 size 400 600; -#X msg 219 404 force_size 400 600; -#X obj 23 591 #in; -#X msg 220 607 open quicktime.mov; -#X text 221 18 The following messages can be used to set parameters -for video (.mov) files.; -#X text 219 364 Number of frames per second.; -#X text 221 145 different versions of LibQuickTime may include support -for different codecs \, and some may also support entirely different -wrapper formats such as AVI.; -#X text 222 230 Codecs must be set before first frame is written.; -#X msg 219 465 parameter jpeg_quality 85; -#X text 218 572 Other colrspaces include rgba \, bgr \, bgra \, yuv -\, yuva.; -#X text 219 425 Determines window size when reading a video file.; -#X text 580 93 comment; -#X text 222 92 quicktime library for linux accepts LibQuickTime (libquicktime.so). -codecs currently available are: Raw \, jpeg \, png \, mipa \, yuv2 -\, yuv4.; -#X text 221 192 QuickTime library for Macintosh: Apple QuickTime (some -codecs/features may not be available).; -#X text 219 288 Sets height and width. Must be set before setting the -codec parameters and after setting framerate and codec.; -#X text 219 486 Sets compression quality (100 being the highest quality -but a large file. 75-85 is the standard setting).; -#X connect 0 0 5 0; -#X connect 1 0 5 0; -#X connect 2 0 5 0; -#X connect 3 0 5 0; -#X connect 4 0 5 0; -#X connect 6 0 5 0; -#X connect 11 0 5 0; -#X restore 5 632 pd more info about quicktime files; -#N canvas 0 0 874 655 more 0; -#X msg 338 499 open videodev \$1 \, get; -#X msg 53 273 brightness 1000; -#X msg 42 250 hue 1000; -#X msg 27 227 color 1000; -#X msg 66 297 contrast 1000; -#X msg 15 204 whiteness 1000; -#X msg 537 76 channel 2; -#X msg 537 106 tuner 2; -#X msg 538 136 norm 2; -#X msg 538 164 frequency 2; -#X msg 465 267 transfer mmap 4; -#X msg 464 390 transfer read; -#X msg 341 612 colorspace RGB24; -#X msg 340 555 size 400 600; -#X obj 110 521 #in; -#X obj 193 299 #contrast; -#X text 167 298 or; -#X text 339 575 Sets height and width of the input.; -#X text 465 328 In the case of mmap \, the extra numeric argument sets -the queue length in number of frames \, so you can select an appropriate -tradeoff between efficiency and latency.; -#X text 339 16 Grid Settings; -#X text 465 291 This is the standard and fastest way to receive pictures -from the camera.; -#X text 465 413 Some cameras/drivers only support "transfer read" and -not mmap.; -#X text 13 147 Message "get brightness" or "get" followed by any of -the other colour attributes will display its values in the console. -; -#X text 337 521 Opens video device.; -#X text 341 632 Supported values are RGB24 or YUV420P.; -#X text 10 88 Color Adjustments; -#X text 12 115 Values from 0 to 65535; -#X connect 0 0 14 0; -#X connect 1 0 14 0; -#X connect 2 0 14 0; -#X connect 3 0 14 0; -#X connect 4 0 14 0; -#X connect 5 0 14 0; -#X connect 6 0 14 0; -#X connect 7 0 14 0; -#X connect 8 0 14 0; -#X connect 9 0 14 0; -#X connect 10 0 14 0; -#X connect 11 0 14 0; -#X connect 12 0 14 0; -#X connect 13 0 14 0; -#X restore 5 657 pd more info about video devices; -#X text 276 242 Message "set" - followed by a number will select the -corresponding video frame. A bang must be sent to [#in] in order to -display the frame.; -#X connect 20 0 34 0; -#X connect 21 0 38 0; -#X connect 22 0 38 0; -#X connect 23 0 34 0; -#X connect 26 0 38 0; -#X connect 27 0 38 0; -#X connect 28 0 38 0; -#X connect 29 0 38 0; -#X connect 31 0 38 0; -#X connect 34 0 19 0; -#X connect 35 0 37 0; -#X connect 36 0 35 0; -#X connect 38 0 25 0; -#X connect 38 1 30 0; -#X connect 38 1 33 0; diff --git a/externals/gridflow/doc/format/#in-icon.png b/externals/gridflow/doc/format/#in-icon.png deleted file mode 100644 index a4c06bef..00000000 Binary files a/externals/gridflow/doc/format/#in-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/#mouse-icon.png b/externals/gridflow/doc/format/#mouse-icon.png deleted file mode 100644 index e8bc94bd..00000000 Binary files a/externals/gridflow/doc/format/#mouse-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/#out-icon.png b/externals/gridflow/doc/format/#out-icon.png deleted file mode 100644 index c64c94b5..00000000 Binary files a/externals/gridflow/doc/format/#out-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/#peephole-icon.png b/externals/gridflow/doc/format/#peephole-icon.png deleted file mode 100644 index 809e93ab..00000000 Binary files a/externals/gridflow/doc/format/#peephole-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/#quicktime-help.pd b/externals/gridflow/doc/format/#quicktime-help.pd deleted file mode 100644 index 22a6c9d0..00000000 --- a/externals/gridflow/doc/format/#quicktime-help.pd +++ /dev/null @@ -1,10 +0,0 @@ -#N canvas 328 114 500 300 10; -#X msg 93 60 codec jpg; -#X msg 94 92 parameter jpeg_quality 75; -#X msg 309 255 framerate 33; -#X msg 182 229 colorspace rgb; -#X msg 285 165 size 400 600; -#X msg 294 92 force_size 400 600; -#X obj 117 261 #in; -#X msg 107 194 open quicktime.mov; -#X connect 7 0 6 0; diff --git a/externals/gridflow/doc/format/#videodev-help.pd b/externals/gridflow/doc/format/#videodev-help.pd deleted file mode 100644 index 948b4ae4..00000000 --- a/externals/gridflow/doc/format/#videodev-help.pd +++ /dev/null @@ -1,15 +0,0 @@ -#N canvas 442 389 450 300 10; -#X msg 114 236 open videodev \$1 \, get; -#X msg 106 12 brightness 1000; -#X msg 106 35 hue 1000; -#X msg 107 64 color 1000; -#X msg 107 87 contrast 1000; -#X msg 107 120 whiteness 1000; -#X msg 288 59 channel 2; -#X msg 287 84 tuner 2; -#X msg 287 107 norm 2; -#X msg 291 138 frequency 2; -#X msg 108 156 transfer mmap 4; -#X msg 103 184 transfer read; -#X msg 283 210 colorspace RGB24; -#X msg 288 167 size 400 600; diff --git a/externals/gridflow/doc/format/aalib-icon.png b/externals/gridflow/doc/format/aalib-icon.png deleted file mode 100644 index f649f20a..00000000 Binary files a/externals/gridflow/doc/format/aalib-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/jpeg-icon.png b/externals/gridflow/doc/format/jpeg-icon.png deleted file mode 100644 index 9d2c40b1..00000000 Binary files a/externals/gridflow/doc/format/jpeg-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/opengrid-icon.png b/externals/gridflow/doc/format/opengrid-icon.png deleted file mode 100644 index 3999ef2a..00000000 Binary files a/externals/gridflow/doc/format/opengrid-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/openmpeg-icon.png b/externals/gridflow/doc/format/openmpeg-icon.png deleted file mode 100644 index ad277155..00000000 Binary files a/externals/gridflow/doc/format/openmpeg-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/openppm-icon.png b/externals/gridflow/doc/format/openppm-icon.png deleted file mode 100644 index 124127fb..00000000 Binary files a/externals/gridflow/doc/format/openppm-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/opentarga-icon.png b/externals/gridflow/doc/format/opentarga-icon.png deleted file mode 100644 index 5141a8ab..00000000 Binary files a/externals/gridflow/doc/format/opentarga-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/openx11-icon.png b/externals/gridflow/doc/format/openx11-icon.png deleted file mode 100644 index 83aa5a69..00000000 Binary files a/externals/gridflow/doc/format/openx11-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/png-icon.png b/externals/gridflow/doc/format/png-icon.png deleted file mode 100644 index d055ce24..00000000 Binary files a/externals/gridflow/doc/format/png-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/quartz-icon.png b/externals/gridflow/doc/format/quartz-icon.png deleted file mode 100644 index 943d9161..00000000 Binary files a/externals/gridflow/doc/format/quartz-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/quicktime-icon.png b/externals/gridflow/doc/format/quicktime-icon.png deleted file mode 100644 index 999e13aa..00000000 Binary files a/externals/gridflow/doc/format/quicktime-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/sdl-icon.png b/externals/gridflow/doc/format/sdl-icon.png deleted file mode 100644 index 959d2e8e..00000000 Binary files a/externals/gridflow/doc/format/sdl-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/videodev-icon.png b/externals/gridflow/doc/format/videodev-icon.png deleted file mode 100644 index cd5b30d8..00000000 Binary files a/externals/gridflow/doc/format/videodev-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/window-icon.png b/externals/gridflow/doc/format/window-icon.png deleted file mode 100644 index aab7d110..00000000 Binary files a/externals/gridflow/doc/format/window-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/format/window2-icon.png b/externals/gridflow/doc/format/window2-icon.png deleted file mode 100644 index 54c925e1..00000000 Binary files a/externals/gridflow/doc/format/window2-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/gridflow.css b/externals/gridflow/doc/gridflow.css deleted file mode 100644 index eae50bfa..00000000 --- a/externals/gridflow/doc/gridflow.css +++ /dev/null @@ -1,15 +0,0 @@ -P {color:#000000; font-family: Arial, Helvetica, sans-serif; font-size:12px;} -B {color:#336699;} -A {color:#003366; font-family: Arial, Helvetica, sans-serif;} -A:link {color:#003366;} -A:active {color:#336699;} -A:visited {color:#336699;} -BODY {background-color:#FFFFFF;} -H1 {color:#336699; font-family: Arial, Helvetica, sans-serif;} -H2 {color:#336699; font-family: Arial, Helvetica, sans-serif;} -H3 {color:#336699; font-family: Arial, Helvetica, sans-serif;} -H4 {color:#004060; font-family: Arial, Helvetica, sans-serif;; font-size: 16px} -H5 {color:#004060; font-family: Arial, Helvetica, sans-serif;; font-size: 16px} -LI {font-family: Arial, Helvetica, sans-serif;} -.text {font-family: Arial, Helvetica, sans-serif; font-size:10px;; background-color: #FFFFFF}h5 { color:#336699; font-family: Arial, Helvetica, sans-serif; ; font-size: 14px} -dt { font-weight: bold; color: #006699} diff --git a/externals/gridflow/doc/images/black.png b/externals/gridflow/doc/images/black.png deleted file mode 100644 index ce34e740..00000000 Binary files a/externals/gridflow/doc/images/black.png and /dev/null differ diff --git a/externals/gridflow/doc/images/crop_icons b/externals/gridflow/doc/images/crop_icons deleted file mode 100644 index 4aa06499..00000000 --- a/externals/gridflow/doc/images/crop_icons +++ /dev/null @@ -1,12 +0,0 @@ -if [ "z$1" = "zall" ]; then - foo="\@*.png format*.png" -else - foo="$1" -fi - -for z in $foo; do \ - echo $z - pngtopnm $z | pnmcrop | pnmtopng -background black -transparent =red -compress 9 > $z.new - mv $z.new $z -done - diff --git a/externals/gridflow/doc/images/pingpong.png b/externals/gridflow/doc/images/pingpong.png deleted file mode 100644 index 949ddd02..00000000 Binary files a/externals/gridflow/doc/images/pingpong.png and /dev/null differ diff --git a/externals/gridflow/doc/images/see_screenshot.png b/externals/gridflow/doc/images/see_screenshot.png deleted file mode 100644 index 821f3c65..00000000 Binary files a/externals/gridflow/doc/images/see_screenshot.png and /dev/null differ diff --git a/externals/gridflow/doc/images/titre_gridflow.png b/externals/gridflow/doc/images/titre_gridflow.png deleted file mode 100644 index 049857a8..00000000 Binary files a/externals/gridflow/doc/images/titre_gridflow.png and /dev/null differ diff --git a/externals/gridflow/doc/index.html b/externals/gridflow/doc/index.html deleted file mode 100644 index d223442b..00000000 --- a/externals/gridflow/doc/index.html +++ /dev/null @@ -1,149 +0,0 @@ - - -GridFlow 0.8.0 - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
       
    -

    - a multi-dimensional dataflow processing library - for PureData and Ruby, specialized in image and video
    -

    -
     
    -

    GridFlow 0.8.0 - documentation index

    -
     
     

    GridFlow On The Net

      -
     

    Credits

      - - C++/Ruby Programming : Mathieu Bouchard
    - Pd Examples : Mathieu Bouchard, Alexandre Castonguay
    - MacOS 10 version : Mathieu Bouchard, James Tittle, Adam Lindsay
    - Windows version (upcoming) : Carmen Rocco
    - -
     

    Sponsors

      - -

    GridFlow is sponsored by - Artengine

    - -

    Development of GridFlow 0.3.0 - 0.5.0 was made possible in part by a grant from the - HRDC to Artengine

    - -
     
    -

    GridFlow 0.8.0 Documentation
    - by Mathieu Bouchard matju@sympatico.ca - and
    - Alexandre Castonguay acastonguay@artengine.ca

    -
    - - diff --git a/externals/gridflow/doc/install.html b/externals/gridflow/doc/install.html deleted file mode 100644 index 6127c79c..00000000 --- a/externals/gridflow/doc/install.html +++ /dev/null @@ -1,122 +0,0 @@ - - -GridFlow 0.8.1 - Installation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
     
    -
    -

    GridFlow 0.8.1 - Installation

    -
        
    -

    Hardware and Software you Probably Need

    Required Computer/Processor (one of...):

    • 1 : PC : AMD K6/K7/K8 or Intel P2/P3/P4 (absolute minimum is 386)
    • 2 : Macintosh : G3/G4/G5
    • 3 : Corel NetWinder : StrongARM V4L
    • 4 : HP iPaq : some processor that works like the NetWinder
    • 5 : could work on SiliconGraphics and SPARCstation with a little nurture.

    Required OS (one of...):

    • 1 : Linux (most any variant) (recommended)
    • 2 : MacOS 10.2 or later (experimental)
    • 3 : Windows with MinGW (very experimental)

    Required Software:

    • 1 : Ruby 1.6.6 or more recent (1.8.0 recommended) (make sure you have the *.so and *.h files) - (on MacOS you may have to remove or hide the existing one and install a more complete package)

    Dataflow Software :

    • 1 : PureData 0.36 or later (recommended)

    Multimedia Components (optional):

    • 1 : libSDL (Simple Directmedia Layer)
    • 2 : libjpeg
    • 3 : libpng
    • 4 : libmpeg3 (.mpg reader, HeroineWarrior's)
    • 5 : libquicktime (.mov reader/writer, Burkhard Plaum's or HeroineWarrior's)
    • 6 : libmpeg (.mpg reader, Greg Ward's, old)
    • 7 : Apple QuickTime (.mov reader/writer)
    • 8 : Ascii Art Library (aalib)
    • 9 : PCI video digitizer card (and Video4linux 1 driver)
    • 10 : USB camera (and Video4linux 1 driver)

    Developer Tools (roll-your-own):

    • 1 : GNU C++ Compiler (gcc/g++) version 3.x or maybe 2.95
    • 2 : GNU Make (gmake)
    • 3 : CVS (for upgrading/collaboration)
    • 4 : Ruby library "xmlparser" (optional, for editing documentation)
    • 5 : Developer Tools CD dec 2002 (if MacOS 10.2)
    • 6 : XCODE (if MacOS 10.3)
    • 7 : FINK (if MacOS 10)

    NOTE: Apparently GCC 2.x has problems dealing with *.a components; if that -affects you, use *.so files instead.

     
    -

    Downloading from CVS

    The CVS has the absolute latest version of GridFlow, but it's not guaranteed to be working, whereas -the actual releases are more tested.

    However you may have various reasons to use the CVS edition, so here's how:

    Make sure you have the cvs program installed.

    mkdir -p ~/src/gridflow (make a directory; it could be called otherwise if you like)

    cd ~/src/gridflow (go in that directory)

    cvs -d :pserver:anonymous@cvs.gridflow.ca:/home/cvs/gridflow login (the password is blank)

    cvs -d :pserver:anonymous@cvs.gridflow.ca:/home/cvs/gridflow checkout . (download the first time)

    And the subsequent times, you only do this:

    cd ~/src/gridflow

    cvs update -dP

     
    -

    Installation instructions (incl. compilation)

    • 1 : Install Ruby. Make sure it contains ruby.h and intern.h and related files. It's also -recommended to have libruby.so. Those extra files may be in a package called ruby-dev -if you are using RPM or DEB/FINK. If you are building Ruby yourself, it's better to configure ruby with --enable-shared. If you install into a system directory, you may have to run ldconfig -after installing Ruby.
    • 2 : Download GridFlow from the website and uncompress it, or get it from the CVS server.
    • 3 : Run ./configure from the gridflow directory. Make sure it detects all the components -you want to use with GridFlow. In MacOS you would normally use FINK to install: libjpeg libjpeg-shlibs libpng-shlibs libpng3 libpng3-shlibs libmpeg libmpeg-shlibs
    • 4 : Note: you may have to set CPLUS_INCLUDE_PATH to indicate where to find *.h files, and you -may have to set both LIBRARY_PATH and LD_LIBRARY_PATH to indicate where to find -*.so or *.aor *.dylib or *.bundle or *.dll or *.lib files.
    • 5 : Note: you can do ./configure --help to get a list of supported -options. You can use them to ignore the presence of troublesome libraries -and select debugging level. With --use-compiler you should use a version of g++, not -directly a version of gcc, else you get undefined symbol problems. Some versions of gcc/g++ -are troublesome.
    • 6 : Run make to produce the executables gridflow.so and gridflow.pd_linux or similar
    • 7 : Run make install to copy those executables and related files to their final locations.
    • 8 : Run make test just to verify that GridFlow isn't working too bad.
    • 9 : With a text editor, create ~/.gridflow_startup and write something like GridFlow.data_path << "/home/myself/gridflow/images" to tell GridFlow where to find the -images used in the examples. You may add more lines like that one if you have folders containing images -or movies you want to use with GridFlow.
    • 10 : Loading GridFlow:
      • 1 : PureData : With a text editor, modify or create ~/.pdrc and write -lib gridflow.
      • 2 : ImpureData : In the ".pdrc editor", add gridflow to the list of libraries.
      • 3 : plain Ruby : the command require "gridflow" will load gridflow.so.
      -Note that on MacOS the dot-files are invisible in the Finder but you do cd ~/Desktop; ln -s ../.pdrc "PureData Configuration" to make an alias on the Desktop. -Note also that on Windows the dot-files are even more trouble.
     
    -

    Other Tips

    • 1 : you just did a CVS update and now the program does not compile, or -crashes, or changes didn't go through.
      • 1 : Did you forget the "make install" step?
      • 2 : If a new directory is created, you need to do cvs update -d. - Many people just add that option to their configuration of the CVS software.
      • 3 : When some kinds of changes have happened, you may have to rerun the configure - program before redoing make. If you had previously reconfigured with specific options, - don't forget to use them again in this case.
      • 4 : Maybe matju forgot to upload part of an important change. Tell him.
    • 2 : PureData Crashing:
      • 1 : you can start the debugger like gdb `which pd` core.24255 where the latter part - is the name of a RAM dump file. You can enable those dumps using the shell command ulimit -c unlimited. To avoid dumping, you can also start Pd from within the debugger - using gdb `which pd` then run then cause the crash.
      • 2 : In GDB, after a crash, you can use the where to find out what Pd was doing at the moment - of the crash. If instead Pd is frozen, you can force it to crash using Ctrl+C in the terminal.
      • 3 : To quit GDB use the quit command. (really.)
     
    -
    -

    -GridFlow 0.8.1 Documentation
    -Copyright © 2001,2002,2003,2004,2005,2006 by Mathieu Bouchard -matju@artengine.ca -

    -
    - - diff --git a/externals/gridflow/doc/install.xml b/externals/gridflow/doc/install.xml deleted file mode 100644 index e1f1c434..00000000 --- a/externals/gridflow/doc/install.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - -
    -

    Required Computer/Processor (one of...): -

  • PC : AMD K6/K7/K8 or Intel P2/P3/P4 (absolute minimum is 386)
  • -
  • Macintosh : G3/G4/G5
  • -
  • Corel NetWinder : StrongARM V4L
  • -
  • HP iPaq : some processor that works like the NetWinder
  • -
  • could work on SiliconGraphics and SPARCstation with a little nurture.
  • -

    -

    Required OS (one of...): -

  • Linux (most any variant) (recommended)
  • -
  • MacOS 10.2 or later (experimental)
  • -
  • Windows with MinGW (very experimental)
  • -

    -

    Required Software: -

  • Ruby 1.6.6 or more recent (1.8.0 recommended) (make sure you have the *.so and *.h files) - (on MacOS you may have to remove or hide the existing one and install a more complete package)
  • -

    -

    Dataflow Software : -

  • PureData 0.36 or later (recommended)
  • -

    -

    Multimedia Components (optional): -

  • libSDL (Simple Directmedia Layer)
  • -
  • libjpeg
  • -
  • libpng
  • -
  • libmpeg3 (.mpg reader, HeroineWarrior's)
  • -
  • libquicktime (.mov reader/writer, Burkhard Plaum's or HeroineWarrior's)
  • -
  • libmpeg (.mpg reader, Greg Ward's, old)
  • -
  • Apple QuickTime (.mov reader/writer)
  • -
  • Ascii Art Library (aalib)
  • -
  • PCI video digitizer card (and Video4linux 1 driver)
  • -
  • USB camera (and Video4linux 1 driver)
  • -

    -

    Developer Tools (roll-your-own): -

  • GNU C++ Compiler (gcc/g++) version 3.x or maybe 2.95
  • -
  • GNU Make (gmake)
  • -
  • CVS (for upgrading/collaboration)
  • -
  • Ruby library "xmlparser" (optional, for editing documentation)
  • -
  • Developer Tools CD dec 2002 (if MacOS 10.2)
  • -
  • XCODE (if MacOS 10.3)
  • -
  • FINK (if MacOS 10)
  • -

    -

    NOTE: Apparently GCC 2.x has problems dealing with *.a components; if that -affects you, use *.so files instead.

    -
    - -
    -

    The CVS has the absolute latest version of GridFlow, but it's not guaranteed to be working, whereas -the actual releases are more tested.

    -

    However you may have various reasons to use the CVS edition, so here's how:

    -

    Make sure you have the cvs program installed.

    -

    mkdir -p ~/src/gridflow (make a directory; it could be called otherwise if you like)

    -

    cd ~/src/gridflow (go in that directory)

    -

    cvs -d :pserver:anonymous@cvs.gridflow.ca:/home/cvs/gridflow login (the password is blank)

    -

    cvs -d :pserver:anonymous@cvs.gridflow.ca:/home/cvs/gridflow checkout . (download the first time)

    -

    And the subsequent times, you only do this:

    -

    cd ~/src/gridflow

    -

    cvs update -dP

    -
    - -
    - -
  • Install Ruby. Make sure it contains ruby.h and intern.h and related files. It's also -recommended to have libruby.so. Those extra files may be in a package called ruby-dev -if you are using RPM or DEB/FINK. If you are building Ruby yourself, it's better to configure ruby with ---enable-shared. If you install into a system directory, you may have to run ldconfig -after installing Ruby.
  • - -
  • Download GridFlow from the website and uncompress it, or get it from the CVS server.
  • - -
  • Run ./configure from the gridflow directory. Make sure it detects all the components -you want to use with GridFlow. In MacOS you would normally use FINK to install: - libjpeg libjpeg-shlibs libpng-shlibs libpng3 libpng3-shlibs libmpeg libmpeg-shlibs -
  • - -
  • Note: you may have to set CPLUS_INCLUDE_PATH to indicate where to find *.h files, and you -may have to set both LIBRARY_PATH and LD_LIBRARY_PATH to indicate where to find -*.so or *.aor *.dylib or *.bundle or *.dll or *.lib files.
  • - -
  • Note: you can do ./configure --help to get a list of supported -options. You can use them to ignore the presence of troublesome libraries -and select debugging level. With --use-compiler you should use a version of g++, not -directly a version of gcc, else you get undefined symbol problems. Some versions of gcc/g++ -are troublesome.
  • - -
  • Run make to produce the executables gridflow.so and gridflow.pd_linux or similar
  • -
  • Run make install to copy those executables and related files to their final locations.
  • -
  • Run make test just to verify that GridFlow isn't working too bad.
  • -
  • With a text editor, create ~/.gridflow_startup and write something like -GridFlow.data_path << "/home/myself/gridflow/images" to tell GridFlow where to find the -images used in the examples. You may add more lines like that one if you have folders containing images -or movies you want to use with GridFlow.
  • -
  • Loading GridFlow: -
  • PureData : With a text editor, modify or create ~/.pdrc and write -lib gridflow.
  • -
  • ImpureData : In the ".pdrc editor", add gridflow to the list of libraries.
  • -
  • plain Ruby : the command require "gridflow" will load gridflow.so.
  • -
    -Note that on MacOS the dot-files are invisible in the Finder but you do -cd ~/Desktop; ln -s ../.pdrc "PureData Configuration" to make an alias on the Desktop. -Note also that on Windows the dot-files are even more trouble. - -
    - -
    - - -
  • you just did a CVS update and now the program does not compile, or -crashes, or changes didn't go through. - -
  • Did you forget the "make install" step?
  • -
  • If a new directory is created, you need to do cvs update -d. - Many people just add that option to their configuration of the CVS software.
  • -
  • When some kinds of changes have happened, you may have to rerun the configure - program before redoing make. If you had previously reconfigured with specific options, - don't forget to use them again in this case.
  • -
  • Maybe matju forgot to upload part of an important change. Tell him.
  • -
    - - -
  • PureData Crashing: - -
  • you can start the debugger like gdb `which pd` core.24255 where the latter part - is the name of a RAM dump file. You can enable those dumps using the shell command - ulimit -c unlimited. To avoid dumping, you can also start Pd from within the debugger - using gdb `which pd` then run then cause the crash.
  • -
  • In GDB, after a crash, you can use the where to find out what Pd was doing at the moment - of the crash. If instead Pd is frozen, you can force it to crash using Ctrl+C in the terminal. -
  • -
  • To quit GDB use the quit command. (really.)
  • - - -
    -
    diff --git a/externals/gridflow/doc/internals.html b/externals/gridflow/doc/internals.html deleted file mode 100644 index 4a2e7978..00000000 --- a/externals/gridflow/doc/internals.html +++ /dev/null @@ -1,206 +0,0 @@ - - -GridFlow 0.8.1 - C++/Ruby Internals - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
     
    -
    -

    GridFlow 0.8.1 - C++/Ruby Internals

    -
        

    notes

      -
    -

    Objects for Scripting

      -
    • [ruby class FObject extending Data]
    • -
    • [ruby class GridObject extending FObject]
    • -
    • [ruby class BitPacking]
    • -
    • [ruby FPatcher extending FObject]
    • -
    • [ruby GridFlow::USB]
    • -
    • [ruby GridFlow::USB::Device]
    • -
    • [ruby GridFlow::USB::Config]
    • -
    • [ruby GridFlow::USB::Interface]
    • -
    • [ruby GridFlow::USB::Endpoint]
    • -
    -

    Objects for Internals

      -
    • [C++ class GridInlet]
    • -
    • [C++ class GridOutlet]
    • -
    • [C++ class Dim]
    • -
    • [C++ class Grid]
    • -
    • [C++ class Numop1]
    • -
    • [C++ class Numop2]
    • -
    • [C++ class GridClass]
    • -
    • [C++ class GFBridge]
    • -
    -

    -
    -

    notes

    In Ruby, GridFlow defines a namespace (module) called GridFlow. Most of the -constants it defines are part of that namespace.

    Ruby does not have the same concept of object as PD. In GridFlow, object classes may -inherit features from other object classes, and also there is no concept of inlet nor outlet, which are instead -provided by GridFlow::FObject, which also has the purpose of exporting functionality to -PD.

    In this document (and in many others) the phrase "a Potato" will be a shorthand for "an object of the class -called Potato", which is often used in modern software design and is a nice convention borrowed from -biology.

    -A FObject is normally in two or three parts: a (Ruby) GridFlow::FObject -that is the central part; a (C++) FObject; a (C++) BFObject. -The GridFlow::FObject is created as a RData kind of box (T_DATA) -using Ruby-C's Data_Make_Struct on a GridObject. This is -how most Ruby-C programs inherit from Ruby classes. Note that -Ruby's boxed objects have a maximum of five fields, and they're usually -taken, so additional fields have to be outside of it. This is why RData exists.

    -So basically you have a C++ FObject that is "part of" a GridFlow::FObject -and they point to each other using "peer pointers". - The BFObject links back to the RData box through a pointer called peer.

     
    -

    Objects for Scripting

      class ruby class FObject extending Data

    -





    - - Provides inlets and outlets to Ruby Objects.
    method init ()
    -
    method send_in (int inlet, message...)
    -
    method send_out (int outlet, message...)
    -
      class ruby class GridObject extending FObject

    -





    - - Provides grid support to FObjects.
    method inlet_dim (Integer inlet) - gives an array of Integers (dimension list)
    -
    method inlet_nt (Integer inlet) - gives a Symbol (number type)
    -
    method inlet_set_factor (Integer inlet, Integer factor) - ensures received packets have a size that is - a whole multiple of this size. - must be called from rgrid_begin.
    -
    method send_out_grid_begin (Integer outlet, Array of Integer dimensions, number type nt) - establishes grid streams between an outlet and all inlets - connected to it.
    -
    method send_out_grid_flow (Integer outlet, String data) - for sending a grid data packet through that outlet.
    -
    method send_out_grid_end (Integer outlet) - (isn't this one obsolete?)
    -
    inlet 0 method rgrid_begin ()
    -
    inlet 0 method rgrid_flow (String data)
    -
    inlet 0 method rgrid_end ()
    -
      class ruby class BitPacking

    -





    - - A BitPacking is a simple two-way converter between different - numeric layouts.
      class ruby FPatcher extending FObject

    -





    -

    This class is much like PureData's abstractions.

    This is a container for objects. Its proper objects are numbered - starting with zero. The wire list is given in terms of those numbers: - (sourceobject,sourceinlet,destobject,destinlet). There is a - pseudo-object numbered #-1 which map to the container's own inlets - and outlets.


      class ruby GridFlow::USB

    -





    -

    wrapper for struct usb_dev_handle


    attr .busses (.busses)
      class ruby GridFlow::USB::Device

    -





    -

    wrapper for struct usb_device and struct usb_device_descriptor


      class ruby GridFlow::USB::Config

    -





    -

    wrapper for struct usb_config_descriptor, struct usb_interface


      class ruby GridFlow::USB::Interface

    -





    -

    wrapper for struct usb_interface_descriptor


      class ruby GridFlow::USB::Endpoint

    -





    -

    wrapper for struct usb_endpoint_descriptor


     
    -

    Objects for Internals

      class C++ class GridInlet

    -





    - - GridInlets represent inlets that accept grids.
      class C++ class GridOutlet

    -





    - - GridOutlets represent outlets that send grids.
      class C++ class Dim

    -





    - - Dim represents a list of dimensions.
      class C++ class Grid

    -





    - - Grid represents a grid that is fully stored in memory.
      class C++ class Numop1

    -





    - - This represents a one-input operator. - Such an object contains a map() function that applies the operator - over a memory segment.
      class C++ class Numop2

    -





    - - This represents a two-input operator. - Such an object contains four functions for each T, where - T is one of the types uint8, int16, int32, float32.
    method map (integer n, Pt as, T b) - for i in 0...n, - as[i] := f(as[i],b); - This is like [#] with a scalar righthand
    -
    method zip (integer n, Pt as, Pt bs) - for i in 0...n, - as[i] := f(as[i],bs[i]); - bs is not modified. - (This is like [#] with a nonscalar righthand)
    -
    method fold (integer an, integer n, Pt as, Pt bs)

    - for i in 0...n, - for j in 0...an, - as[j] := f(as[j],bs[i*an+j]);

    - (this is like [#fold])
    -
    method scan (integer an, integer n, Pt as, Pt bs)

    for j in 0...an: bs[j] := f(as[j],bs[j]);

    for i in 1...n: for j in 0...an: - bs[j] := f(bs[(i-1)*an+j],bs[i*an+j]);

    - (this is like [#scan])
    -
      class C++ class GridClass

    -





    - - This represents a class of GridObjects.
      class C++ class GFBridge

    -





    - - This holds linkage information about PureData.
     
    -
    -

    -GridFlow 0.8.1 Documentation
    -Copyright © 2001,2002,2003,2004,2005,2006 by Mathieu Bouchard -matju@artengine.ca -

    -
    - - diff --git a/externals/gridflow/doc/internals.xml b/externals/gridflow/doc/internals.xml deleted file mode 100644 index 952d0507..00000000 --- a/externals/gridflow/doc/internals.xml +++ /dev/null @@ -1,228 +0,0 @@ - - - - - -
    - -

    In Ruby, GridFlow defines a namespace (module) called GridFlow. Most of the -constants it defines are part of that namespace.

    -

    Ruby does not have the same concept of object as PD. In GridFlow, object classes may -inherit features from other object classes, and also there is no concept of inlet nor outlet, which are instead -provided by GridFlow::FObject, which also has the purpose of exporting functionality to -PD.

    -

    In this document (and in many others) the phrase "a Potato" will be a shorthand for "an object of the class -called Potato", which is often used in modern software design and is a nice convention borrowed from -biology.

    - -

    -A FObject is normally in two or three parts: a (Ruby) GridFlow::FObject -that is the central part; a (C++) FObject; a (C++) BFObject. -The GridFlow::FObject is created as a RData kind of box (T_DATA) -using Ruby-C's Data_Make_Struct on a GridObject. This is -how most Ruby-C programs inherit from Ruby classes. Note that -Ruby's boxed objects have a maximum of five fields, and they're usually -taken, so additional fields have to be outside of it. This is why RData exists. -

    - -

    -So basically you have a C++ FObject that is "part of" a GridFlow::FObject -and they point to each other using "peer pointers". - The BFObject links back to the RData box through a pointer called peer. -

    - -
    - -
    - - Provides inlets and outlets to Ruby Objects. - - - - - - - - - - - - - - - - - - Provides grid support to FObjects. - - - - gives an array of Integers (dimension list) - - - - - gives a Symbol (number type) - - - - - - ensures received packets have a size that is - a whole multiple of this size. - must be called from rgrid_begin. - - - - - - - establishes grid streams between an outlet and all inlets - connected to it. - - - - - - for sending a grid data packet through that outlet. - - - - - (isn't this one obsolete?) - - - - - - - - - - - - - A BitPacking is a simple two-way converter between different - numeric layouts. - - - -

    This class is much like PureData's abstractions.

    -

    This is a container for objects. Its proper objects are numbered - starting with zero. The wire list is given in terms of those numbers: - (sourceobject,sourceinlet,destobject,destinlet). There is a - pseudo-object numbered #-1 which map to the container's own inlets - and outlets.

    -
    - -

    wrapper for struct usb_dev_handle

    - wrapper for struct usb_bus and usb_get_busses() -
    - - -

    wrapper for struct usb_device and struct usb_device_descriptor

    -
    - - -

    wrapper for struct usb_config_descriptor, struct usb_interface

    -
    - - -

    wrapper for struct usb_interface_descriptor

    -
    - - -

    wrapper for struct usb_endpoint_descriptor

    -
    -
    - -
    - - GridInlets represent inlets that accept grids. - - - - GridOutlets represent outlets that send grids. - - - - Dim represents a list of dimensions. - - - - Grid represents a grid that is fully stored in memory. - - - - This represents a one-input operator. - Such an object contains a map() function that applies the operator - over a memory segment. - - - - This represents a two-input operator. - Such an object contains four functions for each T, where - T is one of the types uint8, int16, int32, float32. - - - - - - for i in 0...n, - as[i] := f(as[i],b); - This is like [#] with a scalar righthand - - - - - - - for i in 0...n, - as[i] := f(as[i],bs[i]); - bs is not modified. - (This is like [#] with a nonscalar righthand) - - - - - - - - -

    - for i in 0...n, - for j in 0...an, - as[j] := f(as[j],bs[i*an+j]); -

    - - (this is like [#fold]) -
    - - - - - - - -

    for j in 0...an: bs[j] := f(as[j],bs[j]);

    -

    for i in 1...n: for j in 0...an: - bs[j] := f(bs[(i-1)*an+j],bs[i*an+j]);

    - - (this is like [#scan]) -
    -
    - - - This represents a class of GridObjects. - - - - This holds linkage information about PureData. - - -
    - -
    diff --git a/externals/gridflow/doc/introduction.html b/externals/gridflow/doc/introduction.html deleted file mode 100644 index 8adf4ead..00000000 --- a/externals/gridflow/doc/introduction.html +++ /dev/null @@ -1,125 +0,0 @@ - - -GridFlow 0.7.7 - Introduction - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
     
    -

    GridFlow 0.7.7 - introduction

    -
       
      - -

    The philosophy that guides PureData is a simple but powerful one: - the software must first provide the user with generic tools - rather than imposing pre-cooked effects. In other words the user - should have total freedom. - -

    GridFlow follows that philosophy: it first defines elementary - mathematical operations. Those can in turn be used as simple - visual effects or be combined to produce more complex effects. - -

    The strategy followed by most video plugins for PureData, jMax, and MAX/MSP, is - to provide the user first with constructs for manipulating video - streams at a fairly high level. The strategy put forward by GridFlow - is different. - -

    It can be said that in all those video plugins there are three layers: - the first, the low level, is not accessible to non-programmers (and fairly - difficult of access even to programmers); the second, mathematical, where - one needs not to be a C++ programmer, but still requires a good - understanding of how numbers and pixels and colours and geometry work; and - a third level that looks more like the software an artist would like to - use. - -

    In other video plugins there is a fairly low emphasis on the second - layer. In GridFlow that layer is very strong and opens many possibilities. - Even though the third layer in GridFlow is not as developed as it could, - the second layer may be used to produce third-layer object classes much - more quickly. - -

    GridFlow provides a unifying view of multimedia information. Several - kinds of data -- raster graphics in any number of channels, coordinate - transforms, matrices, vectors -- may all be represented by Grids - (also known as multi-dimensional arrays). Grids exist in several ways: they - are usually streamed from object to object, but they can also be stored in - memory, stored into a file, sent through the network. - -

    The new GridFlow (0.6) also provides scripting, which inserts itself - between the first and second layer to provide additional functionality. The - language that has been chosen is Ruby, designed by Yukihiro Matsumoto - during the 90's. This new layer is used for portability between host - software (PureData vs jMax), for portability between platforms (Windows/Mac - versions do not exist but would be farther ahead if it wasn't for Ruby), - for independency from host software (GridFlow can be tested and used - independently of PureData/jMax), for quick extensibility (you can create - PureData/jMax object classes directly in GridFlow's configuration file), - and so on. - -

    In short, GridFlow is a whole new world of possibilities for - the multimedia artist and programmer. - -

    - matju

    -
     
      - -

    Here is an example of how things work in GridFlow. (if you want more - information, consult the rest of this manual) - -

    A picture is a three-dimensional Grid:
    - 0 : rows
    - 1 : columns
    - 2 : channels
    - -

    - Pictures come in all sorts of heights and widths. The channels, however, - are more limited in number. Usually it's three: Red, Green, Blue. - -

    A coordinate transform, when specified pixel by pixel, may be a - three-dimensional Grid in which the two "channels" are Y and X, - representing row-and-column positions in a separate picture. - -

    Other shapes of grids could be designed to represent various things; - for example, configuration for blur effects. Grids could be useful for - things not directly related to raster pictures (e.g. sound recordings). - Those are all kinds of things you could actually develop within the - PureData / GridFlow framework. You don't need to wait for me. -

     
    -

    GridFlow 0.7.7 Documentation
    - by Mathieu Bouchard matju@sympatico.ca - and
    - Alexandre Castonguay acastonguay@artengine.ca

    -
    - - diff --git a/externals/gridflow/doc/license.html b/externals/gridflow/doc/license.html deleted file mode 100644 index 0414218f..00000000 --- a/externals/gridflow/doc/license.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - -GridFlow 0.7.7 - License - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - -
    -
     
    -

    GridFlow 0.7.7 - License

    -
       
    -
    -
    -

    - Copyright (c) 2001,2002,2003,2004 by Mathieu Bouchard - -

    - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - -

    - See file LICENSE for further informations on licensing terms. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public - License for more details. - -

    - You should have received a copy of the GNU General Public - License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. - -

    -
    -
     
    -

    GridFlow 0.7.7 Documentation
    - by Mathieu Bouchard matju@sympatico.ca - and
    - Alexandre Castonguay acastonguay@artengine.ca

    -
    - - diff --git a/externals/gridflow/doc/moulinette.rb b/externals/gridflow/doc/moulinette.rb deleted file mode 100644 index c74933d6..00000000 --- a/externals/gridflow/doc/moulinette.rb +++ /dev/null @@ -1,660 +0,0 @@ -=begin - $Id: moulinette.rb,v 1.2 2006-03-15 04:44:50 matju Exp $ - convert GridFlow Documentation XML to HTML with special formatting. - - GridFlow - Copyright (c) 2001,2002,2003,2004,2005 by Mathieu Bouchard - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - See file ../../COPYING for further informations on licensing terms. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -=end - -GF_VERSION = "0.8.1" - -#$use_rexml = true -$use_rexml = false - -require "gridflow" - -if $use_rexml - # this is a pure ruby xml-parser - begin - require "rexml/sax2parser" - rescue LoadError - require "rexml/parsers/sax2parser" - include REXML::Parsers - end - include REXML -else - # this uses libexpat.so - require "xmlparser" -end - -=begin todo - - [ ] make it use the mk() function as much as possible. - [ ] make it validate - [ ] make it find the size of the pictures (and insert width/height attrs) - [ ] tune the output - [ ] fix the header of the page - -=end - -if nil - alias real_print print - alias real_puts puts - def print(*x); real_print "[#{caller[0]}]"; real_print *x; end - def puts (*x); real_print "[#{caller[0]}]"; real_puts *x; end -end - -def warn(text) - STDERR.print "\e[1;031mWARNING:\e[0m " - STDERR.puts text -end - -$escape_map={ - "<" => "<", - ">" => ">", - "&" => "&", -} - -# hackish transcoding from unicode to iso-8859-1 -def multicode(text); text.gsub(/\xc2(.)/) { $1 } end - -def html_quote(text) - return nil if not text - text = text.gsub(/[<>&]/) {|x| $escape_map[x] } - text = multicode(text) if /\xc2/ =~ text - text -end - -def mk(tag,*values,&block) - raise "value-list's length must be even" if values.length % 2 != 0 - print "<#{tag}" - i=0 - while i" - (block[]; mke tag) if block -end -def mke(tag) - print "" -end - -def mkimg(parent,alt=nil,prefix=nil) - #STDERR.puts parent.to_s - icon = parent.contents.find {|x| XNode===x and x.tag == 'icon' } - name = parent.att["name"] - url = prefix+"/"+name+"-icon.png" - if icon and icon.att["src"] - url = icon.att["src"] - STDERR.puts "overriding #{url} with #{icon.att["src"]}" - end - url = url.sub(/,.*$/,"") # what's this for again? - warn "icon #{url} not found" if not File.exist? url - url = url.gsub(%r"#") {|x| sprintf "%%%02x", x[0] } - alt = icon.att["text"] if icon and not alt - alt = "[#{name}]" - mk(:img, :src, url, :alt, alt, :border, 0) -end - -class XString < String - def show - print html_quote(gsub(/[\r\n\t ]+$/," ")) - end -end - -module HasOwnLayout; end - -class XNode - # subclass interface: - # #show_index : print as html in index - # #show : print as html in main part of the doc - - @valid_tags = {} - class<"; end - def to_s; inspect; end - def << x; contents << x; x.parent=self end -end - -XNode.register("documentation") {} - -XNode.register(*%w( icon help arg rest )) {public - def show; end -} - -XNode.register("section") {public - def show - write_black_ruler - mk(:tr) { mk(:td,:colspan,4) { - mk(:a,:name,att["name"].gsub(/ /,'_')) {} - mk(:h4) { print att["name"] }}} - - contents.each {|x| - if HasOwnLayout===x then - x.show - else - mk(:tr) { mk(:td) {}; mk(:td) {}; mk(:td) { x.show }} - puts "" - end - } - - mk(:tr) { mk(:td) { print " " }} - puts "" - end - def show_index - mk(:h4) { - mk(:a,:href,"#"+att["name"].gsub(/ /,'_')) { - print att["name"] }} - print "
      \n" - super - print "
    \n" - end -} - -# basic text formatting nodes. -XNode.register(*%w( p i u b sup )) {public - def show - print "<#{tag}>" - super - print "" - end -} - -XNode.register("k") {public - def show - print "" # oughta be in stylesheet? - super - print "" - end -} - -# explicit hyperlink on the web. -XNode.register("link") {public - def show - STDERR.puts "att = #{att.inspect}" - raise if not att['to'] - print "" - super - print att[:to] if contents.length==0 - print "" - end -} - -XNode.register("list") {public - attr_accessor :counter - def show - self.counter = att.fetch("start"){"1"}.to_i - mk(:ul) { - super # method call on Qundef ??? - } - end -} - -XNode.register("li") {public - def show - mk(:li) { - print "#{parent.counter}", " : " - parent.counter += 1 - super - } - end -} - -# and "macro", "enum", "type", "use" -XNode.register("class") {public - include HasOwnLayout - def show - tag = self.tag - name = att['name'] or raise - mk(:tr) { - mk(:td,:colspan,4,:bgcolor,"#ffb080") { - mk(:b) { print " "*2, "#{tag} " } - mk(:a,:name,name) { print name } - } - } - mk(:tr) { - mk(:td) {} - mk(:td,:valign,:top) { - print "
    \n" - help = contents.find {|x| XNode===x and x.tag == 'help' } - mkimg(self,nil,"flow_classes") if /reference|format/ =~ $file - mk(:br,:clear,"left") - 2.times { mk(:br) } - if help - big = help.att['image'] || att['name'] - if big[0]==?@ then big="images/help_#{big}.png" end - warn "help #{big} not found" if not File.exist?(big) - #small = big.gsub(/png$/, 'jpg').gsub(/\//, '/ic_') - mk(:a,:href,big) { - #mk(:img,:src,small,:border,0) - mk(:img,:src,"images/see_screenshot.png",:border,0) - } - end - mk(:br,:clear,"left") - mk(:br) - }#/td - mk(:td) { - print "
    \n" - super - print "
    " - }#/td - }#/tr - end - def show_index - icon = contents.find {|x| XNode===x && x.tag == "icon" } - if not att["name"] then - raise "name tag missing?" - end - mk(:li) { mk(:a,:href,"\#"+att["name"]) { - mkimg(self,att["cname"],"flow_classes") - }} - puts - super - end -} - -def nice_table - mk(:table,:border,0,:bgcolor,:black,:cellspacing,1) { - mk(:tr) { - mk(:td,:valign,:top,:align,:left) { - mk(:table,:bgcolor,:white,:border,0, - :cellpadding,4,:cellspacing,1) { - yield }}}} -end - -XNode.register("attr") {public - def show - print "
    " - if parent.tag == "inlet" or parent.tag == "outlet" - mk(:b) { - print "#{parent.tag} #{parent.att['id']} " - - } - end - print "#{tag} " - print "#{html_quote att['name']} (" - s=html_quote(att["name"]) - s="#{att['type']} #{s}" if att['type'] - print "#{s}" - print ") " - end -} - -XNode.register("method") {public -if true # - def show - print "
    " - if parent.tag == "inlet" or parent.tag == "outlet" - mk(:b) { - print "#{parent.tag} #{parent.att['id']} " - - } - end - print "#{tag} " - print "#{html_quote att['name']} (" - print contents.map {|x| - next unless XNode===x - case x.tag - when "arg" - s=html_quote(x.att["name"]) - s="#{x.att['type']} #{s}" if x.att['type'] - s - when "rest" - (x.att["name"]||"") + "..." - end - }.compact.join(", ") - print ") " - super - print "
    \n" - end -else # - def show - print "
    " - mk(:table) { mk(:tr) { mk(:td) { - name = "" - name << "#{parent.tag} #{parent.att['id']} " if \ - parent.tag == "inlet" or parent.tag == "outlet" - name << tag.to_s - mk(:b) { print name.gsub(/ /," ") } - }; mk(:td) { - nice_table { mk(:tr) { - mk(:td,:width,1) { print html_quote(att['name']) } - contents.each {|x| - next unless XNode===x - case x.tag - when "arg" - mk(:td,:bgcolor,:pink) { - s = "" - if x.att["type"] - s << "" << html_quote(x.att["type"]) << "" - end - if x.att["name"] - s << " " << html_quote(x.att["name"]) - end - s<<" " if s.length==0 - mk(:b) { puts s } - } - when "rest" - mk(:td,:bgcolor,:pink) { - mk(:b) { print html_quote(x.att["name"]), "..."} - } - end - } - }} - }; mk(:td) { - super - }}} - end -end # -} - -XNode.register("table") {public - def show - colors = ["#ffffff","#f0f8ff",] - rows = contents.find_all {|x| XNode===x && x.tag=="row" } - rows.each_with_index {|x,i| x.bgcolor = colors[i%2] } - mk(:tr) { - 2.times { mk(:td) {} } - mk(:td) { - nice_table { - mk(:tr) { - columns = contents.find_all {|x| XNode===x && x.tag=="column" } - columns.each {|x| mk(:td,:bgcolor,"#808080") { - mk(:font,:color,"#ffffff") { - mk(:b) { - x.contents.each {|y| y.show }}}}} - } - super - }}} - end -} - -XNode.register("column") {public - def show; end -} - -XNode.register("row") {public - attr_accessor :bgcolor - def show - columns = parent.contents.find_all {|x| XNode===x && x.tag=="column" } - mk(:tr) { columns.each {|x| mk(:td,:bgcolor,bgcolor) { - id = x.att["id"] - case x.att["type"] - when "icon" # should fix this for non-op icons - x = "op/#{att['cname']}-icon.png" - if not File.exist? x - warn "no icon for #{att['name']} (#{x})\n" - end - mk(:img,:src,x,:border,0,:alt,att["name"]) - else - if id=="" - then contents.each {|x| x.show } - else -# print html_quote(att[id] || "--") - print multicode(att[id] || "--") - end - end - }}} - end -} - -XNode.register("inlet","outlet") {} - -#----------------------------------------------------------------# - -if $use_rexml - class GFDocParser - def initialize(file) - @sax = SAX2Parser.new(File.open(file)) - @xml_lists = [] - @stack = [[]] - @sax.listen(:start_element) {|a,b,c,d| startElement(b,d) } - @sax.listen( :end_element) {|a,b,c| endElement(b) } - @sax.listen( :characters) {|a| @gfdoc.character(a) } - end - def do_it; @sax.parse; end - end -else - class GFDocParser - def initialize(file) - @xml = XMLParser.new("ISO-8859-1") - foo=self; @xml.instance_eval { @gfdoc=foo } - def @xml.startElement(tag,attrs) @gfdoc.startElement(tag,attrs) end - def @xml.endElement(tag) @gfdoc.endElement(tag) end - def @xml.character(text) @gfdoc.character(text) end - @file = File.open file - @xml_lists = [] - @stack = [[]] - end - def do_it; @xml.parse(@file.readlines.join("\n"), true) end - def method_missing(sel,*args) @xml.send(sel,*args) end - end -end - -class GFDocParser - attr_reader :stack - def startElement(tag,attrs) - if not XNode.valid_tags[tag] then - raise XMLParserError, "unknown tag #{tag}" - end - @stack<<[tag,attrs] - end - def endElement(tag) - node = XNode.valid_tags[tag].new(*@stack.pop) - @stack.last << node - end - def character(text) - if not String===@stack.last.last then - @stack.last << XString.new("") - end - @stack.last.last << text - end -end - -#----------------------------------------------------------------# - -def write_header(tree) -puts < - -GridFlow #{GF_VERSION} - #{tree.att['title']} - - - - - - -EOF -write_black_ruler -puts < - - - - - - -EOF -end - -def write_black_ruler -puts < -EOF -end - -def write_footer -puts < - -
    - -
     
    -

    GridFlow #{GF_VERSION} - #{tree.att['title']}

    -
        
    -
    -

    -GridFlow #{GF_VERSION} Documentation
    -Copyright © 2001,2002,2003,2004,2005,2006 by Mathieu Bouchard -matju@artengine.ca -

    -
    -EOF -end - -#----------------------------------------------------------------# - -$nodes = {} -XMLParserError = Exception if $use_rexml - -def harvest_doc_of_class xclass, v, way - doc = case way; when:in:v.doc; when:out:v.doc_out end - tag = case way; when:in:"inlet"; when:out:"outlet" end - doc.keys.each {|sel| - text = v.doc[sel] - m=/^_(\d+)_(\w+)/.match sel.to_s - if m then - xclass << XNode[tag,{"id"=>Integer(m[1])}, - XNode["method",{"name"=>m[2]},XString.new(text)]] - else - xclass << XNode["method",{"name"=>sel.to_s},XString.new(text)] - end - } -end - -def harvest_doc tree - kla = {} - tree.contents.find_all {|x| XNode===x and x.tag=="section" }.each {|sex| - sex.contents.each {|y| - next unless XNode===y and y.tag=="class" - kla[y.att["name"]] = y - } - } - #STDERR.puts kla.inspect - tree << (nu=XNode["section",{"name"=>"(new documentation)"}]) - tree << (un=XNode["section",{"name"=>"(undocumented)"}]) - alph = GridFlow.fclasses.keys.sort - alph.each {|k| - next if /^@/=~k and GridFlow.fclasses[k.gsub(/^@/,"#")] - v = GridFlow.fclasses[k] - if v.doc then - nu << (xclass=XNode["class",{"name"=>k}]) - harvest_doc_of_class xclass, v, :in - harvest_doc_of_class xclass, v, :out - elsif not kla[k] then - un << XNode["p",{},XString.new("[#{k}]")] - end - } -end - -def read_one_page file - begin - STDERR.puts "reading #{file}" - parser = GFDocParser.new(file) - parser.do_it - $nodes[file] = parser.stack[0][0] - if file=="reference.xml" then harvest_doc $nodes[file] end - rescue Exception => e - puts "" - puts "" - STDERR.puts e.inspect - i = parser.stack.length-1 - (STDERR.puts "\tinside <#{parser.stack[i][0]}>"; i-=1) until i<1 - # strange that line numbers are doubled. - # also the byte count is offset by the line count !?!?!? - STDERR.puts "\tinside #{file}:#{parser.line/2 + 1}" + - " (column #{parser.column}," + - " byte #{parser.byteIndex - parser.line/2})" - raise "why don't you fix the documentation" - end -end - -def write_one_page file - begin - $file = file - output_name = file.sub(/\.xml/,".html") - STDERR.puts "writing #{output_name}" - STDOUT.flush # bug in 1.9 ? - STDOUT.reopen output_name, "w" - tree = $nodes[file] -# tree.contents.each {|x| STDERR.puts x.inspect } - write_header(tree) - mk(:tr) { mk(:td,:colspan,2) { mk(:div,:cols,tree.att["indexcols"]||1) { - tree.show_index - puts "

    " - }}} - tree.show - write_footer - puts "" - puts "" - rescue Exception => e - STDERR.puts "#{e.class}: #{e.message}" - STDERR.puts e.backtrace - end -end - -$files = %w( - install.xml - reference.xml format.xml internals.xml architecture.xml) -# project_policy.xml - -$files.each {|input_name| read_one_page input_name } -$files.each {|input_name| write_one_page input_name } diff --git a/externals/gridflow/doc/op/abs-icon.png b/externals/gridflow/doc/op/abs-icon.png deleted file mode 100644 index 6e728ebd..00000000 Binary files a/externals/gridflow/doc/op/abs-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/add-icon.png b/externals/gridflow/doc/op/add-icon.png deleted file mode 100644 index 5dc6b7bb..00000000 Binary files a/externals/gridflow/doc/op/add-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/and-icon.png b/externals/gridflow/doc/op/and-icon.png deleted file mode 100644 index bf24dada..00000000 Binary files a/externals/gridflow/doc/op/and-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/atan-icon.png b/externals/gridflow/doc/op/atan-icon.png deleted file mode 100644 index 06cf2576..00000000 Binary files a/externals/gridflow/doc/op/atan-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/avg-icon.png b/externals/gridflow/doc/op/avg-icon.png deleted file mode 100644 index bdc6ed47..00000000 Binary files a/externals/gridflow/doc/op/avg-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/bus-icon.png b/externals/gridflow/doc/op/bus-icon.png deleted file mode 100644 index acbdb4c1..00000000 Binary files a/externals/gridflow/doc/op/bus-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/clip+-icon.png b/externals/gridflow/doc/op/clip+-icon.png deleted file mode 100644 index 58412e7e..00000000 Binary files a/externals/gridflow/doc/op/clip+-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/clip--icon.png b/externals/gridflow/doc/op/clip--icon.png deleted file mode 100644 index 43471ac2..00000000 Binary files a/externals/gridflow/doc/op/clip--icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/cmp-icon.png b/externals/gridflow/doc/op/cmp-icon.png deleted file mode 100644 index 3b69b149..00000000 Binary files a/externals/gridflow/doc/op/cmp-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/cos-icon.png b/externals/gridflow/doc/op/cos-icon.png deleted file mode 100644 index 503e3b9f..00000000 Binary files a/externals/gridflow/doc/op/cos-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/div-icon.png b/externals/gridflow/doc/op/div-icon.png deleted file mode 100644 index 80487cac..00000000 Binary files a/externals/gridflow/doc/op/div-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/div2-icon.png b/externals/gridflow/doc/op/div2-icon.png deleted file mode 100644 index 7d15db6a..00000000 Binary files a/externals/gridflow/doc/op/div2-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/dom-icon.png b/externals/gridflow/doc/op/dom-icon.png deleted file mode 100644 index f090034b..00000000 Binary files a/externals/gridflow/doc/op/dom-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/eq-icon.png b/externals/gridflow/doc/op/eq-icon.png deleted file mode 100644 index 28883199..00000000 Binary files a/externals/gridflow/doc/op/eq-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/gamma-icon.png b/externals/gridflow/doc/op/gamma-icon.png deleted file mode 100644 index f1c2c42d..00000000 Binary files a/externals/gridflow/doc/op/gamma-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/gcd-icon.png b/externals/gridflow/doc/op/gcd-icon.png deleted file mode 100644 index 2660d79c..00000000 Binary files a/externals/gridflow/doc/op/gcd-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/ge-icon.png b/externals/gridflow/doc/op/ge-icon.png deleted file mode 100644 index 7c6d2928..00000000 Binary files a/externals/gridflow/doc/op/ge-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/gt-icon.png b/externals/gridflow/doc/op/gt-icon.png deleted file mode 100644 index 643f97fb..00000000 Binary files a/externals/gridflow/doc/op/gt-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/hypot-icon.png b/externals/gridflow/doc/op/hypot-icon.png deleted file mode 100644 index 3e9483db..00000000 Binary files a/externals/gridflow/doc/op/hypot-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/ignore-icon.png b/externals/gridflow/doc/op/ignore-icon.png deleted file mode 100644 index 5e0654de..00000000 Binary files a/externals/gridflow/doc/op/ignore-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/lcm-icon.png b/externals/gridflow/doc/op/lcm-icon.png deleted file mode 100644 index 81e6a078..00000000 Binary files a/externals/gridflow/doc/op/lcm-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/le-icon.png b/externals/gridflow/doc/op/le-icon.png deleted file mode 100644 index f69a8800..00000000 Binary files a/externals/gridflow/doc/op/le-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/log-icon.png b/externals/gridflow/doc/op/log-icon.png deleted file mode 100644 index d75b15a4..00000000 Binary files a/externals/gridflow/doc/op/log-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/lt-icon.png b/externals/gridflow/doc/op/lt-icon.png deleted file mode 100644 index c57ad9bb..00000000 Binary files a/externals/gridflow/doc/op/lt-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/max-icon.png b/externals/gridflow/doc/op/max-icon.png deleted file mode 100644 index b9b932e0..00000000 Binary files a/externals/gridflow/doc/op/max-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/mer-icon.png b/externals/gridflow/doc/op/mer-icon.png deleted file mode 100644 index 6fe4c1d3..00000000 Binary files a/externals/gridflow/doc/op/mer-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/min-icon.png b/externals/gridflow/doc/op/min-icon.png deleted file mode 100644 index c2a114a5..00000000 Binary files a/externals/gridflow/doc/op/min-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/mod-icon.png b/externals/gridflow/doc/op/mod-icon.png deleted file mode 100644 index 852ca172..00000000 Binary files a/externals/gridflow/doc/op/mod-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/mul-icon.png b/externals/gridflow/doc/op/mul-icon.png deleted file mode 100644 index a2826621..00000000 Binary files a/externals/gridflow/doc/op/mul-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/ne-icon.png b/externals/gridflow/doc/op/ne-icon.png deleted file mode 100644 index a3dd4712..00000000 Binary files a/externals/gridflow/doc/op/ne-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/or-icon.png b/externals/gridflow/doc/op/or-icon.png deleted file mode 100644 index b672d11a..00000000 Binary files a/externals/gridflow/doc/op/or-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/pow-icon.png b/externals/gridflow/doc/op/pow-icon.png deleted file mode 100644 index 7c385ce6..00000000 Binary files a/externals/gridflow/doc/op/pow-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/put-icon.png b/externals/gridflow/doc/op/put-icon.png deleted file mode 100644 index 71edae17..00000000 Binary files a/externals/gridflow/doc/op/put-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/rand-icon.png b/externals/gridflow/doc/op/rand-icon.png deleted file mode 100644 index cd3d9408..00000000 Binary files a/externals/gridflow/doc/op/rand-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/rem-icon.png b/externals/gridflow/doc/op/rem-icon.png deleted file mode 100644 index 5628f326..00000000 Binary files a/externals/gridflow/doc/op/rem-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/sc_and-icon.png b/externals/gridflow/doc/op/sc_and-icon.png deleted file mode 100644 index 8f62fa83..00000000 Binary files a/externals/gridflow/doc/op/sc_and-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/sc_or-icon.png b/externals/gridflow/doc/op/sc_or-icon.png deleted file mode 100644 index 0554d392..00000000 Binary files a/externals/gridflow/doc/op/sc_or-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/shl-icon.png b/externals/gridflow/doc/op/shl-icon.png deleted file mode 100644 index b89946c6..00000000 Binary files a/externals/gridflow/doc/op/shl-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/shr-icon.png b/externals/gridflow/doc/op/shr-icon.png deleted file mode 100644 index b9178d14..00000000 Binary files a/externals/gridflow/doc/op/shr-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/sin-icon.png b/externals/gridflow/doc/op/sin-icon.png deleted file mode 100644 index d9d686ca..00000000 Binary files a/externals/gridflow/doc/op/sin-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/sq-icon.png b/externals/gridflow/doc/op/sq-icon.png deleted file mode 100644 index da103479..00000000 Binary files a/externals/gridflow/doc/op/sq-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/sqrt-icon.png b/externals/gridflow/doc/op/sqrt-icon.png deleted file mode 100644 index 53e88d13..00000000 Binary files a/externals/gridflow/doc/op/sqrt-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/sub-icon.png b/externals/gridflow/doc/op/sub-icon.png deleted file mode 100644 index 5eda4af7..00000000 Binary files a/externals/gridflow/doc/op/sub-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/tanh-icon.png b/externals/gridflow/doc/op/tanh-icon.png deleted file mode 100644 index 6ce79396..00000000 Binary files a/externals/gridflow/doc/op/tanh-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/vid-icon.png b/externals/gridflow/doc/op/vid-icon.png deleted file mode 100644 index 8afd9d7b..00000000 Binary files a/externals/gridflow/doc/op/vid-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/vid2-icon.png b/externals/gridflow/doc/op/vid2-icon.png deleted file mode 100644 index 2a062699..00000000 Binary files a/externals/gridflow/doc/op/vid2-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/op/xor-icon.png b/externals/gridflow/doc/op/xor-icon.png deleted file mode 100644 index 68771820..00000000 Binary files a/externals/gridflow/doc/op/xor-icon.png and /dev/null differ diff --git a/externals/gridflow/doc/profiling.html b/externals/gridflow/doc/profiling.html deleted file mode 100644 index f804e87d..00000000 --- a/externals/gridflow/doc/profiling.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - -GridFlow 0.7.7 - Profiling Execution Speed - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    -
     
    -

    GridFlow 0.7.7 - Profiling Execution Speed

    -
       
      - -

    What is profiling?

    -

    - It is about getting empiric metrics about the execution of a program. - For example, find out which parts of a program consume the most time - and/or memory. Usually it's about the time, and this is what GridFlow - allows you to measure. -

    - -

    How to get those stats from GridFlow ?

    -
      -
    • create a "@global" object and connect two - messageboxes to it, "profiler_reset" and "profiler_dump". The first - one resets all counters to zero. The second one gives a top of - the busiest objects, with percentages.
    • -
    • note that those results are global to a process. That is, if you load - several patches in the same process (program instance), then all those patches - will be monitored at once. But if you open jMax (or PD) several times at once, then - the profiler will not see everything happening on that machine. -
    • -

      How do i interpret those stats?

      -
    • Note that some operations may not be monitored, and some of the - monitoring may be buggy. I think it's not buggy as it is now, but I may be wrong. -
    • -
    • - The current profiler uses a thing called RDTSC (Pentium only). This is a very high - precision clock that is very fast to use. However, *major* imprecisions - may come from the fact that an ordinary multitasking OS will run other - tasks without stopping/resuming the clock. This may happen randomly; - however, it has a much bigger chance of happening in [@in] or [@out], because that's - where all the communication with other stuff is (files, sockets, windows, etc). -
    • -
    • - If you make sure that only the bare minimum is actively running on your - computer, then [@out] (using x11) would still include the time spent in the x11 - server, except in some conditions. This applies to every kind of window output too, - because however the data trickles through libraries (sdl, aalib), it has to reach the x11 server - and the display driver. -
    • -
    • - The profiler has an impact on the results of the profiler. The profiler - includes half of its own influence in its own results, and disregards the - other half (or so). Profiling shouldn't add more than 100-300 ticks per - message (of which half is counted). -
    • -
    • - Message-passing time is not counted at all. Only time actually spent - inside GridFlow objects is counted. This may skew results. - Transmission of a grid requires one message, thus we may speak of "grid messages". - However, when the message is received, one or several packets may get transmitted, which - is done outside of the message system. Each packet contains at most 2048 numbers - (adjustable limit), and normally a packet should be at least one quarter of that size unless it is the last one. - On RGB grids of widths 640,320,160, the packet size will usually be 1920. -
    • -
    -

    - -

    Getting a frames-per-second measure

    -

    This section formerly was describing what can now be obtained using the [fps] object class.

    - -

    acceleration tricks

    -
      -
    • try the profiler and see what it says.
    • -
    • i mean really.
    • -
    • you can lose a lot of your time accelerating something - that isn't really taking execution time.
    • -
    • it's faster to work on big grids than on small grids, - for the amount of number-crunching you can do. -
    • -
    • about numbertypes: uint8 is the fastest, followed by int16, int32, float32. - (and the first two are faster when MMX is enabled). However it - may be difficult to make some effects use int16 - or smaller without overflow happening.
    • -
    • [@ <<] is a very fast multiplication by powers of two (1, 2, 4, 8, 16, ...). - [@ >>] is a very fast division by powers of two. -

      - from my little experience, normal integer multiplication and division are - rather slow, especially on Intel brand. The gap between *,/ and - <<,>> is smaller on Cyrix/AMD brand CPUs, but still, try it - yourself. (my experience has been on specific models and may not reflect currently common models) -

      -
    • -
    • [@ & 255] is a very fast [@ % 256], and likewise for other - powers of two.
    • -
    • for do-nothing operations, "ignore" and "put" are faster than - "+ 0" and such...
    • -
    • remember that an image twice smaller in height and twice - smaller in height will be processed four times as fast (for - most effects) so you can get four times more frames per second. - It's the "rows*columns*channels" value that makes the biggest - difference (usually).
    • - -
    • If all fails you may recode a jMax/PD/Ruby abstraction into - plain Ruby code or C++ code. If your new class is of generic - usefulness then maybe it should be added to the releases of - GridFlow. Contact me if you need help extending GridFlow.
    • - -
    • Put often-used files on fast drives. This means don't use NFS - (networked file system) for that. The file-to-ram cache can compensate for - that up to a certain amount, but the larger the file is, and the most used - the file is, the more important it is to put it on a local drive.
    • -
    -
     
    -

    GridFlow 0.7.7 Documentation
    - by Mathieu Bouchard matju@sympatico.ca -

    -
    - - diff --git a/externals/gridflow/doc/project_policy.html b/externals/gridflow/doc/project_policy.html deleted file mode 100644 index 38790844..00000000 --- a/externals/gridflow/doc/project_policy.html +++ /dev/null @@ -1,98 +0,0 @@ - - -GridFlow 0.8.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
     
    -
    -

    GridFlow 0.8.0 -

    -
        

    Note

      -
    -

    Release

      -
    -

    Documentation

      -
    -

    CVS

      -
    -

    -
    -

    Note

    - first consult the file ../README for a vague idea on the meaning of - subdirectories.
     
    -

    Release

    -Compatibility:
    • 1 : - Should work with Ruby 1.6.6 and PureData 0.36, 0.37, 0.38
    -Release steps (
    OPERATE WITH CAUTION
    ):
    • 1 : make vvtest # leak detection
    • 2 : ruby base/test.rb formats
    • 3 : cvs tag gridflow_0_7_7 .
    • 4 : mkdir gridflow
    • 5 : cvs -d :pserver:anonymous@cvs.gridflow.ca:/home/cvs/gridflow - export -r gridflow_0_7_7 -d gridflow .
    • 6 : cd gridflow
    • 7 : rm -rf CVS CVSROOT
    • 8 : chmod -R go=u-w .
    • 9 : cd ..
    • 10 : tar cfzvv gridflow-0.7.7.tar.gz gridflow
    • 11 : rm -rf gridflow # caution!!!
    • 12 : scp gridflow*gz gridflow@artengine.ca:download
    • 13 : mv gridflow*gz /home/matju/net/GridFlow
    • 14 : ssh gridflow@artengine.ca : expand tarball into public_html/latest
    • 15 : download somewhere else and try to compile
    • 16 : update main page
    • 17 : jmax/pd/ruby-talk mlists : post release (note: prefix subject with [ANN] !!!!)
    • 18 : freshmeat.net : post release
    • 19 : RAA : post release
     
    -

    Documentation

    • 1 : - Pictures identified as "<help>" should be screenshots of the - help files. They shouldn't be screenshots of the template.
    • 2 : - A Help file is a visual summary of what an object does. It should be - interactive and allow the user to understand what the object does. - Sample inputs are provided and sample results can be seen.
    • 3 : - All modifications to the documentation must be done in the XML. The - HTML must be kept up-to-date by rerunning "make" in the "doc/" directory.
    • 4 : - Help-wise, Formats are considered objects. - Operators are to be documented as part of [@] and [@!].
    • 5 : - Images grabbed directly from a jMax window should be encoded in PNG. - This includes "icons" (object boxes, message boxes, etc). If they are - in JPEG, only change to PNG when the image has to change anyway. - Distinguish "icons" from "thumbnails", the latter of which are scaled-down grabs, which should be encoded in JPEG.
    • 6 : - There are not help-thumbnails anymore in the reference manual - because they were not helpful.
    • 7 : - Large images should be kept out of the release. The release itself must - be small enough not to discourage us from doing releases and keeping - them all. It also should be downloadable on a bad modem. =) - Let's keep it under 500k please.
    -in doc do: -for z in images/*.* images/*/*.*; do fgrep -q $z *.html || echo "$z"; done
     
    -

    CVS

    - environment variables - CVSEDITOR=pico - CVS_RSH=ssh2
     
    -
    -

    -GridFlow 0.8.0 Documentation
    -Copyright © 2001,2002,2003,2004,2005 by Mathieu Bouchard -matju@artengine.ca -

    -
    - - diff --git a/externals/gridflow/doc/project_policy.xml b/externals/gridflow/doc/project_policy.xml deleted file mode 100644 index 3bf7368e..00000000 --- a/externals/gridflow/doc/project_policy.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - -
    - first consult the file ../README for a vague idea on the meaning of - subdirectories. -
    - -
    - -Compatibility: - -
  • - Should work with Ruby 1.6.6 and PureData 0.36, 0.37, 0.38 -
  • - -Release steps (OPERATE WITH CAUTION): - - -
  • make vvtest # leak detection -
  • ruby base/test.rb formats -
  • cvs tag gridflow_0_7_7 . -
  • mkdir gridflow -
  • cvs -d :pserver:anonymous@cvs.gridflow.ca:/home/cvs/gridflow - export -r gridflow_0_7_7 -d gridflow . -
  • cd gridflow -
  • rm -rf CVS CVSROOT -
  • chmod -R go=u-w . -
  • cd .. -
  • tar cfzvv gridflow-0.7.7.tar.gz gridflow -
  • rm -rf gridflow # caution!!! -
  • scp gridflow*gz gridflow@artengine.ca:download -
  • mv gridflow*gz /home/matju/net/GridFlow -
  • ssh gridflow@artengine.ca : expand tarball into public_html/latest -
  • download somewhere else and try to compile -
  • update main page -
  • jmax/pd/ruby-talk mlists : post release (note: prefix subject with [ANN] !!!!) -
  • freshmeat.net : post release -
  • RAA : post release -
  • -
    -
    - -
    - -
  • - Pictures identified as "<help>" should be screenshots of the - help files. They shouldn't be screenshots of the template. -
  • -
  • - A Help file is a visual summary of what an object does. It should be - interactive and allow the user to understand what the object does. - Sample inputs are provided and sample results can be seen. -
  • -
  • - All modifications to the documentation must be done in the XML. The - HTML must be kept up-to-date by rerunning "make" in the "doc/" directory. -
  • -
  • - Help-wise, Formats are considered objects. - Operators are to be documented as part of [@] and [@!]. -
  • -
  • - Images grabbed directly from a jMax window should be encoded in PNG. - This includes "icons" (object boxes, message boxes, etc). If they are - in JPEG, only change to PNG when the image has to change anyway. - Distinguish "icons" from "thumbnails", the latter of which are - scaled-down grabs, which should be encoded in JPEG. -
  • -
  • - There are not help-thumbnails anymore in the reference manual - because they were not helpful. -
  • -
  • - Large images should be kept out of the release. The release itself must - be small enough not to discourage us from doing releases and keeping - them all. It also should be downloadable on a bad modem. =) - Let's keep it under 500k please. -
  • -
    - -in doc do: -for z in images/*.* images/*/*.*; do fgrep -q $z *.html || echo "$z"; done - -
    - -
    - environment variables - CVSEDITOR=pico - CVS_RSH=ssh2 -
    - -
    diff --git a/externals/gridflow/doc/reference.html b/externals/gridflow/doc/reference.html deleted file mode 100644 index 8dce72ec..00000000 --- a/externals/gridflow/doc/reference.html +++ /dev/null @@ -1,1165 +0,0 @@ - - -GridFlow 0.8.1 - Reference Manual: Flow Classes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
     
    -
    -

    GridFlow 0.8.1 - Reference Manual: Flow Classes

    -
        

    Objects for making grids and breaking them down

      -
    • [#import]
    • -
    • [#export]
    • -
    • [#export_list]
    • -
    • [#export_symbol]
    • -
    • [#pack]
    • -
    • [#color]
    • -
    • [#unpack]
    • -
    • [#centroid]
    • -
    • [#centroid2]
    • -
    • [#for]
    • -
    -

    Objects for Computing

      -
    • [#]
    • -
    • [@complex_sq]
    • -
    • [#fold]
    • -
    • [#scan]
    • -
    • [#outer]
    • -
    • [#inner]
    • -
    • [@join]
    • -
    • [#finished]
    • -
    • [#cast]
    • -
    • [#ravel]
    • -
    • [#grade]
    • -
    • [#perspective]
    • -
    • [#transpose]
    • -
    • [#fade]
    • -
    • [#fade_lin]
    • -
    • [#reverse]
    • -
    -

    Objects for Coordinate Transforms

      -
    • [#redim]
    • -
    • [#store]
    • -
    • [#scale_to]
    • -
    • [#scale_by]
    • -
    • [#downscale_by]
    • -
    • [#spread]
    • -
    • [#rotate]
    • -
    • [#remap_image]
    • -
    -

    Objects for Reporting

      -
    • [#dim]
    • -
    • [#type]
    • -
    • [#print]
    • -
    • [rubyprint]
    • -
    • [printargs]
    • -
    • [display]
    • -
    -

    Objects for Color Conversion

      -
    • [#apply_colormap_channelwise]
    • -
    • [#rgb_to_greyscale]
    • -
    • [#greyscale_to_rgb]
    • -
    • [#yuv_to_rgb]
    • -
    • [#rgb_to_yuv]
    • -
    -

    Objects for Miscellaneous Picture Processing

      -
    • [#convolve]
    • -
    • [#contrast]
    • -
    • [#posterize]
    • -
    • [#solarize]
    • -
    • [#checkers]
    • -
    • [#layer]
    • -
    • [#draw_image]
    • -
    • [#draw_polygon]
    • -
    • [#text_to_image]
    • -
    • [#hueshift]
    • -
    -

    Other Objects

      -
    • [rtmetro]
    • -
    • [bindpatcher]
    • -
    • [pingpong]
    • -
    • [#global]
    • -
    • [fps]
    • -
    • [unix_time]
    • -
    • [ls]
    • -
    • [exec]
    • -
    • [renamefile]
    • -
    • [plotter_control]
    • -
    • [rubyarray]
    • -
    -

    jMax emulation

      -
    • [fork]
    • -
    • [jmax_udpsend]
    • -
    • [jmax_udpreceive]
    • -
    • [foreach]
    • -
    • [rubysprintf]
    • -
    • [listflatten]
    • -
    • [listmake]
    • -
    • [listlength]
    • -
    • [listelement]
    • -
    • [listsublist]
    • -
    • [listprepend]
    • -
    • [listappend]
    • -
    • [listreverse]
    • -
    • [oneshot]
    • -
    • [inv+]
    • -
    • [inv*]
    • -
    • [messageprepend]
    • -
    • [messageappend]
    • -
    • [shunt]
    • -
    • [demux]
    • -
    • [range]
    • -
    -

    PureData emulation

      -
    • [pd_netsend]
    • -
    • [pd_netreceive]
    • -
    -

    (new documentation)

      -
    • [listfind]
    • -
    • [memstat]
    • -
    • [regsub]
    • -
    • [sendgui]
    • -
    • [sys_vgui]
    • -
    -

    (undocumented)

      -
    -

    -
    -

    Objects for making grids and breaking them down

      class #import

    -[#import]





    -

    This object allows you to produce grids from non-grid data, such as - integers and lists of integers. This object also reframes/resyncs - grids so that multiple grids may be joined together, or - single grids may be split. That kind of operation is already done implicitly in many - cases (e.g. sending an integer or list to a grid-receiving inlet), - but using this object you have greater flexibility on the conversion.


    attr shape (GridShape|symbol(per_message) shape)
    attr cast (NumberType cast)
    method init (shape, cast)
    -
    inlet 0 method int () - begins a new grid if there is no current grid. - puts that integer in the current grid. - ends the grid if it is full. - the constructed grid is not stored: it is streamed. - the stream is buffered, so the output is in packets - of about a thousand numbers.
    -
    inlet 0 method list () - just like a sequence of ints sent one after another, - except in a single message.
    -
    inlet 0 method symbol () - considered as a list of ascii characters.
    -
    inlet 0 method reset () - aborts the current grid if there is one.
    -
    inlet 0 method grid (grid(dims...) grid) - this is the equivalent of filtering this grid through - an [#export] object and sending the resulting integers - to this [#import] object, except that it's over - 10 times faster.
    -
    inlet 1 method per_message () - old synonym for "shape per_message"
    -
    outlet 0 method grid (grid grid) - the grid produced from incoming integers and/or grids.
    -
      class #export

    -[#export]





    -

    this object is the opposite of #import.


    method init () - this object is not configurable because there isn't - anything that could possibly be configured here.
    -
    inlet 0 method grid (grid(dims...) grid) - transforms this grid into a sequence of integer messages.
    -
    outlet 0 method int () - elements of the incoming grid.
    -
      class #export_list

    -[#export_list]





    -

    this object is another opposite of [#import], which puts - all of its values in a list.


    method init ()
    -
    inlet 0 method grid (grid(dims...) grid) - transforms this grid into a single message containing - a list of integers.
    -
    outlet 0 method list () - elements of the incoming grid.
    -
      class #export_symbol

    -[#export_symbol]





    -

    this object is another opposite of #import, which constructs a symbol - from its input. The values are expected to be valid ASCII codes, but no check - will be performed for that, and additionally, no check will be made that the generated - symbol only contains characters that can be put in a symbol.


    method init ()
    -
    inlet 0 method grid (grid(dims...) grid) - transforms this grid into a single message containing - a list of integers.
    -
    outlet 0 method symbol () generated symbol
    -
      class #pack

    -[#pack]





    -

    Similar to [#join], but takes individual integers, and builds a Dim(N) vector out of it.


    attr trigger_by (TriggerBy trigger_by)
    method init (integer inputs)
    -
    inlet * method int ()
    -
    outlet 0 method grid () - combination of inputs given in all inlets. - this is produced according to the value of the trigger attribute.
    -
      class #color

    -[#color]





    -

    Triple slider for the selection of RGB values.


    method init (float min, float max, 0,1 hidepreview)
    -
    inlet 0 method grid () - changes all three values (R,G,B). The grid must - be a Dim(3).
    -
    inlet 0 method delegate () - sends the rest of the message to each of the three sliders. - this relies on the fact that [#color] is implemented using - three [hsl] and this might not still work in the far future.
    -
    outlet 0 method grid () - Produces a Dim(3) grid of RGB values.
    -
      class #unpack

    -[#unpack]





    -
    method init (integer outputs)
    -
    inlet 0 method grid(N) () - the input vector is split in N parts containing one number each. - numbers are sent left-to-right, that is, outlet 0 is triggered first, then outlet 1, etc.
    -
    outlet * method int ()
    -
      class #centroid

    -[#centroid]





    -
    method init ()
    -
    inlet 0 method grid(rows,columns,1) () - will compute the centroid of the given grid, which - is a weighted average, namely, the average position weighted - by the pixel values.
    -
    outlet 0 method grid(2) () - result
    -
      class #centroid2

    -[#centroid2]





    - - a new experimental and faster version of #centroid.
    method init ()
    -
    inlet 0 method grid(rows,columns,1) () - will compute the centroid of the given grid, which - is a weighted average, namely, the average position weighted - by the pixel values.
    -
    outlet 0 method grid(2) () - result
    -
      class #for

    -[#for]





    -

    when given scalar bounds, works like a regular [for] object plugged - to a [#import] tuned for a Dim(size) where size is the number of values - produced by a bang to that [for].

    when given vector bounds, will work like any number of [for] objects - producing all possible combinations of their values in the proper order. - This replaces the old [#identity_transform] object.


    method init (integer from, integer to, integer step)
    -
    inlet 0 method grid (grid(index) grid) - replaces the "from" value and produces output.
    -
    inlet 1 method grid (grid(index) grid) - replaces the "to" value.
    -
    inlet 2 method grid (grid(index_steps) grid) - replaces the "step" value.
    -
    outlet 0 method grid (grid(size) grid) - where size is floor((to-from+1)/step) - [for scalar bounds]
    -
    outlet 0 method grid (grid(*size,dimension) grid) - where *size is floor((to-from+1)/step) - [for vector bounds]
    -
     
    -

    Objects for Computing

      class #

    -[#]





    -
    attr op (grid op)
    attr right_hand (grid right_hand)

    This object outputs a grid by computing "in parallel" a same - operation on each left-hand element with its corresponding right-hand - element.


    method init (op, right_hand)
    -
    inlet 0 method grid (grid(dims...) grid) - on each element of this grid, perform the operation - together with the corresponding element of inlet 1. - in the table of operators (at the top of this document) - elements of inlet 0 are called "A" and elements of inlet 1 - are called "B". the resulting grid is the same size as the - one in inlet 0.
    -
    inlet 1 method grid (grid(dims...) grid) - any grid, preferably shaped like the one that will be put - in the left inlet, or like a subpart of it (anyway the contents - will be redim'ed on-the-fly to fit the grid of inlet-0, - but the stored grid will not be modified itself)
    -
    inlet 1 method int () - stores a single int in the right inlet; the same int will - be applied in all computations; this is like sending a - Dim(1) or Dim() grid with that number in it.
    -
    outlet 0 method grid (grid grid)
    -
      class @complex_sq

    -[@complex_sq]





    -

    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. (fun, eh?)

    used on an indexmap, this makes each thing appear twice, - each apparition spanning half of the original angle.


    inlet 0 method grid (grid(dims... {imaginary real}) grid)
    -
    outlet 0 method grid (grid(dims... {imaginary real}) grid)
    -
      class #fold

    -[#fold]





    -

    • 1 : [#fold +] computes totals
    • 2 : [#fold inv+] is an alternated sum (+/-)
    • 3 : [#fold * 1] can compute the size of a grid using its dimension list
    • 4 : [#fold & 1] can mean "for all"
    • 5 : [#fold | 0] can mean "there exists (at least one)"
    • 6 : [#fold ^ 0] can mean "there exists an odd number of..."
    • 7 : [#fold ^ 1] can mean "there exists an even number of...".


    method init (numop2 operator, grid seed, grid right_hand)
    -
    inlet 0 method grid (grid(dims..., last) grid) - replaces every Dim(last) subgrid by the result of a cascade on that subgrid. - Doing that - with seed value 0 and operation + on grid "2 3 5 7" will compute - ((((0+2)+3)+5)+7) find the total "17". - produces a Dim(dims) grid.
    -
      class #scan

    -[#scan]





    -

    [#scan +] computes subtotals; this can be used, for example, - to convert a regular probability distribution into a cumulative one. - (or in general, discrete integration)


    method init (numop2 operator, grid seed)
    -
    inlet 0 method grid (grid(dims..., last) grid) - replaces every Dim(last) subgrid by all the results of - cascading the operator on that subgrid, - producing a Dim(dims,last) grid. - For example, with base value 0 and operation + on grid "2 3 5 - 7" will compute 0+2=2, 2+3=5, 5+5=10, 10+7=17, and give the - subtotals "2 5 10 17".
    -
      class #outer

    -[#outer]





    -
    method init (numop2 operator, grid value) - the operator must be picked from the table of two-input operators. - the grid is optional and corresponds to inlet 1.
    -
    inlet 0 method grid (grid(anyA...) grid)
    - - produces a grid of size Dim(anyA..., anyB...), where numbers - are the results of the operation on every element of A and - every element of B. the resulting array can be very big. Don't - try this on two pictures (the result will have 6 dimensions)
    inlet 1 method grid (grid(anyB...) grid)
    - - stores the specified grid, to be used when inlet 0 is activated.

    When given a grid of Dim(3) and a grid of Dim(5) [#outer] will - produce a grid of Dim(3,5) with the selected two-input operation - applied on each of the possible pairs combinations between numbers - from the left grid and the ones from the right. for example : - (10,20,30) [#outer +] (1,2,3) will give : - ((11,12,13),(21,22,23),(31,32,33))


      class #inner

    -[#inner]





    -

    think of this one as a special combination of [#outer], [#] and [#fold]. this is one of the most complex operations. It is very useful - for performing linear transforms like rotations, scalings, shearings, - and some kinds of color remappings. A linear transform is done by - something called matrix multiplication, which happens to be [#inner * + - 0]. [#inner] also does dot product and other funny operations.


    method init (numop2 op_para, numop2 op_fold, integer base, grid right_hand) - op_para and op_fold are two operators picked from the table - of two-input operators. - the base value has to be specified (has no default value yet).
    -
    inlet 0 method grid (grid(anyA..., lastA) grid) - Splits the Dim(anyA...,lastA) left-hand grid into Dim(anyA...) - pieces of Dim(lastA) size. - Splits the Dim(firstB,anyB...) right-hand grid into - Dim(anyB...) pieces of Dim(firstB) size. - On every piece pair, does [#] using the specified - op_para operation, followed by a [#fold] using - the specified op_fold operator and base value. - creates a Dim(anyA...,anyB...) grid by assembling all - the results together. - (note: lastA must be equal to firstB.)
    -
    inlet 1 method int () - changes the base value to that.
    -
    inlet 2 method grid (grid(anyB..., lastB) grid) - changes the right-hand side grid to that.
    -
      class @join

    -[@join]





    -
    method init (which_dim) - Which_dim is the number of the dimension 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.
    -
    inlet 0 method grid (grid grid) - The left grid and right grid must have the same number - of elements in all dimensions except the one specified. - The result will have the same number of elements in all - dimensions except the one specified, which will be the - sum of the two corresponding one.

    For example, joining a RGB picture Dim[y,x,3] and a - greyscale picture Dim[y,x,1] on dimension 2 (or -1) could - make a RGBA picture Dim[y,x,4] in which the greyscale image - becomes the opacity channel.


    -
    inlet 1 method grid (grid grid)
    -
      class #finished

    -[#finished]





    -
    inlet 0 method grid (grid grid) any grid
    - - a bang is emitted every time a grid transmission ends.
      class #cast

    -[#cast]





    -
    method init (numbertype numbertype)
    -
    inlet 0 method grid (grid grid) any grid
    -
    outlet 0 method grid (grid grid) a grid of the same shape containing all the same - values after type conversion. note that while casting to - a smaller type, values that are overflowing will be truncated.
    -
      class #ravel

    -[#ravel]





    -
    inlet 0 method grid (grid grid) any grid
    -
    outlet 0 method grid (grid grid) - like [#redim] but always produce a 1-D grid - with the same total number of elements.
    -
      class #grade

    -[#grade]





    -
    inlet 0 method grid (grid grid) any grid
    -
    outlet 0 method grid (grid grid)

    splits a Dim[A...,B] grid into Dim[B] vectors, - producing new 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.

    for example, connecting a [#grade] to a [#outer ignore {0}] - to a [#store] object, storing a single vector into [#store], and - sending the same vector to [#grade], will sort the values of the - vector. however for higher-dimensional grids, what should go - between [#store] and [#grade] to achieve the same result would - be more complex.

    you may achieve different kinds of sorting by applying various - filters before [#grade]. the possibilities are unlimited.

    if you plug [#grade] directly into another [#grade], you will - get the inverse arrangement, which allows to take the sorted values - and make them unsorted in the original way. note that this is really - not the same as just listing the values backwards.


    -
      class #perspective

    -[#perspective]





    -
    method init (integer depth)
    -
    inlet 0 method grid (grid grid) any grid
    -
    outlet 0 method grid (grid grid)

    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 "depth" parameter. Each vector's - length is adjusted so that it lies onto that plane. Then the - last dimension of each vector is dropped.

    useful for converting from 3-D geometry to 2-D geometry. Also - useful for converting homogeneous 3-D into regular 3-D, as - homogeneous 3-D is really just regular 4-D...(!)


    -
      class #transpose

    -[#transpose]





    -
    method init (integer dim1, integer dim2)
    -
    inlet 0 method grid (grid grid) - swaps the two specified dimensions; dimension numbers are as in [#join].
    -
      class #fade

    -[#fade]





    -
    method init (integer rate)
    -
    inlet 0 method grid (grid grid) - produces on outlet 0 a linear recurrent fading according to the flow of - incoming messages. For example, if rate=5, then 20% (one fifth) - of each new message will be blended with 80% of the previous output.
    -
      class #fade_lin

    -[#fade_lin]





    -
    method init (integer maxraise, integer maxdrop)
    -
    inlet 0 method grid (grid grid) - produces on outlet 0 a piecewise-linear nonrecurrent fading according to the flow of - incoming messages. For example, if maxraise=2 and maxdrop=4, then with each - new message an output is produced that is at most 2 more or 4 less than the - previous output.
    -
      class #reverse

    -[#reverse]





    -
    method init (whichdim) - Whichdim is the number of the dimension by which the reverse 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.
    -
     
    -

    Objects for Coordinate Transforms

      class #redim

    -[#redim]





    -
    method init (dim_list dims) - a list specifying a grid shape that the numbers - will fit into. - (same as with [#import])
    -
    inlet 0 method grid (grid(dims...) grid) - the elements of this grid are serialized. if the resulting grid - must be larger, the sequence is repeated as much as necessary. - if the resulting grid must be smaller, the sequence is truncated. - then the elements are deserialized to form the resulting grid.
    -
    inlet 1 method grid (grid(rank) grid) - this grid is a dimension list that replaces the one - specified in the constructor. - (same as with [#import])
    -
    outlet 0 method grid (grid grid) - redimensioned grid potentially containing repeating data.
    -

    example: with a 240 320 RGB image, [#redim 120 640 3] will visually - separate the even lines (left) from the odd lines (right). contrary - to this, [#redim 640 120 3] will split every line and put its left half - on a even line and the right half on the following odd line. [#redim] - 480 320 3 will repeat the input image twice in the output image. [#redim] 240 50 3 will only keep the 50 top lines.


      class #store

    -[#store]





    -

    A [#store] object can store exactly one grid, using the right - inlet. You fetch it back, or selected subparts thereof, using the left - inlet.


    method init (grid contents)
    -
    inlet 0 method bang () - the stored grid is fully sent to the outlet.
    -
    inlet 0 method grid (grid(dims..., indices) grid) - in this grid, the last dimension refers to subparts of - the stored grid. sending a Dim(200,200,2) on a [#store] - that holds a Dim(240,320,3) will cause the [#store] to handle - the incoming grid as a Dim(200,200) of Dim(2)'s, where each - Dim(2) represents a position in a Dim(240,320) of Dim(3)'s. - therefore the resulting grid will be a Dim(200,200) of - Dim(3) which is a Dim(200,200,3). in practice this example - would be used for generating a 200*200 RGB picture from a - 200*200 XY map and a 240*320 RGB picture. this object can - be logically used in the same way for many purposes - including color palettes, tables of probabilities, tables - of statistics, whole animations, etc.
    -
    inlet 1 method grid (grid(dims...) grid) - replace the whole grid, or a subpart of it (see other options on inlet 1)
    -
    inlet 1 method reassign () (Future Use): - makes it so that sending a grid to inlet 1 detaches the old buffer from [#store] - and attaches a new one instead. This is the default.
    -
    inlet 1 method put_at (indices...) (Future Use): - makes it so that sending a grid to inlet 1 writes into the existing buffer of [#store].

    - example: suppose you have [#store {10 240 320 3}]. then "put_at 3" - will allow to write a Dim[240,320,3] grid in indices (3,y,x,c) where y,x,c are indices of the incoming grid; - in other words, if that's a buffer of 10 RGB frames, you'd be replacing frame #3. Furthermore, - it also allows you to write a Dim[n,240,320,3] grid at (3+f,y,x,c) where f,y,x,c are indices of the incoming grid, - replacing frame #3, #4, ... up to #3+n-1. Here n is at most 7 because the last frame in the buffer is #9.

    that way of working extends to other kinds of data you'd put in Grids, in any numbers of dimensions; - because, as usual, [#store] wouldn't know the difference.


    - - grids as stored, as indexed, or as assembled from multiple - indexings.
      class #scale_to

    -[#scale_to]





    -
    method init (size)
    -
    inlet 0 method grid (grid grid) a 3-channel picture to be scaled.
    -
    inlet 1 method int () a {height width} pair.
    -
    outlet 0 method grid (grid grid) a scaled 3-channel picture.
    -
      class #scale_by

    -[#scale_by]





    -
    method init (grid dim() or dim(2) factor) - factor is optional (default is 2). - if it's a single value, then that factor is to be used - for both rows and columns.
    -
    inlet 0 method grid (grid(y x channels) grid) - duplicates each pixel several times in width and several times in height, - where the number of times is determined by the factor described above. - twice those of the incoming grid. It is several times faster.
    -
    inlet 1 method grid (grid(1 or 2) grid) sets factor
    -
    outlet 0 method grid (grid((factor*y) (factor*x) channels) grid)
    -
      class #downscale_by

    -[#downscale_by]





    -
    method init (+integer factor, optional symbol(smoothly) how) - factor is optional (default is 2). - if it's a single value, then that factor is to be used - for both rows and columns.
    -
    inlet 0 method grid (grid(y x channels) grid) - Scales down picture by specified amount. (See scale factor above)
    -
    inlet 1 method grid (grid(1 or 2) grid) sets scale factor
    -
    outlet 0 method grid (grid((factor/y) (factor/x) channels) grid)
    -
      class #spread

    -[#spread]





    -

    typically you plug a [#for] into this object, - and you plug this object into the left side of a [#store]. it will - scatter pixels around, giving an "unpolished glass" effect.

    if you put a picture in it, however, it will add noise. The - resulting values may be out of range, so you may need to clip them - using min/max.


    method init (factor)
    -
    inlet 0 method grid (grid grid) a coordinate map.
    -
    inlet 1 method int () a spread factor.
    -
    outlet 0 method grid (grid grid) a coordinate map.
    -

    [#spread] scatters the pixels in an image. Not all original pixels - will appear, and some may get duplicated (triplicated, etc) - randomly. Some wrap-around effect will occur close to the edges.

    Sending an integer to inlet 1 sets the amount of spreading in - maximum number of pixels + 1. even values translate the whole image - by half a pixel due to rounding.


      class #rotate

    -[#rotate]





    -

    performs rotations on indexmaps and polygons and such.


    method init (0...35999 angle)
    -
    inlet 0 method grid (grid(anyA 2) grid)
    -
    inlet 1 method int () rotation angle; 0...36000
    -
    outlet 0 method grid (grid(anyA 2) grid)
    -
      class #remap_image

    -[#remap_image]





    -

    if you chain indexmap (coordinate) transformations from outlet 1 - to inlet 1, then sending an image in inlet 0 will emit its - deformation out of outlet 0.


     
    -

    Objects for Reporting

      class #dim

    -[#dim]





    -

    Returns list of dimensions as a grid. Given a grid sized like Dim(240,320,4), [#dim] will return a grid like Dim(3), whose values are 240, 320, 4.


    method init () - no arguments.
    -
    inlet 0 method grid (grid(dims...) grid) - ignores any data contained within. - sends a grid dim(length of dims) containing dims.
    -
    outlet 0 method grid (grid(rank) grid) - the list of dimensions of the incoming grid.
    -
      class #type

    -[#type]





    -

    gives a symbol representing the numeric type of the grid received.


    outlet 0 method <numeric type symbol> ()
    -
      class #print

    -[#print]





    -
    method init ()
    -
    inlet 0 method grid (grid(dims...) grid) - prints the dimensions of the grid. - prints all the grid data if there are 2 dimensions or less.
    -
      class rubyprint

    -[rubyprint]





    - - This is only for testing the translation from PD to Ruby.
    method init ()
    -
    inlet 0 method (any) () - prints the message to the console.
    -
      class printargs

    -[printargs]





    - - This is only for testing the translation from PD to Ruby.
    method init (any...) - prints everything.
    -
      class display

    -[display]





    - - GUI object equivalent to [print] and [#print].
    method (any) () - Displays the received message in the box, resizing the box so that the message fits exactly.
    -
     
    -

    Objects for Color Conversion

      class #apply_colormap_channelwise

    -[#apply_colormap_channelwise]





    -

    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. You may also color-correct - colormaps themselves.

    Only works for things that have 3 channels.

    Note: if you just need to apply a palette on an indexed-color - picture, you don't need this. Just use #store instead.


    inlet 0 method grid (grid(rows columns channels) grid) - picture
    -
    inlet 1 method grid (grid(intensities channels) grid) - colormap ("palette")
    -
    outlet 0 method grid (grid(rows columns channels) grid) - picture
    -
      class #rgb_to_greyscale

    -[#rgb_to_greyscale]





    -
    inlet 0 method grid (grid(rows columns {red green blue}) grid)
    -
    outlet 0 method grid (grid(rows columns {white}) grid)
    -
      class #greyscale_to_rgb

    -[#greyscale_to_rgb]





    -
    inlet 0 method grid (grid(rows columns {white}) grid)
    -
    outlet 0 method grid (grid(rows columns {red green blue}) grid)
    -
      class #yuv_to_rgb

    -[#yuv_to_rgb]





    -

    note: may change slightly to adapt to actual video standards.


    inlet 0 method grid (grid(rows columns {y u v}) grid)
    -
    outlet 0 method grid (grid(rows columns {red green blue}) grid)
    -
      class #rgb_to_yuv

    -[#rgb_to_yuv]





    -

    note: may change slightly to adapt to actual video standards.


    inlet 0 method grid (grid(rows columns {red green blue}) grid)
    -
    outlet 0 method grid (grid(rows columns {y u v}) grid)
    -
     
    -

    Objects for Miscellaneous Picture Processing

      class #convolve

    -[#convolve]





    -

    this is the object for blurring, sharpening, finding edges, - embossing, cellular automata, and many other uses.


    method init (numop2 op_para, numop2 op_fold, grid seed, grid right_hand)
    -
    inlet 0 method grid (grid(rows columns rest...) grid) - splits the incoming grid into dim(rest...) parts. - for each of those parts at (y,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.
    -
    inlet 1 method grid (grid(rows2 columns2) grid) - this is the convolution grid and it gets stored in - the object. if rows2 and/or columns2 are odd numbers, - then the centre of convolution is the middle of the convolution - grid. if they are even numbers, then the chosen centre will - be slightly more to the left and/or to the top, because the - actual middle is between cells of the grid.
    -
    outlet 0 method grid (grid(rows columns rest...) grid)
    -
      class #contrast

    -[#contrast]





    -
    method init (iwhiteness, contrast)
    -
    inlet 0 method grid (grid(rows columns channels) grid) - produces a grid like the incoming grid but with - different constrast.
    -

    [#contrast] adjusts the intensity in an image. - resulting values outside 0-255 are automatically clipped.


    inlet 1 method int () - this is the secondary contrast (inverse whiteness). - it makes the incoming black - correspond to a certain fraction between output black and the - master contrast value. no effect is 256. default value is 256.
    -
    inlet 2 method int () - this is the master contrast. it makes the incoming white - correspond to a certain fraction between output black and output - white. no effect is 256. default value is 256.
    -
    outlet  method grid (grid(rows columns channels) grid)
    -
      class #posterize

    -[#posterize]





    -

    [#posterize] 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.


    method init (levels)
    -
    inlet 0 method grid (grid(rows columns channels) grid) - produces a posterized picture from the input picture.
    -
    inlet 1 method int () - this is the 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 2.
    -

    example: simulate the 216-color "web" palette using 6 levels. - simulate a 15-bit display using 32 levels.


      class #solarize

    -[#solarize]





    -

    makes medium intensities brightest; formerly brightest colours - 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.


    inlet 0 method grid (grid(rows columns channels) grid)
    -
    outlet 0 method grid (grid(rows columns channels) grid)
    -
      class #checkers

    -[#checkers]





    -
    inlet 0 method grid (grid(y x {y x}) grid) - result from a [#for {0 0} {height width} {1 1}]
    -
    outlet 0 method grid (grid(y x {r g b}) grid) - checkered pattern of 50%/75% greys - in 8x8 squares
    -
      class #layer

    -[#layer]





    -
    inlet 0 method grid (grid(y x {r g b a}) grid) - a picture that has an opacity channel. - will be used as foreground.
    -
    inlet 1 method grid (grid(y x {r g b}) grid) - a picture that has NO opacity channel. - will be used as background.
    -
    outlet 0 method grid (grid(y x {r g b}) grid) - a picture that has NO opacity channel. - the opacity channel of the foreground is used as - a weighting of how much of either picture is seen - in the result.
    -
      class #draw_image

    -[#draw_image]





    -
    method init (numop2 operator, grid(y,x,channels) picture, grid({y x}) position)
    -
    inlet 0 method grid (grid(y x channels) grid) - picture onto which another picture will be superimposed.
    -
    inlet 0 method tile (0 or 1 flag) - if enabled, inlet 1 picture will be repeated to cover the inlet 0 picture.
    -
    inlet 0 method alpha (0 or 1 flag) - if enabled, inlet 1 picture will be combined with inlet 0 picture using - the selected operator, - and then blended with inlet 0 picture according to transparency of - the inlet 1 picture, and then inserted in the result. - if disabled, the blending doesn't occur, as the transparency level - is considered to be "opaque". note that with alpha enabled, - the last channel of inlet 1 picture is considered to represent transparency.
    -
    inlet 1 method grid (grid(y x channels) grid) - picture that will be superimposed onto another picture.
    -
    inlet 2 method grid (grid({y x}) grid) - position of the inlet 0 picture corresponding to top-left corner - of inlet 1 picture.
    -
    outlet 0 method grid (grid(y x channels) grid) - resulting picture.
    -
      class #draw_polygon

    -[#draw_polygon]





    -
    method init (numop2 operator, grid(channels) color, grid(vertices,{y x}) vertices)
    -
    inlet 0 method grid (grid(y x channels) grid) - picture on which the polygon will be superimposed.
    -
    inlet 1 method grid (grid(channels) grid) - color of each pixel
    -
    inlet 2 method grid (grid(vertices {y x}) grid) - vertices of the polygon.
    -
    outlet 0 method grid (grid(y x channels) grid) - modified picture. - note: starting with 0.7.2, drawing a 1-by-1 - square really generates a 1-by-1 square, and - so on. This is because the right-hand border of a - polygon is excluded, whereas it was included - before, leading to slightly-wider-than-expected polygons.
    -
      class #text_to_image

    -[#text_to_image]





    -

    inlet 2 receives a font grid, for example, [#in grid file lucida-typewriter-12.grid.gz]

    inlet 1 receives a 2 by 3 matrix representing the colours to use (e.g. (2 3 # 0 170 0 255 255 0) means yellow on green)

    inlet 0 receives a bang, transforming the data into an image suitable for #draw_image.


      class #hueshift

    -[#hueshift]





    -

    inlet 1 receives an angle (0..36000)

    inlet 0 receives a RGB picture that gets hueshifted by a rotation in the colorwheel by the specified angle; it gets sent to outlet 0.


     
    -

    Other Objects

      class rtmetro

    -[rtmetro]





    -This class has been removed (0.7.7).
      class bindpatcher

    -[bindpatcher]





    -

    sets the receive-symbol for the Pd patcher it is in.

    has no inlets, no outlets.

    EXPERIMENTAL.


    method init (symbol symbol)
    -
      class pingpong

    -[pingpong]





    - - Transforms linear counting (0, 1, 2, 3, 4, ...) into a back-and-forth counting (0, 1, 2, 1, 0, ...) - from 0 to a specified upper bound.
    method init (int top)
    -
    inlet 1 method float (float top)
    -
    inlet 0 method float () - a value to be transformed. - If, for example, top=10, then values 0 thru 10 are left unchanged, - values 11 thru 19 are mapped to 9 thru 1 respectively, and 20 thru 30 - are mapped to 0 thru 10, and so on.
    -
      class #global

    -[#global]





    -

    - objects of this class do nothing by themselves and are just - an access point to features that don't belong to any object in - particular.


    method profiler_reset () - resets all the time counters.
    -
    method profiler_dump () - displays the time counters in decreasing order, with - the names of the classes those objects are in. this is - an experimental feature. like most statistics, - it could be vaguely relied upon if - only you knew to which extent it is unreliable. more on this - in a future section called "profiling".
    -
      class fps

    -[fps]





    -
    method init (symbol(real|user|system|cpu) clocktype, symbol(detailed) detailed)
    -
    method init detailed ()
    -
    inlet 0 method bang () - Times at which bangs are received are stored until a large - enough sample of those is accumulated. Large enough is defined - to be whenever the timespan exceeds one second. Then a report - is made through the outlet.
    -
    inlet 0 method (else) () - messages other than bangs are ignored.
    -
    outlet 0 method float () - non-detailed mode only. - this is the messages-per-second rating.
    -
    outlet 0 method list(float,6) () - detailed mode only. - this is: messages-per-second, followed by five values of - milliseconds-per-message: minimum, median, maximum, average, - standard deviation. - (the average happens to be simply 1000 divided by the - messages-per-second, but it is convenient to have it anyway)
    -
      class unix_time

    -[unix_time]





    -

    - This object returns the Unix timestamp. The first - outlet does so with ASCII, the second in seconds and the third outlet - outputs the fractions of seconds up to 1/100 000 th of a second which is useful for creating - filenames.


    inlet 0 method bang ()
    -
    outlet 0 method symbol ()
    -Outputs the time and date in ASCII format
    outlet 1 method float ()
    -Outputs the Unix timestamp in seconds
    outlet 2 method float ()
    -Outputs the fractions of a second up to 10 microseconds (?) (actual precision is platform-dependent afaik)
      class ls

    -[ls]





    -

    - This object is similar to the Unix list command - 'ls'. It returns the names of files in a given - directory. May be used with [listlength] to retrieve the number of files. - Hidden files are displayed.


    inlet 0 method symbol () - lists all files in a given directory
    -
    inlet 0 method glob () - lists all files matching a given pattern. - "symbol hello" is like "glob hello/*"
    -
      class exec

    -[exec]





    -

    - This object launches a Unix shell program or script.


    inlet 0 method symbol ()
    -
      class renamefile

    -[renamefile]





    -

    - This object accepts a list of two elements as arguments. - The current file name being the first and the second is the desired change - in name.


    inlet 0 method list ()
    -
      class plotter_control

    -[plotter_control]





    -

    - This object produces HPGL instructions in ASCII form - that can be sent to the comport object in order to control an HPGL - compatible plotter.


    inlet 0 method symbol ()
    -
    outlet 0 method symbol ()
    -Outputs the HPGL commands in ASCII format
      class rubyarray

    -[rubyarray]





    -

    inlet 0 float : sends the specified array entry to outlet 0

    inlet 1 list: writes that list as an array entry in position last specified by inlet 0.

    inlet 0 save(symbol filename): writes the array contents to a file of the given filename as a CSV

    inlet 0 save(symbol filename, symbol format): same thing but using a sprintf string such as %x,%f or whatever

    inlet 0 load(symbol filename): replace all array contents by the contents of a CSV file


     
    -

    jMax emulation

    those classes emulate jMax functionality, - for use within PureData and Ruby.

      class fork

    -[fork]





    -

    Every incoming message is sent to inlet 1 and then sent to - inlet 0 as well. Messages remain completely unaltered. Contrast - with PureData's "t a a" objects, which have the same purpose but - transform bangs into zeros and such.


    inlet 0 method (any) ()
    -
      class jmax_udpsend

    -[jmax_udpsend]





    - - Sends messages (but not grids nor dspsignals) via UDP (which - does not involve a connection, and may lose packets in case of - network overload or noise or etc).

    This works with jMax 2.5 and 4.1 but not 4.0.


    method init (host host, integer port)
    -
    inlet 0 method <any> ()
    -
      class jmax_udpreceive

    -[jmax_udpreceive]





    -

    Counterpart of jmax_udpsend

    This works with jMax 2.5 and 4.1 but not 4.0.


    method init (integer port)
    -
    outlet 0 method <any> ()
    -
    outlet 1 method list (protocol_name, sender_port, sender_host, sender_ip_address)
    -
      class foreach

    -[foreach]





    -
    inlet 0 method list (...) - Outputs N messages, one per list element, in order.
    -
      class rubysprintf

    -[rubysprintf]





    -
    method init (symbol format)
    -
    inlet 0 method list () - Outputs the format string with %-codes replaced - by elements of the list formatted as the %-codes say. - To get a list of those codes, consult a Ruby manual - (Equivalently, Perl, Python, Tcl and C all have equivalents of this, - and it's almost always called sprintf, or the % operator, or both)
    -
      class listflatten

    -[listflatten]





    -
    inlet 0 method list (...)
    -
      class listmake

    -[listmake]





    - - Emulation of jMax's [list] (but there cannot be a class named [list] in Pd)
    method init (list...)
    -
    inlet 0 method bang () send "list" to outlet 0
    -
    inlet 0 method list () as sending to inlet 1 and then banging; that is, passes thru and remembers.
    -
      class listlength

    -[listlength]





    -
    inlet 0 method list () - outputs the number of elements in the incoming list.
    -
      class listelement

    -[listelement]





    -
    method init (int index)
    -
    inlet 0 method list (...) - Outputs one element of the list, as selected by "index". - Also accepts negative indices (e.g.: -1 means "last"), like Ruby, but unlike jMax.
    -
      class listsublist

    -[listsublist]





    -
    method init (int index, int length)
    -
    inlet 0 method list (...) - Outputs consecutive elements of the list, as selected by "index" and "length". - Also accepts negative indices (e.g.: -1 means "last"), like Ruby, but unlike jMax.
    -
      class listprepend

    -[listprepend]





    -
    method init (list...)
    -
    inlet 0 method list (...) - Outputs the stored list followed by the incoming list, all in one message.
    -
      class listappend

    -[listappend]





    -
    method init (list...)
    -
    inlet 0 method list (...) - Outputs the incoming list followed by the stored list, all in one message.
    -
      class listreverse

    -[listreverse]





    -
    inlet 0 method list (...) - Outputs the incoming list, from last element to first element.
    -
      class oneshot

    -[oneshot]





    - - Like [spigot], but turns itself off after each message, so you have to turn it on - again to making it pass another message.
      class inv+

    -[inv+]





    -
    method init (float b)
    -
    inlet 0 method float (float a) - outputs b-a
    -
      class inv*

    -[inv*]





    -
    method init (float b)
    -
    inlet 0 method float (float a) - outputs b/a
    -
      class messageprepend

    -[messageprepend]





    - - (This is not in jMax, but is there to help port $* messageboxes)
    method init (list...)
    -
    inlet 0 method <any> (...) - Like [listprepend], but operates on whole messages, that is, including the selector.
    -
      class messageappend

    -[messageappend]





    - - (This is not in jMax, but is there to help port $* messageboxes)
    method init (list...)
    -
    inlet 0 method <any> (...) - Like [listappend], but operates on whole messages, that is, including the selector.
    -
      class shunt

    -[shunt]





    - - Compatible with jMax's [demux].
    method init (n, i)
    -
    inlet 0 method <any> (...) - Routes a message to the active outlet.
    -
    inlet 1 method int (int i) - Selects which outlet is active.
    -
      class demux

    -[demux]





    - - please use shunt instead (name conflict with another Pd external)
      class range

    -[range]





    -
    method init (separators...)
    -
    inlet 0 method float () - a value to be sent to one of the outlets. The first outlet is for values - smaller than the first argument; else the second outlet is for values smaller - than the second argument; and so on; and the last outlet is for values greater - or equal to the last argument.
    -
    inlet 1..n method float () - sets the corresponding separator in the separator list.
    -
     
    -

    PureData emulation

      class pd_netsend

    -[pd_netsend]





    - - same as jmax_udpsend but for PureData UDP connections.
      class pd_netreceive

    -[pd_netreceive]





    - - same as jmax_udpreceive but for PureData UDP connections.
     
    -

    (new documentation)

      class listfind

    -[listfind]





    -
    method _1_list () list to search into
    -
    method _0_float () float to find in that list
    -
    method _1_float () position of the incoming float in the stored list
    -
      class memstat

    -[memstat]





    -
    method _0_bang () lookup process stats for the currently running pd+ruby and figure out how much RAM it uses.
    -
    method _0_float () virtual size of RAM in kilobytes (includes swapped out and shared memory)
    -
      class regsub

    -[regsub]





    -
    method _1_symbol () a regexp pattern to be found inside of the string
    -
    method _0_symbol () a string to transform
    -
    method _2_symbol () a replacement for the found pattern
    -
    method _0_symbol () the transformed string
    -
      class sendgui

    -[sendgui]





    -
    method _0_list () a Tcl/Tk command to send to the pd client.
    -
      class sys_vgui

    -[sys_vgui]





    -
    method _0_list () a Tcl/Tk command to send to the pd client.
    -
     
    -

    (undocumented)

    [#edit]

    [#in]

    [#in:aalib]

    [#io:file]

    [#io:grid]

    [#io:jpeg]

    [#io:mpeg]

    [#io:opengl]

    [#io:png]

    [#io:ppm]

    [#io:quicktime]

    [#io:sdl]

    [#io:targa]

    [#io:tk]

    [#io:videodev]

    [#io:window]

    [#io:x11]

    [#matrix_solve]

    [#out]

    [#peephole]

    [@!]

    [@eight]

    [@four]

    [@global]

    [@scale_to]

    [@three]

    [@two]

    [GridObject]

    [SoundMixer]

    [ascii]

    [broken]

    [button]

    [delcomusb]

    [for]

    [gfmessagebox]

    [gridflow]

    [jcomment]

    [jmax4_udpreceive]

    [jmax4_udpsend]

    [joystick_port]

    [jpatcher]

    [klippeltronics]

    [loadbang]

    [messbox]

    [parallel_port]

    [pd_netsocket]

    [system]

    [toggle]

     
    -
    -

    -GridFlow 0.8.1 Documentation
    -Copyright © 2001,2002,2003,2004,2005,2006 by Mathieu Bouchard -matju@artengine.ca -

    -
    - - diff --git a/externals/gridflow/doc/reference.xml b/externals/gridflow/doc/reference.xml deleted file mode 100644 index e7bf94a1..00000000 --- a/externals/gridflow/doc/reference.xml +++ /dev/null @@ -1,1607 +0,0 @@ - - - - - - -
    - - - -

    This object allows you to produce grids from non-grid data, such as - integers and lists of integers. This object also reframes/resyncs - grids so that multiple grids may be joined together, or - single grids may be split. That kind of operation is already done implicitly in many - cases (e.g. sending an integer or list to a grid-receiving inlet), - but using this object you have greater flexibility on the conversion.

    - - a list specifying a grid shape that the numbers - will fit into; or "per_message" indicating each incoming message - will be turned into a vector. - - - - - - - - - begins a new grid if there is no current grid. - puts that integer in the current grid. - ends the grid if it is full. - the constructed grid is not stored: it is streamed. - the stream is buffered, so the output is in packets - of about a thousand numbers. - - - just like a sequence of ints sent one after another, - except in a single message. - - - considered as a list of ascii characters. - - - aborts the current grid if there is one. - - - - this is the equivalent of filtering this grid through - an [#export] object and sending the resulting integers - to this [#import] object, except that it's over - 10 times faster. - - - - - old synonym for "shape per_message" - - - - - the grid produced from incoming integers and/or grids. - - -
    - - - - -

    this object is the opposite of #import.

    - - this object is not configurable because there isn't - anything that could possibly be configured here. - - - - transforms this grid into a sequence of integer messages. - - - - - elements of the incoming grid. - - -
    - - - - -

    this object is another opposite of [#import], which puts - all of its values in a list.

    - - - - transforms this grid into a single message containing - a list of integers. - - - - - elements of the incoming grid. - - -
    - - -

    this object is another opposite of #import, which constructs a symbol - from its input. The values are expected to be valid ASCII codes, but no check - will be performed for that, and additionally, no check will be made that the generated - symbol only contains characters that can be put in a symbol.

    - - - - transforms this grid into a single message containing - a list of integers. - - - generated symbol -
    - - -

    Similar to [#join], but takes individual integers, and builds a Dim(N) vector out of it. -

    - - - The value "any" (and the only available value for now) causes an output - to produced when an integer is received thru any inlet, contrary to most - other object classes, that only act upon reception of a value thru inlet 0. - - - - how many inlets the object should have. - - - - combination of inputs given in all inlets. - this is produced according to the value of the trigger attribute. - -
    - - -

    Triple slider for the selection of RGB values.

    - - - - - - - changes all three values (R,G,B). The grid must - be a Dim(3). - - - sends the rest of the message to each of the three sliders. - this relies on the fact that [#color] is implemented using - three [hsl] and this might not still work in the far future. - - - Produces a Dim(3) grid of RGB values. - -
    - - - - - how many outlets the object should have. - (depending on the version of the software, the number of visible outlets - may have been frozen to 4. If it is so, then the value of this argument - must not exceed 4; and if it is below 4, then don't use the extraneous outlets.) - - - - the input vector is split in N parts containing one number each. - numbers are sent left-to-right, that is, outlet 0 is triggered first, then outlet 1, etc. - - - - - - - - - will compute the centroid of the given grid, which - is a weighted average, namely, the average position weighted - by the pixel values. - - - - result - - - - - a new experimental and faster version of #centroid. - - - will compute the centroid of the given grid, which - is a weighted average, namely, the average position weighted - by the pixel values. - - - - result - - - - - - - - -

    when given scalar bounds, works like a regular [for] object plugged - to a [#import] tuned for a Dim(size) where size is the number of values - produced by a bang to that [for].

    - -

    when given vector bounds, will work like any number of [for] objects - producing all possible combinations of their values in the proper order. - This replaces the old [#identity_transform] object.

    - - - - - - - - replaces the "from" value and produces output. - - - replaces the "to" value. - - - replaces the "step" value. - - - - where size is floor((to-from+1)/step) - [for scalar bounds] - - - where *size is floor((to-from+1)/step) - [for vector bounds] - - -
    -
    - -
    - - - - - - - - - -

    This object outputs a grid by computing "in parallel" a same - operation on each left-hand element with its corresponding right-hand - element. -

    - - - - - - - - - on each element of this grid, perform the operation - together with the corresponding element of inlet 1. - in the table of operators (at the top of this document) - elements of inlet 0 are called "A" and elements of inlet 1 - are called "B". the resulting grid is the same size as the - one in inlet 0. - - - - - any grid, preferably shaped like the one that will be put - in the left inlet, or like a subpart of it (anyway the contents - will be redim'ed on-the-fly to fit the grid of inlet-0, - but the stored grid will not be modified itself) - - - stores a single int in the right inlet; the same int will - be applied in all computations; this is like sending a - Dim(1) or Dim() grid with that number in it. - - - - - - - -
    - - -

    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. (fun, eh?) -

    -

    used on an indexmap, this makes each thing appear twice, - each apparition spanning half of the original angle.

    - - - - - - -
    - - - - - -

    -

  • [#fold +] computes totals
  • -
  • [#fold inv+] is an alternated sum (+/-)
  • -
  • [#fold * 1] can compute the size of a grid using its dimension list
  • -
  • [#fold & 1] can mean "for all"
  • -
  • [#fold | 0] can mean "there exists (at least one)"
  • -
  • [#fold ^ 0] can mean "there exists an odd number of..."
  • -
  • [#fold ^ 1] can mean "there exists an even number of...".
  • -

    - - - - - - - - - - replaces every Dim(last) subgrid by the result of a cascade on that subgrid. - Doing that - with seed value 0 and operation + on grid "2 3 5 7" will compute - ((((0+2)+3)+5)+7) find the total "17". - produces a Dim(dims) grid. - - - - -
    - - - - - -

    [#scan +] computes subtotals; this can be used, for example, - to convert a regular probability distribution into a cumulative one. - (or in general, discrete integration) -

    - - - - - - - - - - replaces every Dim(last) subgrid by all the results of - cascading the operator on that subgrid, - producing a Dim(dims,last) grid. - - For example, with base value 0 and operation + on grid "2 3 5 - 7" will compute 0+2=2, 2+3=5, 5+5=10, 10+7=17, and give the - subtotals "2 5 10 17". - - - - - - - -
    - - - - - - - - - the operator must be picked from the table of two-input operators. - the grid is optional and corresponds to inlet 1. - - - - - produces a grid of size Dim(anyA..., anyB...), where numbers - are the results of the operation on every element of A and - every element of B. the resulting array can be very big. Don't - try this on two pictures (the result will have 6 dimensions) - - - - stores the specified grid, to be used when inlet 0 is activated. - - - - -

    When given a grid of Dim(3) and a grid of Dim(5) [#outer] will - produce a grid of Dim(3,5) with the selected two-input operation - applied on each of the possible pairs combinations between numbers - from the left grid and the ones from the right. for example : - (10,20,30) [#outer +] (1,2,3) will give : - ((11,12,13),(21,22,23),(31,32,33))

    - -
    - - - - -

    think of this one as a special combination of [#outer], [#] and - [#fold]. this is one of the most complex operations. It is very useful - for performing linear transforms like rotations, scalings, shearings, - and some kinds of color remappings. A linear transform is done by - something called matrix multiplication, which happens to be [#inner * + - 0]. [#inner] also does dot product and other funny operations.

    - - - - - - - op_para and op_fold are two operators picked from the table - of two-input operators. - the base value has to be specified (has no default value yet). - - - - - Splits the Dim(anyA...,lastA) left-hand grid into Dim(anyA...) - pieces of Dim(lastA) size. - - Splits the Dim(firstB,anyB...) right-hand grid into - Dim(anyB...) pieces of Dim(firstB) size. - - On every piece pair, does [#] using the specified - op_para operation, followed by a [#fold] using - the specified op_fold operator and base value. - - creates a Dim(anyA...,anyB...) grid by assembling all - the results together. - - (note: lastA must be equal to firstB.) - - - - - changes the base value to that. - - - - - changes the right-hand side grid to that. - - - - -
    - - - - - Which_dim is the number of the dimension 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. - - - - The left grid and right grid must have the same number - of elements in all dimensions except the one specified. - The result will have the same number of elements in all - dimensions except the one specified, which will be the - sum of the two corresponding one. - -

    For example, joining a RGB picture Dim[y,x,3] and a - greyscale picture Dim[y,x,1] on dimension 2 (or -1) could - make a RGBA picture Dim[y,x,4] in which the greyscale image - becomes the opacity channel. -

    -
    -
    - - - -
    - - - - any grid - - - a bang is emitted every time a grid transmission ends. - - - - - - - - - any grid - - - a grid of the same shape containing all the same - values after type conversion. note that while casting to - a smaller type, values that are overflowing will be truncated. - - - - - - any grid - - like [#redim] but always produce a 1-D grid - with the same total number of elements. - - - - - any grid - -

    splits a Dim[A...,B] grid into Dim[B] vectors, - producing new 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.

    -

    for example, connecting a [#grade] to a [#outer ignore {0}] - to a [#store] object, storing a single vector into [#store], and - sending the same vector to [#grade], will sort the values of the - vector. however for higher-dimensional grids, what should go - between [#store] and [#grade] to achieve the same result would - be more complex.

    -

    you may achieve different kinds of sorting by applying various - filters before [#grade]. the possibilities are unlimited.

    -

    if you plug [#grade] directly into another [#grade], you will - get the inverse arrangement, which allows to take the sorted values - and make them unsorted in the original way. note that this is really - not the same as just listing the values backwards.

    -
    -
    - - - - - - any grid - -

    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 "depth" parameter. Each vector's - length is adjusted so that it lies onto that plane. Then the - last dimension of each vector is dropped.

    - -

    useful for converting from 3-D geometry to 2-D geometry. Also - useful for converting homogeneous 3-D into regular 3-D, as - homogeneous 3-D is really just regular 4-D...(!)

    -
    -
    - - - - - - - - swaps the two specified dimensions; dimension numbers are as in [#join]. - - - - - - - - - produces on outlet 0 a linear recurrent fading according to the flow of - incoming messages. For example, if rate=5, then 20% (one fifth) - of each new message will be blended with 80% of the previous output. - - - - - - - - - - produces on outlet 0 a piecewise-linear nonrecurrent fading according to the flow of - incoming messages. For example, if maxraise=2 and maxdrop=4, then with each - new message an output is produced that is at most 2 more or 4 less than the - previous output. - - - - - - - Whichdim is the number of the dimension by which the reverse 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. - - -
    - -
    - - - - - - - a list specifying a grid shape that the numbers - will fit into. - (same as with [#import]) - - - - the elements of this grid are serialized. if the resulting grid - must be larger, the sequence is repeated as much as necessary. - if the resulting grid must be smaller, the sequence is truncated. - then the elements are deserialized to form the resulting grid. - - - - - this grid is a dimension list that replaces the one - specified in the constructor. - (same as with [#import]) - - - - - redimensioned grid potentially containing repeating data. - - - -

    example: with a 240 320 RGB image, [#redim 120 640 3] will visually - separate the even lines (left) from the odd lines (right). contrary - to this, [#redim 640 120 3] will split every line and put its left half - on a even line and the right half on the following odd line. [#redim] - 480 320 3 will repeat the input image twice in the output image. - [#redim] 240 50 3 will only keep the 50 top lines.

    - -
    - - - -

    A [#store] object can store exactly one grid, using the right - inlet. You fetch it back, or selected subparts thereof, using the left - inlet.

    - - - - - - - - the stored grid is fully sent to the outlet. - - - in this grid, the last dimension refers to subparts of - the stored grid. sending a Dim(200,200,2) on a [#store] - that holds a Dim(240,320,3) will cause the [#store] to handle - the incoming grid as a Dim(200,200) of Dim(2)'s, where each - Dim(2) represents a position in a Dim(240,320) of Dim(3)'s. - therefore the resulting grid will be a Dim(200,200) of - Dim(3) which is a Dim(200,200,3). in practice this example - would be used for generating a 200*200 RGB picture from a - 200*200 XY map and a 240*320 RGB picture. this object can - be logically used in the same way for many purposes - including color palettes, tables of probabilities, tables - of statistics, whole animations, etc. - - - - - replace the whole grid, or a subpart of it (see other options on inlet 1) - - - - (Future Use): - makes it so that sending a grid to inlet 1 detaches the old buffer from [#store] - and attaches a new one instead. This is the default. - - (Future Use): - makes it so that sending a grid to inlet 1 writes into the existing buffer of [#store]. -

    - example: suppose you have [#store {10 240 320 3}]. then "put_at 3" - will allow to write a Dim[240,320,3] grid in indices (3,y,x,c) where y,x,c are indices of the incoming grid; - in other words, if that's a buffer of 10 RGB frames, you'd be replacing frame #3. Furthermore, - it also allows you to write a Dim[n,240,320,3] grid at (3+f,y,x,c) where f,y,x,c are indices of the incoming grid, - replacing frame #3, #4, ... up to #3+n-1. Here n is at most 7 because the last frame in the buffer is #9. -

    -

    that way of working extends to other kinds of data you'd put in Grids, in any numbers of dimensions; - because, as usual, [#store] wouldn't know the difference. -

    -
    -
    - - grids as stored, as indexed, or as assembled from multiple - indexings. - -
    - - - - - - {height width} pair. - - - - a 3-channel picture to be scaled. - - - a {height width} pair. - - - a scaled 3-channel picture. - - - - - - - - - factor is optional (default is 2). - if it's a single value, then that factor is to be used - for both rows and columns. - - - - duplicates each pixel several times in width and several times in height, - where the number of times is determined by the factor described above. - twice those of the incoming grid. It is several times faster. - - - sets factor - - - - - - - - - - - - factor is optional (default is 2). - if it's a single value, then that factor is to be used - for both rows and columns. - - - - Scales down picture by specified amount. (See scale factor above) - - - - sets scale factor - - - - - - - - - - -

    typically you plug a [#for] into this object, - and you plug this object into the left side of a [#store]. it will - scatter pixels around, giving an "unpolished glass" effect.

    - -

    if you put a picture in it, however, it will add noise. The - resulting values may be out of range, so you may need to clip them - using min/max.

    - - - same as inlet 1 - - - - a coordinate map. - - - a spread factor. - - - a coordinate map. - - - -

    [#spread] scatters the pixels in an image. Not all original pixels - will appear, and some may get duplicated (triplicated, etc) - randomly. Some wrap-around effect will occur close to the edges. -

    - -

    Sending an integer to inlet 1 sets the amount of spreading in - maximum number of pixels + 1. even values translate the whole image - by half a pixel due to rounding.

    - -
    - - -

    performs rotations on indexmaps and polygons and such.

    - - - - - - - rotation angle; 0...36000 - - - - -
    - - -

    if you chain indexmap (coordinate) transformations from outlet 1 - to inlet 1, then sending an image in inlet 0 will emit its - deformation out of outlet 0.

    - - - - - -
    -
    - -
    - - - -

    Returns list of dimensions as a grid. Given a grid sized like Dim(240,320,4), - [#dim] will return a grid like Dim(3), whose values are 240, 320, 4.

    - - - no arguments. - - - - ignores any data contained within. - sends a grid dim(length of dims) containing dims. - - - - - the list of dimensions of the incoming grid. - - -
    - - -

    gives a symbol representing the numeric type of the grid received. -

    - -
    - - - - - - prints the dimensions of the grid. - prints all the grid data if there are 2 dimensions or less. - - - - - - This is only for testing the translation from PD to Ruby. - - - - prints the message to the console. - - - - - - This is only for testing the translation from PD to Ruby. - - - prints everything. - - - - - GUI object equivalent to [print] and [#print]. - - Displays the received message in the box, resizing the box so that the message fits exactly. - - -
    - -
    - -

    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. You may also color-correct - colormaps themselves.

    - -

    Only works for things that have 3 channels.

    - -

    Note: if you just need to apply a palette on an indexed-color - picture, you don't need this. Just use #store instead.

    - - - - picture - - - - - colormap ("palette") - - - - picture - -
    - - - - - - - - - - - - - - - - - - - - -

    note: may change slightly to adapt to actual video standards.

    - - - - - - -
    - - -

    note: may change slightly to adapt to actual video standards.

    - - - - - - -
    -
    - -
    - - - -

    this is the object for blurring, sharpening, finding edges, - embossing, cellular automata, and many other uses.

    - - - - - - - - - - - splits the incoming grid into dim(rest...) parts. - for each of those parts at (y,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. if rows2 and/or columns2 are odd numbers, - then the centre of convolution is the middle of the convolution - grid. if they are even numbers, then the chosen centre will - be slightly more to the left and/or to the top, because the - actual middle is between cells of the grid. - - - - - - - -
    - - - - - - same as inlet 1. - same as inlet 2. - - - - - - produces a grid like the incoming grid but with - different constrast. - -

    [#contrast] adjusts the intensity in an image. - resulting values outside 0-255 are automatically clipped.

    -
    - - - this is the secondary contrast (inverse whiteness). - it makes the incoming black - correspond to a certain fraction between output black and the - master contrast value. no effect is 256. default value is 256. - - - - - this is the master contrast. it makes the incoming white - correspond to a certain fraction between output black and output - white. no effect is 256. default value is 256. - - - - - - - -
    - - - - -

    [#posterize] 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.

    - - - same as inlet 1 - - - - - - produces a posterized picture from the input picture. - - - - - - this is the 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 2. - - - - - - -

    example: simulate the 216-color "web" palette using 6 levels. - simulate a 15-bit display using 32 levels.

    -
    - - -

    makes medium intensities brightest; formerly brightest colours - 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.

    - - - - - - - - -
    - - - - - - result from a [#for {0 0} {height width} {1 1}] - - - - - - checkered pattern of 50%/75% greys - in 8x8 squares - - - - - - - - - a picture that has an opacity channel. - will be used as foreground. - - - - - - a picture that has NO opacity channel. - will be used as background. - - - - - - a picture that has NO opacity channel. - the opacity channel of the foreground is used as - a weighting of how much of either picture is seen - in the result. - - - - - - - - Normally you would use the "put" operator here; - but abnormally I recommend + and ^ for psychedelic effects. - - - - - - - picture onto which another picture will be superimposed. - - - if enabled, inlet 1 picture will be repeated to cover the inlet 0 picture. - - - if enabled, inlet 1 picture will be combined with inlet 0 picture using - the selected operator, - and then blended with inlet 0 picture according to transparency of - the inlet 1 picture, and then inserted in the result. - if disabled, the blending doesn't occur, as the transparency level - is considered to be "opaque". note that with alpha enabled, - the last channel of inlet 1 picture is considered to represent transparency. - - - - - picture that will be superimposed onto another picture. - - - - - position of the inlet 0 picture corresponding to top-left corner - of inlet 1 picture. - - - - - resulting picture. - - - - - - - - Normally you would use the "put" operator here; - but abnormally I recommend + and ^ for psychedelic effects. - - - - - - - picture on which the polygon will be superimposed. - - - - - color of each pixel - - - - - vertices of the polygon. - - - - - - modified picture. - note: starting with 0.7.2, drawing a 1-by-1 - square really generates a 1-by-1 square, and - so on. This is because the right-hand border of a - polygon is excluded, whereas it was included - before, leading to slightly-wider-than-expected polygons. - - - - - -

    inlet 2 receives a font grid, for example, [#in grid file lucida-typewriter-12.grid.gz]

    -

    inlet 1 receives a 2 by 3 matrix representing the colours to use (e.g. (2 3 # 0 170 0 255 255 0) means yellow on green)

    -

    inlet 0 receives a bang, transforming the data into an image suitable for #draw_image.

    -
    - -

    inlet 1 receives an angle (0..36000)

    -

    inlet 0 receives a RGB picture that gets hueshifted by a rotation in the colorwheel by the specified angle; it gets sent to outlet 0.

    -
    -
    - -
    - This class has been removed (0.7.7). - - -

    sets the receive-symbol for the Pd patcher it is in.

    -

    has no inlets, no outlets.

    -

    EXPERIMENTAL.

    - - - -
    - - - Transforms linear counting (0, 1, 2, 3, 4, ...) into a back-and-forth counting (0, 1, 2, 1, 0, ...) - from 0 to a specified upper bound. - - - - - - - - - a value to be transformed. - If, for example, top=10, then values 0 thru 10 are left unchanged, - values 11 thru 19 are mapped to 9 thru 1 respectively, and 20 thru 30 - are mapped to 0 thru 10, and so on. - - - - - - - -

    - objects of this class do nothing by themselves and are just - an access point to features that don't belong to any object in - particular. -

    - - resets all the time counters. - - - displays the time counters in decreasing order, with - the names of the classes those objects are in. this is - an experimental feature. like most statistics, - it could be vaguely relied upon if - only you knew to which extent it is unreliable. more on this - in a future section called "profiling". - -
    - - - - - which clock to use. "real" uses wallclock time. "user" uses - the amount of time spent in the process. "system" uses the - amount of time spent in the kernel on behalf of the process. - "cpu" uses the Pentium clock, which is like a more precise - version of "real" if you have a Pentium. - - optional - - - - - - Times at which bangs are received are stored until a large - enough sample of those is accumulated. Large enough is defined - to be whenever the timespan exceeds one second. Then a report - is made through the outlet. - - - messages other than bangs are ignored. - - - - - non-detailed mode only. - this is the messages-per-second rating. - - - detailed mode only. - this is: messages-per-second, followed by five values of - milliseconds-per-message: minimum, median, maximum, average, - standard deviation. - (the average happens to be simply 1000 divided by the - messages-per-second, but it is convenient to have it anyway) - - - - - -

    - This object returns the Unix timestamp. The first - outlet does so with ASCII, the second in seconds and the third outlet - outputs the fractions of seconds up to 1/100 000 th of a second which is useful for creating - filenames. -

    - - Outputs the time and date in ASCII format - Outputs the Unix timestamp in seconds - Outputs the fractions of a second up to 10 microseconds (?) (actual precision is platform-dependent afaik) -
    - - -

    - This object is similar to the Unix list command - 'ls'. It returns the names of files in a given - directory. May be used with [listlength] to retrieve the number of files. - Hidden files are displayed. -

    - - lists all files in a given directory - - - lists all files matching a given pattern. - "symbol hello" is like "glob hello/*" - -
    - - -

    - This object launches a Unix shell program or script. -

    - -
    - - -

    - This object accepts a list of two elements as arguments. - The current file name being the first and the second is the desired change - in name. -

    - -
    - - -

    - This object produces HPGL instructions in ASCII form - that can be sent to the comport object in order to control an HPGL - compatible plotter. -

    - - Outputs the HPGL commands in ASCII format -
    - - -

    inlet 0 float : sends the specified array entry to outlet 0

    -

    inlet 1 list: writes that list as an array entry in position last specified by inlet 0.

    -

    inlet 0 save(symbol filename): writes the array contents to a file of the given filename as a CSV

    -

    inlet 0 save(symbol filename, symbol format): same thing but using a sprintf string such as %x,%f or whatever

    -

    inlet 0 load(symbol filename): replace all array contents by the contents of a CSV file

    -
    -
    - -
    -

    those classes emulate jMax functionality, - for use within PureData and Ruby.

    - - -

    Every incoming message is sent to inlet 1 and then sent to - inlet 0 as well. Messages remain completely unaltered. Contrast - with PureData's "t a a" objects, which have the same purpose but - transform bangs into zeros and such.

    - - - - -
    - - Sends messages (but not grids nor dspsignals) via UDP (which - does not involve a connection, and may lose packets in case of - network overload or noise or etc). - -

    This works with jMax 2.5 and 4.1 but not 4.0.

    - - - - - - - -
    - -

    Counterpart of jmax_udpsend

    - -

    This works with jMax 2.5 and 4.1 but not 4.0.

    - - - - - - - - - - - - -
    - - - Outputs N messages, one per list element, in order. - - - - - - - - Outputs the format string with %-codes replaced - by elements of the list formatted as the %-codes say. - To get a list of those codes, consult a Ruby manual - (Equivalently, Perl, Python, Tcl and C all have equivalents of this, - and it's almost always called sprintf, or the % operator, or both) - - - - - - - - - Emulation of jMax's [list] (but there cannot be a class named [list] in Pd) - - - - - send "list" to outlet 0 - as sending to inlet 1 and then banging; that is, passes thru and remembers. - - - - - - outputs the number of elements in the incoming list. - - - - - - - - Outputs one element of the list, as selected by "index". - Also accepts negative indices (e.g.: -1 means "last"), like Ruby, but unlike jMax. - - - - - - - - - - Outputs consecutive elements of the list, as selected by "index" and "length". - Also accepts negative indices (e.g.: -1 means "last"), like Ruby, but unlike jMax. - - - - - - - - - - Outputs the stored list followed by the incoming list, all in one message. - - - - - - - - - Outputs the incoming list followed by the stored list, all in one message. - - - - - - Outputs the incoming list, from last element to first element. - - - - Like [spigot], but turns itself off after each message, so you have to turn it on - again to making it pass another message. - - - - - - - outputs b-a - - - - - - - - - outputs b/a - - - - - (This is not in jMax, but is there to help port $* messageboxes) - - - Like [listprepend], but operates on whole messages, that is, including the selector. - - - - - (This is not in jMax, but is there to help port $* messageboxes) - - - Like [listappend], but operates on whole messages, that is, including the selector. - - - - - - Compatible with jMax's [demux]. - - number of outlets - initial selected outlet - - - Routes a message to the active outlet. - - - Selects which outlet is active. - - - - please use shunt instead (name conflict with another Pd external) - - - - - - - a value to be sent to one of the outlets. The first outlet is for values - smaller than the first argument; else the second outlet is for values smaller - than the second argument; and so on; and the last outlet is for values greater - or equal to the last argument. - - - sets the corresponding separator in the separator list. - - -
    - -
    - - same as jmax_udpsend but for PureData UDP connections. - - - same as jmax_udpreceive but for PureData UDP connections. - -
    - -
    diff --git a/externals/gridflow/doc/tutorials/0-0-intro_page.pd b/externals/gridflow/doc/tutorials/0-0-intro_page.pd deleted file mode 100755 index 3ac9fb86..00000000 --- a/externals/gridflow/doc/tutorials/0-0-intro_page.pd +++ /dev/null @@ -1,89 +0,0 @@ -#N canvas 226 0 429 638 10; -#X obj -22 -68 cnv 1 430 80 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj -24 49 cnv 1 430 520 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj -24 82 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 57 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -17 49 cnv 1 2 480 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 390 50 cnv 1 2 480 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 144 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 168 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 26 98 1.1 What is a grid?; -#X obj 41 534 cnv 15 300 30 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 53 539 Stephanie Brodeur & Darsha Hewitt 2005; -#X obj -22 7 cnv 15 430 30 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 88 -3 cnv 15 100 17 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 88 -5 GridFlow 0.8.0; -#X obj -22 -68 cnv 1 430 1 empty empty empty 20 12 0 14 -66577 -66577 -0; -#X obj -23 37 cnv 1 430 1 empty empty empty 20 12 0 14 -66577 -66577 -0; -#X obj 189 11 cnv 15 63 17 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 188 8 Tutorials; -#X obj -24 48 cnv 1 430 1 empty empty empty 20 12 0 14 -66577 -66577 -0; -#X obj -24 528 cnv 1 430 1 empty empty empty 20 12 0 14 -66577 -66577 -0; -#X text 14 63 1; -#X obj 32 62 Introduction to Grids; -#X text 26 178 2.1 How does GridFlow understand images?; -#X text 15 150 2; -#X obj 36 147 Introduction to Images; -#X text 419 224 2.3 Different options on how to open an image.; -#X text 445 241 2.3.1 Opening different images in one window.; -#X text 445 258 2.3.2 Opening images using send and receive.; -#X obj -24 310 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 334 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 18 317 3; -#X obj 39 315 Introduction to Video; -#X text 482 201 REMOVE 2.3 -- see pd tuts; -#X text 17 405 4; -#X obj 38 405 Introduction to Live Feed; -#X obj 37 481 Putting it all Together; -#X text 20 482 5; -#X text 30 430 4.1 Opening a live video feed; -#X text 30 446 4.2 Motion Detection; -#X text 29 372 3.3 Recording video; -#X obj -24 310 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 334 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 400 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 424 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 400 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 424 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 476 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 500 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 476 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj -24 500 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 26 114 1.2 How to create a grid; -#X text 26 197 2.2 Opening an image; -#X text 26 214 2.3 Image manipulation; -#X text 55 244 2.3.2 Resizing an image; -#X text 55 228 2.3.1 Numop; -#X text 55 273 2.3.4 Remap image; -#X text 55 259 2.3.3 Greyscale; -#X text 55 286 2.3.5 Convolve; -#X text 29 342 3.1 Opening a video; -#X text 29 358 3.2 Video manipulation; diff --git a/externals/gridflow/doc/tutorials/2-3-4-image-modification-2-remap-image.pd b/externals/gridflow/doc/tutorials/2-3-4-image-modification-2-remap-image.pd deleted file mode 100755 index b6e4755d..00000000 --- a/externals/gridflow/doc/tutorials/2-3-4-image-modification-2-remap-image.pd +++ /dev/null @@ -1,55 +0,0 @@ -#N canvas 41 17 876 618 10; -#X obj 10 519 cnv 15 720 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X msg 53 173 open b001.jpg; -#X obj 23 116 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 23 204 #in; -#X obj 23 142 t b b; -#X obj 23 351 #out window; -#X obj 102 323 #print; -#X obj 184 160 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 203 225 5 0 0 0 - - -; -#X obj 173 184 #for (0 0) (240 320) (1 1); -#X obj 173 134 metro 100; -#X obj 173 109 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X obj 23 292 #remap_image; -#X text 18 526 GridFlow 0.8.0; -#X text 243 224 <-- Modify the value to see transformations.; -#X obj 173 257 # / 1; -#X text 227 261 The remap object works with numops.; -#X obj 9 -17 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 9 -52 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 15 -17 2.4 Image Manipulation; -#X text 16 -46 2 Introduction to Images; -#X text 15 2 2.4.4 Remap Image; -#X text 26 408 Remap image permits you to modify an image using numeric -operators. Different numeric Operators have different effects ton the -image and can be changed to give the desired effect. The multiplication -operator multiplies the values and distorts the image. The division -operator does the same but shrinks the operator...; -#X text 467 24 Have the list of operators and what they do in order -to know the various effects.; -#X text 468 77 example:; -#X obj 474 121 # / 2; -#X text 523 114 multiplication multiplies the numbers in the grid and -distorts the image.; -#N canvas 0 0 450 300 META 0; -#X restore 130 527 pd META; -#X connect 1 0 3 0; -#X connect 2 0 4 0; -#X connect 3 0 12 0; -#X connect 4 0 3 0; -#X connect 4 1 1 0; -#X connect 7 0 9 0; -#X connect 8 0 15 1; -#X connect 9 0 15 0; -#X connect 10 0 9 0; -#X connect 11 0 10 0; -#X connect 12 0 5 0; -#X connect 12 1 6 0; -#X connect 15 0 12 1; diff --git a/externals/gridflow/doc/tutorials/2-3-5-image-modification-2-convolve.pd b/externals/gridflow/doc/tutorials/2-3-5-image-modification-2-convolve.pd deleted file mode 100755 index 4a099537..00000000 --- a/externals/gridflow/doc/tutorials/2-3-5-image-modification-2-convolve.pd +++ /dev/null @@ -1,120 +0,0 @@ -#N canvas 47 0 787 658 10; -#X msg 468 148 3 3 # 0 4 0 4 9 -4 0 -4 0; -#X msg 467 100 3 3 # 4 0 0 0 1 0 0 0 4; -#X obj 80 219 #store; -#X obj 80 270 # / 9; -#X msg 467 75 3 3 # 1 1 1 1 1 1 1 1 1; -#X obj -13 201 #out window; -#X msg 470 263 1 3 # 0 9 -9; -#X obj -21 117 #in; -#X msg 468 124 3 3 # 2 2 2 2 -7 2 2 2 2; -#X obj 80 145 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 -; -#X obj 70 325 @! abs; -#X obj -21 77 loadbang; -#X obj 80 182 metro 33.3667; -#X obj -21 139 t a; -#X obj 80 244 #convolve \, seed 4; -#X obj 401 78 loadbang; -#X obj 80 299 shunt 2; -#X obj 124 270 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 -1; -#X msg 170 280 0; -#X obj 124 351 # + 128; -#X msg 170 304 1; -#X obj 469 174 display; -#X obj -13 225 fps; -#X obj -13 250 print; -#X obj -50 466 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text -42 473 GridFlow 0.8.0; -#X text -42 473 GridFlow 0.8.0; -#X msg 470 242 1 3 # 0 2 -2; -#X msg 470 325 3 3 # 0 -1 0 -1 4 -1 0 -1 0; -#X msg 470 348 3 3 # -1 -1 -1 -1 8 -1 -1 -1 -1; -#X msg 470 416 3 3 # 0 -1 0 -1 13 -1 0 -1 0; -#X obj 124 325 # << 4; -#X msg -21 97 open babbage.jpg \, bang; -#X obj -49 -111 cnv 15 780 15 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj -49 -146 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 --66577 0; -#X obj 470 218 cnv 15 100 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X obj 468 52 cnv 15 37 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 470 218 Edge detection; -#X obj 470 303 cnv 15 110 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 472 303 Laplacian masks; -#X obj 470 393 cnv 15 50 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 470 393 Sharpen; -#X obj -21 383 #clip; -#X obj 190 118 cnv 15 15 15 empty empty empty 20 12 0 14 -259603 -66577 -0; -#X obj 210 97 cnv 15 15 15 empty empty empty 20 12 0 14 -259603 -66577 -0; -#X text 146 97 <-- step #1: load image; -#X obj 173 141 cnv 15 15 15 empty empty empty 20 12 0 14 -259603 -66577 -0; -#X text 109 141 <-- step #3: start metro; -#X text 154 118 step #2: select transformation -->; -#X text 468 52 Blurs; -#N canvas 0 0 450 300 META 0; -#X restore 69 473 pd META; -#X text -44 -140 2 Introduction to Images; -#X text -44 -112 2.4 Image Manipulation; -#X obj -49 24 cnv 15 780 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text -49 23 (Source convolve.pd : Copyright Mathieu Bouchard 2002) -; -#X text -16 -67 Convolve is an abstraction used for modifying an image. -In this patch you can choose to create a "blur" \, to view "edge detection" -\, to add a "laplacian mask" or to "sharpen" an image. The image must -be loaded \, the transformation selected and the metro started before -seeing the transformation applied to the image.; -#X obj -17 -89 cnv 15 100 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text -17 -90 2.4.4 Convolve; -#X connect 0 0 18 0; -#X connect 0 0 14 1; -#X connect 0 0 21 0; -#X connect 1 0 18 0; -#X connect 1 0 14 1; -#X connect 2 0 14 0; -#X connect 3 0 16 0; -#X connect 4 0 18 0; -#X connect 4 0 14 1; -#X connect 5 0 22 0; -#X connect 6 0 14 1; -#X connect 6 0 20 0; -#X connect 7 0 13 0; -#X connect 8 0 18 0; -#X connect 8 0 14 1; -#X connect 9 0 12 0; -#X connect 10 0 42 0; -#X connect 11 0 32 0; -#X connect 12 0 2 0; -#X connect 13 0 2 1; -#X connect 13 0 5 0; -#X connect 14 0 3 0; -#X connect 15 0 4 0; -#X connect 16 0 10 0; -#X connect 16 1 31 0; -#X connect 17 0 16 1; -#X connect 18 0 17 0; -#X connect 19 0 42 0; -#X connect 20 0 17 0; -#X connect 22 0 23 0; -#X connect 27 0 18 0; -#X connect 27 0 14 1; -#X connect 28 0 14 1; -#X connect 28 0 20 0; -#X connect 29 0 20 0; -#X connect 29 0 14 1; -#X connect 30 0 18 0; -#X connect 30 0 14 1; -#X connect 31 0 19 0; -#X connect 32 0 7 0; -#X connect 42 0 13 0; diff --git a/externals/gridflow/doc/tutorials/2-3-6-image-modification-2-cross-fade.pd b/externals/gridflow/doc/tutorials/2-3-6-image-modification-2-cross-fade.pd deleted file mode 100755 index 6b8fe50a..00000000 --- a/externals/gridflow/doc/tutorials/2-3-6-image-modification-2-cross-fade.pd +++ /dev/null @@ -1,93 +0,0 @@ -#N canvas 92 129 774 521 10; -#X text 24 355 note: the #layer/#join objects can make the crossfade -process simpler but it's still not faster.; -#X obj 14 95 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; -#X obj 14 120 metro 33.3667; -#X obj 14 140 float; -#X obj 26 169 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 --262144 -1 -1 0 256; -#X obj 58 139 + 4; -#X obj 14 190 pingpong 256; -#X obj 25 212 hsl 129 15 0 256 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 0 1; -#X text 25 393 also #draw_image/#join is a possibility; -#X obj 13 40 cnv 15 680 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 27 53 Copyright 2002 Mathieu Bouchard; -#X text 27 37 cross_fade.pd; -#X obj 6 324 cnv 15 680 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 18 326 GridFlow 0.8.0; -#N canvas 515 126 450 300 cross_fade 0; -#X obj 40 198 # *>>8; -#X text 67 242 first picture plus a fraction of the difference; -#X obj 40 240 # +; -#X obj 40 177 #store; -#X obj 264 137 # inv+; -#X obj 95 261 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1 -; -#X msg 422 195 open r001.jpg \, cast int16 \, bang; -#X obj 321 156 #in; -#X obj 40 156 #finished; -#X text 116 264 click to clip out-of-range colours; -#X text 89 197 multiply by a N/256 fraction; -#X obj 88 302 # max 0; -#X obj 254 89 #in; -#X obj 88 281 # min 255; -#X obj 44 337 #out window; -#X obj 40 116 #cast int16; -#X text 88 177 keep the difference between both pictures; -#X obj 447 99 t b b; -#X obj 445 74 loadbang; -#X obj 40 260 shunt 2; -#X obj 40 135 t a a; -#X msg 459 137 open g001.jpg \, cast int16 \, bang; -#X obj 30 75 inlet; -#X connect 0 0 2 0; -#X connect 2 0 19 0; -#X connect 3 0 0 0; -#X connect 4 0 3 1; -#X connect 5 0 19 1; -#X connect 6 0 7 0; -#X connect 7 0 4 1; -#X connect 8 0 3 0; -#X connect 11 0 14 0; -#X connect 12 0 4 0; -#X connect 12 0 2 1; -#X connect 13 0 11 0; -#X connect 15 0 20 0; -#X connect 17 0 21 0; -#X connect 17 1 6 0; -#X connect 18 0 17 0; -#X connect 19 0 14 0; -#X connect 19 1 13 0; -#X connect 20 0 8 0; -#X connect 20 1 0 1; -#X connect 21 0 12 0; -#X connect 22 0 15 0; -#X restore 13 261 pd cross_fade; -#X obj 15 11 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 18 11 What is a grid?; -#X obj 15 -24 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 20 -25 2 Images; -#X text 22 -11 Description: opening multiple images from one window. -; -#X obj 11 416 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 19 423 GridFlow 0.8.0; -#X text 219 118 some objects have been created to perform specoific -tasks. One of these is the crossfade patch it permits you to fade from -one image to another. you can chose the images you want to ping pong -between \, to get a nice steady fade between two images.; -#N canvas 0 0 450 300 META 0; -#X restore 146 428 pd META; -#X connect 1 0 2 0; -#X connect 2 0 3 0; -#X connect 3 0 4 0; -#X connect 3 0 5 0; -#X connect 3 0 6 0; -#X connect 5 0 3 1; -#X connect 6 0 7 0; -#X connect 6 0 14 0; diff --git a/externals/gridflow/doc/tutorials/2nd-part-numop.pd b/externals/gridflow/doc/tutorials/2nd-part-numop.pd deleted file mode 100755 index a6f96f9c..00000000 --- a/externals/gridflow/doc/tutorials/2nd-part-numop.pd +++ /dev/null @@ -1,80 +0,0 @@ -#N canvas 66 33 927 601 10; -#X obj 16 -206 cnv 15 200 170 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 38 -178 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 24 -127 #in; -#X obj 82 -114 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -241291 --1 -1 0 1; -#X obj 24 -88 # + \$1; -#X obj 125 -157 metro 33.3; -#X obj 125 -177 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 -1; -#X obj 462 -153 cnv 15 400 350 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 482 -109 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 468 -30 #in; -#X msg 468 -132 open b001.jpg; -#X obj 508 -49 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -241291 --1 -1 0 1; -#X obj 468 84 # + \$1; -#X obj 514 -109 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 -1; -#X obj 468 128 #clip; -#X obj 24 -60 s slider_metro; -#X obj 468 154 s slider_metro_clip; -#X floatatom 79 -86 5 0 0 0 - - -; -#X text 10 210 In all these examples the [# +] numop is used. All the -numeric operators can be found in the numeric operator help patch (right -click on the [# +] and select help to view them). If you want to see -what effects other numops can do \, try replacing the [# +] numop with -another one (either cut and past a different numop from the help file -or create the object in the current canvas.; -#X obj 514 -89 metro 33.3; -#X obj 552 -21 #color; -#X msg 552 44 255 0 0; -#X text 614 44 donner une liste changer couleurs; -#X obj 552 88 #scale_by (8 8); -#X msg 552 66 2 2 3 # 255 0 0 0 255 0 0 0 255 191 191 191; -#X obj 834 211 r slider_metro; -#X obj 843 238 r slider_metro_clip; -#X obj 834 265 #out window; -#X obj 16 -284 cnv 15 70 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 15 -284 Example #4; -#X text 15 -261 Will demonstrate how to use the metro (see pd_intro -#4) and the slider which allows you to scroll through values and modify -a grid in real-time.; -#X msg 24 -202 open b001.jpg; -#X obj 456 -281 cnv 15 70 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 455 -281 Example #5; -#X text 457 -260 We introduce the [#clip] object. It is used with numops -in order to set constraints on the pixel to eliminate color wrapping. -Colour wrapping occurs when the individual pixel values in a grid exceed -255 which results in over-saturation of colour. GridFlow reads colours -as values from 0 (black) to 255 (white). Refer to glossary for more -information on colour.; -#X connect 1 0 2 0; -#X connect 2 0 4 0; -#X connect 3 0 4 1; -#X connect 3 0 17 0; -#X connect 4 0 15 0; -#X connect 5 0 2 0; -#X connect 6 0 5 0; -#X connect 8 0 9 0; -#X connect 9 0 12 0; -#X connect 10 0 9 0; -#X connect 11 0 12 1; -#X connect 12 0 14 0; -#X connect 13 0 19 0; -#X connect 14 0 16 0; -#X connect 19 0 9 0; -#X connect 20 0 12 1; -#X connect 21 0 12 1; -#X connect 23 0 12 1; -#X connect 24 0 23 0; -#X connect 25 0 27 0; -#X connect 26 0 27 0; -#X connect 31 0 2 0; diff --git a/externals/gridflow/doc/tutorials/3-1-0-open-video.pd b/externals/gridflow/doc/tutorials/3-1-0-open-video.pd deleted file mode 100755 index 2abf0e74..00000000 --- a/externals/gridflow/doc/tutorials/3-1-0-open-video.pd +++ /dev/null @@ -1,38 +0,0 @@ -#N canvas 48 56 545 431 10; -#X obj 100 156 #in; -#X obj 100 222 #out window; -#X obj 124 33 openpanel; -#X obj 124 9 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X msg 124 58 open \$1; -#X obj 17 11 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; -#X obj 17 45 metro 33.33; -#X floatatom 317 190 5 0 0 0 - - -; -#X obj 401 166 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 401 193 print go; -#X msg 201 124 loop 0; -#X msg 201 97 loop 1; -#X msg 283 13 open home/steph/Desktop/PDDP_summer; -#X obj 7 -37 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 10 -37 What is a grid?; -#X obj 7 -72 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 12 -73 2 Images; -#X text 14 -59 Description: opening multiple images from one window. -; -#X obj 8 320 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 16 327 GridFlow 0.8.0; -#X connect 0 0 1 0; -#X connect 0 1 7 0; -#X connect 2 0 4 0; -#X connect 3 0 2 0; -#X connect 4 0 0 0; -#X connect 5 0 6 0; -#X connect 6 0 0 0; -#X connect 8 0 9 0; -#X connect 10 0 0 0; -#X connect 11 0 0 0; -#X connect 12 0 0 0; diff --git a/externals/gridflow/doc/tutorials/3-2-video-manipulation.pd b/externals/gridflow/doc/tutorials/3-2-video-manipulation.pd deleted file mode 100755 index 78a7b427..00000000 --- a/externals/gridflow/doc/tutorials/3-2-video-manipulation.pd +++ /dev/null @@ -1 +0,0 @@ -#N canvas 0 0 450 300 10; diff --git a/externals/gridflow/doc/tutorials/3-3-record-video.pd b/externals/gridflow/doc/tutorials/3-3-record-video.pd deleted file mode 100755 index ff158554..00000000 --- a/externals/gridflow/doc/tutorials/3-3-record-video.pd +++ /dev/null @@ -1,51 +0,0 @@ -#N canvas 151 21 517 609 10; -#X obj 15 320 #camera; -#X obj 15 260 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 -; -#X obj 142 370 #out window; -#X obj 90 260 hsl 128 15 20 300 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 0 1; -#X obj 142 395 fps detailed; -#X obj 142 419 print; -#X obj 15 294 metro 100; -#X obj 53 473 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 129 506 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X text 149 505 stop recording; -#X text 73 471 select filename; -#X text 111 488 start recording; -#X obj 91 489 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 15 528 #record_quicktime; -#X text 21 54 To record a video from a live stream or a video... you -can use this patch.; -#X text 224 315 xinitrc ssh pdrc bach rc export bookmarks; -#X text 11 110 The outside of the patch uses objects seen in previous -patches. The [#record_quicktime] object is an abstraction in which -the settings and the optins are situated. to contruct the patch ... -Do we explain how to do it if it is in an abstraction???; -#X text 86 198 we don't nec have to explain how to build it since its -available to them through the pd_examples and they have been through -enough patvhes to easily understand what's going on.; -#X obj 11 29 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 14 29 What is a grid?; -#X obj 11 -6 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 21 -7 2 Images; -#X text 18 7 Description: opening multiple images from one window. -; -#X obj 13 561 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 21 568 GridFlow 0.8.0; -#X connect 0 0 2 0; -#X connect 0 0 13 0; -#X connect 1 0 6 0; -#X connect 2 0 4 0; -#X connect 3 0 6 1; -#X connect 4 0 5 0; -#X connect 6 0 0 0; -#X connect 7 0 13 1; -#X connect 8 0 13 3; -#X connect 12 0 13 2; diff --git a/externals/gridflow/doc/tutorials/4-0-open-live-stream.pd b/externals/gridflow/doc/tutorials/4-0-open-live-stream.pd deleted file mode 100755 index 7ce60b4d..00000000 --- a/externals/gridflow/doc/tutorials/4-0-open-live-stream.pd +++ /dev/null @@ -1,24 +0,0 @@ -#N canvas 286 99 571 305 10; -#X obj 91 104 #camera; -#X obj 40 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 -; -#X obj 91 12 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; -#X obj 91 59 metro 50; -#X obj 91 151 #out window; -#X text 162 103 In this case there is no need for the [#in] objec. -Thereis one in the [#camera] object already.; -#X obj 7 -37 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 10 -37 What is a grid?; -#X obj 7 -72 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 12 -73 2 Images; -#X text 14 -59 Description: opening multiple images from one window. -; -#X obj 10 197 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 18 204 GridFlow 0.8.0; -#X connect 0 0 4 0; -#X connect 1 0 0 0; -#X connect 2 0 3 0; -#X connect 3 0 0 0; diff --git a/externals/gridflow/doc/tutorials/4-1-2-simple-motion-detection-absolute-value.pd b/externals/gridflow/doc/tutorials/4-1-2-simple-motion-detection-absolute-value.pd deleted file mode 100755 index a4021d41..00000000 --- a/externals/gridflow/doc/tutorials/4-1-2-simple-motion-detection-absolute-value.pd +++ /dev/null @@ -1,31 +0,0 @@ -#N canvas 452 202 450 438 10; -#X obj 91 104 #camera; -#X obj 40 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 -; -#X obj 91 12 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; -#X obj 91 59 metro 50; -#X obj 100 253 #out window; -#X obj 88 134 trigger anything anything; -#X obj 133 162 # -; -#X obj 133 201 #clip; -#X obj 343 223 @! abs; -#X obj 343 254 # + 50; -#X obj 7 -37 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 10 -37 What is a grid?; -#X obj 7 -72 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 12 -73 2 Images; -#X text 14 -59 Description: opening multiple images from one window. -; -#X obj 8 320 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 16 327 GridFlow 0.8.0; -#X connect 0 0 5 0; -#X connect 1 0 0 0; -#X connect 2 0 3 0; -#X connect 3 0 0 0; -#X connect 5 0 6 1; -#X connect 5 1 6 0; -#X connect 6 0 7 0; -#X connect 7 0 4 0; diff --git a/externals/gridflow/doc/tutorials/4-1-3-motion-detection-more-advanced-and-more-options.pd b/externals/gridflow/doc/tutorials/4-1-3-motion-detection-more-advanced-and-more-options.pd deleted file mode 100755 index 112d2f8c..00000000 --- a/externals/gridflow/doc/tutorials/4-1-3-motion-detection-more-advanced-and-more-options.pd +++ /dev/null @@ -1,49 +0,0 @@ -#N canvas 476 26 450 542 10; -#X obj 91 104 #camera; -#X obj 248 302 #out window; -#X obj 40 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 -; -#X text 167 102 there is an [#in] within [#camera]; -#X obj 80 12 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; -#X obj 248 325 fps detailed; -#X obj 248 351 print; -#X obj 108 20 metro 50; -#X obj 248 198 # -; -#X obj 248 269 #clip; -#X obj 248 220 @! abs; -#X obj 248 244 # + 50; -#X obj 164 141 trigger anything anything; -#X text 281 197 230400 (240x320x3); -#X obj 101 303 #rgb_to_greyscale; -#X obj 101 326 #centroid; -#X floatatom 154 404 5 0 0 0 - - -; -#X floatatom 200 403 5 0 0 0 - - -; -#X obj 85 375 display; -#X obj 7 -37 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 10 -37 What is a grid?; -#X obj 7 -72 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 12 -73 2 Images; -#X text 14 -59 Description: opening multiple images from one window. -; -#X obj 6 432 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 14 439 GridFlow 0.8.0; -#X connect 0 0 12 0; -#X connect 1 0 5 0; -#X connect 2 0 0 0; -#X connect 4 0 7 0; -#X connect 5 0 6 0; -#X connect 7 0 0 0; -#X connect 8 0 10 0; -#X connect 9 0 1 0; -#X connect 9 0 14 0; -#X connect 10 0 11 0; -#X connect 11 0 9 0; -#X connect 12 0 8 1; -#X connect 12 1 8 0; -#X connect 14 0 15 0; -#X connect 15 0 18 0; -#X connect 15 1 16 0; -#X connect 15 2 17 0; diff --git a/externals/gridflow/doc/tutorials/4-1-simple-motion-detection.pd b/externals/gridflow/doc/tutorials/4-1-simple-motion-detection.pd deleted file mode 100755 index bb3962a1..00000000 --- a/externals/gridflow/doc/tutorials/4-1-simple-motion-detection.pd +++ /dev/null @@ -1,37 +0,0 @@ -#N canvas 83 181 707 437 10; -#X obj 91 104 #camera; -#X obj 40 40 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 -; -#X obj 91 12 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1; -#X obj 91 59 metro 50; -#X obj 100 253 #out window; -#X obj 40 136 trigger anything anything; -#X obj 89 187 # -; -#X obj 89 226 #clip; -#X text 245 235 as a short cut you can use [t a a]. The values of one -frame are substracted from the previous frame only keeps the difference -and gives allows you to see the movement that occured between the first -seconde frame in relation to the first one.; -#X text 242 38 Motion detection is a way to view only the movement -in a space. Movement can be detected in darkness and seen as a video -image. the detection occurs when one frame it substractes the current -frame froom the last frame.; -#X obj 7 -37 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 10 -37 What is a grid?; -#X obj 7 -72 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 12 -73 2 Images; -#X text 14 -59 Description: opening multiple images from one window. -; -#X obj 8 320 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 16 327 GridFlow 0.8.0; -#X connect 0 0 5 0; -#X connect 1 0 0 0; -#X connect 2 0 3 0; -#X connect 3 0 0 0; -#X connect 5 0 6 1; -#X connect 5 1 6 0; -#X connect 6 0 7 0; -#X connect 7 0 4 0; diff --git a/externals/gridflow/doc/tutorials/PD-GF-Lecture.pd b/externals/gridflow/doc/tutorials/PD-GF-Lecture.pd deleted file mode 100755 index 1f7b6d52..00000000 --- a/externals/gridflow/doc/tutorials/PD-GF-Lecture.pd +++ /dev/null @@ -1,80 +0,0 @@ -#N canvas 23 16 880 578 10; -#X obj 5 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 5 550 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 666 549 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#X text 9 13 Welcome to Pure-Data...; -#X obj 6 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 11 46 What is Pure-Data (aka PD)?; -#X obj 4 233 cnv 15 430 145 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 25 271 pddp_open pure-data-1; -#X obj 25 294 pddp_open pure-data-2; -#X obj 25 317 pddp_open pure-data-3; -#X obj 25 340 pddp_open pure-data-4; -#X text 200 271 Pure-Data Introduction; -#X text 200 294 GUI Objects for Interaction; -#X text 200 317 Creating your first patch; -#X text 200 340 Control: metro \, random & counter; -#X obj 444 233 cnv 15 430 145 empty empty empty 20 12 0 14 -179884 --66577 0; -#X obj 5 391 cnv 15 430 145 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 25 416 pddp_open pure-data-5; -#X obj 25 439 pddp_open pure-data-6; -#X text 200 439 The powerful message object; -#X obj 25 462 pddp_open pure-data-7; -#X text 200 462 More about lists; -#X text 200 485 Nesting collections of objects; -#X text 200 416 Connectionless communications; -#X obj 25 485 pddp_open pure-data-8; -#X text 200 509 Using GUI's in abstractions; -#X obj 25 509 pddp_open pure-data-9; -#X obj 445 391 cnv 15 430 145 empty empty empty 20 12 0 14 -179884 --66577 0; -#X text 642 296 Introduction to Images; -#X obj 468 271 pddp_open GridFlow-1; -#X obj 468 294 pddp_open GridFlow-2; -#X obj 468 317 pddp_open GridFlow-3; -#X obj 468 340 pddp_open GridFlow-4; -#X text 642 319 Introduction to video; -#X text 642 342 Introduction to Live Feeds; -#X obj 446 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 451 46 What is GridFLow?; -#X text 642 457 Putting it all together; -#X text 641 428 Interfacing with sensors; -#X text 642 273 Introduction to Grids; -#X obj 467 429 pddp_open GridFlow-6; -#X obj 467 452 pddp_open GridFlow-7; -#X text 451 236 2 Introduction to GridFlow; -#X text 454 144 This section deals with the particular objects related -to GridFlow. GridFlow uses the usual PD "control" objects \, as well -as a set of GridFlow specific objects. Before we get into the tutorials -we will explain the grid "#" \, the most important concept in GridFlow. -; -#X text 453 84 GridFlow is a plug-in for PureData that introduces the -frid (#) data type into the PD environment. GridFlow allows you to -work with live video \, still images and video files in a real-time -environment.; -#X text 14 85 Pure-Data is an open-source patching environment for -multi-media (audio+image). Pure-Data is a programming language where -you create relationships by connecting visual boxes (rather than typing -complex commands). This lecture is separated into three sections: An -Introduction to Pure-Data \, An introduction to GridFlow and intermediate -PD and GridFlow.; -#X obj 448 236 cnv 15 15 15 empty empty empty 20 12 0 14 -262144 -66577 -0; -#X text 451 236 2 Introduction to GridFlow; -#X obj 8 395 cnv 15 15 15 empty empty empty 20 12 0 14 -262144 -66577 -0; -#X obj 449 395 cnv 15 15 15 empty empty empty 20 12 0 14 -262144 -66577 -0; -#X obj 7 236 cnv 15 15 15 empty empty empty 20 12 0 14 -262144 -66577 -0; -#X text 452 395 4 Intermediate GridFlow; -#X text 10 236 1 Introduction to Pure-Data; -#X text 11 395 3 Intermediate Pure-Data; diff --git a/externals/gridflow/doc/tutorials/PD-Lecture.pd b/externals/gridflow/doc/tutorials/PD-Lecture.pd deleted file mode 100755 index e2f269c5..00000000 --- a/externals/gridflow/doc/tutorials/PD-Lecture.pd +++ /dev/null @@ -1,64 +0,0 @@ -#N canvas 116 102 890 501 10; -#X obj 8 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 457 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 668 459 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#X text 12 13 Welcome to Pure-Data...; -#X obj 8 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 13 46 What is Pure-Data (aka PD)?; -#X text 28 74 Pure-Data is an open-source patching environment for -multi-media (audio+image). Pure-Data is a programming language where -you create relationships by connecting visual boxes (rather than typing -complex commands). This lecture is separated into three sections: An -Introduction to Pure-Data \, An introduction to Gem and intermediate -PD and Gem.; -#X obj 8 176 cnv 15 430 120 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 22 198 pddp_open pure-data-1; -#X obj 22 221 pddp_open pure-data-2; -#X obj 22 244 pddp_open pure-data-3; -#X obj 22 267 pddp_open pure-data-4; -#X text 197 198 Pure-Data Introduction; -#X text 197 221 GUI Objects for Interaction; -#X text 197 244 Creating your first patch; -#X text 197 267 Control: metro \, random & counter; -#X obj 8 306 cnv 15 430 145 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 13 176 Introduction to Pure-Data; -#X text 13 306 Introduction to Gem (Graphics Environment for Multimedia) -; -#X obj 22 328 pddp_open gem-1; -#X obj 22 351 pddp_open gem-2; -#X obj 22 374 pddp_open gem-3; -#X obj 22 397 pddp_open gem-4; -#X obj 22 421 pddp_open gem-5; -#X text 197 328 Gem Introduction; -#X text 197 351 What are gemchains?; -#X text 197 374 translate \, rotate and scale; -#X text 197 397 Texturing using pix objects; -#X text 197 421 Video & Free Exploration; -#X obj 448 46 cnv 15 430 145 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 453 46 Intermediate Pure-Data; -#X obj 462 68 pddp_open pure-data-5; -#X obj 462 91 pddp_open pure-data-6; -#X text 637 91 The powerful message object; -#X obj 462 114 pddp_open pure-data-7; -#X text 637 114 More about lists; -#X text 637 137 Nesting collections of objects; -#X text 637 68 Connectionless communications; -#X obj 462 137 pddp_open pure-data-8; -#X text 637 161 Using GUI's in abstractions; -#X obj 462 161 pddp_open pure-data-9; -#X obj 448 200 cnv 15 430 95 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 637 222 Grouping Gem entities; -#X text 637 245 Gem render order; -#X text 453 200 Intermediate Gem; -#X obj 462 222 pddp_open gem-6; -#X obj 462 245 pddp_open gem-7; -#X obj 462 268 pddp_open gem-8; -#X text 637 268 Video Tracking & Pixel Operations; diff --git a/externals/gridflow/doc/tutorials/colors.pd b/externals/gridflow/doc/tutorials/colors.pd deleted file mode 100755 index 39582d52..00000000 --- a/externals/gridflow/doc/tutorials/colors.pd +++ /dev/null @@ -1,12 +0,0 @@ -#N canvas 50 148 450 206 10; -#X obj -10 -171 #pack 3; -#X obj 46 -203 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -241291 --1 -1 0 1; -#X obj 46 -223 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -241291 --1 -1 0 1; -#X obj 46 -243 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -241291 --1 -1 0 1; -#X obj -6 -132 #color; -#X connect 1 0 0 2; -#X connect 2 0 0 1; -#X connect 3 0 0 0; diff --git a/externals/gridflow/doc/tutorials/d_gf_2_0-Intro_to_images_open_image.pd b/externals/gridflow/doc/tutorials/d_gf_2_0-Intro_to_images_open_image.pd deleted file mode 100644 index a95ac185..00000000 --- a/externals/gridflow/doc/tutorials/d_gf_2_0-Intro_to_images_open_image.pd +++ /dev/null @@ -1,62 +0,0 @@ -#N canvas 0 0 887 417 10; -#X obj 4 278 cnv 15 868 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 12 285 GridFlow 0.8.0; -#X obj 5 -67 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 5 -106 cnv 15 868 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 5 -106 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 12 -99 2 Introduction to Images; -#X text 556 86 <--- click here; -#N canvas 0 0 450 300 META 0; -#X restore 126 285 pd META; -#X obj 452 191 #out window; -#X msg 452 84 open b001.jpg; -#X obj 473 107 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X text 13 84 step 3: Add a [bang<.; -#X text 13 105 step 4: Create a [#out window].; -#X text 13 63 step 2: Create [#in] object.; -#X text 14 27 step 1: create message box [open< with the file name -and extension you want to open.; -#X text 506 110 <--- then click here; -#X obj 447 -67 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 450 -67 1.2 How to create a grid.; -#X obj 447 -67 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 8 -68 2.1 Opening an image.; -#X text 456 -66 2.1 Patch example.; -#X obj 452 130 cnv 15 22 15 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 452 129 #in; -#X text 12 150 Tip: In order for GridFlow to be able to find your images -you have to specify the correct path.; -#X obj 14 151 cnv 15 25 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 12 -33 One of the first things you need to know when working -with GridFlow is how to open an image. GridFlow accepts several image -formats (.jpg \, .png \, .tiff etc.).; -#X text 12 150 Tip: In order for GridFlow to be able to find your images -you have to specify the correct path. Gridflow has an "images" folder -\, put them there to access them by filename only.; -#X obj 451 38 cnv 15 25 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 450 38 Tip: Sometimes the display window opens behind the patch -\, try moving the patch if the display seems to be missing.; -#X text 447 -45 To view the image you must initialize the patch. This -is done in "run mode" by clicking on the message box \, and then on -the bang. The image will be displayed in a display window \, off to -the side of the patch.; -#X text 476 216 In order to close the parent window displaying your -image \, the [#out window] object must be deleted.; -#X obj 512 133 cnv 15 25 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 489 132 <--Tip: remember \, as with the rest of PD \, you can -obtain information regarding specific objects by right-clicking on -it. Try this for [#in].; -#X connect 9 0 22 0; -#X connect 10 0 22 0; -#X connect 22 0 8 0; diff --git a/externals/gridflow/doc/tutorials/d_gf_2_2_1-image-modification-1-numop-all-in-one2.pd b/externals/gridflow/doc/tutorials/d_gf_2_2_1-image-modification-1-numop-all-in-one2.pd deleted file mode 100644 index ddf83eb1..00000000 --- a/externals/gridflow/doc/tutorials/d_gf_2_2_1-image-modification-1-numop-all-in-one2.pd +++ /dev/null @@ -1,127 +0,0 @@ -#N canvas 53 0 670 470 10; -#X obj 20 -34 cnv 15 130 150 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 70 2 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 -; -#X obj 35 41 #in; -#X msg 35 -28 open b001.jpg; -#X obj 35 91 # +; -#X obj 21 231 cnv 15 185 150 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 29 313 #in; -#X msg 29 239 open b001.jpg; -#X obj 96 323 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 4300 1; -#X obj 29 349 # + \$1; -#X obj 54 287 metro 33.3; -#X obj 54 265 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 -; -#X obj 82 64 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 82 42 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 83 86 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X msg 82 64 67; -#X msg 82 42 2; -#X msg 83 86 199; -#X floatatom 93 349 5 0 0 0 - - -; -#X text 21 -501 Numeric Operators (numop): transform an image or video -by applying a mathematical operation to each pixel value in the grid. -; -#X obj 21 -522 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 23 -678 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 18 606 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 27 614 GridFlow 0.8.0; -#X obj 339 -267 cnv 15 130 150 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 404 -228 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 358 -199 #in; -#X msg 358 -260 open b001.jpg; -#X obj 378 -171 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 20 -352 cnv 15 50 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 23 -86 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 26 -87 Example #2 demonstrates how to send the numop an argument -using a message box. This method allows you to send the numop several -different arguments.; -#X text 35 -671 2.4 Image manipulation; -#X text 57 -523 2.4.1 Numop; -#X text 25 -445 To transform a grid (in this case an image) using numop -\, it must first be given an argument (a number value). That value -will be applied by numop to every value in the grid. The following -examples show you the three methods that can be used to give the numop -an argument.; -#X obj 35 121 s to_out_window; -#X obj 358 -142 s to_out_window; -#X obj 29 382 s to_out_window; -#X obj 246 546 r to_out_window; -#X msg 498 547 close; -#X msg 393 544 open window; -#X obj 30 -294 cnv 15 200 180 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 161 -215 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 199 -318 display; -#X msg 79 -282 1 2 3 4 5 6 7 8 9; -#X obj 79 -253 #import (3 3); -#X obj 179 -479 display; -#X obj 140 -215 # + 42; -#X obj 358 -171 # + 42; -#X text 337 -288 Here is an example with an image.; -#X text 19 -352 Example 1: shows how values in a grid are altered when -an argument is placed directly into the numeric operator object.; -#X text 157 63 1 click on the argument; -#X text 124 6 2 click on the bang to see the updated image; -#X text 94 8 <--; -#X text 116 42 <--; -#X text 116 65 <--; -#X text 116 87 <--; -#X text 194 -221 <-- argument in this case is 42; -#X obj 353 581 #out window; -#X text 22 433 In all these examples the [# +] numop is used. All the -numeric operators can be found in the numeric operator help patch (right -click on the [# +] and select help to view them). If you want to see -what effects other numops can do \, try replacing the [# +] numop with -another one (either cut and paste a different numop from the help file -or create the object in the current canvas.; -#X obj 20 181 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 26 179 Example #3 using the slider and metro.; -#X text 467 -617 split into 3 patches using ben's switch arrange canvases -and colors; -#X text 24 -635 GridFlow performs high level grid processing \; in -other words its main function is the manipulation of images and video. -The numeric operators is one of the most common ways to modify an image. -; -#X connect 1 0 2 0; -#X connect 2 0 4 0; -#X connect 3 0 2 0; -#X connect 4 0 35 0; -#X connect 6 0 9 0; -#X connect 7 0 6 0; -#X connect 8 0 9 1; -#X connect 8 0 18 0; -#X connect 9 0 37 0; -#X connect 10 0 6 0; -#X connect 11 0 10 0; -#X connect 15 0 4 1; -#X connect 16 0 4 1; -#X connect 17 0 4 1; -#X connect 25 0 26 0; -#X connect 26 0 48 0; -#X connect 27 0 26 0; -#X connect 38 0 58 0; -#X connect 39 0 58 0; -#X connect 40 0 58 0; -#X connect 44 0 45 0; -#X connect 45 0 46 0; -#X connect 45 0 47 0; -#X connect 47 0 43 0; -#X connect 48 0 36 0; diff --git a/externals/gridflow/doc/tutorials/d_gf_2_2_2.pd b/externals/gridflow/doc/tutorials/d_gf_2_2_2.pd deleted file mode 100644 index a918d620..00000000 --- a/externals/gridflow/doc/tutorials/d_gf_2_2_2.pd +++ /dev/null @@ -1,68 +0,0 @@ -#N canvas 38 0 687 415 10; -#X obj 31 -223 cnv 15 243 358 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 39 -141 #in; -#X msg 39 -215 open b001.jpg; -#X obj 79 -132 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 0 1; -#X obj 39 -18 # + \$1; -#X obj 62 -189 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 -; -#X obj 69 76 #clip; -#X obj 28 -322 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 62 -167 metro 33.3; -#X obj 94 -99 #color; -#X obj 23 -678 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 36 168 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 44 175 GridFlow 0.8.0; -#X obj 39 108 #out window; -#X text 35 -671 2.2 Image manipulation \, colour wrapping; -#X obj 12 -518 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 18 -519 Example #1 colour wrapping; -#X msg 74 -491 240 0 0; -#X obj 179 -368 display; -#X obj 74 -457 # + 20; -#X obj 178 -423 #cast uint8; -#X obj 23 -368 display; -#X text 274 -429 <-- This transforms the grid into 8 bit values \, -that corresponds to the way that images are usually shown in images -and video; -#X text 42 -323 Example #2 clipping the values; -#X text 10 -545 Tip: Refer to glossary for more information on colour. -; -#X text 215 -132 <-- add value to all channels at once; -#X obj 39 37 shunt; -#X obj 69 11 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; -#X text 93 12 <-- switch to see clip's effect; -#X text 96 38 <-- directs the flow of data; -#X text 7 -643 When an image is represented as a grid every pixel value -will vary between 0 and 255 Color wrapping occurs when the result of -the operation on the pixel value would be higher than 255 Values above -255 are counted from 0 For example: if a pixel has a red value of 240 -and 20 is added to it \, you get 5 instead of displaying 260 (240 + -20 - 255 = 5); -#X text 450 -583 aks matju to fix bug in [display]'s display; -#X text 32 -301 The [#clip] object is used with numops in order to -set an lower and upper range to pixel values in order to eliminate -color wrapping (those nifty 60s effects).; -#X text 288 -70 <-- drag to add value to specific channel; -#X text 163 -206 remember to load the image and strat the metro; -#X connect 1 0 4 0; -#X connect 2 0 1 0; -#X connect 3 0 4 1; -#X connect 4 0 26 0; -#X connect 5 0 8 0; -#X connect 6 0 13 0; -#X connect 8 0 1 0; -#X connect 9 0 4 1; -#X connect 17 0 19 0; -#X connect 19 0 20 0; -#X connect 19 0 21 0; -#X connect 20 0 18 0; -#X connect 26 0 13 0; -#X connect 26 1 6 0; -#X connect 27 0 26 1; diff --git a/externals/gridflow/doc/tutorials/gf_1_0-Introduction_to_grids.pd b/externals/gridflow/doc/tutorials/gf_1_0-Introduction_to_grids.pd deleted file mode 100755 index fb78a496..00000000 --- a/externals/gridflow/doc/tutorials/gf_1_0-Introduction_to_grids.pd +++ /dev/null @@ -1,98 +0,0 @@ -#N canvas 0 207 762 514 10; -#X obj 470 287 display; -#X obj 7 6 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 7 -29 cnv 15 970 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 7 -29 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 12 661 cnv 15 970 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 20 668 GridFlow 0.8.0; -#X text 10 6 1.1 What is a grid?; -#X text 12 -22 1 Introduction to Grids; -#X text 10 333 GridFlow can create a grid from a list of numbers. The -[#import] object permits you to set the desired amount of rows and -columns. A message box permits you to tell the grid which numbers to -display.; -#X msg 473 429 3 3 # 6 1 3 6 3 324 6 3 4; -#X msg 550 169 reset; -#X msg 494 475 3 3 # 1 0 0 0; -#X obj 474 572 display; -#X obj 9 307 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 12 307 1.2 How to create a grid.; -#X obj 9 307 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 13 307 1.2 How to create a grid using the [#import] object. -; -#X text 10 427 1 - Create a list of numbers using a message box. The -numbers must be seperated by a space. The list can have as many numbers -as you want but only the amount defined by [#import] will be displayed. -As you click on the message box the numbers will appear in the grid. -The numbers are positioned in the grid from left to right and from -the top to the bottom.; -#X text 12 605 3 - Connect the objects to a [display] object or a [print] -object to see the resulting grid. You don't have to "see" the grid -in order to manipulate it.; -#X text 558 306 display object; -#N canvas 0 0 450 300 META 0; -#X restore 921 616 pd META; -#X obj 457 6 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 460 6 1.2 How to create a grid.; -#X obj 457 6 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 663 43 cnv 15 15 15 empty empty empty 20 12 0 14 -259603 -66577 -0; -#X obj 469 238 cnv 15 92 15 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 469 237 #import (3 3); -#X obj 473 520 cnv 15 37 15 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 473 519 # + 0; -#X text 8 267 The following examples illustrate how grids are interpreted -and represented in GridFlow.; -#X text 3 402 Steps for creating a grid:; -#X text 11 537 2 - Create the [#import] object and indicate the parameters -you want as grid dimensions. By indicating 3 3 in brackets following -[#import] \, you are creating a grid that has 3 rows and 3 columns. -This 3 by 3 grid will display 9 numbers.; -#X text 518 516 works like the [#import] object but allows you to put -your grid parameters and values into one message box; -#X text 10 29 A grid is composed of rows and columns that contain numeric -data. For instance \, a checkerboard is a grid that consists in a series -of rows and columns containing information: a dark square or a light -square.; -#X text 10 91 Computers interpret images as three-dimentional grids: -the rows (height) and columns (width) contain pixel positions. There -are usually three channels (depth) of rows and columns. Channels are -the colours that make up an image. Each channel is a single colour -\, usually red \, green and blue (RGB). Videos are also interpreted -as grids since they are a series of still images.; -#X text 9 194 Because GridFlow uses grids \, images and videos are -represented as such. GridFlow objects that accept or produce grids -are identified by the number sign "#" (think of that symbol as a mini -grid). From now on we will refer to images and videos as grids.; -#X msg 469 44 1 2 3 4 5 6 7 8 9; -#X msg 537 107 1 2 3 4; -#X text 466 6 1.2 Patch example.; -#X text 471 405 Other objects can create grids...; -#X text 601 42 <-- step 1: click here to view the numbers from the -list in a grid.; -#X text 601 104 <-- click here three times to see how import only outputs -a grid once it recieves the number of values iassociated with its dimensions -; -#X text 602 169 <-- resets the grid to only display the numbers from -the list; -#X obj 634 236 cnv 15 15 15 empty empty empty 20 12 0 14 -259603 -66577 -0; -#X text 572 236 <-- step 2: This object creates a grid that is 3 rows -by 3 columns; -#X connect 9 0 28 0; -#X connect 10 0 26 0; -#X connect 11 0 28 0; -#X connect 26 0 0 0; -#X connect 28 0 12 0; -#X connect 36 0 26 0; -#X connect 37 0 26 0; diff --git a/externals/gridflow/doc/tutorials/gf_2-2-3-resize-image_dec_2005.pd b/externals/gridflow/doc/tutorials/gf_2-2-3-resize-image_dec_2005.pd deleted file mode 100644 index 02cf9166..00000000 --- a/externals/gridflow/doc/tutorials/gf_2-2-3-resize-image_dec_2005.pd +++ /dev/null @@ -1,60 +0,0 @@ -#N canvas 127 0 672 603 10; -#X obj 22 160 metro 10; -#X obj 22 118 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 -; -#X floatatom 80 298 5 1 4 0 - - -; -#X obj 7 -37 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 7 -72 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 26 478 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 34 485 GridFlow 0.8.0; -#X obj 22 438 #out window; -#X obj 59 248 #in; -#X msg 59 225 load bluemarble.jpg; -#X obj 80 387 #pack 2; -#X floatatom 124 369 5 1 4 0 - - -; -#X obj 22 272 #store; -#X text 21 -67 2.4 Image manipulation; -#X text 46 -37 2.4.1 Resizing an image; -#X obj 22 272 #store; -#X obj 59 202 loadbang; -#N canvas 0 0 450 300 META 0; -#X restore 154 484 pd META; -#X obj 274 226 cnv 15 15 15 empty empty empty 20 12 0 14 -259603 -66577 -0; -#X obj 23 414 cnv 15 63 15 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 113 118 cnv 15 15 15 empty empty empty 20 12 0 14 -259603 -66577 -0; -#X text 49 117 <-- step #2 : start the metro; -#X obj 22 413 #scale_by; -#X obj 468 344 cnv 15 15 15 empty empty empty 20 12 0 14 -259603 -66577 -0; -#X obj 165 379 cnv 15 152 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 167 365 changing this number permits you to change the image's -horizontal parameters.; -#X text 404 344 <-- step #3 : change the parameters; -#X text 11 -10 [#scale_by] resizes grids by multiplying its parameters -(width and height). To resize an image proportionatily a specific scaleing -size must appylied \, ex: [#scale_by 4].; -#X text 11 31 [# pack] lets you resize grids by altering the vertical -and horizontal parameters.; -#X text 88 157 the metro refreshes the display window so you don't -have to reload the grid every time it's altered.; -#X text 210 225 <-- step #1 : load the image; -#X text 132 295 changing this number changes the grid's vertical parameters. -(a slider can be connected to [#pack] instead of a number box.; -#X connect 0 0 12 0; -#X connect 0 0 15 0; -#X connect 1 0 0 0; -#X connect 2 0 10 0; -#X connect 8 0 12 1; -#X connect 8 0 15 1; -#X connect 9 0 8 0; -#X connect 10 0 22 1; -#X connect 11 0 10 1; -#X connect 15 0 22 0; -#X connect 16 0 9 0; diff --git a/externals/gridflow/doc/tutorials/gf_2-2-4-greyscale_dec_2005.pd b/externals/gridflow/doc/tutorials/gf_2-2-4-greyscale_dec_2005.pd deleted file mode 100644 index cbb11af1..00000000 --- a/externals/gridflow/doc/tutorials/gf_2-2-4-greyscale_dec_2005.pd +++ /dev/null @@ -1,27 +0,0 @@ -#N canvas 183 58 542 460 10; -#X obj 21 207 #rgb_to_greyscale; -#X obj 7 -37 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 7 -72 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 320 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 16 327 GridFlow 0.8.0; -#X obj 21 178 #in; -#X text 21 -67 2.4 Image manipulation; -#X text 48 -37 2.4.2 Greyscale; -#N canvas 0 0 450 300 META 0; -#X restore 147 327 pd META; -#X text 149 242 This patch and other image modifications can be can -be found in the gridflow help files.; -#X text 159 102 insert your own images to convert it to greyscale. -click on the message to load image.; -#X text 19 4 To convert an image to greyscale use [#rgb_to_greyscale]. -It transforms colour information into a black to white gradient.; -#X obj 33 157 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X msg 21 135 open bluemarble.jpg; -#X obj 21 282 #out window; -#X connect 5 0 0 0; -#X connect 12 0 5 0; -#X connect 13 0 5 0; diff --git a/externals/gridflow/doc/tutorials/gf_2_0-Intro_to_images_open_image.pd b/externals/gridflow/doc/tutorials/gf_2_0-Intro_to_images_open_image.pd deleted file mode 100755 index ea6aa98d..00000000 --- a/externals/gridflow/doc/tutorials/gf_2_0-Intro_to_images_open_image.pd +++ /dev/null @@ -1,62 +0,0 @@ -#N canvas 0 0 894 417 10; -#X obj 4 278 cnv 15 868 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 12 285 GridFlow 0.8.0; -#X obj 5 -67 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 5 -106 cnv 15 868 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 5 -106 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 12 -99 2 Introduction to Images; -#X text 556 86 <--- click here; -#N canvas 0 0 450 300 META 0; -#X restore 126 285 pd META; -#X obj 452 191 #out window; -#X msg 452 84 open b001.jpg; -#X obj 473 107 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X text 13 84 step 3: Add a [bang<.; -#X text 13 105 step 4: Create a [#out window].; -#X text 13 63 step 2: Create [#in] object.; -#X text 14 27 step 1: create message box [open< with the file name -and extension you want to open.; -#X text 506 110 <--- then click here; -#X obj 447 -67 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 450 -67 1.2 How to create a grid.; -#X obj 447 -67 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 8 -68 2.1 Opening an image.; -#X text 456 -66 2.1 Patch example.; -#X obj 452 130 cnv 15 22 15 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 452 129 #in; -#X text 12 150 Tip: In order for GridFlow to be able to find your images -you have to specify the correct path.; -#X obj 14 151 cnv 15 25 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 12 -33 One of the first things you need to know when working -with GridFlow is how to open an image. GridFlow accepts several image -formats (.jpg \, .png \, .tiff etc.).; -#X text 12 150 Tip: In order for GridFlow to be able to find your images -you have to specify the correct path. Gridflow has an "images" folder -\, put them there to access them by filename only.; -#X obj 451 38 cnv 15 25 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 450 38 Tip: Sometimes the display window opens behind the patch -\, try moving the patch if the display seems to be missing.; -#X text 447 -45 To view the image you must initialize the patch. This -is done in "run mode" by clicking on the message box \, and then on -the bang. The image will be displayed in a display window \, off to -the side of the patch.; -#X text 476 216 In order to close the parent window displaying your -image \, the [#out window] object must be deleted.; -#X obj 512 133 cnv 15 25 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 489 132 <--Tip: remember \, as with the rest of PD \, you can -obtain information regarding specific objects by right-clicking on -it. Try this for [#in].; -#X connect 9 0 22 0; -#X connect 10 0 22 0; -#X connect 22 0 8 0; diff --git a/externals/gridflow/doc/tutorials/gf_2_2_1-image-modification-1-numop-all-in-one2.pd b/externals/gridflow/doc/tutorials/gf_2_2_1-image-modification-1-numop-all-in-one2.pd deleted file mode 100755 index cc1d1902..00000000 --- a/externals/gridflow/doc/tutorials/gf_2_2_1-image-modification-1-numop-all-in-one2.pd +++ /dev/null @@ -1,127 +0,0 @@ -#N canvas 53 0 670 470 10; -#X obj 20 -34 cnv 15 130 150 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 70 2 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1 -; -#X obj 35 41 #in; -#X msg 35 -28 open b001.jpg; -#X obj 35 91 # +; -#X obj 21 231 cnv 15 185 150 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 29 313 #in; -#X msg 29 239 open b001.jpg; -#X obj 96 323 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 4300 1; -#X obj 29 349 # + \$1; -#X obj 54 287 metro 33.3; -#X obj 54 265 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 -; -#X obj 82 64 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 82 42 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 83 86 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X msg 82 64 67; -#X msg 82 42 2; -#X msg 83 86 199; -#X floatatom 93 349 5 0 0 0 - - -; -#X text 21 -501 Numeric Operators (numop): transform an image or video -by applying a mathematical operation to each pixel value in the grid. -; -#X obj 21 -522 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 23 -678 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 18 606 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 27 614 GridFlow 0.8.0; -#X obj 339 -267 cnv 15 130 150 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 404 -228 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 358 -199 #in; -#X msg 358 -260 open b001.jpg; -#X obj 378 -171 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 20 -352 cnv 15 50 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 23 -86 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 26 -87 Example #2 demonstrates how to send the numop an argument -using a message box. This method allows you to send the numop several -different arguments.; -#X text 35 -671 2.4 Image manipulation; -#X text 57 -523 2.4.1 Numop; -#X text 25 -445 To transform a grid (in this case an image) using numop -\, it must first be given an argument (a number value). That value -will be applied by numop to every value in the grid. The following -examples show you the three methods that can be used to give the numop -an argument.; -#X obj 35 121 s to_out_window; -#X obj 358 -142 s to_out_window; -#X obj 29 382 s to_out_window; -#X obj 246 546 r to_out_window; -#X msg 498 547 close; -#X msg 393 544 open window; -#X obj 30 -294 cnv 15 200 180 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 161 -215 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 199 -318 display; -#X msg 79 -282 1 2 3 4 5 6 7 8 9; -#X obj 79 -253 #import (3 3); -#X obj 179 -479 display; -#X obj 140 -215 # + 42; -#X obj 358 -171 # + 42; -#X text 337 -288 Here is an example with an image.; -#X text 19 -352 Example 1: shows how values in a grid are altered when -an argument is placed directly into the numeric operator object.; -#X text 157 63 1 click on the argument; -#X text 124 6 2 click on the bang to see the updated image; -#X text 94 8 <--; -#X text 116 42 <--; -#X text 116 65 <--; -#X text 116 87 <--; -#X text 194 -221 <-- argument in this case is 42; -#X obj 353 581 #out window; -#X text 22 433 In all these examples the [# +] numop is used. All the -numeric operators can be found in the numeric operator help patch (right -click on the [# +] and select help to view them). If you want to see -what effects other numops can do \, try replacing the [# +] numop with -another one (either cut and paste a different numop from the help file -or create the object in the current canvas.; -#X obj 20 181 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 26 179 Example #3 using the slider and metro.; -#X text 467 -617 split into 3 patches using ben's switch arrange canvases -and colors; -#X text 24 -635 GridFlow performs high level grid processing \; in -other words its main function is the manipulation of images and video. -There are several ways to modify images \, one of the most common is -the numeric operators.; -#X connect 1 0 2 0; -#X connect 2 0 4 0; -#X connect 3 0 2 0; -#X connect 4 0 35 0; -#X connect 6 0 9 0; -#X connect 7 0 6 0; -#X connect 8 0 9 1; -#X connect 8 0 18 0; -#X connect 9 0 37 0; -#X connect 10 0 6 0; -#X connect 11 0 10 0; -#X connect 15 0 4 1; -#X connect 16 0 4 1; -#X connect 17 0 4 1; -#X connect 25 0 26 0; -#X connect 26 0 48 0; -#X connect 27 0 26 0; -#X connect 38 0 58 0; -#X connect 39 0 58 0; -#X connect 40 0 58 0; -#X connect 44 0 45 0; -#X connect 45 0 46 0; -#X connect 45 0 47 0; -#X connect 47 0 43 0; -#X connect 48 0 36 0; diff --git a/externals/gridflow/doc/tutorials/gf_2_2_2.pd b/externals/gridflow/doc/tutorials/gf_2_2_2.pd deleted file mode 100644 index 2728c61c..00000000 --- a/externals/gridflow/doc/tutorials/gf_2_2_2.pd +++ /dev/null @@ -1,68 +0,0 @@ -#N canvas 38 0 687 415 10; -#X obj 31 -223 cnv 15 243 358 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 39 -141 #in; -#X msg 39 -215 open b001.jpg; -#X obj 79 -132 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 0 1; -#X obj 39 -18 # + \$1; -#X obj 62 -189 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 -; -#X obj 69 76 #clip; -#X obj 28 -322 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 62 -167 metro 33.3; -#X obj 94 -99 #color; -#X obj 23 -678 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 36 168 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 44 175 GridFlow 0.8.0; -#X obj 39 108 #out window; -#X text 35 -671 2.2 Image manipulation \, colour wrapping; -#X obj 12 -518 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 18 -519 Example #1 colour wrapping; -#X msg 74 -491 240 0 0; -#X obj 179 -368 display; -#X obj 74 -457 # + 20; -#X obj 178 -423 #cast uint8; -#X obj 23 -368 display; -#X text 274 -429 <-- This transforms the grid into 8 bit values \, -that corresponds to the way that images are usually shown in images -and video; -#X text 42 -323 Example #2 clipping the values; -#X text 10 -545 Tip: Refer to glossary for more information on colour. -; -#X text 215 -132 <-- add value to all channels at once; -#X obj 39 37 shunt; -#X obj 69 11 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1; -#X text 93 12 <-- switch to see clip's effect; -#X text 96 38 <-- directs the flow of data; -#X text 7 -643 When an image is represented as a grid every pixel value -will vary between 0 and 255 Color wrapping occurs when the result of -the operation on the pixel value would be higher than 255 Values above -255 are counted from 0 For example: if a pixel has a red value of 240 -and 20 is added to it \, you get 5 instead of displaying 260 (240 + -20 - 255 = 5); -#X text 451 -583 aks matju to fix bug in [display]'s display; -#X text 32 -301 The [#clip] object is used with numops in order to -set an lower and upper range to pixel values in order to eliminate -color wrapping (those nifty 60s effects).; -#X text 288 -70 <-- drag to add value to specific channel; -#X text 163 -206 remember to load the image and strat the metro; -#X connect 1 0 4 0; -#X connect 2 0 1 0; -#X connect 3 0 4 1; -#X connect 4 0 26 0; -#X connect 5 0 8 0; -#X connect 6 0 13 0; -#X connect 8 0 1 0; -#X connect 9 0 4 1; -#X connect 17 0 19 0; -#X connect 19 0 20 0; -#X connect 19 0 21 0; -#X connect 20 0 18 0; -#X connect 26 0 13 0; -#X connect 26 1 6 0; -#X connect 27 0 26 1; diff --git a/externals/gridflow/doc/tutorials/grid-intro.pd b/externals/gridflow/doc/tutorials/grid-intro.pd deleted file mode 100755 index e3aa53b8..00000000 --- a/externals/gridflow/doc/tutorials/grid-intro.pd +++ /dev/null @@ -1,10 +0,0 @@ -#N canvas 0 0 476 213 10; -#X text 29 30 GridFlow is a plug-in for PureData that introduces the -frid (#) data type into the PD environment. GridFlow allows you to -work with live video \, still images and video files in a rel-time -environment.; -#X text 32 97 This section deals with the particular objects related -to GridFlow. GridFlow uses the usual PD "control" objects \, as well -as a set of GridFlow specific objects. Before we get into the tutorials -we will explain the grid "#" \, the most important concept in GridFlow. -; diff --git a/externals/gridflow/doc/tutorials/probably_not_good_2-3-0-1-image-modification-1-numop-all-in-one.pd b/externals/gridflow/doc/tutorials/probably_not_good_2-3-0-1-image-modification-1-numop-all-in-one.pd deleted file mode 100755 index a743e82d..00000000 --- a/externals/gridflow/doc/tutorials/probably_not_good_2-3-0-1-image-modification-1-numop-all-in-one.pd +++ /dev/null @@ -1,123 +0,0 @@ -#N canvas 0 0 977 630 10; -#X obj 17 -114 #out window; -#X obj 43 -174 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 17 -143 #in; -#X msg 17 -205 open b001.jpg; -#X obj 507 -245 cnv 15 185 150 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 529 -205 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 515 -166 #in; -#X msg 515 -238 open b001.jpg; -#X obj 555 -167 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 0 1; -#X obj 515 -110 s slider; -#X obj 515 -138 # + 1; -#X text 11 -499 Numeric Operators (numop): transform an image or video -by applying a mathematical operation to each pixel value in the grid. -; -#X text 12 -445 To transform a grid (in this case an image) using numop -\, it must first be given an argument (a number value) in order to -affect a pixel value. The examples here show you the three methods -that can be used to give the numop an argument.; -#X obj 3 -643 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 3 -678 cnv 15 970 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 10 -618 GridFlow performs high level grid processing \; in -other words its main function is the manipulation of images and video. -There are several ways to madify images in GridFlow \, some are very -basic while others are more advanced (and are saved for the intermediate -tutorials.) In this section we will introduce some very basic functions -of the numeric operator \, one of the most common methods used for -image transformation.; -#X obj 155 -220 cnv 15 130 150 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 220 -181 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 174 -152 #in; -#X msg 174 -213 open b001.jpg; -#X obj 199 -124 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 174 -124 # + 109; -#X obj 174 -95 s argument; -#X text 235 -125 <--- argument in this case is 109; -#X obj 13 -273 + 1; -#X floatatom 13 -297 5 0 0 0 - - -; -#X floatatom 13 -249 5 0 0 0 - - -; -#X text 54 -282 this is a basic numop. GridFlow has its own set of -numops that are applied to grids \, 3 dimensions \, on each channel. -; -#X obj 14 -357 cnv 15 70 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 11 -672 2.4 Image manipulation; -#X text 11 -644 2.4.3 Numop; -#X obj 500 -559 cnv 15 130 150 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 550 -523 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 --1; -#X obj 515 -484 #in; -#X msg 515 -553 open b001.jpg; -#X obj 515 -434 # +; -#X obj 515 -404 s message; -#X obj 562 -461 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 562 -483 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X obj 563 -439 cnv 15 25 17 empty empty empty 20 12 0 14 -241291 -66577 -0; -#X msg 562 -461 67; -#X msg 562 -483 2; -#X msg 563 -439 199; -#X text 596 -461 <--- messages used as arguments; -#X text 596 -486 <---; -#X text 596 -438 <---; -#X obj 764 -116 r argument; -#X obj 891 -91 #out window; -#X obj 842 -115 r message; -#X obj 911 -115 r slider; -#X obj 3 -67 cnv 15 970 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 14 -57 GridFlow 0.8.0; -#N canvas 0 0 450 300 META 0; -#X restore 919 -60 pd META; -#X text 13 -357 Example #1; -#X text 12 -338 Shows you how to put an argument directly into the -numeric operator object.; -#X obj 507 -320 cnv 15 70 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X obj 497 -629 cnv 15 70 15 empty empty empty 20 12 0 14 -260818 -66577 -0; -#X text 496 -628 Example #2; -#X text 506 -320 Example #3; -#X text 497 -608 Demonstrates how to send the numop an argument using -a message box. This method allows you to send the numop several different -arguments.; -#X text 507 -299 Introduces the use of the slider as a method to give -the numop an argument. The slider allows you to easily scroll through -a series of values.; -#X connect 1 0 2 0; -#X connect 2 0 0 0; -#X connect 3 0 2 0; -#X connect 5 0 6 0; -#X connect 6 0 10 0; -#X connect 7 0 6 0; -#X connect 8 0 10 1; -#X connect 10 0 9 0; -#X connect 17 0 18 0; -#X connect 18 0 21 0; -#X connect 19 0 18 0; -#X connect 21 0 22 0; -#X connect 24 0 26 0; -#X connect 25 0 24 0; -#X connect 32 0 33 0; -#X connect 33 0 35 0; -#X connect 34 0 33 0; -#X connect 35 0 36 0; -#X connect 40 0 35 1; -#X connect 41 0 35 1; -#X connect 42 0 35 1; -#X connect 46 0 47 0; -#X connect 48 0 47 0; -#X connect 49 0 47 0; diff --git a/externals/gridflow/doc/tutorials/probably_not_good_2-3-0-2.pd b/externals/gridflow/doc/tutorials/probably_not_good_2-3-0-2.pd deleted file mode 100644 index 18625731..00000000 --- a/externals/gridflow/doc/tutorials/probably_not_good_2-3-0-2.pd +++ /dev/null @@ -1,61 +0,0 @@ -#N canvas 58 0 665 421 10; -#X obj 29 -473 cnv 15 185 190 empty empty empty 20 12 0 14 -228992 --66577 0; -#X obj 37 -391 #in; -#X msg 37 -465 open b001.jpg; -#X obj 77 -382 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 0 1; -#X obj 37 -359 # + \$1; -#X obj 60 -439 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 -; -#X obj 37 -315 #clip; -#X obj 27 -634 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 60 -417 metro 33.3; -#X obj 278 -430 #pack 3; -#X obj 326 -455 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 0 1; -#X obj 326 -475 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 0 1; -#X obj 326 -495 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -260818 --1 -1 0 1; -#X obj 286 -391 #color; -#X msg 269 -301 255 0 0; -#X text 336 -304 donner une liste changer couleurs; -#X obj 234 -245 #scale_by (8 8); -#X msg 235 -265 2 2 3 # 255 0 0 0 255 0 0 0 255 191 191 191; -#X obj 37 -273 s to_out_window; -#X text 29 -633 Example #4 the [#clip] object is used with numops in -order to set constraints on pixels to eliminate color wrapping. Colour -wrapping occurs when the individual pixel values in a grid exceed 255 -which results in of colour. GridFlow reads colours as values from 0 -(black) to 255 (white). Refer to glossary for more information on colour. -; -#X obj 23 -678 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 35 -671 2.4 Image manipulation; -#X obj 25 -102 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 34 -94 GridFlow 0.8.0; -#X obj 253 -162 r to_out_window; -#X msg 505 -161 close; -#X msg 400 -164 open window; -#X obj 360 -127 #out window; -#X connect 1 0 4 0; -#X connect 2 0 1 0; -#X connect 3 0 4 1; -#X connect 4 0 6 0; -#X connect 5 0 8 0; -#X connect 6 0 18 0; -#X connect 8 0 1 0; -#X connect 9 0 4 1; -#X connect 10 0 9 2; -#X connect 11 0 9 1; -#X connect 12 0 9 0; -#X connect 13 0 4 1; -#X connect 14 0 4 1; -#X connect 16 0 4 1; -#X connect 17 0 16 0; -#X connect 24 0 27 0; -#X connect 25 0 27 0; -#X connect 26 0 27 0; diff --git a/externals/gridflow/doc/tutorials/pure-data-1.pd b/externals/gridflow/doc/tutorials/pure-data-1.pd deleted file mode 100755 index 7be2a91a..00000000 --- a/externals/gridflow/doc/tutorials/pure-data-1.pd +++ /dev/null @@ -1,71 +0,0 @@ -#N canvas 221 110 894 498 10; -#N canvas 0 22 450 300 this 0; -#X obj 192 128 inlet; -#X obj 192 171 outlet; -#X text 8 7 If you're looking at this you're just going to confuse -yourself!; -#X connect 0 0 1 0; -#X restore 499 380 pd this is an object; -#X text 509 358 <- This is a connection; -#X msg 499 319 10; -#X text 13 348 Objects are like filters \, they change the way messages -flow through them.; -#X text 13 153 You can think of a patch as plumbing. The way water -flows through the plumbing of your house \, messages flow through the -connections in your patch. Objects change the flow of the messages -to allow different things to happen. Messages always go into objects -at the top \, called the inlet \, and always come out at the bottom -\, called the outlet. In PD messages flow from top to bottom.; -#X text 458 236 This is a very simple example of a patch \, the message -"10" can be sent through the "pd this is an object" and can be seen -being passed out the outlet.; -#X floatatom 499 416 5 0 0 0 - - -; -#X text 539 415 <- This number box shows the float message; -#X text 553 334 and watch the output!; -#X obj 8 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 13 252 You can work with PD in two ways \, the first is in -"edit mode". Edit-mode is where you create your patch by adding objects -and the connections between them. "Run mode" is when you're done with -the construction of your patch \, and you wish to send messages through -it. In run-mode your cursor is an arrow (as it is right now since we -are in run-mode) \, in edit-mode your cursor is a pointing hand.; -#X text 458 136 Messages are what allow objects to communicate with -one and other. Messages can change the way an object acts \, and/or -express the work the object is doing. Messages come in different types. -They can contain words \, numbers and groups of these. The main types -of messages we will be dealing with are floats (numbers). You can click -on a message \, when in run-mode \, to send it through your patch. -; -#X obj 448 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 448 290 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 8 447 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 668 449 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#X text 12 20 DESCRIPTION: What is a patch? An object? A message?; -#N canvas 0 22 466 316 META 0; -#X text 12 5 CATEGORY: tutorial; -#X text 12 15 KEYWORDS: metaphor object message GUI introduction; -#X restore 16 453 pd META; -#X text 457 67 GUI objects allow you to interact with your PD patch -as it is running. They allow you to change what your patch is doing -without reconnecting the objects. The simplest GUI object is the "Message" -that simply contains a message you want to send in your patch.; -#X text 453 290 A patch that connects a GUI to an object to a second -GUI.; -#X text 531 320 <- This GUI sends a float message (click on it); -#X text 13 66 When working with PD you are dealing primarily with objects -\, GUI (Graphical User Interface) objects \, connections and messages. -These are the building blocks of PD programming. When you connect objects -\, GUI objects \, and messages you are creating a "patch". Patching -is making something complex out of smaller building blocks.; -#X text 13 46 The "patch" \, "objects" and "connections"; -#X text 453 46 "GUI objects" and "messages"; -#X text 12 8 1 Introduction to Pure-Data & its Metaphors; -#X connect 0 0 6 0; -#X connect 2 0 0 0; diff --git a/externals/gridflow/doc/tutorials/pure-data-2.pd b/externals/gridflow/doc/tutorials/pure-data-2.pd deleted file mode 100755 index 151af26f..00000000 --- a/externals/gridflow/doc/tutorials/pure-data-2.pd +++ /dev/null @@ -1,73 +0,0 @@ -#N canvas 197 100 899 548 10; -#X obj 8 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 448 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 8 497 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 668 499 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#N canvas 0 22 470 320 META 0; -#X text 12 5 CATEGORY: tutorial; -#X text 12 15 KEYWORDS: GUI slider toggle number message introduction -; -#X restore 16 503 pd META; -#X text 12 20 DESCRIPTION: Message \, slider \, toggle \, bang and -number; -#X msg 93 145 hello world; -#X obj 93 168 print; -#X text 181 146 <- Click on this message; -#X text 18 74 Messages control the behavior of objects and it is the -objects that change what a patch does. The first object we're going -to learn is "print". All "print" does is print out the messages you -send it to the terminal:; -#X text 19 197 TIP: If you forget what an object does you can always -double-click (on a mac) or right-click (on a PC) and then choose "help". -; -#X text 19 250 In this tutorial we will use two different types of -objects: "objects" (of which "print" is an example) and GUI objects -\, (of which "message" is an example). GUI objects allow you to interact -with your patch \, control PD and change parameters of objects. We -are going to learn four types of GUI objects (but there are many more): -Slider \, Toggle \, Bang \, and Number.; -#X obj 76 355 hsl 300 30 0 127 0 0 empty empty This_is_a_HSlider_(Horizontal) -10 15 1 10 -262144 -1 -1 0 1; -#X obj 73 393 print; -#X text 21 421 This "hslider" is connected to the print object. This -way we can see what messages the "hslider" sends. Try clicking and -dragging in the Slider. You can change the scale (and other properties) -of some GUI Objects by double-clicking (mac) or right-clicking (pc) -and choosing "properties".; -#X text 13 46 The "message" and "hslider" GUI Objects:; -#X text 453 46 "toggle" \, "bang" \, "number"; -#X obj 519 176 tgl 30 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X obj 629 176 bng 30 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 629 210 print Bang; -#X obj 519 210 print Toggle; -#X obj 739 210 print Number; -#X floatatom 739 192 5 0 0 0 - - -; -#X text 466 76 "slider" \, "toggle" and "number" all send messages -made up of floats (numbers). "bang" is a special case and it only sends -the message "bang". Below we're using an argument to the print object -that tags each message sent to the terminal. This way when we have -multiple "print" objects in one patch we can differenciate thier output. -; -#X text 465 268 "toggle" sends the message "1" or "0" \, "bang" always -sends "bang" and if you click and drag on the "number" you can see -it acts a lot like a Slider. With "number" you can also click once -\, and then type a number to send.; -#X text 467 335 TIP: You can send floating point numbers by holding -down the SHIFT key as you click and drag on the "number".; -#X text 467 375 There are other types of GUI objects not covered here. -See the guis-about.pd PDDP patch:; -#X text 12 8 2 PD Introduction - Some Useful GUI Objects in Pure-Data -; -#X connect 7 0 8 0; -#X connect 13 0 14 0; -#X connect 18 0 21 0; -#X connect 19 0 20 0; -#X connect 23 0 22 0; diff --git a/externals/gridflow/doc/tutorials/pure-data-3.pd b/externals/gridflow/doc/tutorials/pure-data-3.pd deleted file mode 100755 index 729b2dc7..00000000 --- a/externals/gridflow/doc/tutorials/pure-data-3.pd +++ /dev/null @@ -1,70 +0,0 @@ -#N canvas 261 121 900 544 10; -#X obj 8 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 448 366 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 8 497 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 668 499 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#N canvas 0 22 474 324 META 0; -#X text 12 5 CATEGORY: tutorial; -#X text 12 15 KEYWORDS: patch first connecting placing place connect -; -#X restore 16 503 pd META; -#X text 12 20 DESCRIPTION: Using PD to create your first patch; -#X text 13 46 Adding Objects:; -#X text 19 75 In order to create a patch you need to first place objects -and GUI objects \, and second make connections between these objects. -To place an object you need to be in "edit-mode". You should now be -in run mode \, so please go to the "Edit" pull-down menu and choose -"Edit mode" at the bottom. You should see your cursor change from an -arrow to a pointing hand.; -#X text 19 175 SHORTCUT: You can press "Control" and "e" simultaneously -in order to toggle (switch) between edit and Run modes.; -#X obj 448 386 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 --66577 0; -#X floatatom 506 406 5 0 0 0 - - -; -#X text 19 355 SHORTCUT: You can press "Control" and "3" simultaneously -in order to place a number. All shortcuts are listed next to the items -in the "Put" menu.; -#X text 453 366 Patch work area:; -#X text 19 215 Once you are in "edit-mode" you are now free to place -objects. To place an object go to the "Put" pull-down menu and choose -"Number". Once you have chosen this menu item you will see that a "number" -gui is attached to your mouse pointer. In order to place the number -into the patch move your pointer to the grey area to the right (in -the "Patch work area" -> Click once to release it from your mouse. -Note that the number is coloured blue. The blue colour shows that an -item in your patch is selected. To unselect any item simply click once -on the blank (white) space between items.; -#X obj 520 440 print; -#X obj 448 156 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 453 156 Connecting Objects:; -#X text 19 411 Next we're going to place the familar "print" object -beneath the "number" GUI. Press "Control" and "1" to place an object -box. Again the object gets attached to your mouse and again click once -to place it in the patch area somewhere under the "number".; -#X text 459 41 While the number box is still selected (coloured blue) -you can see a flashing cursor. Type the word "print" into the object -box. The object will retain a dashed line while you type. In order -to create the object you simply need to unselect \, by clicking somewhere -outside the object. Note that once you have clicked to create the object -the dashed line turns solid and an inlet (small rectangle) gets drawn -around the word "print". The objects have now been created!; -#X text 459 185 All connections between objects in PD are created from -outlet to inlet (top to bottom). To start making a connection move -your hand-pointer over the outlet of the "number" gui. When over the -outlet your pointer will change to a circle. When you see the circle -press and hold the mouse button. As you drag (holding the mouse button -down) the pointer you see a line being drawn from the outlet to your -pointer. To attach this connection to another object drag your mouse -to an inlet of another object. The pointer will again change to a circle -and at this point you can release the mouse button. Once released the -objects are now connected! To play with your patch go back into run-mode -and click and drag on the number-box while watching the terminal.; -#X text 12 8 3 PD Introduction - Creating your first patch; -#X connect 11 0 15 0; diff --git a/externals/gridflow/doc/tutorials/pure-data-4.pd b/externals/gridflow/doc/tutorials/pure-data-4.pd deleted file mode 100755 index 4d38f41d..00000000 --- a/externals/gridflow/doc/tutorials/pure-data-4.pd +++ /dev/null @@ -1,87 +0,0 @@ -#N canvas 183 61 890 531 10; -#X obj 8 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 96 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 8 487 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 668 489 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#N canvas 0 22 478 328 META 0; -#X text 12 5 CATEGORY: tutorial; -#X text 12 15 KEYWORDS: metro counter random; -#X restore 16 493 pd META; -#X text 12 20 DESCRIPTION: Learning "metro" \, "counter" & "random" -; -#X text 13 96 Using the "metro" object:; -#X text 21 47 In this section we will learn three new objects \, "metro" -\, "counter" \, and "random". Metro sends a bang at regular intervals -\, just like a metronome.; -#X obj 164 142 metro 250; -#X obj 164 123 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X obj 164 163 bng 15 100 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 222 123 5 0 0 0 - - -; -#X text 21 187 You can turn a Metro on and off by sending it a "1" -or "0" message. Because a toggle sends 0/1 messages \, we can simply -connect it directly. Metro also accepts an argument (words or numbers -wirtten after the object name). This argument is how fast the metro -should send out bangs (in milliseconds). You can always change the -speed of the metro by sending it number messages through the rightmost -inlet.; -#X obj 8 306 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 13 306 Using the "random" object:; -#X text 21 277 For more info see the metro-help.pd patch.; -#X obj 168 385 bng 15 100 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 168 425 print; -#X obj 168 404 random 100; -#X floatatom 233 385 5 0 0 0 - - -; -#X text 20 327 The Random object returns a number between 0 and the -(number) argument when it receives a bang message in the leftmost inlet. -You can also change the upper limit by sending a message to the rightmost -inlet.; -#X obj 448 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 453 46 Using the "random" object:; -#X obj 559 154 bng 15 100 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 590 154 3 1 3 0 - - -; -#X floatatom 621 174 3 0 0 0 - - -; -#X floatatom 652 194 3 0 0 0 - - -; -#X obj 652 234 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 559 234 8 0 0 0 - - -; -#X obj 559 213 counter 0 10 1; -#X text 21 447 For more info see the random-help.pd patch.; -#X text 461 77 "counter" is simply an object that counts. It can count -up \, count down and count up and then down. Where it starts and where -it stops are all definable. This is the counter that in included with -Gem \, it is not compatible with other counter objects.; -#X text 461 274 The first argument for counter is the lower limit (number -to start counting at). The second is the upper limit to count to. The -third argument is the direction in which to count. "1" means forward -\, "2" means backward and "3" means forward and then backward. You -can also use the three rightmost inlets to change the behaviour of -counter. The rightmost inlet is the upper limit \, the second right-most -the lower limit \, and the third right-most as the direction. The rightmost -outlet sends out a bang message when the counter loops.; -#X text 681 193 Rightmost inlet; -#X text 651 173 Second Rightmost inlet; -#X text 621 153 Third Rightmost inlet; -#X text 461 407 For more info see the counter-help.pd patch.; -#X text 12 8 4 Introduction to PD - More objects; -#X connect 8 0 10 0; -#X connect 9 0 8 0; -#X connect 11 0 8 1; -#X connect 16 0 18 0; -#X connect 18 0 17 0; -#X connect 19 0 18 1; -#X connect 23 0 29 0; -#X connect 24 0 29 1; -#X connect 25 0 29 2; -#X connect 26 0 29 3; -#X connect 29 0 28 0; -#X connect 29 1 27 0; diff --git a/externals/gridflow/doc/tutorials/pure-data-5.pd b/externals/gridflow/doc/tutorials/pure-data-5.pd deleted file mode 100755 index dc357bb1..00000000 --- a/externals/gridflow/doc/tutorials/pure-data-5.pd +++ /dev/null @@ -1,108 +0,0 @@ -#N canvas -235 0 891 673 10; -#X obj 8 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 8 627 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 668 629 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#N canvas 0 22 482 332 META 0; -#X text 12 5 CATEGORY: tutorial; -#X text 12 15 KEYWORDS: send receive netsend netreceive cordless communication -network TCP/IP UDP internet; -#X restore 16 633 pd META; -#X obj 448 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 12 20 DESCRIPTION: Communicating between objects w/out connections -; -#X text 13 46 "send" & "receive"; -#X obj 86 223 send invisible-link; -#X obj 86 248 receive invisible-link; -#X floatatom 86 273 5 0 0 0 - - -; -#X msg 86 198 10; -#X floatatom 266 273 5 0 0 0 - - -; -#X floatatom 266 203 5 0 0 0 - - -; -#X obj 266 223 s invisible-link2; -#X obj 266 248 r invisible-link2; -#X obj 102 483 r send-from-number; -#X floatatom 102 508 5 0 0 0 - - -; -#X floatatom 102 462 5 0 0 0 - - send-from-number; -#X floatatom 242 462 5 0 0 0 - - -; -#X obj 242 483 s send-to-number2; -#X floatatom 242 508 5 0 0 0 - send-to-number2 -; -#X text 19 385 Note: Many GUI objects have built-in send and receive -objects. The tag names are specified in the GUI properties. Remeber -to get the GUI properties Right-Click or Control-Click on the GUI object -and select "Properties".; -#X text 453 46 "netsend" & "netreceive"; -#X text 19 575 For more info see: send-help.pd \, receive-help.pd \, -netsend-help.pd and netreceive-help.pd; -#X text 459 75 While "send" and "receive" allow you to send messages -without connecting objects with patch-cords "netsend" and "netreceive" -do the same but communicate between objects using TCP/IP the internet -protocol. This means that you can send messages from a patch running -on one machine to a second patch running on a second machine on the -same network \, or even over the internet.; -#X text 19 545 You can also send messages using UDP rather than TCP/IP. -See "more info" below for details.; -#X obj 589 292 netreceive 8001; -#X text 459 185 The first argument of "netreceive" is the port the -netrecive should listen on. "netsend" can connect to this port from -other machines. "netreceive" has two outlets. The first outlet sends -out the messages it receives over network \, and the second argument -send a "1" when netsend is connected and "0" when netsend disconnects. -; -#X obj 589 318 print; -#X obj 689 318 tgl 16 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 -1; -#X obj 503 563 netsend; -#X text 459 355 "netsend" is controlled using three messages: "connect" -\, "disconnect" and "send". "connect" has two arguments \, the host -or IP and the port number you wish to connect to. There needs to be -a "netreceive" listening on the port you connect to. "disconnect" drops -the current connection. "send" sends any arguments to the "netreceive" -over the network. The single outlet of "netsend" prints "1" when a -connection is made and "0" when the connection is lost.; -#X obj 503 586 tgl 16 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 -1; -#X msg 503 486 connect localhost 8001; -#X msg 516 511 disconnect; -#X msg 525 537 send hello from the internet; -#X text 602 510 Close connection; -#X text 673 486 Connect to this machine; -#X text 733 536 Send message; -#X text 19 75 In some cases you will want to send messages without -connecting objects. You may be sending one message to many different -places that would make connections too laborious. "send" and "receive" -both have a single argument. This argument is the tag name for the -communication. "send" will always send any messages it gets in it inlet -to any number of "receive" objects in a patch with the same tag name. -"s" and "r" can be used in the place of "send" and "receive".; -#X obj 86 336 s broadcast; -#X floatatom 86 317 5 0 0 0 - - -; -#X obj 176 316 r broadcast; -#X floatatom 176 339 5 0 0 0 - - -; -#X obj 266 316 r broadcast; -#X floatatom 266 339 5 0 0 0 - - -; -#X text 12 8 5 Intermediate Pure-Data - send and receive; -#X msg 585 598 send \$1; -#X floatatom 584 567 5 0 0 0 - - -; -#X text 651 596 send variables to another computer; -#X connect 9 0 10 0; -#X connect 11 0 8 0; -#X connect 13 0 14 0; -#X connect 15 0 12 0; -#X connect 16 0 17 0; -#X connect 19 0 20 0; -#X connect 27 0 29 0; -#X connect 27 1 30 0; -#X connect 31 0 33 0; -#X connect 34 0 31 0; -#X connect 35 0 31 0; -#X connect 36 0 31 0; -#X connect 42 0 41 0; -#X connect 43 0 44 0; -#X connect 45 0 46 0; -#X connect 48 0 31 0; -#X connect 49 0 48 0; diff --git a/externals/gridflow/doc/tutorials/pure-data-6.pd b/externals/gridflow/doc/tutorials/pure-data-6.pd deleted file mode 100755 index 01e6dcd7..00000000 --- a/externals/gridflow/doc/tutorials/pure-data-6.pd +++ /dev/null @@ -1,92 +0,0 @@ -#N canvas 304 98 891 675 10; -#X obj 8 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 627 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 668 629 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#N canvas 0 22 486 336 META 0; -#X text 12 5 CATEGORY: tutorial; -#X text 12 15 KEYWORDS: message comma semicolon dollersign receive -list; -#X restore 16 633 pd META; -#X text 12 20 DESCRIPTION: Advanced uses for the message object; -#X text 19 45 In Pure-Data there are two distinct concepts with the -name "message". Messages are the data that gets send in PD from object -to object. There is also the Messsage object that contains a message -you want to send. The message object is the first GUI object we covered -in this tutorial. The message is not the only way to send messages -in a patch \, since all GUI objects also send messages. So what makes -the message object different? The message object can sent messages -of any type \, where a number for example can only send float (number) -messages. There are a number of powerful features in the message object. -We are familar with the "usual" way of using the message object:; -#X msg 163 208 hello; -#X msg 212 208 bye; -#X obj 196 238 print messages; -#X text 459 556 Note: It is a very common mistake to confuse the message -object with an object box. The object box is framed in a rectangle. -The message object has a notch removed from the right edge.; -#X obj 106 385 print messages; -#X msg 106 358 hello \, bye; -#X text 19 305 You can send multiple messages in succession from a -single message box by using a comma " \, " between the messages. The -messages get send from left to right.; -#X obj 8 276 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X obj 8 416 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 13 416 Semicolon in message boxes; -#X text 13 276 Comma in message boxes; -#X text 19 445 Just like you can specify receive tags directly in GUI -objects you can also use a message box to send a message directly to -a particular "receive".; -#X obj 34 536 r myreceive; -#X floatatom 34 560 5 0 0 0 - - -; -#X text 189 360 Click to send both messages; -#X text 136 502 send "10" to receive tag "myreceive"; -#X text 19 585 For more info see: message-help.pd 04.messages.pd 10.more.messages.pd -; -#X msg 34 498 \; myreceive 10; -#X obj 448 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 453 46 Dollarsign in message boxes; -#X msg 534 175 \$1 \$1 \$1; -#X msg 534 154 10; -#X text 459 75 In messages there are placeholders that start with "$". -These placeholders are variables that get replaced with messages you -send to the message box. In the example below we have a single message -"10". Each "$1" in the message box gets replaced with the message "10". -; -#X text 601 175 \$1 placeholder gets replaced; -#X text 570 154 message sent to message box; -#X msg 534 304 list 1 2; -#X text 600 304 a list with items "1" and "2"; -#X msg 534 325 \$2 \$1; -#X text 584 325 \$1 becomes "1" and \$2 becomes "2"; -#X obj 534 347 print reverse-list; -#X text 459 235 The "$1" placeholder refers to the first element of -the list the message box gets from its inlet. We can use this to use -a message box to reverse the order of elements (called atoms) in a -list.; -#X text 459 385 In this case the list "1 2" has two elements (called -atoms) when this list gets sent to the inlet of a message box its atoms -are available to the message box through the $ variables. \$1 gets -replaced with the first element \, \$2 the second and so on.; -#X obj 534 197 print repeated-message; -#X obj 480 511 print complex-message; -#X msg 480 468 list Fred Marcus; -#X text 607 468 a list with two symbol atoms; -#X msg 480 489 Hi \$1. \, Ya know \$2?; -#X text 623 489 Becomes: "Hi Fred \, Ya know Marcus?"; -#X text 12 8 6 Intermediate Pure-Data - Using the message object; -#X connect 6 0 8 0; -#X connect 7 0 8 0; -#X connect 11 0 10 0; -#X connect 18 0 19 0; -#X connect 26 0 38 0; -#X connect 27 0 26 0; -#X connect 31 0 33 0; -#X connect 33 0 35 0; -#X connect 40 0 42 0; -#X connect 42 0 39 0; diff --git a/externals/gridflow/doc/tutorials/pure-data-7.pd b/externals/gridflow/doc/tutorials/pure-data-7.pd deleted file mode 100755 index 0d8360ec..00000000 --- a/externals/gridflow/doc/tutorials/pure-data-7.pd +++ /dev/null @@ -1,106 +0,0 @@ -#N canvas 280 89 936 678 10; -#X obj 8 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 627 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 668 629 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#N canvas 0 22 482 332 META 0; -#X text 12 5 CATEGORY: tutorial; -#X text 12 15 KEYWORDS: send receive netsend netreceive cordless communication -network TCP/IP UDP internet; -#X restore 16 633 pd META; -#X obj 8 266 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 13 266 "pack" object; -#X msg 96 543 2; -#X msg 45 521 1; -#X obj 45 588 print mylist; -#X text 12 20 DESCRIPTION: Using pack \, unpack and route with lists -; -#X text 19 75 In the Pure-Data introduction we discussed the three -different types of data in PD. These are floats (numbers) \, symbols -(words) and lists (groups of floats and words). Floats and symbols -are known as atoms. Atoms are single elements \, they do not contain -spaces or other special characters. Atoms can be grouped into lists. -; -#X obj 8 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 13 46 What is a list?; -#X msg 145 216 list one two three; -#X obj 145 239 print this is a list; -#X text 19 155 Lists can be created in a number of ways \, but we are -going to cover the two most common ways of creating lists. The most -simple way to create a list is to type the list into a message box -starting with the word (symbol) "list":; -#X text 19 295 The "pack" object is the second most common way to create -a list. "pack" allows you to take individual atoms and combine them -into a single list. "pack" accepts a number of arguments. Each argument -defines the type of atom in the resulting list. The "f" argument creates -an inlet that accepts float atoms. The "s" argument creates an inlet -accepts symbol atoms. The number of arguments is the same as the number -of elements in the resultant list.; -#X text 19 405 "pack" is the first object we are going to learn that -has a "cold" inlet. Some control objects in PD have "hot" and "cold" -inlets. When you send a message to a "cold" inlet the object does not -generate any output (it does not send any messages). When "hot" inlets -get messages then the object does generate output. The leftmost inlet -is always the "hot" inlet and all other inlets are "cold" or in some -cases all inlets are "hot"; -#X text 75 521 sets the first atom "1" and then sends the list; -#X text 132 543 sets the second atom "2"; -#X obj 45 566 pack f f; -#X text 459 45 Note that if you do not set the second and onwards atoms -via thier "cold" inlets and you generate the list by setting the first -atom via the "hot" inlet then all float atoms will be set to "0" and -all symbol atoms will be set to "symbol" in the resultant list.; -#X obj 448 126 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 453 126 "unpack" object; -#X obj 596 241 unpack f f f; -#X msg 596 219 list 1 2 3; -#X floatatom 596 294 5 0 0 0 - - -; -#X floatatom 635 277 5 0 0 0 - - -; -#X floatatom 675 262 5 0 0 0 - - -; -#X text 639 293 First Atom; -#X text 678 277 Second Atom; -#X text 718 261 Third Atom; -#X text 459 156 The "unpack" object is very similar to the "pack" object -except it works in reverse. "unpack" takes a list and splits it up -into a number of atoms. It uses the same arguments as "pack" but generates -outlets rather than inlets.; -#X obj 448 319 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 453 319 "route" object; -#X text 459 349 The "route" object sorts lists based on the first atom -of the list. It as a number of float or symbol arguments. For each -argument "route" creates one outlet. "route" also creates one additional -rightmost outlet for rejections. For each list route gets it compares -the first atom to all its arguments. If the first atom matches one -of the arguments it the rest of the list \, without the first atom -\, gets send through the outlet corresponding to that argument. If -the first atom of the list does not match any arguments the entire -list \, including the first atom \, gets sent out the rejection outlet. -; -#X msg 688 493 rejection 1; -#X obj 685 553 print rejection; -#X msg 538 493 o1 2; -#X msg 613 493 o2 3; -#X obj 613 531 route o1 o2; -#X obj 613 593 print o1; -#X obj 649 573 print o2; -#X text 12 8 7 Intermediate Pure-Data - Working with lists; -#X connect 6 0 20 1; -#X connect 7 0 20 0; -#X connect 13 0 14 0; -#X connect 20 0 8 0; -#X connect 24 0 26 0; -#X connect 24 1 27 0; -#X connect 24 2 28 0; -#X connect 25 0 24 0; -#X connect 36 0 40 0; -#X connect 38 0 40 0; -#X connect 39 0 40 0; -#X connect 40 0 41 0; -#X connect 40 1 42 0; -#X connect 40 2 37 0; diff --git a/externals/gridflow/doc/tutorials/pure-data-8.pd b/externals/gridflow/doc/tutorials/pure-data-8.pd deleted file mode 100755 index aa95c087..00000000 --- a/externals/gridflow/doc/tutorials/pure-data-8.pd +++ /dev/null @@ -1,89 +0,0 @@ -#N canvas 238 94 891 621 10; -#X obj 8 6 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 577 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 668 579 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#N canvas 0 22 482 332 META 0; -#X text 12 5 CATEGORY: tutorial; -#X text 12 15 KEYWORDS: send receive netsend netreceive cordless communication -network TCP/IP UDP internet; -#X restore 16 583 pd META; -#X obj 8 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 12 20 DESCRIPTION: nested patches using abstractions & subpatches -; -#X text 13 46 What is an abstraction?; -#X text 23 76 Since objects are very simple in Pure-Data doing complex -tasks often leads to very complex patches. Often it is useful to use -the same bit of patching you do for one project for another. Pure-Data -has a facility to "nest" \, that is to take a number of objects in -a collection and place them into a group that looks like a single object. -This is also handy to make a complex patch look simple and clear by -hiding the nitty-gritty details. There are two types of these collections -\, the subpatch and the abstraction.; -#X obj 8 216 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 13 216 The subpatch; -#X text 23 246 Subpatches are collections of objects that get "hidden" -inside a container that looks like a normal PD object. Subpatches are -created by creating an object box \, and typing the word "pd" followed -by whatever you want to describe the contents of the subpatch. Subpatches -are saved at the same time as the "parent" patch. Here is a subpatch: -; -#N canvas 0 22 460 310 subpatch 0; -#X obj 30 34 inlet; -#X obj 30 77 outlet; -#X text 99 35 This is inside the subpatch.; -#X connect 0 0 1 0; -#X restore 178 359 pd subpatch; -#X floatatom 178 336 5 0 0 0 - - -; -#X floatatom 178 387 5 0 0 0 - - -; -#X text 23 416 To open a subpatch simply click once on the subpatch -in run-mode or control-click (or right-click) and select open in edit-mode. -Both subpatches and abstractions communicate with the parent patch -through special objects called "inlet" and "outlet" for each "inlet" -in a subpatch or abstraction an inlet is created on the subpatch. This -example has one inlet and one outlet.; -#X obj 448 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 453 46 The abstraction; -#X text 463 76 Abstractions are very similar to subpatches. They are -collections of objects that are "hidden" inside PD objects \, and they -both use "inlet" and "outlet" objects to communicate with the parent -patch. The difference between subpatches and abstractions is that abstractions -are saved in a separate file from the parent. This means when you save -the parent patch containing abstractions the abstractions are not saved. -The abstractions are saved as separate files so that they can be used -in multiple patches. A second feature that exists in abstractions and -not in subpatches is the ability to use arguments. "send" and "receive" -can be used inside abstractions to send data without connections (patch-cords). -; -#X obj 682 253 r output; -#X obj 682 277 print; -#X obj 564 253 abstraction 1 2; -#X text 463 316 To create an abstraction all you need to do is create -a new PD patch ("File" -> "New"). Create the contents of the abstraction -and then save it in the same directory as the patch you want to use -it in. In this case the abstraction is saved as "abstraction.pd". Once -saved you can easily embed the abstraction simply by typing its name -\, without the .pd extension \, into an object box.; -#X obj 448 416 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 453 416 Dollarsign in object boxes; -#X text 463 446 If you open the above example you will see that the -familiar "pack" object has a number of "$" arguments. The "$" arguments -in a object box differ entirely from the "$" used in message objects. -When you use a "$" in an object box inside an abstraction the values -get replaced with the arguments to that abstraction. In the case above -the "pack" object's first argument "$1" gets replaced with the first -argument of the abstraction "1" "$2" gets replaced with the second -argument "2".; -#X text 23 536 For more info see: 12.PART2.subpatch.pd 14.dollersign.pd -; -#X text 12 8 8 Intermediate Pure-Data - Using abstractions and subpacthes -; -#X connect 11 0 13 0; -#X connect 12 0 11 0; -#X connect 18 0 19 0; diff --git a/externals/gridflow/doc/tutorials/pure-data-9.pd b/externals/gridflow/doc/tutorials/pure-data-9.pd deleted file mode 100755 index e5188ee0..00000000 --- a/externals/gridflow/doc/tutorials/pure-data-9.pd +++ /dev/null @@ -1,43 +0,0 @@ -#N canvas 291 108 450 562 10; -#X obj 8 6 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 8 517 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 228 519 Copyright Ben Bogart 2005 \; (See COPYING.TXT for details) -; -#N canvas 0 22 486 336 META 0; -#X text 12 5 CATEGORY: tutorial; -#X text 12 15 KEYWORDS: GOP graph parent abstraction nesting ui interface -; -#X restore 16 523 pd META; -#X obj 8 46 cnv 15 430 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text 12 20 DESCRIPTION: Using Graph on Parent abstractions; -#X text 13 46 What is Graph on Parent?; -#X text 13 76 Graph on Parent is a feature of PD that allows you to -show the GUI objects contained in an abstraction on the parent patch. -This means that you can create abstractions that not only include a -collection of objects but can also include a user interface. To use -graph on parent you simply need to create an abstraction the usual -way but before saving it you need should Control-Click (Right-Click) -on the background (white area) in the abstraction and choose "properties". -From the properties menu check the "graph on parent" option. Now when -you save the patch and embed it in a second patch all GUI objects will -be visible.; -#X obj 154 250 gop_abstraction; -#X text 13 331 In this simple example there is only one GUI object -\, a slider. Inside the abstraction the slider is connected to an inlet -and an outlet. If you move the slider you can see the result in the -outlet. If you set a value in the inlet with the number GUI you can -see the position of the slider change.; -#X floatatom 154 231 5 0 0 0 - - -; -#X floatatom 154 297 5 0 0 0 - - -; -#X text 13 421 Note you can change the size of the abstractions bounding -box by Control-Click (Right-Click) on the abstraction and choose "properties". -The size of the bounding-box is specified by the "screen width" and -"screen height".; -#X text 13 487 For more info see:; -#X text 12 8 9 Intermediate Pure-Data - Using GUI's in abstractions -; -#X connect 8 0 11 0; -#X connect 10 0 8 0; diff --git a/externals/gridflow/doc/tutorials/randomly-select-an-image.pd b/externals/gridflow/doc/tutorials/randomly-select-an-image.pd deleted file mode 100755 index 5817aa32..00000000 --- a/externals/gridflow/doc/tutorials/randomly-select-an-image.pd +++ /dev/null @@ -1,53 +0,0 @@ -#N canvas 417 0 446 428 10; -#X text 6 15 You can open multiple images in the same window. To do -so you connect the outputs from the images to the inlet of the out -window.; -#X obj 136 295 #out window; -#X obj 65 198 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 28 232 #in; -#X msg 28 160 open b001.jpg; -#X obj 188 197 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 151 231 #in; -#X msg 151 159 open r001.jpg; -#X obj 301 196 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 264 230 #in; -#X msg 264 158 open g001.jpg; -#X obj 7 -37 cnv 15 430 15 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 10 -37 What is a grid?; -#X obj 8 320 cnv 15 430 30 empty empty empty 20 12 0 14 -200249 -66577 -0; -#X text 16 327 GridFlow 0.8.0; -#X obj 7 -72 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 12 -73 2 Images; -#X text 14 -59 Description: opening multiple images from one window. -; -#X obj 56 115 random 3; -#X floatatom 195 81 5 0 0 0 - - -; -#X obj 3 55 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; -#X obj 163 112 sel 0; -#X obj 226 127 sel 1; -#X obj 304 115 sel 2; -#X obj 55 92 metro 1000; -#X connect 2 0 3 0; -#X connect 3 0 1 0; -#X connect 4 0 3 0; -#X connect 5 0 6 0; -#X connect 6 0 1 0; -#X connect 7 0 6 0; -#X connect 8 0 9 0; -#X connect 9 0 1 0; -#X connect 10 0 9 0; -#X connect 18 0 19 0; -#X connect 19 0 21 0; -#X connect 19 0 22 0; -#X connect 19 0 23 0; -#X connect 20 0 24 0; -#X connect 21 0 2 0; -#X connect 22 0 5 0; -#X connect 23 0 8 0; -#X connect 24 0 18 0; diff --git a/externals/gridflow/doc/tutorials/title-page-pd-gf-in-one.pd b/externals/gridflow/doc/tutorials/title-page-pd-gf-in-one.pd deleted file mode 100755 index 18798314..00000000 --- a/externals/gridflow/doc/tutorials/title-page-pd-gf-in-one.pd +++ /dev/null @@ -1,129 +0,0 @@ -#N canvas 18 0 762 514 10; -#X obj 102 -15 cnv 15 430 50 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 102 66 cnv 1 430 430 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 102 98 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 102 73 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 108 66 cnv 1 2 430 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 516 67 cnv 1 2 430 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 102 158 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 102 182 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 152 114 1.1 What is a grid?; -#X obj 142 456 cnv 15 300 30 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 154 461 Stephanie Brodeur & Darsha Hewitt 2005; -#X obj 102 36 cnv 15 430 30 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 214 -6 cnv 15 100 17 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 214 -6 GridFlow 0.8.0; -#X obj 102 -15 cnv 1 430 1 empty empty empty 20 12 0 14 -66577 -66577 -0; -#X obj 102 34 cnv 1 430 1 empty empty empty 20 12 0 14 -66577 -66577 -0; -#X obj 315 8 cnv 15 63 17 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 314 8 Tutorials; -#X obj 102 65 cnv 1 430 1 empty empty empty 20 12 0 14 -66577 -66577 -0; -#X obj 102 495 cnv 1 430 1 empty empty empty 20 12 0 14 -66577 -66577 -0; -#X text 140 79 1; -#X obj 158 78 Introduction to Grids; -#X text 152 130 1.2 How to create grid.; -#X text 152 192 2.1 How does GridFlow understand images?; -#X text 141 164 2; -#X obj 162 161 Introduction to Images; -#X text 152 211 2.2 Opening an image.; -#X text 152 230 2.3 Different options on how to open an image.; -#X text 178 247 2.3.1 Opening different images in one window.; -#X text 178 264 2.3.2 Opening images using send and receive.; -#X obj 102 356 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 102 380 cnv 1 430 2 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X text 141 362 3; -#X obj 162 359 Introduction to Video; -#X text 178 300 2.4.1 Resizing an image.; -#X text 151 284 2.4 Image manipulation.; -#X text 178 315 2.4.2 Greyscale.; -#X text 178 330 2.4.3 numop.; -#X text 149 394 4 Introduction to live feed; -#X text 150 422 5 Putting it all together; -#X obj -401 -18 cnv 15 455 30 empty empty empty 20 12 0 14 -233017 --66577 0; -#X obj -398 898 cnv 15 870 30 empty empty empty 20 12 0 14 -233017 --66577 0; -#X text -393 898 Copyright Ben Bogart 2005 \; (See COPYING.TXT for -details); -#X text -397 -11 Welcome to Pure-Data...; -#X obj -401 22 cnv 15 455 15 empty empty empty 20 12 0 14 -179884 -66577 -0; -#X text -396 22 What is Pure-Data (aka PD)?; -#X text -381 50 Pure-Data is an open-source patching environment for -multi-media (audio+image). Pure-Data is a programming language where -you create relationships by connecting visual boxes (rather than typing -complex commands). This lecture is separated into three sections: An -Introduction to Pure-Data \, An introduction to Gem and intermediate -PD and Gem.; -#X obj -381 152 cnv 15 430 120 empty empty empty 20 12 0 14 -179884 --66577 0; -#X obj -367 174 pddp_open pure-data-1; -#X obj -367 197 pddp_open pure-data-2; -#X obj -367 220 pddp_open pure-data-3; -#X obj -367 243 pddp_open pure-data-4; -#X text -192 174 Pure-Data Introduction; -#X text -192 197 GUI Objects for Interaction; -#X text -192 220 Creating your first patch; -#X text -192 243 Control: metro \, random & counter; -#X obj -382 376 cnv 15 430 145 empty empty empty 20 12 0 14 -179884 --66577 0; -#X obj -378 580 cnv 15 430 145 empty empty empty 20 12 0 14 -179884 --66577 0; -#X obj -364 602 pddp_open pure-data-5; -#X obj -364 625 pddp_open pure-data-6; -#X text -189 625 The powerful message object; -#X obj -364 648 pddp_open pure-data-7; -#X text -189 648 More about lists; -#X text -189 671 Nesting collections of objects; -#X text -189 602 Connectionless communications; -#X obj -364 671 pddp_open pure-data-8; -#X text -189 695 Using GUI's in abstractions; -#X obj -364 695 pddp_open pure-data-9; -#X obj -378 787 cnv 15 430 95 empty empty empty 20 12 0 14 -179884 --66577 0; -#X text -194 422 Introduction to Images; -#X text -194 468 Introduction to Live Feeds; -#X obj -401 308 cnv 15 455 15 empty empty empty 20 12 0 14 -179884 --66577 0; -#X text -189 837 Putting it all together; -#X text -190 808 Interfacing with sensors; -#X text -194 399 Introduction to Grids; -#X text -384 331 GridFlow is a multidimentional dataflow processing -library for PureData and Ruby \, designed for interactive multimedia. -; -#X text -377 376 2 Introduction to GridFlow; -#X text -376 152 1 Introduction to Pure-Data; -#X text -373 580 3 Intermediate Pure-Data; -#X text -373 787 4 Intermediate GridFlow; -#X obj -401 542 cnv 15 455 15 empty empty empty 20 12 0 14 -179884 --66577 0; -#X text -396 542 What is GridFLow?; -#X obj -400 751 cnv 15 455 15 empty empty empty 20 12 0 14 -179884 --66577 0; -#X text -395 751 What is GridFLow?; -#X obj -283 400 GridFlow-1; -#X obj -283 423 GridFlow-2; -#X obj -283 446 GridFlow-3; -#X obj -283 469 GridFlow-4; -#X obj -281 809 GridFlow-6; -#X obj -281 832 GridFlow-7; -#X text -395 308 What is GridFlow?; -#X text -194 445 Introduction to Video; diff --git a/externals/gridflow/doc/tutorials/txt-for-resize-image.pd b/externals/gridflow/doc/tutorials/txt-for-resize-image.pd deleted file mode 100755 index f991ba07..00000000 --- a/externals/gridflow/doc/tutorials/txt-for-resize-image.pd +++ /dev/null @@ -1,3 +0,0 @@ -#N canvas 0 0 450 300 10; -#X text 48 29 How to resize an image:; -#X text 39 70 # scale 640 480 pour les images; -- cgit v1.2.1