aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'externals/gridflow/ChangeLog')
-rw-r--r--externals/gridflow/ChangeLog664
1 files changed, 664 insertions, 0 deletions
diff --git a/externals/gridflow/ChangeLog b/externals/gridflow/ChangeLog
new file mode 100644
index 00000000..b9d7915f
--- /dev/null
+++ b/externals/gridflow/ChangeLog
@@ -0,0 +1,664 @@
+/* $Id: ChangeLog 4241 2009-10-18 19:31:47Z matju $ */
+
+version 0.9.5 (2009.10.18):
+
+ * added [gf.print] (aliased to [print])
+ * added [cv/#Ellipse], [cv/#HarrisCorner], [cv/#KMeans]
+ * renamed goop.pd to surface_tension.pd
+ * [#in quicktime]: "get" also produces messages "framerate", "height",
+ "width", "depth", "codec".
+ * added [#draw_hpgl], [#reinterval], [#cluster_avg]
+ * added [norecurse], [gf.error]
+ * [#color]: added bang
+ * [#inner]: fixed infinite loop bug with large right-inlet grids.
+ * [#transpose]: fixed crash with zero-sized grids.
+ * [receives]: "empty" prefix automatically turned into "" (no prefix).
+ * [#in grid] and [#out grid]: fixed several bugs
+ * [#make_cross] can make rectangular crosses
+ * [demux] alias removed (please use [shunt])
+ * renamed every [cv.Something] to [cv/#Something] to avoid any future
+ nameclashes with Loïc's library.
+ * automatically removes artificial stacksize limits of the OS that may
+ have caused segfaults in the last year or so, if you didn't use
+ ulimit -s unlimited or somesuch
+ * added [# c2p] and [# p2c] (polar transforms)
+ * added new examples: polar.pd, radial_blur.pd
+ * fixed more OSX bugs
+ * fixed [#grade] bug (thanks to mescalinum)
+ * removed support for gem 0.89 and some 0.90 versions
+
+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 : ...