/* $Id$ */ version 0.6.3 (head): * 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 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.