/* $Id$ */ "!" is planned for version 0.3.0 Installation [ ] add --fast switch to turn on all optimizations [ ] add --slow switch to turn off all optimizations Documentation [ ] XMLize reference section [ ] create JMAXML->HTML converter [ ] validate samples/outside [ ] validate samples/020 [ ] op2: relative speeds [ ] add credits [ ] split reference.html into: protocol.html operator.html format.html object.html [ ] document internals [ ] add explanation of video4jmax vs jmax-videodsp [ ] things you type verbatim are all in KBD blocks [ ] placeholders for your own values are all in I blocks [ ] H5 font-size is smaller than regular P font-size ? [ ] make real documentation for templates [ ] recategorize objects+templates together [ ] find a good XML editor [ ] create a good DTD/Schema for jMax/v4j/C [ ] 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 General [ ] make FREE() handle #delete as possible [ ] better error handling [ ] @print [ ] how can I write unit tests or contracts? 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. (?) [ ] listop, listfold [ ] @matrix_inverse, @matrix_solve [ ] @transpose (dimension swapping and/or index reversing) [ ] bidirectional vector<->int packer/unpacker (in C using metaclass...) Effects [!] overlay using alpha channel [ ] pinch, waves [ ] 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 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 &<< >>& [ ] copy-on-write and similar tricks [ ] accept lists as 1D grids directly in constructors Input/Output [ ] in-place editing (rw mode) [ ] implement byte-order support in BitPacking [ ] add PTC / TinyPTC / SDL support [ ] x11 shared memory working [ ] add messages "load", "save" as open,bang,close combos. [ ] add NTSC<->PAL option [ ] fix RGB<->BGR<->??? palette issues File Formats [ ] Targa write support [ ] JPEG support [ ] PNG support (and register ourselves in libpng.org's app list) [ ] QuickTime support [ ] MPEG support [ ] multi-image (seq) (createable by cat, ar, tar or zip) [ ] multi-file (multi) (by glob pattern, e.g.: foo*.ppm) [ ] install libmpeg [ ] design generic grid format (.grid) [ ] rewinding file [ ] FileFormat base class + inheritance + pre-written open() code, etc 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) Bugs [ ] @video_out causes delayed crash when closing its associated window [ ] object sending too much data causes *another* object to crash. [ ] distinguish "mod" and "%" properly (re: rounding) [ ] @convolve crashes with some bad right-inlet input [ ] leak in all FileFormat#close [ ] add alloc-tracing to find all leaks Misc [ ] find out what channel the small cam goes on and why it isn't displaying. [ ] v4j could have a runtime profiler for cpu+memory usage. ================ vin_file_test_2.jmax / benchmark.jmax 0.2.0.pre3 : 20 frames in 30 seconds : 0.66 fps 0.2.0.pre8 ps=16: 20 frames in 8 seconds : 2.50 fps 0.2.0 ps=1k: 20 frames in 4 seconds : 5.00 fps 0.3.0.pre1 ps=1k: 100 frames in 16.5 seconds : 6.06 fps 0.3.0.pre2 ps=1k: 100 frames in 11.4 seconds : 8.77 fps 0.3.0.pre3 ps=1k: 100 frames in 6.5 seconds : 15.38 fps ================ feedback_fractal.jmax 28,36,128 336,557,140 179,15,183 ================ #003f69 #400077 (cd doc; for z in images/*.*; do fgrep -q $z *.html || echo "$z"; done)