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,@outer,@for,@inner,@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,@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,@three,@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,@inner,@inner2,@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,@contrast,@spread,@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,@three,@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,@inner2,@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,@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=830094523... +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,@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.