TODO list for Drip:




TODO soon \ bugs ===================================================================


- Handle read-from-cache location without crashing                         : todo
- Handle multiple ifo files as encoder input                               : todo
- Add left\right clipping and output codec selection to GUI                : todo
- Parse subpicture colours and use those instead of the fixed table        : todo
- Enable DEBUG logging to screen optional                                  : todo
- Put all temp files in ~./drip & make this default for caching            : todo
- Clear text config file                                                   : Undone
- Split ripper_thread function into smaller bits                           : Undone
- catch fatal signals in backend and notify frontend                       : wip



TODO long term =====================================================================

- use libdvdread
- Reorganise source code: move corba\rip logic\etc 
- Enhance UI with sliders, recheck calc menu, etc
- Add an option to shut down the system when decoding is complete
- Only cache audiochannel and subpictures needed for encoding
- Handle out-of-diskspace      
- Add logging file rotation




- GUI REDESIGN ---
  Parse log entries to graphical representationis, 
  and make these visuals as ineractive as possible. This should
  make the configuration dialogs and the logging integrate. Need to
  come up with clear and interactive dialogs that contain:
  1. Configuration
  2. Real time visualisation
  3. Clear to understand\use GUI
  4. Real time user input
  5. Controlled by a consistency checker

  The (?incomplete?) list of elements:
  A. Source (dvd device, location, stream type, caching, selection of files, automatic selection)
  B. Destination (filename, dvddb, chunksize, ?encoding format?, frame size, audio options, subpitures, clipping, blurring)
  C. Behavour (eject dvddevice, cpus, proces encoding yes\no, decoding yes\no, etc)
  D. Status (paused yes\no, nice values, stopped, frames\sec, estimated time of arrival, etc)

  So all that needs to be done is route the logging to screen to this consistency checker, and from there the various GUI elements receive the filtered data. Also need some widgets, some pictures, and a shitlot of logic implemeted. 
