/* $Id$ */ "!" is planned for next release starting with 1.0, backwards compatibility will be kept > http://redshift.sourceforge.net/debugging-GC/ > [ruby-talk:53835] > You might also want to search the web for "malloc debugger". Community [ ] put new samples on website [ ] add on website: [ ] looking for someone to take care of win32 port [ ] looking for someone to take care of macosx port Distribution (0.6.4) [ ] add test plan [ ] follow test plan [!] review all documentation [!] review all samples [ ] upload & send announcement (jmaxvideo,jmax,0xff,fm.net,pd) Installation [!] installable doc [ ] installable includes ? [ ] produce binaries (.tar.gz .rpm .deb ?) [ ] introduce jMax 3.x support (whenever jMax 3.x itself is ready) [ ] add macos 10.x support (i need access to a mac) [ ] less compile-time checks and more run-time checks [ ] should GridFlow be bundled with some of its own dependencies? [ ] reintroduce --puredata-dist-dir ? [ ] --ruby-prefix Documentation [ ] indiquer comment faire un rapport à propos d'une carte v4l ou d'un mode x11 non-supporté [ ] mention v4l_compat.o in docs [ ] project_policy.xml [ ] validate samples/outside [ ] specify policy for , , etc. [ ] add credits [ ] split reference.*ml into: elements.*ml objects.*ml formats.*ml [ ] add explanation of gridflow vs pixonix [ ] 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 our own release procedures, how our CVS works [ ] document how to report bugs, basic troubleshooting [ ] document our distribution of the archives [ ] improve protocol description [ ] ascii conventions: [foo] vs "foo", etc. [ ] document asymptotic cpu+memory usage [ ] document internals [ ] operator list: add columns for meaning as pixmap, indexmap [ ] describe indexmap in doc [ ] document backward compatibility issues [ ] typical uses: [ ] architecture: class->type->use->shape->role [ ] it should be indicated whether an object is supported by jmax/pd/ruby/c++ [ ] rework the DTD/documentation system at whole --- remember to keep doc/help/screenshots/samples up to date Architecture [ ] Add simple C preprocessor to allow multi-line strings (because of rb_eval_string ?) [ ] Design the GF-1.0 architecture (new internals documentation) [ ] obsolete grid_end; rename grid_begin -> grid [ ] identify streams by ids given at grid msg (may allow for cancelling rejected grids?) (add cancel option to the r/rw choice in callback of grid msg ?) [ ] dimension list pattern matching system [ ] argument list processing system [ ] passive inlets (associated to variables) [ ] replace current macro system by SWIG or Inline.rb ? [ ] better error handling [ ] MMX memcpy() ? [ ] runtime configurable packet_length [ ] 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... (?!?) [ ] trinary ops? eg. */ *+ ?: minmax &<< >>& [ ] mode 0 for inlets that don't even read their buffer [ ] [@finished] replaces [route grid_end] [ ] make @store loopable [ ] MMX autodetection [ ] MMX computations integration [ ] accounting: grids messages packets numbers bytes copybytes [ ] more profiling? [ ] pull mode (functional-style) [ ] bidirectional messages (constraint/relational-style) [ ] send-reply messages (imperative-style) [ ] add reflection (@global#classes, @global#methods, ...) [ ] jMax metaclasses -> Ruby runtime subclass creation [ ] UnknownAtom class [ ] GFBridge object visible from Ruby [ ] use C++ destructor for C++ fields... [ ] jMax does not support literal lists in messages... Computation Objects [ ] @type, @cast [ ] @slice (@splice ?) [ ] zero option in @store (?) [ ] zero option in @convolve (?) [ ] shrink option in @convolve (?) [ ] @import~, @export~, @import*, @export* [ ] see APL/J/NArray/PDL/Aplus reference [ ] see Yorick reference http://wuarchive.wustl.edu/languages/yorick/ydoc/manual/Arrays.html [ ] http://www.dai.ed.ac.uk/HIPR2/wksheets.htm [ ] @queue, as a replacement for double-@store feedback, and such. (?) [ ] @foldr, @scanr [ ] @polygon [ ] @perspective [ ] @matrix_inverse, @matrix_solve [ ] @sort ? [ ] @transpose: dimension swapping [ ] @reverse (on given dimension number) [ ] timelines as in MM-Director [ ] @replace_if [ ] @random_select, @markov_chain [ ] @two,@three,@four -> [@pack n] using metaclass [ ] @unpack [ ] @join Effects [ ] @chroma_key: i0=RGBpicture i1=RGBcolor i2=tolerance o0=RGBApicture with fuzzy flag [ ] @apply_palette [ ] @apply_splitted_palette (color_correction.jmax) [ ] @fire [ ] pinch [ ] pixelize, despeckle [ ] abyss effect [ ] @dither [ ] image-sur-image [ ] n-frame delaying [ ] Y*X*RGBA <-> Y*X packing (96 <-> 32 bits) (???) [ ] HSV<->RGB; hue shifting [ ] HSV<->HSL [ ] RGB<->YUV [ ] effectv [ ] blinds, ... [ ] create templates for usage patterns [ ] see gimp for ideas [ ] there's a way to double (?) the speed of the cross-fade. try interleaving the data and using [@inner] Input/Output [ ] [fps] [ ] in-place editing (rw mode) [ ] add Hermes support [ ] add messages "load", "save" as open,bang,close combos. [ ] arguments to @in,@out could be a auto-open. [ ] Pixonix bridge [ ] Max bridge [ ] Gimp bridge [ ] read/write PureData files [ ] read/write jMax files [ ] Gnome/Gstreamer bridge [ ] TCP: non-blocking write [ ] TCP Socket Buffering [ ] Grid: bpv 1,2,4,16,64 [ ] Grid: signed/unsigned [ ] MacOSX-Quartz, Win32-GDI, Win32-DirectX ? [ ] PTC, TinyPTC ? [ ] Grid: text version of the format Format [ ] all: possibly get rid of the "format" notion ? [ ] all: rewinding file (or not) on WRITE [ ] seq: multi-image (createable by cat, ar, tar or zip) (!?!?!?!?) [ ] multi: multi-file (by glob pattern, e.g.: foo*.ppm) [ ] Targa: RGBA-32 and write support [ ] PNM: P1,P2,P3,P4,P5 support [ ] XBM, XPM [ ] GIF, PNG support (+ reg ourselves in libpng.org's applist) [ ] libquicktime.so, more libmpeg3.so [ ] fork: is a new format, for e.g. multiple MPEG drivers [ ] Videodev: fix RGB<->BGR<->??? palette issues [ ] Raw: a new format for reading arbitrary data. [ ] Common message-passing format (includes other things than grid) [ ] implement IO#read_into [ ] libaa [ ] /dev/dsp [ ] /dev/mixer [ ] Generic SHM Driver [ ] Generic MMAP Driver [ ] Unix-for-jMax jMax-UI [ ] 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) Extra/Samples/Etc [ ] make demo app(s) in Ruby/Tk [ ] world domination Bugs [ ] format_x11 causes delayed crash when closing its associated window [ ] format_x11 causes crash (resizing + shm, sometimes) [ ] TCP server socket busy even after kill [ ] make better detection of libmpeg version [!] detect and reject .a linkage [!] possibly remove Number and sizeof(Number) (often does not make sense) [ ] write unit tests about required functionality [ ] write unit tests about error checking [ ] Window does not close when @out is destroyed [ ] profiler is severely broken [ ] format/mpeg.c seems to crash more often? [ ] format/mpeg3.c,quicktime.c might cause lockup on exit [!] tcp test is broken [ ] potential issues between fork() and X11 ? [!] @scale_to is broken [!] method_missing does blackholing ? [!] warning: -Wno-strict-prototypes is not supported in C++ [ ] BitPacking should not be a GridObject nor a FObject. [ ] don't try resizing the window before it opens (???) (loadbang?) [!] [@export_list] blows up with >=125 elements (alx) [ ] Format#init stopped initializing dim,bit_packing (there may be bugs dating back to that change) [ ] cvs is not listed in the manual itself [ ] recurrent bug: stdout SHALL NOT be used outside of debugging because it interferes with normal functioning [ ] does not work with g++ 3.2 [ ] non-existent filename STILL garbles find_file() result ! [ ] using find_file() on write is WRONG [ ] format_grid: write test for other bpv's [ ] problem in @for with zero-sized grids? [ ] BitPacking has trouble with masks that extend beyond int25be [ ] remove the crap given by -w of ruby [ ] make test: [gf] total 31476 lost bytes in 445 allocations [gf] total 18604 lost bytes in 445 allocations Feature Requests From: Dave Bergevin [ ] synchronized audio with the video when using mpeg1 & 2 [ ] full screen mode (without the menu bars or frames) From: Alexandre Castonguay [ ] support for tcp/ip connections to control jmax objects (from a web interface) [ ] server side jmax to handle multiple incoming commands, audio + video streams [ ] support for audio in the mpeg streams From: Margit Hideg [ ] I wish to see server side jmax to handle multiple incoming commands, audio + video streams alx_away: je viens d'avoir une idée géniale tab completion dans jMax hum bah c'était juste génial pcq j'avais pas pensé aux problèmes logistiques. ça marcherait pour les object boxes mais pas pour le reste 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ù l'argument a beaucoup de valeurs possibles) je pense que le help de jMax est une bonne idée (le concept hands-on) mais ça pourrait aller plus loin. j'ai pensé intégrer le manuel de référence de gridflow directement dans le programme, disponible au runtime, dans l'éventualité d'un GUI qui saurait en tirer avantage. sinon on pourrait faire des hacks cool genre un message "help" au inlet 0 enverrait une description de la classe dans le log. (sauf que dans ce cas: [rubyprint] est tenu d'afficher directement tout ce qu'il reçoit. alors doit-il écrire "help" ou écrire le help ? donc une option "open aalib" serait la 'seule' chose à faire pour avoir le même output que hasciicam?