[PD-cvs] SF.net SVN: pure-data: [10148] trunk/externals

matju at users.sourceforge.net matju at users.sourceforge.net
Tue Jul 8 07:56:11 CEST 2008


Revision: 10148
          http://pure-data.svn.sourceforge.net/pure-data/?rev=10148&view=rev
Author:   matju
Date:     2008-07-07 22:56:10 -0700 (Mon, 07 Jul 2008)

Log Message:
-----------
trying to import gridflow 0.9.4

Added Paths:
-----------
    trunk/externals/gridflow/
    trunk/externals/gridflow/COPYING
    trunk/externals/gridflow/ChangeLog
    trunk/externals/gridflow/LICENSE
    trunk/externals/gridflow/Makefile
    trunk/externals/gridflow/README
    trunk/externals/gridflow/TODO
    trunk/externals/gridflow/abstractions/
    trunk/externals/gridflow/abstractions/#apply_colormap_channelwise.pd
    trunk/externals/gridflow/abstractions/#background_model.pd
    trunk/externals/gridflow/abstractions/#camera.pd
    trunk/externals/gridflow/abstractions/#camera_control.pd
    trunk/externals/gridflow/abstractions/#camera_old.pd
    trunk/externals/gridflow/abstractions/#centroid_in_pd.pd
    trunk/externals/gridflow/abstractions/#change.pd
    trunk/externals/gridflow/abstractions/#checkers.pd
    trunk/externals/gridflow/abstractions/#clip.pd
    trunk/externals/gridflow/abstractions/#color.pd
    trunk/externals/gridflow/abstractions/#contrast.pd
    trunk/externals/gridflow/abstractions/#draw_hpgl.pd
    trunk/externals/gridflow/abstractions/#draw_rect.pd
    trunk/externals/gridflow/abstractions/#draw_slider.pd
    trunk/externals/gridflow/abstractions/#edit_polygon.pd
    trunk/externals/gridflow/abstractions/#fade.pd
    trunk/externals/gridflow/abstractions/#fade_lin.pd
    trunk/externals/gridflow/abstractions/#fastblur.pd
    trunk/externals/gridflow/abstractions/#gamma.pd
    trunk/externals/gridflow/abstractions/#greyscale_to_rgb.pd
    trunk/externals/gridflow/abstractions/#hello.pd
    trunk/externals/gridflow/abstractions/#hueshift.pd
    trunk/externals/gridflow/abstractions/#in.pd
    trunk/externals/gridflow/abstractions/#line_to_polygon.pd
    trunk/externals/gridflow/abstractions/#make_cross.pd
    trunk/externals/gridflow/abstractions/#meuh.pd
    trunk/externals/gridflow/abstractions/#moment_polar.pd
    trunk/externals/gridflow/abstractions/#motion_detection.pd
    trunk/externals/gridflow/abstractions/#mouse.pd
    trunk/externals/gridflow/abstractions/#out.pd
    trunk/externals/gridflow/abstractions/#polygon_area.pd
    trunk/externals/gridflow/abstractions/#polygon_comparator.pd
    trunk/externals/gridflow/abstractions/#polygon_each_edge.pd
    trunk/externals/gridflow/abstractions/#polygon_moment.pd
    trunk/externals/gridflow/abstractions/#polygon_perimetre.pd
    trunk/externals/gridflow/abstractions/#polygon_radial_map.pd
    trunk/externals/gridflow/abstractions/#posterize.pd
    trunk/externals/gridflow/abstractions/#ravel.pd
    trunk/externals/gridflow/abstractions/#record.pd
    trunk/externals/gridflow/abstractions/#remap_image.pd
    trunk/externals/gridflow/abstractions/#rgb_to_greyscale.pd
    trunk/externals/gridflow/abstractions/#rgb_to_rgba.pd
    trunk/externals/gridflow/abstractions/#rgb_to_yuv.pd
    trunk/externals/gridflow/abstractions/#rgba_to_rgb.pd
    trunk/externals/gridflow/abstractions/#rotate.pd
    trunk/externals/gridflow/abstractions/#saturation.pd
    trunk/externals/gridflow/abstractions/#scale_to.pd
    trunk/externals/gridflow/abstractions/#seq_fold.pd
    trunk/externals/gridflow/abstractions/#slice.pd
    trunk/externals/gridflow/abstractions/#solarize.pd
    trunk/externals/gridflow/abstractions/#sort.pd
    trunk/externals/gridflow/abstractions/#spread.pd
    trunk/externals/gridflow/abstractions/#swap.pd
    trunk/externals/gridflow/abstractions/#t.pd
    trunk/externals/gridflow/abstractions/#text_to_image.pd
    trunk/externals/gridflow/abstractions/#to_literal.pd
    trunk/externals/gridflow/abstractions/#window.pd
    trunk/externals/gridflow/abstractions/#yuv_to_rgb.pd
    trunk/externals/gridflow/abstractions/ascii.pd
    trunk/externals/gridflow/abstractions/ascii_to_f.pd
    trunk/externals/gridflow/abstractions/condition.pd
    trunk/externals/gridflow/abstractions/count.pd
    trunk/externals/gridflow/abstractions/expect.pd
    trunk/externals/gridflow/abstractions/for.pd
    trunk/externals/gridflow/abstractions/fps.pd
    trunk/externals/gridflow/abstractions/gf.io_generate.pd
    trunk/externals/gridflow/abstractions/gf.nbxhsl.pd
    trunk/externals/gridflow/abstractions/gf.oneshot.pd
    trunk/externals/gridflow/abstractions/inv*.pd
    trunk/externals/gridflow/abstractions/inv+.pd
    trunk/externals/gridflow/abstractions/pingpong.pd
    trunk/externals/gridflow/abstractions/plotter_control.pd
    trunk/externals/gridflow/abstractions/plotter_parser.pd
    trunk/externals/gridflow/abstractions/seq_fold.pd
    trunk/externals/gridflow/abstractions/var.#.pd
    trunk/externals/gridflow/base/
    trunk/externals/gridflow/base/flow_objects.c
    trunk/externals/gridflow/base/grid.c
    trunk/externals/gridflow/base/mmx.rb
    trunk/externals/gridflow/base/new.h
    trunk/externals/gridflow/base/number.c
    trunk/externals/gridflow/base/source_filter.rb
    trunk/externals/gridflow/bin/
    trunk/externals/gridflow/bin/backtrace
    trunk/externals/gridflow/bin/check-help-version
    trunk/externals/gridflow/bin/cvs-switch-user
    trunk/externals/gridflow/bin/demangle
    trunk/externals/gridflow/bin/pd-tools.tcl
    trunk/externals/gridflow/bin/pdnonegative
    trunk/externals/gridflow/bin/plusminus
    trunk/externals/gridflow/bin/valg
    trunk/externals/gridflow/bundled/
    trunk/externals/gridflow/bundled/Base/
    trunk/externals/gridflow/bundled/Base/CPPExtern.h
    trunk/externals/gridflow/bundled/Base/GemBase.h
    trunk/externals/gridflow/bundled/Base/GemCache.h
    trunk/externals/gridflow/bundled/Base/GemEvent.h
    trunk/externals/gridflow/bundled/Base/GemExportDef.h
    trunk/externals/gridflow/bundled/Base/GemFuncUtil.h
    trunk/externals/gridflow/bundled/Base/GemGL.h
    trunk/externals/gridflow/bundled/Base/GemGLUtil.h
    trunk/externals/gridflow/bundled/Base/GemGluObj.h
    trunk/externals/gridflow/bundled/Base/GemLoadObj.h
    trunk/externals/gridflow/bundled/Base/GemMan.h
    trunk/externals/gridflow/bundled/Base/GemMath.h
    trunk/externals/gridflow/bundled/Base/GemModelData.h
    trunk/externals/gridflow/bundled/Base/GemPBuffer.h
    trunk/externals/gridflow/bundled/Base/GemPathBase.h
    trunk/externals/gridflow/bundled/Base/GemPixConvert.h
    trunk/externals/gridflow/bundled/Base/GemPixDualObj.h
    trunk/externals/gridflow/bundled/Base/GemPixImageLoad.h
    trunk/externals/gridflow/bundled/Base/GemPixImageSave.h
    trunk/externals/gridflow/bundled/Base/GemPixObj.h
    trunk/externals/gridflow/bundled/Base/GemPixPete.h
    trunk/externals/gridflow/bundled/Base/GemPixUtil.h
    trunk/externals/gridflow/bundled/Base/GemSIMD.h
    trunk/externals/gridflow/bundled/Base/GemShape.h
    trunk/externals/gridflow/bundled/Base/GemState.h
    trunk/externals/gridflow/bundled/Base/GemVector.h
    trunk/externals/gridflow/bundled/Base/GemVersion.h
    trunk/externals/gridflow/bundled/Base/GemVertex.h
    trunk/externals/gridflow/bundled/Base/GemWinCreate.h
    trunk/externals/gridflow/bundled/Base/config.h
    trunk/externals/gridflow/bundled/Base/configLinux.h
    trunk/externals/gridflow/bundled/g_canvas.h
    trunk/externals/gridflow/configure
    trunk/externals/gridflow/deprecated/
    trunk/externals/gridflow/deprecated/0x40!.pd
    trunk/externals/gridflow/deprecated/0x40complex_sq.pd
    trunk/externals/gridflow/deprecated/0x40convolve.pd
    trunk/externals/gridflow/deprecated/0x40fold.pd
    trunk/externals/gridflow/deprecated/0x40inner.pd
    trunk/externals/gridflow/deprecated/0x40scan.pd
    trunk/externals/gridflow/deprecated/fork.pd
    trunk/externals/gridflow/deprecated/listappend.pd
    trunk/externals/gridflow/deprecated/listelement.pd
    trunk/externals/gridflow/deprecated/listlength.pd
    trunk/externals/gridflow/deprecated/listprepend.pd
    trunk/externals/gridflow/deprecated/listsublist.pd
    trunk/externals/gridflow/deprecated/messageappend.pd
    trunk/externals/gridflow/deprecated/messageprepend.pd
    trunk/externals/gridflow/doc/
    trunk/externals/gridflow/doc/Makefile
    trunk/externals/gridflow/doc/architecture.html
    trunk/externals/gridflow/doc/flow_classes/
    trunk/externals/gridflow/doc/flow_classes/#+-help.pd
    trunk/externals/gridflow/doc/flow_classes/#-help.pd
    trunk/externals/gridflow/doc/flow_classes/#apply_colormap_channelwise-help.pd
    trunk/externals/gridflow/doc/flow_classes/#background_model-help.pd
    trunk/externals/gridflow/doc/flow_classes/#border-help.pd
    trunk/externals/gridflow/doc/flow_classes/#camera-help.pd
    trunk/externals/gridflow/doc/flow_classes/#cast-help.pd
    trunk/externals/gridflow/doc/flow_classes/#checkers-help.pd
    trunk/externals/gridflow/doc/flow_classes/#clip-help.pd
    trunk/externals/gridflow/doc/flow_classes/#color-help.pd
    trunk/externals/gridflow/doc/flow_classes/#contrast-help.pd
    trunk/externals/gridflow/doc/flow_classes/#convolve-help.pd
    trunk/externals/gridflow/doc/flow_classes/#dim-help.pd
    trunk/externals/gridflow/doc/flow_classes/#downscale_by-help.pd
    trunk/externals/gridflow/doc/flow_classes/#draw_image-help.pd
    trunk/externals/gridflow/doc/flow_classes/#draw_points-help.pd
    trunk/externals/gridflow/doc/flow_classes/#draw_polygon-help.pd
    trunk/externals/gridflow/doc/flow_classes/#draw_slider-help.pd
    trunk/externals/gridflow/doc/flow_classes/#fade-help.pd
    trunk/externals/gridflow/doc/flow_classes/#fastblur-help.pd
    trunk/externals/gridflow/doc/flow_classes/#fft-help.pd
    trunk/externals/gridflow/doc/flow_classes/#finished-help.pd
    trunk/externals/gridflow/doc/flow_classes/#fold-help.pd
    trunk/externals/gridflow/doc/flow_classes/#for-help.pd
    trunk/externals/gridflow/doc/flow_classes/#grade-help.pd
    trunk/externals/gridflow/doc/flow_classes/#greyscale_to_rgb-help.pd
    trunk/externals/gridflow/doc/flow_classes/#import-help.pd
    trunk/externals/gridflow/doc/flow_classes/#import_pix-help.pd
    trunk/externals/gridflow/doc/flow_classes/#in-help.pd
    trunk/externals/gridflow/doc/flow_classes/#layer-help.pd
    trunk/externals/gridflow/doc/flow_classes/#line_to_polygon-help.pd
    trunk/externals/gridflow/doc/flow_classes/#moment-help.pd
    trunk/externals/gridflow/doc/flow_classes/#moment_polar-help.pd
    trunk/externals/gridflow/doc/flow_classes/#motion_detection-help.pd
    trunk/externals/gridflow/doc/flow_classes/#mouse-help.pd
    trunk/externals/gridflow/doc/flow_classes/#numop-help.pd
    trunk/externals/gridflow/doc/flow_classes/#out-help.pd
    trunk/externals/gridflow/doc/flow_classes/#outer-help.pd
    trunk/externals/gridflow/doc/flow_classes/#pack-help.pd
    trunk/externals/gridflow/doc/flow_classes/#pack_and_#unpack-help.pd
    trunk/externals/gridflow/doc/flow_classes/#perspective-help.pd
    trunk/externals/gridflow/doc/flow_classes/#polygon_comparator-help.pd
    trunk/externals/gridflow/doc/flow_classes/#polygon_each_edge-help.pd
    trunk/externals/gridflow/doc/flow_classes/#polygon_radial_map-help.pd
    trunk/externals/gridflow/doc/flow_classes/#posterize-help.pd
    trunk/externals/gridflow/doc/flow_classes/#print-help.pd
    trunk/externals/gridflow/doc/flow_classes/#ravel-help.pd
    trunk/externals/gridflow/doc/flow_classes/#record-help.pd
    trunk/externals/gridflow/doc/flow_classes/#redim-help.pd
    trunk/externals/gridflow/doc/flow_classes/#remap_image-help.pd
    trunk/externals/gridflow/doc/flow_classes/#reverse-help.pd
    trunk/externals/gridflow/doc/flow_classes/#rgb_to_greyscale-help.pd
    trunk/externals/gridflow/doc/flow_classes/#rgb_to_yuv-help.pd
    trunk/externals/gridflow/doc/flow_classes/#rgb_to_yuv_and_#yuv_to_rgb-help.pd
    trunk/externals/gridflow/doc/flow_classes/#rotate-help.pd
    trunk/externals/gridflow/doc/flow_classes/#saturation-help.pd
    trunk/externals/gridflow/doc/flow_classes/#scale_by-help.pd
    trunk/externals/gridflow/doc/flow_classes/#scale_to-help.pd
    trunk/externals/gridflow/doc/flow_classes/#scan-help.pd
    trunk/externals/gridflow/doc/flow_classes/#slice-help.pd
    trunk/externals/gridflow/doc/flow_classes/#solarize-help.pd
    trunk/externals/gridflow/doc/flow_classes/#sort-help.pd
    trunk/externals/gridflow/doc/flow_classes/#spread-help.pd
    trunk/externals/gridflow/doc/flow_classes/#store-help.pd
    trunk/externals/gridflow/doc/flow_classes/#t-help.pd
    trunk/externals/gridflow/doc/flow_classes/#to_float-help.pd
    trunk/externals/gridflow/doc/flow_classes/#to_list-help.pd
    trunk/externals/gridflow/doc/flow_classes/#to_pix-help.pd
    trunk/externals/gridflow/doc/flow_classes/#to_symbol-help.pd
    trunk/externals/gridflow/doc/flow_classes/#unpack-#pack-help.pd
    trunk/externals/gridflow/doc/flow_classes/#unpack-help.pd
    trunk/externals/gridflow/doc/flow_classes/0x40complex_sq-help.pd
    trunk/externals/gridflow/doc/flow_classes/0x40join-help.pd
    trunk/externals/gridflow/doc/flow_classes/ascii-help.pd
    trunk/externals/gridflow/doc/flow_classes/condition-help.pd
    trunk/externals/gridflow/doc/flow_classes/count-help.pd
    trunk/externals/gridflow/doc/flow_classes/cv.Kalman-help.pd
    trunk/externals/gridflow/doc/flow_classes/cv.numop-help.pd
    trunk/externals/gridflow/doc/flow_classes/display-help.pd
    trunk/externals/gridflow/doc/flow_classes/exec-help.pd
    trunk/externals/gridflow/doc/flow_classes/for-help.pd
    trunk/externals/gridflow/doc/flow_classes/gf.oneshot-help.pd
    trunk/externals/gridflow/doc/flow_classes/gridflow-help.pd
    trunk/externals/gridflow/doc/flow_classes/inv*-help.pd
    trunk/externals/gridflow/doc/flow_classes/inv+-help.pd
    trunk/externals/gridflow/doc/flow_classes/listappend-help.pd
    trunk/externals/gridflow/doc/flow_classes/listelement-help.pd
    trunk/externals/gridflow/doc/flow_classes/listflatten-help.pd
    trunk/externals/gridflow/doc/flow_classes/listlength-help.pd
    trunk/externals/gridflow/doc/flow_classes/listprepend-help.pd
    trunk/externals/gridflow/doc/flow_classes/listsublist-help.pd
    trunk/externals/gridflow/doc/flow_classes/ls-help.pd
    trunk/externals/gridflow/doc/flow_classes/mysql-help.pd
    trunk/externals/gridflow/doc/flow_classes/parallel_port-help.pd
    trunk/externals/gridflow/doc/flow_classes/plotter_control-help.pd
    trunk/externals/gridflow/doc/flow_classes/renamefile-help.pd
    trunk/externals/gridflow/doc/flow_classes/route2-help.pd
    trunk/externals/gridflow/doc/flow_classes/seq_fold-help.pd
    trunk/externals/gridflow/doc/flow_classes/shunt-help.pd
    trunk/externals/gridflow/doc/flow_classes/unix_time-help.pd
    trunk/externals/gridflow/doc/format.html
    trunk/externals/gridflow/doc/format.xml
    trunk/externals/gridflow/doc/gridflow.css
    trunk/externals/gridflow/doc/images/
    trunk/externals/gridflow/doc/images/black.png
    trunk/externals/gridflow/doc/images/crop_icons
    trunk/externals/gridflow/doc/images/header1.png
    trunk/externals/gridflow/doc/images/header1.xcf
    trunk/externals/gridflow/doc/images/header2.png
    trunk/externals/gridflow/doc/images/header3.png
    trunk/externals/gridflow/doc/images/pingpong.png
    trunk/externals/gridflow/doc/images/see_screenshot.png
    trunk/externals/gridflow/doc/images/titre_gridflow.png
    trunk/externals/gridflow/doc/index.html
    trunk/externals/gridflow/doc/index.pd
    trunk/externals/gridflow/doc/install.html
    trunk/externals/gridflow/doc/introduction.html
    trunk/externals/gridflow/doc/license.html
    trunk/externals/gridflow/doc/locale/
    trunk/externals/gridflow/doc/locale/english.tcl
    trunk/externals/gridflow/doc/make_index.tcl
    trunk/externals/gridflow/doc/moulinette.tcl
    trunk/externals/gridflow/doc/numop.pd
    trunk/externals/gridflow/doc/numtype.pd
    trunk/externals/gridflow/doc/reference.html
    trunk/externals/gridflow/doc/reference.xml
    trunk/externals/gridflow/doc/tutorials/
    trunk/externals/gridflow/doc/tutorials/gf_sampling_quantization.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_grid_1.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_grid_2.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_grid_3.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_image_1.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_image_2.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_image_3.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_image_4.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_image_5.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_image_6.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_image_7.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_image_8.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_image_9.pd
    trunk/externals/gridflow/doc/tutorials/gf_tutorial_intro.pd
    trunk/externals/gridflow/doc/tutorials/grid-intro.pd
    trunk/externals/gridflow/doc/tutorials/pure-data-1.pd
    trunk/externals/gridflow/doc/tutorials/pure-data-2.pd
    trunk/externals/gridflow/doc/tutorials/pure-data-3.pd
    trunk/externals/gridflow/doc/tutorials/pure-data-4.pd
    trunk/externals/gridflow/doc/tutorials/pure-data-5.pd
    trunk/externals/gridflow/doc/tutorials/pure-data-6.pd
    trunk/externals/gridflow/doc/tutorials/pure-data-7.pd
    trunk/externals/gridflow/doc/tutorials/pure-data-8.pd
    trunk/externals/gridflow/doc/tutorials/pure-data-9.pd
    trunk/externals/gridflow/examples/
    trunk/externals/gridflow/examples/binary_operations.pd
    trunk/externals/gridflow/examples/blob.pd
    trunk/externals/gridflow/examples/bounce.pd
    trunk/externals/gridflow/examples/cellular_1d.pd
    trunk/externals/gridflow/examples/color_correction.pd
    trunk/externals/gridflow/examples/color_detect.pd
    trunk/externals/gridflow/examples/convolve.pd
    trunk/externals/gridflow/examples/cross_fade.pd
    trunk/externals/gridflow/examples/doodle.pd
    trunk/externals/gridflow/examples/drag_rectangle.pd
    trunk/externals/gridflow/examples/eclipse.pd
    trunk/externals/gridflow/examples/epicycloid.pd
    trunk/externals/gridflow/examples/feedback_fractal.pd
    trunk/externals/gridflow/examples/fire.pd
    trunk/externals/gridflow/examples/frequency_mask.pd
    trunk/externals/gridflow/examples/game_of_life.pd
    trunk/externals/gridflow/examples/game_of_life_gem.pd
    trunk/externals/gridflow/examples/goop.pd
    trunk/externals/gridflow/examples/heat.pd
    trunk/externals/gridflow/examples/hello-world.pd
    trunk/externals/gridflow/examples/image_stats.pd
    trunk/externals/gridflow/examples/instant_blur.pd
    trunk/externals/gridflow/examples/linear_transform.pd
    trunk/externals/gridflow/examples/markov.pd
    trunk/externals/gridflow/examples/mechanics.pd
    trunk/externals/gridflow/examples/motion_detect.pd
    trunk/externals/gridflow/examples/nervous_video.pd
    trunk/externals/gridflow/examples/photo_pianoroll.pd
    trunk/externals/gridflow/examples/play_video.pd
    trunk/externals/gridflow/examples/plot.pd
    trunk/externals/gridflow/examples/polygon.pd
    trunk/externals/gridflow/examples/polygon_editor.pd
    trunk/externals/gridflow/examples/postdigital.pd
    trunk/externals/gridflow/examples/ripple.pd
    trunk/externals/gridflow/examples/sand.pd
    trunk/externals/gridflow/examples/scratch_video.pd
    trunk/externals/gridflow/examples/slitscanning.pd
    trunk/externals/gridflow/examples/spectrogram.pd
    trunk/externals/gridflow/examples/threshold.pd
    trunk/externals/gridflow/examples/transform.pd
    trunk/externals/gridflow/examples/translation_tracker.pd
    trunk/externals/gridflow/examples/translation_tracker2.pd
    trunk/externals/gridflow/examples/videodev_effects.pd
    trunk/externals/gridflow/examples/wave_1d.pd
    trunk/externals/gridflow/examples/waves.pd
    trunk/externals/gridflow/examples/wobble.pd
    trunk/externals/gridflow/format/
    trunk/externals/gridflow/format/aalib.c
    trunk/externals/gridflow/format/dc1394.c
    trunk/externals/gridflow/format/ieee1394-ioctl.h
    trunk/externals/gridflow/format/jpeg.c
    trunk/externals/gridflow/format/main.c
    trunk/externals/gridflow/format/mpeg3.c
    trunk/externals/gridflow/format/netpbm.c
    trunk/externals/gridflow/format/opengl.c
    trunk/externals/gridflow/format/png.c
    trunk/externals/gridflow/format/pwc-ioctl.h
    trunk/externals/gridflow/format/quartz.m
    trunk/externals/gridflow/format/quicktimeapple.c
    trunk/externals/gridflow/format/quicktimehw.c
    trunk/externals/gridflow/format/sdl.c
    trunk/externals/gridflow/format/videodev.c
    trunk/externals/gridflow/format/x11.c
    trunk/externals/gridflow/gridflow.c
    trunk/externals/gridflow/gridflow.h
    trunk/externals/gridflow/images/
    trunk/externals/gridflow/images/README
    trunk/externals/gridflow/images/b001.jpg
    trunk/externals/gridflow/images/babbage.jpg
    trunk/externals/gridflow/images/bluemarble.jpg
    trunk/externals/gridflow/images/david.jpg
    trunk/externals/gridflow/images/etch_a_sketch.jpg
    trunk/externals/gridflow/images/g001.jpg
    trunk/externals/gridflow/images/lada.jpg
    trunk/externals/gridflow/images/lena.jpg
    trunk/externals/gridflow/images/lite_brite_1.jpg
    trunk/externals/gridflow/images/lite_brite_code.jpg
    trunk/externals/gridflow/images/litmus.jpg
    trunk/externals/gridflow/images/lucida-typewriter-12.grid.gz
    trunk/externals/gridflow/images/opensource.png
    trunk/externals/gridflow/images/pmask.png
    trunk/externals/gridflow/images/pure-data.jpg
    trunk/externals/gridflow/images/r001.jpg
    trunk/externals/gridflow/images/rose.jpg
    trunk/externals/gridflow/images/scissors.jpg
    trunk/externals/gridflow/images/sewing.jpg
    trunk/externals/gridflow/images/teapot.png
    trunk/externals/gridflow/images/test.mpeg
    trunk/externals/gridflow/images/tux.tga.gz
    trunk/externals/gridflow/images/violoncelle.mov
    trunk/externals/gridflow/images/working.jpg
    trunk/externals/gridflow/optional/
    trunk/externals/gridflow/optional/fftw.c
    trunk/externals/gridflow/optional/gem.c
    trunk/externals/gridflow/optional/opencv.c
    trunk/externals/gridflow/tests/
    trunk/externals/gridflow/tests/#print-test.pd
    trunk/externals/gridflow/tests/Makefile
    trunk/externals/gridflow/tests/args-2-test.pd
    trunk/externals/gridflow/tests/args-test.pd
    trunk/externals/gridflow/tests/cv.SVD-test.pd
    trunk/externals/gridflow/tests/foreach-test.pd
    trunk/externals/gridflow/tests/fps-test.pd
    trunk/externals/gridflow/tests/gf.error-2-test.pd
    trunk/externals/gridflow/tests/gf.error-test.pd
    trunk/externals/gridflow/tests/malloc-test.c
    trunk/externals/gridflow/tests/opencv-test1.pd
    trunk/externals/gridflow/tests/opencv-test2.pd
    trunk/externals/gridflow/tests/plotter_control-test.pd
    trunk/externals/gridflow/tests/plotter_parser-test.pd
    trunk/externals/gridflow/tests/range-test.pd
    trunk/externals/gridflow/tests/suppressions.valg3

