/* $Id$ */ "!" is planned for 0.4.1 Distribution (0.4.0) [x] send mail about name change [x] rearrange both web sites [x] send announcement (jmaxvideo,jmax,0xff,fm.net) Distribution (0.4.1) [x] open anonymous cvs [ ] rearrange both web sites [ ] send announcement (jmaxvideo,jmax,0xff,fm.net) Distribution (0.5.x) [ ] prepare gridflow-images-0.5 Installation [!] "ARCH" moved into configure. [!] de-jmax-ify the build process. [ ] add --fast switch to turn on all optimizations [ ] add --slow switch to turn off all optimizations [x] add --no-profiler and non-pentium autodetect [ ] installable doc, installable includes [x] can compile without jmax installed at all [ ] introduce jMax 3.0 support [ ] phase out jMax 2.4 support Documentation / Help / HelpScreenshot Update (all "!") [x|x|x] @in, @video_in_file [x|x|x] @out, @video_out_file, @video_out [x|x|x] @scale_to, @scale_by [x|x|x] @import, @export, @export_list [x|x|x] @store, @redim [x|x|x] @, @! [x|x|x] @fold, @inner, @outer [x|x|x] @for, @dim [x|x|x] @global [x|x|x] @two, @three, @four [x|x|x] @contrast, @posterize [x|x|x] @identity_transform, @spread [x|x|x] @convolve [x|-|-] format ppm [x|-|-] format targa [x|-|-] format videodev [x|-|-] format x11 [x|-|-] format grid Documentation [ ] project_policy.xml [ ] validate samples/outside [ ] specify policy for , , etc. [ ] add credits [ ] split reference.*ml into: elements.*ml objects.*ml formats.*ml [ ] document internals [ ] add explanation of gridflow vs videodsp [ ] things you type verbatim are all in KBD blocks [ ] placeholders for your own values are all in I blocks [ ] find a good XML editor [ ] document use of [route grid_end], [route grid_begin] [ ] document our own release procedures, how our CVS works [ ] document how to report bugs, basic troubleshooting [ ] improve protocol description [ ] ascii conventions: [foo] vs "foo", etc. [ ] document asymptotic cpu+memory usage [ ] document gridflow-for-C [ ] scan for unused/useless images General [ ] make FREE() handle #delete as possible [ ] better error handling [ ] @print [x] how can I write unit tests or contracts? [ ] MMX memcpy() ? [ ] runtime configurable packet_length [ ] there's a type called "GridFlow". Is this confusing? [ ] make Dict scalable Computation Objects [ ] @cartprod (?), @slice (@splice ?) [ ] black option in @store (?) [ ] @export_list [ ] @import~, @export~, @import*, @export* [ ] see APL/J/NArray/PDL reference [ ] @queue, as a replacement for double-@store feedback, and such. (?) [ ] @pfold, @rfold, @prfold [ ] @polygons [ ] @matrix_inverse, @matrix_solve [ ] @transpose (dimension swapping and/or index reversing) [ ] bidirectional vector<->int packer/unpacker (in C using metaclass...) will replace @two, @three, @four. Effects [ ] overlay using alpha channel [ ] pinch [ ] pixelize, despeckle [ ] hue change [ ] abyss effect [ ] image-sur-image [ ] n-frame delaying [ ] Y*X*RGBA <-> Y*X packing (96 <-> 32 bits) (???) [ ] HSL <-> HSV <-> RGB <-> YUV [ ] blinds, [ ] split channels, join channels [ ] see gimp for ideas [ ] there's a way to double (?) the speed of the cross-fade. try interleaving the data and using [@inner] Structure & Protocol [ ] change the protocol completely: not based on messages, but rather a push/pull combination, add GridStream objects, allow them to be passed in other messages; etc... (?!?) [ ] unary ops: sq [ ] trinary ops? eg. */ *+ ?: minmax &<< >>& [x] replace #idle by #busy [ ] identify streams by ids given at grid_begin (may allow for cancelling rejected grids?) (add cancel option to the r/rw choice in callback of grid_begin ?) Input/Output [ ] in-place editing (rw mode) [ ] implement byte-order support in BitPacking [ ] add Hermes support [ ] add messages "load", "save" as open,bang,close combos. [ ] arguments to @in,@out could be a auto-open. Formats [ ] Targa write support [ ] JPEG support [ ] PPM P3 support [ ] PGM P2,P5 support [ ] PBM P1,P4 support [ ] XBM/XPM support [ ] PNG support (and register ourselves in libpng.org's app list) [ ] QuickTime support [x] MPEG support [ ] Better MPEG support [x] TCP server [x] non-blocking read [ ] non-blocking write [!] non-blocking listen [ ] VDSP support [ ] multi-image (seq) (createable by cat, ar, tar or zip) [ ] multi-file (multi) (by glob pattern, e.g.: foo*.ppm) [ ] rewinding file (or not) [ ] Format base class + inheritance [x] Format pre-written open() code [x] single alarm for X11. [x] single alarm for GridFlow. [x] add NTSC<->PAL option [ ] allow to select tv channels (this is "freq") [ ] fix RGB<->BGR<->??? palette issues [x] should disable x11 shared memory on remote displays. Java/Swing [ ] color picker [ ] gridbox (akin to intbox) or grid edition dialog, etc. [ ] embedded display [ ] vector slider (n parallel sliders in one, Dim(n)) [ ] 2d slider [ ] radial slider (angle chooser) UnitTesting/Bugs [ ] @out causes delayed crash when closing its associated window [ ] distinguish "mod" and "%" properly (re: rounding) [x] leak in all FileFormat#close (?) [x] add alloc-tracing to find all leaks [ ] TCP server socket busy even after kill [ ] make better detection of libmpeg version [ ] libmpeg fubar on SuSE Misc [ ] find out what channel the small cam goes on and why it isn't displaying.