TODO 
-------------

* fix maintainer-clean: removes icons ?!

* XV + ffmpeg pixel aspect ratio.

* complete contrib/tsmm and perform tests.

* mq:
   - FIX multiple remote clients one xjadeo -> who gets the replies ? 
   - multi drop queues and mq_notify()
   - multiple instances - named message queues + list of avail queues.
   - queue length and timeouts..

* ratain aspect ratio  - letterbox option for imlib (+ SDL? )
  - cache imlib2 letterbox border 
  - revisit window hinting + aspect ratio resize

* qjadeo 
 - nicely parse xjinfo output.
 - allow to specify offset + "seek to" either as frame-integer or SMPTE string.

* XV/X11 brightness/contrast control
  - LASH save 
  - remote commands
  - restore prev/system settings on exit.

* opt. cache cont. images from last keyframe. (backwards play)

* ffmpeg packet queues (#)

* testsuite for quality assurance and benchmarks.

* remote commands to query mouse, fullscreen and on_top mode

* map key bindings (cfg file -> to remote commands) 
  and print help OSD 
  -make key events generate remote-replies (notify GUI of changes) 

* xjadeorc man page 

* bring SDL up to scratch - should behave as X11 + SDL-SWSURFACE

* decode DnD UTF8 etc.

MIDI:
  - alsamidi - catch port re-assignments and remember em ?
    don't clash with check with lash+qjackctl !

TODO - next major version: 
------------------------------------------------
* exact sync
 decode one frame ahead and use
 Xv/Xext -> VSYNC raster interrupt to trigger double buffer flip

* option: don't poll for jack-time but register as jack-audio client
  -> jack will call xjadeo in a RT callback.

* option: modularize time-sync + video-source 
  (send time information via message queues)

* dig into ffmpeg.

* vacuum the code and clean the bath tub.

* translations and internationalization ?!


TODO - legacy and low priority issues / ideas
---------------------------------------------

-  read image sequences (eg. sgi) and playlists (vob)

  DISPLAY:

 - SDL RGB SWSURFACE (new videomode)

 - speed up YUV trancoding -
   have ffmpeg decode directly to shared-mem...

 - remember and set window position when (re-)creating window.

 - put xjadeo-session name in window title ? 
   add some info and markups to the title (on top, offset, smpte)

 - freetype font config. outline font? color, xposition, size,..

  MIDI:

 - portmidi: error handling (portmidi aborts on error)

 - jack midi 

  REMOTE: 
 - keyboard events. (-> generate remote msgs)
 - notify key event ?? (have client handle keystrokes on the xjadeo window)
   internal (default) key press handler if no-bidir remote ctrl.
   map key event to command 

  OTHER:
 - check cpu load - dynamically increase delay if above threshold.