Added: trunk/externals/gridflow/COPYING
===================================================================
--- trunk/externals/gridflow/COPYING	                        (rev 0)
+++ trunk/externals/gridflow/COPYING	2008-07-08 05:56:10 UTC (rev 10148)
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    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.
+
+    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
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.

Added: trunk/externals/gridflow/ChangeLog
===================================================================
--- trunk/externals/gridflow/ChangeLog	                        (rev 0)
+++ trunk/externals/gridflow/ChangeLog	2008-07-08 05:56:10 UTC (rev 10148)
@@ -0,0 +1,637 @@
+/* $Id: ChangeLog 3986 2008-07-04 21:03:52Z matju $ */
+
+version 0.9.4 (2008.07.04):
+
+ * [#convolve] takes more RAM but gets faster on OSX
+ * added [listread], [receives], [ascii_to_f], [plotter_parser], [list.==]
+ * added [cv.Invert], [cv.SVD], [expect], [#hello]
+ * [plotter_control] supports most other commands and uppercase selectors
+ * added [#in dc1394]
+ * added [#window] (a shortcut for a [spigot] and a [#out window])
+ * rewrote [listflatten] (was removed in 0.9.2)
+ * [#camera] greys out unavailable options and supports dc1394
+ * added "GridFlow index" in Help menu (like Pd's right-click on blank)
+ * made arguments optional in [#border] [#draw_image] [#draw_polygon]
+ * [#draw_polygon]: added attribute "draw" (fill, line)
+ * [#draw_polygon]: added attribute "omit" (none, last, odd)
+ * support whitespace in symbols again (after bug in 0.9.2)
+ * fixed ppm loader
+ * [#fft]: added attribute "real"
+ * added example frequency_mask.pd
+
+version 0.9.3 (2008.06.06):
+
+ * fixed bugs introduced in 0.9.2 relative to: [#in] loop, [#in] initbang,
+   [display] selector, [#out] initbang, [#print], [#labeling], [#out window]
+ * added example patches instant_blur.pd game_of_life_gem.pd
+ * added [class_exists]
+ * added [#in quicktimecamera]
+ * fixed some example patches
+ * fixed some recent OSX compilation problems
+ * fixed OSX QuickTime decoding on Intel (endianness problem)
+ * fixed existing GEM 0.89 and 0.90 support
+ * added GEM 0.91 support (GemBase::isRunnable)
+ * --gem-source renamed to --gem-include
+ * --gem-include=bundled can compile gem support without gem source code
+ * swapped outlets of [#import_pix]
+ * added SDL mouse position event report (but buttonup does not work)
+ * added SDL key report
+ * added some SDL options: title, hidecursor, partial setcursor
+ * added SDL fullscreen (use key f, F11 or Escape)
+ * x11: replaced method "transfer" by method "shared_memory".
+
+version 0.9.2 (2008.05.02):
+
+ * removed libruby dependency
+
+version 0.9.1 (2008.04.16):
+
+ * switched from CVS to SVN
+ * removed LTIlib support
+ * x11: added "warp" method for moving mouse cursor around
+ * removed all Ruby code (rewritten in C++ or Pd)
+ * rewrote PPM support. now relies on libnetpbm.
+   (apt-get install libnetpbm10-dev)
+ * removed broken Targa support
+ * removed timelog feature in [#in]/[#out] (redundant)
+ * removed [joystick_port], [SoundMixer], [pd_netsocket], [rubyarray], [ls],
+   [system], [exec], [regsub], [memstat], [#edit], [peephole], [listmake],
+   [gridflow]/[#global], [sendgui], [realtimer], [bindpatcher], [renamefile]
+   (contact me if you need any of them)
+ * added [gf.error], [usertime], [systemtime], [tsctime]
+ * added method to_ascii in [#import]
+ * [display] word-wrap
+ * [#import] defaults to per_message mode
+ * removed support for ~/.gridflow_startup and GridFlow.data_path
+   (contact me if you need them)
+
+version 0.9.0 (2007.11.20):
+
+ * new object classes: [#slice], [#sort], [#line_to_polygon].
+ * rewrote some object classes from Ruby to Pd.
+ * split compilation of the LTIlib support allows to compile
+   it with reasonable amounts of RAM.
+ * new classes: [seq_fold], [#seq_fold], [#.var], [#noise_gate_yuvs]
+ * updated [#camera]
+ * added PWC-specific options: framerate white_mode white_red white_blue
+   white_speed white_delay auto_gain compression noise_reduction
+ * added "pwc" option in [#camera], for enabling PWC-specific options.
+ * colorspace conversion directly in [#in videodev] (faster)
+ * grid messages no longer contain dim and numbertype (just a pointer)
+ * GridOutlet: added set_chunk (so set_factor is obsolete)
+ * removed GridFlow menu
+ * faster [#inner] for small matrix sizes
+ * GridFlow won't work in plain Ruby anymore (without Pd)
+ * removed [pd_netsend] [jmax_udpsend] [jmax4_udpsend] [pd_netreceive]
+   [jmax_udpreceive] [jmax4_udpreceive] [printargs] [rubyprint]
+ * removed Type.rb and Contract.rb and their use in videodev.c
+ * [#in quicktime]: added workaround for jpeg_quality problem
+ * [#in quicktime]: added method "get", that produces message "frames"
+   that gives the number of frames in a video
+ * [#out]: added method "autoclose"
+ * removed old documentation: *-icon.png
+ * renamed [#export]        to [#to_float]
+ * renamed [#export_list]   to [#to_list]
+ * renamed [#export_symbol] to [#to_symbol]
+ * renamed [#export_pix]    to [#to_pix]
+ * fixed 256MB limit bug
+ * fixed reassign bug
+
+version 0.8.4 (2006.10.12):
+
+ * resuming support for Ruby 1.8 !
+ * added compatibility with more recent versions of Ruby 1.9
+ * added compatibility with more recent versions of GCC 4.x
+ * much more LTIlib support! (a few dozen more object classes)
+ * [#camera]: improved
+ * rblti supports ltilib 1.9.15 and gcc 4
+ * new object classes: [route2], [#polygon_each_edge],
+   [#polygon_moment], [#polygon_radial_map], [#polygon_comparator],
+   [#moment_polar].
+ * new float-only numops:   sin   cos   tanh   exp   log atan2
+ * new float-only vecops: C.sin C.cos C.tanh C.exp C.log
+ * [#fft] can do RGB (per channel)
+ * can show added inlets/outlets at runtime.
+ * can remove inlets/outlets at runtime (and erase them from screen).
+ * much faster videodev !!!
+
+   (also unfinished [#edit_polygon] and [#draw_rect]).
+
+version 0.8.3 (2006.04.02):
+
+ * added Makefile rules for downloading+installing ruby 1.9
+ * new numops: weight rol ror
+ * new vecops concept helps with complex numbers
+ * new vecops: C.* C.*conj C./ C./conj C.sq- C.abs-
+ * [#convolve]: added attr "wrap", "anti"
+ * [#inner]: faster!
+ * [#shunt]: added attr index,mode,lo,hi
+ * now also works with older (non-CVS) versions of GEM
+ * new object classes: [#fastblur], [#t], [#rgb_to_rgba], [#rgba_to_rgb],
+   [#change], [#swap], [#polygon_perimetre], [#polygon_area], [args],
+   [#gamma], [#saturation]
+ * now autodetects the .gz suffix (goes with ppm/targa/grid formats)
+ * moved the rest of pd_help/ to doc/flow_classes/
+ * automatic attribute generator for Ruby
+
+version 0.8.2 (2006.03.17):
+
+ * Ruby 1.9 required
+ * removed jmax2pd
+ * fixes of various compilation problems
+ * new object classes: [realtimer], [#export_pix], [#import_pix],
+   [#border], [#fft]
+ * beginning support for LTIlib. new object classes:
+   [lti], [lti.meanShiftSegmentation], etc.
+ * added "load" method in [gridflow]. (thanks Claude)
+ * automatic attribute generator for C++
+ * added "help" and "get" methods to *all* classes (!!!)
+ * no more "make install"
+ * not using mkmf.rb (ruby's makefile generator) anymore
+ * removed --debug-harder (use "valgrind" instead)
+
+version 0.8.1 (2006.02.20):
+
+ * [ls] now supports wildcards: ? [] * **
+ * [#color] has new method: delegate
+ * added [regsub], [memstat], [listfind], [sendgui]
+ * x11: removed methods: draw,autodraw; added: use_shm,title
+ * examples : added markov.pd, bounce.pd, doodle.pd, mechanics.pd
+ * [#pack],[#unpack] now default to 2 values
+ * new numops: clip+,clip-
+ * fix for shared memory bug in [#out x11]
+ * added [#out tk]
+ * added [#out opengl] (using GLUT, hackishly)
+ * [unix_time] behaviour changed. (see manual)
+
+version 0.8.0 (2005.06.06):
+
+ * removed support for jMax 2.5 and jMax 4.1
+ * added GCC 3.4 support
+ * added AMD64 support
+ * added support for puredata "datastructure" pointers (aka gpointer)
+ * changing the @-prefix for a #-prefix, where the old prefix still works
+   (the old syntax is backwards-compatible,
+    the new syntax is forwards-compatible)
+ * 13 object-classes rewritten from Ruby to Pd abstractions
+ * merged [@],[@!] -> [#] and added message "op"
+ * removed all one-input ops (see next...)
+ * new two-input ops: abs- sq- avg hypot sqrt rand
+ * [#fold],[#scan]: removed seed arg and right outlet; added msgs "op" and "seed"
+ * [#inner],[#convolve] : added msgs "op" and "seed"
+ * [#inner],[#convolve] : removed three first args (usually * + 0)
+ * [#inner] : removed middle inlet
+ * major changes to the bridge API (Ruby<->PureData)
+ * project "Linux Devices For Ruby" got merged in, as devices4ruby/
+ * source code cleanup
+ * internals: split Grid into Grid+GridPtr
+ * internals: GridObject no longer manages GridOutlet
+ * internals: added classes P,PtrGrid,...
+ * internals: beginning to use C++'s Standard Template Library (sometimes)
+ * [gridflow] now has "formats" msg (to list available formats)
+ * [#store] added msg "op"
+ * [#out x11] removed flag "verbose"
+ * some spaces may now be omitted in gf-lists. e.g.:
+   ( ( 2 1 ) ( ) ) ( 3 4 ( 5 ) ) can be shortened to: ((2 1) ()) (3 4 (5))
+ * new object classes:
+   [display], [#reverse], [#unpack], [#centroid2], [ls], [renamefile], [unix_time],
+   [exec], [plotter_control], [#text_to_image], [#hueshift], [rubyarray]
+ * in pd_examples added Alx's epicycloid.pd, scratch_video.pd, threshold.pd
+      and Matju's goop.pd
+ * some new/updated help files by St�hanie Brodeur & Darsha Hewitt
+
+version 0.7.7 (2004.08.24):
+
+ * GridFlow runs on MacOS 10.2 with PureData 0.37
+ * updated drag_rectangle.pd, nervous_video.pd, fire.pd, color_correction.pd
+ * updated feedback_fractal.pd (added morphing)
+ * added pd_examples/waves.pd, pd_examples/sand.pd
+ * added pd_examples/color_detect.pd (supersedes chroma_key.pd)
+ * added pd_examples/spectrogram.pd, pd_examples/photo_pianoroll.pd
+ * removed [rtmetro] (obsolete)
+ * [@store]: added methods: put_at, reassign
+ * [pingpong]: added $1
+ * [demux] renamed to [shunt] and extra optional arg added (for initial value)
+ * new object classes:
+   [range], [#mouse], [#pack], [#color], [bindpatcher],
+   [#camera], [#fade_lin], [#peephole]
+ * videodev: added method "get"
+ * [@out quartz] now works properly
+ * [@downscale_by] accepts any number of channels
+ * [@inner2] removed; instead use [@transpose] with [@inner]
+ * videodev: "transfer" message allows to change the queue's length
+ * quicktime(hw): added messages "parameter", "framerate", "size"
+ * quicktime(hw): fixed encoding bug
+ * png: fixed memory leak
+ * ./configure --lite disables float32 float64 int64
+ * ./configure --verbose prints useless details
+ * doc: rewrote installation instructions
+ * x11: fixed memory leak in resizing window
+ * on MacOS 10 [@out window] now defaults to [@out quartz]
+ * doc: added credits section
+ 
+version 0.7.6 (2004.03.22):
+
+ * GridFlow runs on MacOS 10.2 (only with jMax 2.5)
+ * [@out quartz] makes a native MacOS (Cocoa+Quartz) window (warning: very buggy)
+ * support for Apple QuickTime movie decoding (format/quicktimeapple.c)
+ * file suffix detector is now extensible
+ * added: Ruby interface for libUSB (base/usb.c)
+ * x11: now emits "keypress" and "keyrelease" messages
+ * [@downscale_by] now supports 4 channels (therefore [peephole] does too)
+ * fixed bugs in: x11, @draw_image, @import, @export, ...
+ * "open x11" now allows any DISPLAY spec
+ * now includes the pictures used in the examples
+     (not a separate download anymore)
+ * [@out x11 here override_redirect] (override window manager; be careful with this)
+ * [pd_netsocket] does like [netsend]/[netreceive] but two-way
+   (warning: not complete yet)
+ * support for nested lists in incoming messages
+ * new object classes:
+   [delcom_usb]: support for Delcom USB I/O controller
+   [joystick_port]: support for linux joystick drivers
+   [foreach], [rubysprintf], [listflatten]
+   [messageprepend], [messageappend], [@transpose]
+   [@fade], [@centroid]
+   jMax emulation: [listmake], [listlength], [listelement], [listsublist]
+   jMax emulation: [listprepend], [listappend], [listreverse], [oneshot]
+   jMax emulation: [inv+], [inv*]
+ * Pd main window: adding GridFlow menu, Ruby/Tcl evaluators (with command-history)
+ * added bin/jmax2pd (converts .jmax files to .pd files)
+ * ported all .jmax examples to .pd (using jmax2pd) (20 out of 20)
+ * support for variable number of inlets/outlets (only with PureData)
+
+version 0.7.5 (2003.09.28):
+
+ * type aliases: int32,i32,i; int16,i16,s; uint8,u8,b; float32,f32,f
+ * added support for float64 (alias f64, d)
+ * added support for int64 (alias i64, l)
+ * doc: added number type table
+ * @convolve: supports even-sized grids
+ * fixed bug: puredata gf clock ran way too fast
+ * rewrote the profiler subsystem (and removed bugs)
+ * @scale_by: now works with any number of channels
+ * renamed samples/ to jmax_examples/
+ * Algebraic Properties Descriptions (internal, used for accelerations)
+ * @convolve, at outer, at for, at inner, at draw_polygon: much faster
+ * quicktime: support for pluggable codecs (eg: dv, divx, rpza, ...)
+ * quicktime: fixed more bugs
+ * quicktime: major speed increase
+ * quicktime: added "colorspace" option
+ * videodev: fixed bugs
+ * videodev: removed obsolete option "noinit"
+ * videodev: added option "colormodel" (especially because of new camera drivers)
+ * sdl: added automatic resizing of window
+ * png: read support
+ * jMax bridge: more stable than ever
+ * PureData bridge: *much* more stable than ever
+ * Operator1, Operator2 renamed to Numop1, Numop2
+ * x11: now also called "window", so you can write "@out window", "open window"
+ * new object classes:
+     @draw_image: picture-in-picture, with alpha blending, etc
+     jmax4_udpsend: send to a jMax 4.0.x system via UDP
+     jmax4_udpreceive: receive from a jMax 4.0.x system via UDP
+     pd_netsend: send to a pd system via UDP
+     pd_netreceive: receive from a pd system via UDP
+     @eight: (like @four, but with eight of them ;-)
+     peephole: like [@out x11] but as inset of a patcher (jMax 2.5 only)
+ * support for upcoming jMax 4.1
+ * "open file" autodetects how to handle a file, by filename suffix
+
+version 0.7.2 (2003.04.24):
+
+ * fixed bugs in: make install, jpeg reading
+ * added support for float32
+ * added direct .jmax decoding
+ * added direct .pd encoding
+ * pd examples moved to separate directory
+ * ported some .jmax examples to .pd (automated) (8 out of 20)
+ * added motion_detect.pd
+ * new classes: demux, and more jmax emulations
+ * @in, at out: keyword "option" may be omitted
+ * configure: added --ruby-prefix
+ * adding custom C++ pre-preprocessor
+ * better type checking of message arguments (better error reporting too)
+ * @print supports 3 dimensions, and msg "base" with arg 2,8,10,16
+ * can now write loadbang-messages into an object box using the comma
+ * major cleanup of the source code
+ * added operator *>>8 (multiplication by value then division by 256)
+ * new classes: @rgb_to_yuv, @yuv_to_rgb
+ * @rotate now works with multiple axis (can work on 3D points, etc)
+
+version 0.7.1 (2003.03.24):
+
+ * fixed important bugs (crashes and such)
+ * @store,@ can now receive in inlet 1 while sending from outlet 0.
+ * @, when inlet 1 grid size is small but not 1, is now much faster.
+ * added memcpy() usage logging (see profiler_dump)
+ * added examples: drag_rectangle.jmax, plot.jmax, eclipse.jmax
+ * added example: cellular_1d.pd
+ * added classes: fork, jmax_udpsend, jmax_udpreceive
+ * added classes: @rotate, @remap_image, @type
+ * added operators: gcd,lcm (common divisors/multiples)
+ * quicktime: added encoding, added seek, fixed bugs
+ * @in inlet 1 tells frame number (int), end-of-file (bang)
+ * @in: added: set, option loop (controlling auto-rewind)
+ * updated cross_fade.jmax (much faster)
+ * @two, at three, at four allow inlet 0 bang trigger
+ * configure: simpler config for jMax 2.5
+ * PD help patches (by Uli Berthold)
+ * PD: "make install" takes care of help patches and library
+ * CVS web interface on artengine.ca (thanks to Alex)
+
+version 0.7.0 (2003.02.01):
+
+ * new classes: @cast, @join, @ravel, @grade, @perspective
+ * new grid protocol supports several number types (added uint8,int16)
+ * added number type support in most classes
+ * added "option cast" for @in in some formats
+ * can now specify number types in grid literals
+ * added some MMX support (accelerates by 0%..40%)
+ * @import: added optional 2nd arg specifying type.
+ * @import: can convert symbols to grids of their ascii codes.
+ * new [@import per_message] yields one grid per incoming message
+ * [fps]: added options "user" "system" "cpu" for selecting clock
+ * aalib: added options autodraw, draw, dump
+ * aalib: added raw input (two channels: characters, attributes)
+ * x11: added support for 256-color mode using a private colormap.
+ * x11: added "use_stripes" for alternate 256-color rendering.
+ * fixed problems with earlier versions of Ruby (like 1.6.2)
+ * new samples: polygon.jmax
+ * videodev_effects.jmax: added sort-effects, centre-of-gravity-tracking
+ * the time profiler is back to working !!!
+ * @scale_by, @downscale_by: added right inlet, for configuration
+ * @store is a bit faster
+ * ppm: accelerated by large amount
+ * @outer, at inner, at inner2, at fold accelerated by obscene amount
+
+version 0.6.5 (2003.01.10):
+
+ * can now encode Targa-24, Targa-32, JPEG-24
+ * can now output through aalib (ascii art library)
+ * fixed problems with libruby.a
+ * tested with the new version of Ruby (1.8)
+ * new classes:
+	fps, @rgb_to_greyscale, @greyscale_to_rgb, @solarize,
+	@complex_sq, @export_symbol, @draw_polygon,
+	@apply_colormap_channelwise
+ * new class FPatcher, a ruby patcher/abstraction system
+ * @scale_to, at contrast, at spread, at posterize now available in
+	PureData & Ruby; they also now accept arguments.
+ * [@scale_to]: back to working; inlets "height" and "width" merged
+ * [route grid_begin] replaced by [route grid]
+ * [route grid_end] replaced by [@finished]
+ * Most everything is 10-50% faster
+ * changes in the internal transmission of grids
+ * new two-input operators: div, swapdiv, put, ignore
+ * compilable on MacOS 10
+
+version 0.6.4 (2002.12.23):
+
+ * can now decode JPEG (using libjpeg.so)
+ * many bugs fixed (especially in file formats)
+ * operators: log* added; tanh renamed to tanh*
+ * @two, at three, at four are no longer specific to the jMax side
+ * format grid: option headerless for reading any kind of file
+ * format grid: option headerful (revert to actual .grid format mode)
+ * fixed problems with GNU C++ version 3
+ * format ppm: accelerated writing
+ * format modifier gzfile: gzip support also works with [@out]
+ * format x11: the "here" specifier is now optional
+ * added @checkers
+ * [@scale_by {y x}] for different y,x scale factors
+ * [@in blah blah] means "open blah blah" -> [@in] (and same with @out)
+ * added @downscale_by with or without smoothing
+ * format targa: can now decode 32 bit RGBA
+ * @layer: combines RGBA foreground with RGB background, yielding RGB.
+ * format grid options: endian big, endian little, endian same
+ * formats ppm,grid: use 'option rewind' to overwrite same file
+	(by default, rewind is no longer done after each frame)
+	('option rewind' also rewinds on reading)
+
+version 0.6.3 (2002.12.06):
+
+ * removing the custom leak detector ("Valgrind" program used instead)
+ * removed all (?) memory leaks
+ * videodev: new options: frequency, transfer [read|mmap], noinit
+ * profiler summary code rewritten
+ * profiler wrapper code removed
+ * x11: option setcursor <0-63>, option hidecursor
+ * x11: outlet 0 tells cursor position / button state
+ * more C++ification of the code
+ * many bugs fixed (especially crashes)
+
+version 0.6.2 (2002.09.17):
+
+ * jMax objects written in (or using) Ruby now can work in PureData too.
+ * new format: SDL (portable output to window)
+ * can now compile bridges without libruby.so
+ * changed grid-protocol: added direct object-to-object streaming.
+ * bug: gridflow's clock tick back to a decent value (sorry)
+ * all inlets supporting grids also convert int/float as 0-D grids
+ * @fold and @scan now accept grids in right inlet and constructor
+ * @convolve is 2-3 times faster
+ * %,swap% are now called rem,swaprem; new %,swap% is the true modulo.
+ * @for now allows vectorial from/to/step values
+ * @identity_transform removed, change to eg: [@for{0 0}{240 320}{1 1}]
+ * PD users: grid literals are written like:
+	[@for ( 0 0 ) ( 240 320 ) ( 1 1 )] with all those spaces
+ * @inner, at inner2, at convolve can take right inlet grid as 4th argument
+ * re-enabled and improved the memory leak detector (use --debug)
+ * fixed many bugs and leaks
+ * fixed bugs in @store
+ * added sample: zoom.pd
+
+version 0.6.1 (2002.08.29):
+
+ * now compiling GridFlow as C++ (replacing C)
+ * now you can use Ruby 1.7, which is faster
+	note: if you do so, make sure your version is dated 2002
+ * new objects: rubyprint, printargs, @print, @scan, @inner
+ * new format: apple quicktime (using libquicktime.so)
+ * @in gzip support (example: "open ppm gzfile teapot.ppm.gz")
+	also works with targa and grid
+ * BitPacking now supports 1 to 4 channels instead of just 3
+ * using mkmf.rb makefile generation; some MSWindows support thru Cygwin
+ * added geiger counter simulator in [rtmetro]
+ * libruby.so is only needed when using GridFlow through jMax
+ * now can do grid literals in @ and @outer, like [@ + {0 1}]
+ * syntax of @redim, at import changed from [@redim 2 3] to [@redim {2 3}]
+ * "3 3 # 1 0 0 1" into inlet does automatic @redim, for all objects
+ * grid literals accept {2 3 # 1 4 5} as an implicit [@redim {2 3}]
+ * objects rewritten in Ruby language: @in, @out
+ * updated samples, templates, documentation.
+ * fixed bugs
+
+version 0.6.0 (2002.07.31):
+
+ * THIS IS AN EXPERIMENTAL BRANCH (VERY BUGGY)
+     REAL PROJECTS SHOULD USE VERSION 0.5.0 INSTEAD
+ * GridFlow rewritten as a plugin for Ruby instead of jMax.
+ * GridFlow now includes a Ruby-for-jMax bridge.
+ * you need Ruby 1.6.6 (including libruby.so) or compatible
+ * you don't need GNU Bash anymore (configurator is now a Ruby program)
+ * format handlers for .ppm, .tga, .grid rewritten in Ruby
+ * merged all Makefiles together, etc.
+ * sources are in base/ and format/ instead of c/src/
+ * many bugs removed, many bugs added.
+ * will read ~/.gridflow_startup if it exists
+
+version 0.5.0 (2002.06.08):
+
+ * big changes to the internals (especially use of macros)
+ * can compile without X11; added --no-x11 in ./configure
+ * removed support for jMax 2.4
+ * auto-detects jMax 2.5 and jMax 3.0
+ * @inner renamed to @inner2 (new, proper @inner coming soon)
+ * faster unary operators
+ * added unary operator: sq (faster squaring)
+ * further separation of GridFlow from jMax
+ * major format API changes (added Stream class)
+ * format "grid" now supports 8 bits per value
+ * support for HeroineWarrior's LibMPEG3 (reading + seeking)
+ * libmpeg.so (Greg Ward's) now also looked up as "libwardsmpeg.so"
+ * added objects: rtmetro, pingpong
+ * Moved CVS repository from Hostname.2y.net to Artengine.ca
+ * updated samples
+
+version 0.4.1 (2002.01.02):
+
+ * cvs repository now has public access
+ * now can run configure without jmax/fts being present
+ * standalone version now works on Silicon Graphics and Corel Netwinder.
+ * MPEG format readonly (single file at a time; mpeg video layer only)
+ * grid TCP: non-blocking read
+ * fixed all known memory leaks
+ * X11 Shared Memory now disables itself properly on remote display
+ * updated help files
+ * updated help screenshots in the manual
+ * fixed profiler bugs
+ * fts emulation moved to c/src/ and tests moved to tests/
+
+version 0.4.0 (2001.11.28):
+
+ * package name changed from "video4jmax" to "gridflow"
+ * documentation *rewritten*, more precise, more structured
+ * documentation format is now XML (includes HTMLized version)
+ * can now compile without jmax/fts (if you need quicker testing...)
+ * added format "grid" for storing any kind of grid to disk.
+ * added TCP client/server socket support (with format "grid" only)
+ * added (timewise) profiler
+ * @convolve now takes up to three arguments
+ * Format API changes again
+	* "connect" merged into "open"
+	* "size" merged into "option"
+	* @video_out merged into @out
+ * format videodev can now do full framerate (instead of just half)
+ * added X11 Shared Memory support (faster image transfer locally)
+ * added @scale_by for quick scaling by integer factors.
+ * @identity_transform, @scale_to are much faster.
+ * many other accelerations
+
+version 0.3.0 (2001.11.04):
+
+ * reworked File Format API
+ * grid objects now all accept lists of integers (auto-convert to 1D grid)
+ * many accelerations (incl large speedup on chains of binary operations)
+ * transformed @video_out (X11) into a "File Format" (really) and:
+	* allows multiple displays
+	* auto-resizing window
+	* can set output as wallpaper
+	* can read from the screen (screenshot)
+	* @video_out now a backward-compatibility wrapper
+ * format videodev now uses double buffer mmap (somewhat faster)
+ * @video_in_file, @video_out_file renamed to @in, @out (with aliases)
+ * new objects:
+	@convolve, @inner, @for
+ * more samples: Fire, Ripple, Game of Life, Chroma Key, Convolve, Saturation
+ * much improved samples: Color Correction, Linear Transform.
+ * use [@store uint8] for low-ram storage of values 0-255.
+ * videodev: added option norm 0=pal 1=ntsc 2=secam 3=auto
+
+version 0.2.2 (2001.08.15):
+
+ * @video_out auto-updates on X11 ExposeEvent
+ * updated documentation and help
+ * fixed installation/config of help and summary
+ * split BitPacking module from @video_out
+ * added support for BTTV input (that is, using mmap() command)
+ * new videodev options: channel,tuner,contrast,hue,etc.
+ * now with 30 binary operators, and 3 unary operators
+ * added many new samples
+ * new objects:
+	@!, @fold, @outer, @dim, @redim,
+	@posterize, @contrast, @two, @three,
+	@identity_transform, @scale_to, @spread
+
+version 0.2.1 (2001.08.01):
+
+ * added private CVS repository on hostname.2y.net
+ * added configuration script (detects video4linux 1.x)
+ * added documentation in HTML format
+ * added File Format API
+	* format "ppm": PPM P6 RGB24 support read-write
+	* format "targa": Targa RGB24 support read-only
+	* format "videodev": Video4linux read (using read() command only)
+ * @store no longer slowing down its downstream
+ * many other accelerations
+ * Tuple changed to Dim; Index removed
+ * Grid element type is typedef Number
+ * @ supports grids in right inlet
+ * now there are 20 binary operators
+
+version 0.2.0 (2001.05.05):
+
+ * package name changed from "video" to "video4jmax"
+ * new kind of post() cancels repetitive log entries
+ * major modifications to existing objects
+ * new "grid transmission system"
+	(Tuple,Index,GridInlet,GridOutlet,GridObject)
+ * vout -> @video_out
+ * vin_file -> @video_in_file
+ * vout_file -> @video_out_file
+ * added @import, @export
+ * added @, @store
+
+version 0.1.1 (2001.04.03):
+
+ * removed vout's grab
+ * vout width and height parameters swapped
+ * vout_file class is mostly like vout but writes to a file in PPM format.
+
+version 0.1.0 (2001.03.14):
+
+ * fixed the bits_per_pixel bug
+ * merged in some other variations on the main sample
+ * included Christian's makefiles for jmax 2.5
+
+version 0.0.7 (2001.03.08):
+
+ * vout should support most types of RGB visuals now
+ * autodraw now works: 0=none; 1=page; 2=line; 3=pixel
+ * less global variables
+ * putting all of this under the GPL
+
+version 0.0.5 (2001.03.05):
+
+ * vout class, two params: width, height; 24-bit BGR only; refresh by
+finishing scanline or sending bang; "grab" (hack); "reset" for resetting
+the pixel pointer.
+
+
+
+a very short history of GridFlow:
+
+video4jmax 0.1 (mar 2001): sending int messages to a window in jMax
+video4jmax 0.2 (may 2001): grids
+GridFlow   0.4 (nov 2001): xml manual; can compile without jMax
+GridFlow   0.5 (jun 2002): mpeg; cvs goes to artengine.ca
+GridFlow   0.6 (aug 2002): ruby; c++; literals
+GridFlow   0.6.2 - 0.6.5 : pd; jpeg; big speedups; 1 grid = 1 message
+GridFlow   0.7.0 (feb 2003): number types; mmx; other big speedups
+GridFlow   0.7.2 - 0.7.5 : pd support gets stable; float grids; @draw_image; source_filter.rb
+GridFlow   0.7.6 to 7 (2004): permanently switching from jmax to pd; #pack, #color, #camera
+GridFlow   0.8 (2005): attributes; # prefix
+GridFlow   0.8.1 to 4 (2006): LTI; FFT; complex numbers; GEM pix compatibility
+GridFlow   0.9.0 (2008): removing Ruby, removing LTI, adding OpenCV
+GridFlow   2.0 : ...

Added: trunk/externals/gridflow/LICENSE
===================================================================
--- trunk/externals/gridflow/LICENSE	                        (rev 0)
+++ trunk/externals/gridflow/LICENSE	2008-07-08 05:56:10 UTC (rev 10148)
@@ -0,0 +1,341 @@
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    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.
+
+    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
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.

Added: trunk/externals/gridflow/Makefile
===================================================================
--- trunk/externals/gridflow/Makefile	                        (rev 0)
+++ trunk/externals/gridflow/Makefile	2008-07-08 05:56:10 UTC (rev 10148)
@@ -0,0 +1,119 @@
+#!/usr/bin/make
+# $Id: Makefile 3748 2008-06-02 17:45:25Z matju $
+
+include config.make
+COMMON_DEPS = config.make Makefile base/source_filter.rb
+RUBY = ruby
+
+#--------#
+
+SHELL = /bin/sh
+LDSHARED = $(CXX) $(PDBUNDLEFLAGS)
+RM = rm -f
+CFLAGS += -Wall -Wno-unused -Wunused-variable -g -fPIC -I.
+
+# LDFLAGS += ../gem-cvs/Gem/Gem.pd_linux
+
+LDSOFLAGS += -lm $(LIBS)
+OBJS2 = base/grid.o base/flow_objects.o base/number.1.o base/number.2.o base/number.3.o base/number.4.o format/main.o
+SYSTEM = $(shell uname -s | sed -e 's/^MINGW.*/NT/')
+FILT = $(RUBY) -w base/source_filter.rb
+ifeq ($(OS),darwin)
+  PDSUF = .pd_darwin
+  PDBUNDLEFLAGS = -bundle -flat_namespace -undefined suppress
+else
+  ifeq ($(OS),nt)
+    PDSUF = .dll
+    PDBUNDLEFLAGS = -shared
+  else
+    PDSUF = .pd_linux
+    PDBUNDLEFLAGS = -shared -rdynamic
+  endif
+endif
+PD_LIB = gridflow$(PDSUF)
+
+all:: $(PD_LIB) deprecated
+
+.SUFFIXES:
+
+H = gridflow.h.fcs
+
+%.h.fcs: %.h $(COMMON_DEPS)
+	$(FILT) $< $@
+%.c.fcs: %.c $(COMMON_DEPS) $(H)
+	$(FILT) $< $@
+%.m.fcs: %.m $(COMMON_DEPS) $(H)
+	$(FILT) $< $@
+%.o: %.c.fcs $(COMMON_DEPS) $(H)
+	$(CXX) $(CFLAGS) -c $< -o $@
+%.1.o: %.c.fcs $(COMMON_DEPS) $(H)
+	$(CXX) $(CFLAGS) -DPASS1 -c $< -o $@
+%.2.o: %.c.fcs $(COMMON_DEPS) $(H)
+	$(CXX) $(CFLAGS) -DPASS2 -c $< -o $@
+%.3.o: %.c.fcs $(COMMON_DEPS) $(H)
+	$(CXX) $(CFLAGS) -DPASS3 -c $< -o $@
+%.4.o: %.c.fcs $(COMMON_DEPS) $(H)
+	$(CXX) $(CFLAGS) -DPASS4 -c $< -o $@
+%.o: %.m.fcs $(COMMON_DEPS) $(H)
+	$(CXX) $(CFLAGS) -xobjective-c++ -c $< -o $@
+
+%.s: %.c.fcs $(COMMON_DEPS) $(H)
+	$(CXX) $(CFLAGS) -S $< -o $@
+%.e: %.c.fcs $(COMMON_DEPS) $(H)
+	$(CXX) $(CFLAGS) -E $< -o $@
+
+.PRECIOUS: %.h.fcs %.c.fcs %.m.fcs
+
+base/mmx.asm base/mmx_loader.c: base/mmx.rb
+	$(RUBY) base/mmx.rb base/mmx.asm base/mmx_loader.c
+base/mmx.o: base/mmx.asm
+	nasm -f elf base/mmx.asm -o base/mmx.o
+
+unskew::
+	find . -mtime -0 -ls -exec touch '{}' ';'
+
+$(PD_LIB): gridflow.c.fcs $(OBJS2) $(OBJS) $(H) $(COMMON_DEPS)
+	$(CXX) -DPDSUF=\"$(PDSUF)\" -Ibundled/pd $(LDSOFLAGS) $(CFLAGS) $(PDBUNDLEFLAGS) $(LIBPATH) \
+		gridflow.c.fcs -xnone $(OBJS2) $(OBJS) -o $@
+
+beep::
+	@for z in 1 2 3 4 5; do echo -ne '\a'; sleep 1; done
+
+install::
+	@echo -e "\033[0;1;33;41m"
+	@echo -e "1. move this folder to lib/pd/extra or add the folder to -path"
+	@echo -e "2. delete the old gridflow.pd_linux"
+	@echo -e "3. and don't do \"make install\" anymore\033[0m\n"
+
+DEPRECATED = camera_control motion_detection color mouse fade scale_to \
+	apply_colormap_channelwise checkers contrast posterize ravel remap_image solarize spread \
+	rgb_to_greyscale greyscale_to_rgb rgb_to_yuv yuv_to_rgb rotate in out
+
+deprecated:: deprecated/@fade.pd deprecated/@!.pd doc/flow_classes/@complex_sq-help.pd
+
+deprecated/@fade.pd: abstractions/\#fade.pd
+	for z in $(DEPRECATED); do cp abstractions/\#$$z.pd deprecated/\@$$z.pd; done
+
+deprecated/@!.pd: deprecated/0x40!.pd
+	for z in complex_sq convolve fold inner \! scan; do cp deprecated/0x40$$z.pd deprecated/@$$z.pd; done
+
+doc/flow_classes/@complex_sq-help.pd: doc/flow_classes/0x40complex_sq-help.pd
+	for z in complex_sq join; do cp doc/flow_classes/0x40$$z-help.pd doc/flow_classes/@$$z-help.pd; done
+
+clean::
+	@-$(RM) gridflow.pd_linux *.o */*.o *.so
+	rm -f $(OBJS2) $(OBJS) base/*.fcs format/*.fcs optional/*.fcs \
+		$(patsubst %,deprecated/@%.pd,$(DEPRECATED))
+
+#--------#--------#--------#--------#--------#--------#--------#--------
+
+help::
+	@echo "do one of the following:";\
+	echo  "make all            compiles gridflow";\
+	echo  "make beep           beeps";\
+	echo  "make unskew         removes timestamps in the future (if you have clock issues)"
+
+#--------#--------#--------#--------#--------#--------#--------#--------
+
+kloc::
+	wc configure base/*.rb

Added: trunk/externals/gridflow/README
===================================================================
--- trunk/externals/gridflow/README	                        (rev 0)
+++ trunk/externals/gridflow/README	2008-07-08 05:56:10 UTC (rev 10148)
@@ -0,0 +1,48 @@
+,-o----o----o----o-.
+|  GridFlow 0.9.0  |
+`-o--------------o-'
+  |
+.-o--------------------------------------------------------------
+| Directory layout
+
+  ./base ............. object classes written in C++ and Ruby
+  ./bin .............. programs startable as applications
+  ./bridge ........... connectors between Ruby and PureData/etc
+  ./bundled .......... files from other packages, bundled here for convenience
+  ./cpu .............. cpu-specific code
+  ./CVSROOT .......... project information for version control
+                       (not in official releases)
+  ./format ........... format handlers written in C++ and Ruby (optional)
+  ./devices4ruby ..... misc Ruby plugins for hardware interfaces
+  ./doc .............. complete documentation in HTML, with XML source
+  ./doc/flow_classes . help files (.pd)
+  ./doc/images ....... images that go with the HTML doc
+  ./doc/tutorials .... tutorials
+  ./examples ......... more complex Pd programs showing off more practical uses.
+                       (this will replace ./pd_examples in the future).
+  ./extra ............ useful small programs (mostly in Ruby)
+  ./images ........... sample images shared by ./samples, ./help, ./doc
+  ./optional ......... optional classes but not format handlers
+  ./pd_abstractions .. Pd object classes written in Pd
+  ./pd_examples ...... more complex Pd programs showing off more practical uses.
+  ./tests ............ will contain Pd programs that test GridFlow itself.
+                       (see also: the PureUnity project)
+Legalese
+
+  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.
+
+  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.
+
+
+
+CVS
+
+	$Id: README 3056 2007-10-24 15:08:56Z ac $

Added: trunk/externals/gridflow/TODO
===================================================================
--- trunk/externals/gridflow/TODO	                        (rev 0)
+++ trunk/externals/gridflow/TODO	2008-07-08 05:56:10 UTC (rev 10148)
@@ -0,0 +1,431 @@
+/* $Id: TODO 3975 2008-07-04 19:57:32Z matju $ */
+
+0.9.5
+[ ] get rid of architecture.html
+[ ] support "get" in abstractions
+[ ] fix [nbx]<->[hsl] relationship in [#camera]
+[ ] bugs roman
+[ ] add claude's fixes
+[ ] other gf mails in inbox
+[ ] #line_to_polygon is buggy
+[ ] #draw_polygon init_lines() not sufficiently called
+[ ] regular dc1394 options
+[ ] irregular dc1394 options: white_shading, white_balance
+    trigger_mode? trigger, trigger_delay
+[ ] Accumulation of Background Statistics
+[x] correction/d\xE9tection de translations dans l'image (avec fft et #remap_image).
+[ ] cvEstimateRigidTransform
+[ ] compenser pour les ajustements progressifs ou soudains de luminosite
+[x] ajouter detection et correction d'interference par fft
+[ ] cvEllipse
+[ ] cvApproxPoly pour un seul poly `a la fois
+[ ] cvMeanShift (?)
+[ ] cvCamShift (?)
+       \xC7a s'utilise presque comme MeanShift, sauf que \xE7a requiert un autre type non-grid.
+       Celui-ci peut \xEAtre repr\xE9sent\xE9 comme une grid de 5 \xE9l\xE9ments pour faire plus facile
+       (contrairement \xE0 cvHistogram, qui contient une grid ND mais a besoin de quelques fields de plus que \xE7a).
+[ ] cvCalcBackProject (?)
+[ ] cvCalcHist, cvCreateHist.
+[ ] on doit aussi commencer \xE0 rajouter des types non-grid. Le premier sera CvHistogram et est requis pour tous les objets dont le nom contient "Hist".
+[ ] SnakeImage (what is the concept of 'energy', squared luminosity?)
+        J'aurais suppos\xE9 que oui, mais c'est juste trois mesures reli\xE9es \xE0 trois forces qui "shapent" la courbe:
+	espacement \xE9gal des points, r\xE9duction des angles, et correspondance avec l'image m\xEAme (qui doit normalement
+	\xEAtre un edge-detect d'une image plus vieille).
+[ ] cvOpticalFlow
+
+whatever version
+[ ] [cv.split]
+[ ] reestablish 'gzfile' feature in a better way. (gzfile is disabled for now)
+[ ] ...
+[ ] [fps]: translate into pd: "publish if fps>0.001" (to remove outliers)
+[ ] conversion from float to int is inconsistent: when to round and when to trunc?
+[ ] reimplement negative indices in [listelement] and [listsublist]
+[ ] with pwc, 720x480 crashes
+[ ] fix SDL modifiers
+[ ] fix quoting in [display]
+
+soon:
+ * remove reference.*ml
+ * videodev.c should be upgraded to V4L2 asap.
+
++-------+-------+-------+-------+-------+-------+-------+-------
+Common Video Framework :
+
+[ ] a common library for all video IO (cameras, files, web), which is the
+    project of Thomas H and Johannes.
+
+[ ] a six-way converter for GEM/PDP/GridFlow. There are already
+    converters between GEM and PDP and between GEM and GridFlow but
+    there is none between PDP and GridFlow and then some things could
+    be easier to install and run in a cross-platform way.
+
+[ ] a way to make GEM/PDP/GF conversions *implicitly* instead of
+    having objects for that.
+
+[ ] threads for video?
+[ ] GEM geos vs 3DP: how do they compare?
+[ ] is there anything else deserving to be unified between the video plugins?
+[ ] videojack
+[ ] http://gstreamer.freedesktop.org/
+[ ] distinguish between C++ types Grid* and GridFlow*
+[ ] make [#draw_points] [#draw_rect] [#edit_polygon]
+[ ] Salsaman recommends supporting Videojack because of unicap support which means getting DV support for free.
+[ ] look at camorama
+[ ] OpenCV
+[ ] Generic Image Library: http://opensource.adobe.com/gil/html/giltutorial.html
+[ ] [for] has a bug in "from".
+[ ] #out x11 doesn't accept 0-sized grids
+[ ] #print   doesn't accept 0-sized grids
+[ ] #inner doesnt support seeds of size>1, and isn't vecop-compatible, and ...
+[ ] #inner could optimise permutation matrices?
+ClaudiusMaximus matju: [#draw_image] inlet 0 method "op <opname>" is undocumented, but very useful :)
+ClaudiusMaximus matju: [unix_time] is maldocumented, outlet 0 is a grid Dim[28](uint8), not a symbol
+
+[ ] update doc
+[ ] claude wants http://en.wikipedia.org/wiki/Graham_scan
+
+malloc alignment = 4 mod 8 (en utilisant valgrind)
+
+ClaudiusMaximus matju: feature request:  [#store4], behaves like store but accepts grids 
+of floats as coordinates and interpolate using 4-point interpolation, eg, right inlet -> 
+(3 3 f # 0 0 0 1 1 1 2 4 8), left inlet -> (1 # 0.5) outputs (0.5 0.5 0.5) 
+(or whatever the interpolation would really be), left inlet (2 # 1.5 1.5) outputs (3)
+
+http://oprofile.sourceforge.net/about/
+also: qprofile, amd profiler, opreport -cl --demangle=smart
+
+[ ] -ftree-vectorizer-verbose
+[ ] try removing or modifying -falign on PPC/OSX
+[ ] encoding of quicktime RGBA only works with [#cast b] (is that still true?)
+[ ] reading tux.tga is completely broken
+[ ] install of libquicktime is very wrong on my system (is it 0.9.8?)
+[ ] make example on separable convkernels
+[ ] add concepts of hot inlet and conf inlet at the code level
+[ ] [display] should use clocks to update tk less often
+[ ] [display] leaks in server ?
+[ ] deprecation warnings
+[ ] Add a video latency patch (in examples)
+[ ] Numop: warn on misalignment
+[ ] remove GridInlet* ?
+[ ] configure chokes if GCC3 doesn't have the C++ plugin
+[ ] [#import~]
+[ ] [#export~]
+[ ] [#expr]
+[ ] [#line]? [#pipe]? [#delay]?
+[ ] #: option swap
+[ ] consider including [mysql] [renamefile] [ls] [shell]
+[ ] re-enable int64,float64
+[ ] added #matrix_solve, #slice
+[ ] Copy-on-Write (COW)
+[ ] internals documentation
+[ ] internal grid protocol redesigned
+[ ] raise limit of in/outlets from 10 to 100 or unlimited.
+[ ] look into -ftree-vectorize
+[ ] look at Tetra Piccolo capture cards, as well as ImpactVCB (Hauppauge)
+
+[145] "list -1"->[@import] only tells error message once every other time
+[144] small leak remaining in x11. may have to do with non-use of XDestroyImage.
+[140] is [@convolve] actually cross-convolution?
+	that is, convolves with a mirror image of the convolution matrix.
+[139] [peephole]
+	<mis> matju: if you try to move the GOPed abstraction the peepholes don't move along
+	<mis> he :)  better yet, the abstraction's bounding box's lower right corner will not
+	move up or to the left of the low right corner of the peephole it contains.
+	Instead it will resize itself as you move it around.  
+[134] #import with zero size crashes?
+[133] numop ** can freeze GF
+[117] osx: [#store] crash instead of raising
+[107] MMX computations may be done misaligned, which may be bad.
+[105] when file not found, mpeg error messages are wrong, they say the filename is "".
+[102] osx: error: shmget failed (cannot allocate memory) in X11, for regular pictures
+[078] "unsupported codec" bogus errors.
+[025] format_grid: write test for other bpv's
+[030] FormatGrid: not properly tested (crashes sometimes)
+[031] stdout should be redirected if bridge is present
+[034] format/mpeg3.c,quicktime.c might cause lockup on exit
+[038] some seeds aren't typechecked
+[039] jpeg file cat crashes on second file (jpeglib buffering?)
+[040] GRID_FINISH triggered while backstore ???
+[079] can trap segfaults in codecs of libquicktime.
+[090] http://poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC30
+[041] what would be a way to make GF work well with Pd's idea of a list?
+[045] write unit tests about required functionality
+[046] write unit tests about error checking
+[047] make system to ensure everything is working before a release.
+[048] potential issues between fork() and X11 ?
+[054] it's possible to crash by sending data in two inlets of a same object at once
+
+--- make the development process more test-driven:
+    * file every feature request and bug report into base/test.rb so
+      that gridflow fails those tests THEN make gridflow pass those tests.
+
+===================
+
+Installation
+[ ] less compile-time checks and more run-time checks
+[ ] should GridFlow be bundled with some of its own dependencies?
+[ ] find a good profiler (not gridflow's internal...)
+[ ] cross-compile:
+	http://www.libsdl.org/extras/win32/cross/
+	http://rooster.stanford.edu/~ben/linux/cross.php
+
+Documentation
+[ ] make a short feature list as a promo
+[ ] add credits
+[ ] document how to report bugs, basic troubleshooting
+[ ] document our distribution of the archives
+[ ] ascii conventions: [foo] vs "foo", etc.
+[ ] document internals
+[ ] describe indexmap in doc
+[ ] document backward compatibility issues
+[ ] architecture: class->type/shape->use->role
+[ ] heavily hyperlink documentation
+[ ] automate more parts of the documentation
+[ ] benchmarks (especially: simple video i/o)
+[ ] mimic [pdp_help_input] [pdp_help_output]: they are convenient
+--- remember to keep doc/help/screenshots/examples up to date
+
+Architecture
+[0.9] reentrancy of objects (to allow true recursion)
+[0.9] inlet-attrs (attrs associated to inlets)
+[ ] eliminate the Dim class, replacing by Grid itself (?).
+[ ] pull mode (functional-style)
+[ ] bidirectional messages (constraint/relational-style)
+[ ] send-reply messages (imperative-style)
+[ ] add reflection (#global:classes, #global:methods, ...)
+[ ] transmitting grids by diffs?
+[ ] dispatch on _#{i}_-named methods (any selector one inlet)
+[0.9] generalize the backstore
+[ ] Outlet#buffer should harmonise with the lcm of its corresponding Inlet#factor's.
+[ ] lazy grids: Grid#operator T* makes sure all the grid is received
+	and Grid#range(int start, int n, T bogus) makes sure the
+	specified part of the grid is received.
+[0.9] accounting: grids messages packets numbers bytes copybytes
+[0.9] memory profiling
+[ ] add a "query" class for debugging other objects?
+    (would be able to extract extra info from each object/class)
+[ ] add a GridFlow::LaterException or something
+    (which tells to retry later with the same packet because another
+    grid reception is not completed yet.) 
+[ ] interpret nested lists as n-dimensional.
+[0.9] MMX memcpy() ?
+[0.9] MMX _runtime_ autodetection
+
+Computation Objects
+[ ] #counter (similar to #for)
+[ ] #for "step" argument should have default {1...}
+[ ] zero option in #convolve (?)
+[ ] #conv (simpler #convolve) should allow n-D convolution
+[ ] #convolve rewritten as combination of #conv+#border ?
+[ ] #store: option zero (?)
+[ ] #import~, #export~
+[ ] #fold, #scan: option reverse (right-to-left)
+[ ] #join: option swap
+[ ] #matrix_inverse, #matrix_solve
+[ ] #timeline (or rtmetro): sequencing of events from grid
+[ ] #replace_if, #random_select, #markov_chain, #sort, #slice, #splice
+[ ] #polygon_perimeter, #polygon_area, #draw_polygon smoothly
+[ ] fuzzy #store (interpolate)
+[ ] write a complete benchmark script
+[ ] spatial biquads (ask Tom)
+[ ] string operations to compensate for the feebleness of PD in that area.
+	this includes [#sprintf].
+--- see also APL/J/NArray/PDL/Aplus/Yorick/IPOW reference
+
+Effects
+[ ] #mosaic
+[ ] #gaussian_blur, #sobel, #pixelize, #despeckle (median)
+[ ] #dither, #draw_lines, #draw_points, #fire, #queue
+[ ] #chroma_key: i0=RGBpicture i1=RGBcolor i2=tolerance o0=RGBApicture
+        with fuzzy flag; (don't call it #chroma_key though)
+	maybe #mask...
+[ ] turtle (logo style)
+[ ] effectv
+[ ] create abstractions for usage patterns (eg: like #remap_image)
+[ ] see gimp for ideas
+[ ] kaleidoscopes
+[ ] bilinear interpolation a+(b-a)*x+(c-a)*y+(a-b-c+d)*x*y (#scale_by smoothly?)
+[ ] #scale_by/#downscale_by fractional values
+[ ] bicubic interpolation
+[ ] multilinear interpolation (n-dimensional?)
+[ ] #daltonism
+[ ] #perlin ?
+[ ] #moment could support more than 2 dimensions
+
+#<vektor> told me to:
+# RGBtoYUV : @fobjects = ["#inner (3 3 # 66 -38 112 128 -74 -94 25 112 -18)","@ >> 8","@ + (16 128 128)"]
+# YUVtoRGB : @fobjects = ["@ - (16 128 128)",#inner (3 3 # 298 298 298 0 -100 516 409 -208 0)","@ >> 8"]
+
+Input/Output
+[ ] a #store that is persistent (saved in .pd) ?
+[ ] Grid: support storage in all six types
+[ ] Grid: bpv 1,2,4 uint
+[ ] Grid: text version of the format
+[ ] Gimp, GStreamer, ffmpeg, xine, mplayer, PDP, OSC
+[ ] get subtitling of tv channels
+[ ] add messages "load", "save" as open,bang,close combos. (?)
+[ ] x11,sdl,aalib: use buffering to synchronise frames at a constant rate.
+[ ] x11: sync with the actual vsync of the monitor
+[ ] x11: double buffering using a Pixmap remote-object
+[ ] [serial_port]
+[ ] support for audio in the mpeg streams
+[ ] synchronized audio with the video when using mpeg1 & 2
+[ ] full screen mode (without the menu bars or frames)
+[ ] support for audio in cameras / videodev ... see field vcaps.audios
+
+Format
+[ ] remaining number type support in formats
+[ ] fork: pseudoformat for launching format handler as separate process
+[ ] put_at/reassign in x11/sdl/quartz
+[ ] Generic SHM/MMAP Drivers
+[ ] "open grid pipe" and such.
+[ ] multi: multi-file (by glob pattern, e.g.: foo*.ppm)
+[ ] AVI
+[ ] format grid: "headerless until 10" (text files)
+
+User Interface
+[ ] color picker
+[ ] #edit, grid edition dialog, etc.
+[ ] vector slider (n parallel sliders in one, Dim(n))
+[ ] 2d slider
+[ ] radial slider (angle chooser)
+[ ] drag-and-drop palette of object construction
+[ ] object construction menu specialized for each class (generated from class reflection/metadata)
+
+Extra/Examples/Etc
+[ ] .pd: read; write better
+[ ] examples/generique.pd
+[ ] add examples from the workshop, etc
+
+<matju> alx:
+le tab completion ne donnerait pas seulement les noms possibles pour le
+prochain argument dans le objectbox; il donnerait aussi une description de
+l'argument (surtout dans le cas o\xF9 l'argument a beaucoup de valeurs
+possibles). je pense que le help de Pd est une bonne id\xE9e (le concept hands-on)
+mais \xE7a pourrait aller plus loin. j'ai pens\xE9 int\xE9grer le manuel de r\xE9f\xE9rence de
+gridflow directement dans le programme, disponible au runtime, dans l'\xE9ventualit\xE9
+d'un GUI qui saurait en tirer avantage.
+
+<alx1> matju: d\xE9tecter les formes; d\xE9tecter les couleurs; support mpeg4; hotspots
+
+ClaudiusMaximus reports that allocating a 197M grid causes a crash (turns out C++
+throws exception, can't allocate, signal ABRT)
+
+ClaudiusMaximus says: I want to be able to send output from Pd+Gridflow to a video4linux
+loopback device so that other v4l programs can access the stream.
+I found the video loopback device here: http://motion.sourceforge.net/vloopback/
+
+<alx2>
+iSight on linux : http://episteme.arstechnica.com/6/ubb.x?a=tpc&s=50009562&f=8300945231&m=40110681
+needs something called 'coriander'. the person who got it working mentions libdc1394.
+http://www.tele.ucl.ac.be/PEOPLE/DOUXCHAMPS/ieee1394/cameras/index.html:
+I learn that the iSight is compliant with version 1.30 of IIDC.
+the docs for coriander mention that the author needed to create a major and minor device for the camera.
+retyping (damn pdf's) -> there are two devices to create: raw1394 and video1394
+raw1394 has major 171 and minor 0 while video1394 had major 171 and minor 16
+any useful info?
+having a camera like the iSight supported could be fantastic for video capture/detection on a laptop.  Not to mention that the bttv cards are getting harder to locate
+
+-mfpmath=sse2
+
+remember to check for volatile VALUEs if GC problems ever occur
+
+Tom Schouten wrote: "
+added demo/rawvideo.pf and some support scripts in bin/pf-rawvideo.*
+this is an example on how to use external programs for raw video input.
+rationale:
+mplayer is a very nice piece of software supporting virtually any input
+format/codec. since i'm not planning to waste time on integrating more
+input codecs in pf, the best alternative is to have mplayer (actually
+mencoder) or ffmpeg as a subprocess.
+the same will be done for recording later.
+"
+
+very old bookmarks:
+	http://pdl.perl.org/
+	http://www.opendragon.com/Pages/MaxObjects.shtml (not responding)
+	gstreamer
+	Arts Builder
+	http://homepages.inf.ed.ac.uk/rbf/HIPR2/wksheets.htm
+	http://freej.dyne.org/
+
+FObject.subclass("rubyarray",2,2) {
+  def initialize() @a=[]; @i=0; end
+  def _0_get(s=nil)
+    case s
+    when :size; send_out 1,:size, at a.size
+    when nil; _0_get :size
+    end
+  end
+  def _0_clear; @a.clear end
+  def _0_float i; @i=i; send_out 0, *@a[@i] if @a[@i]!=nil; end
+  def _1_list(*l) @a[@i]=l; end
+  def _0_save(filename,format=nil)
+    f=File.open(filename.to_s,"w")
+    if format then @a.each {|x| f.puts(format.to_s % x) }
+    else           @a.each {|x| f.puts(x.join(",")) }
+    end
+    f.close
+  end
+  def _0_load(filename)
+    f=File.open(filename.to_s,"r")
+    @a.clear
+    f.each {|x| @a.push x.split(",").map {|y| Float(y) rescue y.intern }}
+    f.close
+  end
+}
+
+
+
+FObject.subclass("regsub",3,1) {
+  def initialize(from,to) _1_symbol(from); _2_symbol(to) end
+  def _0_symbol(s) send_out 0, :symbol, s.to_s.gsub(@from, @to).intern end
+  def _1_symbol(from) @from = Regexp.new(from.to_s.gsub(/`/,"\\")) end
+  def _2_symbol(to)   @to = to.to_s.gsub(/`/,"\\") end
+  #doc:_0_symbol,"a string to transform"
+  #doc:_1_symbol,"a regexp pattern to be found inside of the string"
+  #doc:_2_symbol,"a replacement for the found pattern"
+  #doc_out:_0_symbol,"the transformed string"
+}
+
+FObject.subclass("memstat",1,1) {
+  def _0_bang
+    f = File.open("/proc/#{$$}/stat")
+    send_out 0, Float(f.gets.split(" ")[22]) / 1024.0
+    f.close
+  end
+  #doc:_0_bang,"lookup process stats for the currently running pd and figure out how much RAM it uses."
+  #doc_out:_0_float,"virtual size of RAM in kilobytes (includes swapped out and shared memory)"
+}
+
+FObject.subclass("rubysprintf",2,1) {
+  def initialize(*format) _1_list(format) end
+  def _0_list(*a) send_out 0, :symbol, (sprintf @format, *a).intern end
+  alias _0_float _0_list
+  alias _0_symbol _0_list
+  def _1_list(*format) @format = format.join(" ") end
+  alias _1_symbol _1_list
+}
+
+there are bugs with abstractions that use [route]->[list] instead of [route2] because they fail when $1="list".
+
+svn propset svn:mime-type text/pure-data *.pd
+
+Benchmarks on a Pentium M 1733 (with #out x11):
+(fps)           0.9.0   0.9.3   0.9.4
+waves.pd rain    41.1    49.5   50.5
+game_of_life.pd 162     183     188
+sand.pd          18.7    20.5   20.1
+cellular_1d.pd  115     130.1   130
+wave_1d.pd       63.0    81.7   81.7
+
+Benchmarks on a Pentium M 1733 (without window):
+(fps)           0.9.0   0.9.3   0.9.4
+waves.pd rain   50.1            63.0
+game_of_life.pd 397             507
+sand.pd         27              30
+cellular_1d.pd  475             730
+wave_1d.pd      107             173
+
+
+

Added: trunk/externals/gridflow/abstractions/#apply_colormap_channelwise.pd
===================================================================
--- trunk/externals/gridflow/abstractions/#apply_colormap_channelwise.pd	                        (rev 0)
+++ trunk/externals/gridflow/abstractions/#apply_colormap_channelwise.pd	2008-07-08 05:56:10 UTC (rev 10148)
@@ -0,0 +1,12 @@
+#N canvas 0 0 450 300 10;
+#X obj 17 17 inlet;
+#X obj 17 77 #store;
+#X obj 17 97 outlet;
+#X obj 67 17 inlet;
+#X obj 17 57 # + (3 2 # 0 0 0 1 0 2);
+#X obj 17 37 #outer & (-1 0);
+#X connect 0 0 5 0;
+#X connect 1 0 2 0;
+#X connect 3 0 1 1;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;

Added: trunk/externals/gridflow/abstractions/#background_model.pd
===================================================================
--- trunk/externals/gridflow/abstractions/#background_model.pd	                        (rev 0)
+++ trunk/externals/gridflow/abstractions/#background_model.pd	2008-07-08 05:56:10 UTC (rev 10148)
@@ -0,0 +1,93 @@
+#N canvas 563 12 770 687 10;
+#X text 415 -1 sliding buffer;
+#X obj 104 302 # sq-;
+#X obj 104 370 # /;
+#X text 57 293 input;
+#X obj 104 393 #fold +;
+#X text 171 302 <-- (input-mean)exp2;
+#X text 170 287 mean;
+#X text 369 -28 takes a grid as input;
+#X text 569 557 getModel;
+#X text 569 577 clearModel;
+#X obj 183 544 tgl 15 0 empty empty binaryFlag 0 -6 0 8 -24198 -1 -1
+1 1;
+#X text 568 534 adaptBackground (const image src \, const channel8
+mask);
+#X obj 104 578 shunt;
+#X text 195 194 <-- output is an average;
+#X text 201 215 <-- recentre les coordonnees selon la moyenne;
+#X obj 103 -136 inlet;
+#X obj 104 659 outlet;
+#X obj 190 512 inlet binary_flag;
+#X obj 282 -22 t a b;
+#X floatatom 312 20 5 0 0 0 - - -;
+#X msg 312 37 put_at ( \$1 0 0 0 );
+#X text 314 66 <-- this \$1 corresponds to the first argument given
+to the abstraction. The \$1 in the "put_at" message box is simply the
+indice from the counter.;
+#X text 282 145 <-- the number of frames that will establish the backgroundModel
+;
+#X obj 103 -95 t a b a;
+#X obj 126 121 #t;
+#X text 260 262 variance = standard deviation \, squared;
+#X text 523 210 (X - EX)squared;
+#X text 146 344 <-- variance;
+#X text 145 368 <-- squeeze;
+#X text 173 390 <-- applies the pythagore theorem;
+#X text 158 316 <-- fudge factor because we are not in float \, could
+try as float throughout instead;
+#X obj 250 566 inlet output_threshold;
+#X text 254 608 <-- checks to see if the value is within 0-255;
+#X text 158 660 <-- output is greyscale (channel8 in lti parlance)
+;
+#X text 124 468 <-- "malanowis distance" of each pixel to the background
+;
+#X text 297 -50 ------------ addBackground ----------;
+#X obj 104 416 #redim ( \$2 \$3 1);
+#X obj 126 69 #store ( \$1 \$2 \$3 \$4 #);
+#X obj 147 -56 spigot;
+#X obj 190 -83 inlet addBackground;
+#X text 242 416 <-- adds a channel;
+#X obj 217 283 outlet variance;
+#X obj 265 177 outlet Mean;
+#X obj 312 0 count 0 \$1;
+#X obj 126 200 # sq-;
+#X obj 176 119 #fold + \, seed ( \$2 \$3 \$4 #);
+#X obj 176 147 # / \$1;
+#X obj 127 235 #fold + \, seed ( \$2 \$3 \$4 #);
+#X obj 165 260 # / \$1;
+#X obj 135 607 # > 128;
+#X obj 134 628 # * 255;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 4 0 36 0;
+#X connect 10 0 12 1;
+#X connect 12 0 16 0;
+#X connect 12 1 49 0;
+#X connect 15 0 23 0;
+#X connect 17 0 10 0;
+#X connect 18 0 37 1;
+#X connect 18 1 43 0;
+#X connect 19 0 20 0;
+#X connect 20 0 37 1;
+#X connect 23 0 1 0;
+#X connect 23 1 37 0;
+#X connect 23 2 38 0;
+#X connect 24 0 44 0;
+#X connect 24 1 45 0;
+#X connect 31 0 49 1;
+#X connect 36 0 12 0;
+#X connect 37 0 24 0;
+#X connect 38 0 18 0;
+#X connect 39 0 38 1;
+#X connect 43 0 19 0;
+#X connect 44 0 47 0;
+#X connect 45 0 46 0;
+#X connect 46 0 1 1;
+#X connect 46 0 42 0;
+#X connect 46 0 44 1;
+#X connect 47 0 48 0;
+#X connect 48 0 2 1;
+#X connect 48 0 41 0;
+#X connect 49 0 50 0;
+#X connect 50 0 16 0;

Added: trunk/externals/gridflow/abstractions/#camera.pd
===================================================================
--- trunk/externals/gridflow/abstractions/#camera.pd	                        (rev 0)
+++ trunk/externals/gridflow/abstractions/#camera.pd	2008-07-08 05:56:10 UTC (rev 10148)
@@ -0,0 +1,354 @@
+#N canvas 599 0 421 345 10;
+#X obj 81 31 cnv 15 184 68 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 143 34 hradio 12 1 0 4 \$0-s_channel \$0-channel _0_1_2_3 -2
+7 1 10 -233017 -195568 -195568 0;
+#N canvas 275 0 906 659 camera 0;
+#X obj 310 510 outlet;
+#X obj 51 9 inlet;
+#X obj 63 198 t a;
+#X msg 700 458 open videodev \$1 \, get;
+#X msg 673 309 size \$1 \$2;
+#X obj 598 8 r \$0-size0;
+#X msg 673 8 120 160;
+#X msg 673 27 120 180;
+#X obj 598 27 r \$0-size1;
+#X msg 673 46 240 320;
+#X msg 673 65 240 360;
+#X obj 598 46 r \$0-size2;
+#X obj 598 65 r \$0-size3;
+#X obj 598 84 r \$0-size4;
+#X obj 598 103 r \$0-size5;
+#X msg 673 84 480 640;
+#X msg 673 103 480 720;
+#X obj 598 122 r \$0-size6;
+#X obj 598 141 r \$0-size7;
+#X msg 673 122 576 720;
+#X msg 673 141 288 352;
+#X obj 673 204 unpack 0 0;
+#X obj 768 223 s \$0-width;
+#X obj 673 223 s \$0-height;
+#X obj 673 271 #pack;
+#X obj 673 290 #export_list;
+#X obj 700 439 makefilename /dev/video%d;
+#X obj 85 419 spigot;
+#X obj 308 579 args (device a -1);
+#X obj 308 560 loadbang;
+#X obj 308 617 s \$0-device;
+#X obj 85 441 route pwc;
+#X msg 85 460 pwc \$1 \, get;
+#X obj 51 28 list split 1;
+#X obj 51 47 makefilename \$0-%s;
+#X obj 51 104 s;
+#X obj 51 85 list;
+#X obj 51 66 t b s;
+#X msg 684 482 open dc1394 \, get;
+#X obj 391 287 listfind y yuv rgb magic;
+#X obj 391 344 listread y yuv rgb magic;
+#X msg 391 363 colorspace \$1;
+#X obj 181 66 list prepend;
+#X obj 181 85 list trim;
+#X obj 174 174 foreach;
+#X obj 174 193 makefilename \$0-%s;
+#X msg 174 212 \; \$1 color 10 20 20;
+#X msg 179 559 \; \$1 color 18 17 22;
+#X obj 122 381 t b a b b;
+#X obj 391 306 s \$0-colorspace_e;
+#X obj 391 325 r \$0-s_colorspace_e;
+#X obj 673 243 r \$0-s_height;
+#X obj 768 243 r \$0-s_width;
+#X obj 656 368 r \$0-s_device;
+#X obj 580 186 r \$0-size;
+#X msg 180 400 0;
+#X msg 122 400 1;
+#X obj 580 205 route2 color;
+#X obj 580 224 s \$0-sizec;
+#X obj 571 243 s \$0-width;
+#X obj 561 263 s \$0-height;
+#X obj 371 265 route2 color;
+#X obj 371 246 r \$0-colorspace;
+#X obj 635 538 s \$0-title;
+#X msg 635 519 label \$1;
+#X obj 563 481 r \$0-name;
+#X obj 563 500 route color;
+#X msg 490 591 close;
+#X msg 490 612 label No_camera_selected;
+#X msg 339 181 label Unknown_camera;
+#X obj 339 200 s \$0-title;
+#X obj 731 8 r \$0-minsize;
+#X obj 731 46 unpack 0 0;
+#X obj 796 65 s \$0-minwidth;
+#X obj 731 84 s \$0-minheight;
+#X obj 731 141 unpack 0 0;
+#X obj 731 103 r \$0-maxsize;
+#X obj 731 179 s \$0-maxheight;
+#X obj 796 160 s \$0-maxwidth;
+#X obj 731 27 route list;
+#X obj 731 122 route list;
+#X obj 393 522 s \$0-minsize;
+#X msg 393 501 0 0;
+#X obj 403 542 s \$0-maxsize;
+#X obj 656 387 t a b;
+#X obj 67 482 r \$0-palette;
+#X obj 139 539 s \$0-palette2;
+#X msg 139 520 label \$1;
+#X obj 25 563 route minsize maxsize;
+#X obj 67 501 route color;
+#X obj 181 8 receives \$0-s_ channel tuner frequency brightness contrast
+colour hue whiteness white_mode white_red white_blue white_speed white_delay
+auto_gain framerate noise_reduction compression pwc size colorspace
+norm transfer;
+#X msg 174 116 list channel tuner frequency brightness contrast colour
+hue whiteness white_mode white_red white_blue white_speed white_delay
+auto_gain framerate noise_reduction compression pwc size colorspace
+norm transfer;
+#X obj 714 505 r \$0-transfer;
+#X obj 754 544 listfind read mmap;
+#X obj 744 563 s \$0-transfer_e;
+#X obj 744 582 r \$0-s_transfer_e;
+#X obj 744 601 listread read mmap;
+#X msg 744 620 transfer \$1;
+#X obj 714 524 route2 color;
+#X obj 308 598 mod 11;
+#X obj 656 417 range 8 9 10;
+#X msg 434 399 open quicktimecamera \, get;
+#X connect 1 0 33 0;
+#X connect 2 0 27 0;
+#X connect 3 0 48 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 21 0;
+#X connect 7 0 21 0;
+#X connect 8 0 7 0;
+#X connect 9 0 21 0;
+#X connect 10 0 21 0;
+#X connect 11 0 9 0;
+#X connect 12 0 10 0;
+#X connect 13 0 15 0;
+#X connect 14 0 16 0;
+#X connect 15 0 21 0;
+#X connect 16 0 21 0;
+#X connect 17 0 19 0;
+#X connect 18 0 20 0;
+#X connect 19 0 21 0;
+#X connect 20 0 21 0;
+#X connect 21 0 23 0;
+#X connect 21 1 22 0;
+#X connect 24 0 25 0;
+#X connect 25 0 4 0;
+#X connect 26 0 3 0;
+#X connect 27 0 31 0;
+#X connect 28 0 99 0;
+#X connect 28 1 0 0;
+#X connect 29 0 28 0;
+#X connect 31 0 32 0;
+#X connect 31 1 0 0;
+#X connect 32 0 48 0;
+#X connect 33 0 34 0;
+#X connect 33 1 36 1;
+#X connect 34 0 37 0;
+#X connect 34 0 88 0;
+#X connect 36 0 35 0;
+#X connect 37 0 36 0;
+#X connect 37 1 35 1;
+#X connect 38 0 48 0;
+#X connect 39 0 49 0;
+#X connect 40 0 41 0;
+#X connect 41 0 2 0;
+#X connect 42 0 43 0;
+#X connect 43 0 2 0;
+#X connect 44 0 45 0;
+#X connect 45 0 46 0;
+#X connect 48 0 56 0;
+#X connect 48 1 0 0;
+#X connect 48 2 69 0;
+#X connect 48 2 91 0;
+#X connect 48 3 55 0;
+#X connect 50 0 40 0;
+#X connect 51 0 24 0;
+#X connect 52 0 24 1;
+#X connect 53 0 84 0;
+#X connect 54 0 57 0;
+#X connect 55 0 27 1;
+#X connect 56 0 27 1;
+#X connect 57 0 58 0;
+#X connect 57 0 59 0;
+#X connect 57 0 60 0;
+#X connect 57 1 21 0;
+#X connect 61 0 49 0;
+#X connect 61 1 39 0;
+#X connect 62 0 61 0;
+#X connect 64 0 63 0;
+#X connect 65 0 66 0;
+#X connect 66 1 64 0;
+#X connect 67 0 48 0;
+#X connect 67 0 68 0;
+#X connect 67 0 82 0;
+#X connect 68 0 63 0;
+#X connect 69 0 70 0;
+#X connect 71 0 79 0;
+#X connect 72 0 74 0;
+#X connect 72 1 73 0;
+#X connect 75 0 77 0;
+#X connect 75 1 78 0;
+#X connect 76 0 80 0;
+#X connect 79 0 72 0;
+#X connect 80 0 75 0;
+#X connect 82 0 81 0;
+#X connect 82 0 83 0;
+#X connect 84 0 100 0;
+#X connect 84 1 82 0;
+#X connect 85 0 89 0;
+#X connect 87 0 86 0;
+#X connect 88 2 47 0;
+#X connect 89 1 87 0;
+#X connect 90 0 42 0;
+#X connect 90 1 42 1;
+#X connect 91 0 44 0;
+#X connect 92 0 98 0;
+#X connect 93 0 94 0;
+#X connect 95 0 96 0;
+#X connect 96 0 97 0;
+#X connect 97 0 2 0;
+#X connect 98 0 94 0;
+#X connect 98 1 93 0;
+#X connect 99 0 30 0;
+#X connect 100 0 26 0;
+#X connect 100 1 38 0;
+#X connect 100 2 101 0;
+#X connect 100 3 67 0;
+#X connect 101 0 48 0;
+#X restore 34 390 pd camera;
+#X obj 7 409 outlet image;
+#X obj 7 352 inlet;
+#X obj 143 46 hradio 12 1 0 4 \$0-s_tuner \$0-tuner _0_1_2_3 -2 7 1
+10 -233017 -195568 -195568 0;
+#X obj 46 352 r \$0-o;
+#X text 84 35 channel:;
+#X text 98 47 tuner:;
+#X obj 6 31 cnv 15 70 216 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 32 device:;
+#X obj 11 50 vradio 15 1 0 11 \$0-s_device \$0-device empty 0 -6 0
+8 -241291 -1 -1 0;
+#X obj 81 105 cnv 15 184 172 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 270 214 cnv 15 144 124 empty \$0-palette2 YUV420P 86 8 0 12
+-233017 -1 0;
+#X obj 270 31 cnv 15 144 178 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 312 66 nbx 5 14 -1e+37 1e+37 0 0 \$0-s_height \$0-height empty
+0 -6 1 10 -62784 -44926 -1 480 256;
+#X obj 360 66 nbx 5 14 -1e+37 1e+37 0 0 \$0-s_width \$0-width empty
+0 -6 1 10 -62784 -44926 -1 640 256;
+#X text 275 65 size:;
+#X text 315 35 height;
+#X text 365 35 width;

@@ Diff output truncated at 100000 characters. @@

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Pd-cvs mailing list