 
bugs:

 ? "cannot set permission" ??!?!
 ? spaces in filenames ?
 - progress for one file
 - "clear" not working
   in fact it works, but it only clear the selection
   maybe we need another function to remove all files from list
 - current filename not displayed

 * encoders as plugins 
 * optional "advanced" encoder settings
 * HIG compliant interface
 * handle exceptions even when they happen in callbacks
 * add support for GNOME encoding profiles ?
   GNOME profiles are "recording oriented", so maybe we need
   our own profile system. "lossless, voice, etc..."
 * bug: the program's options aren't printed with --help

* problem with wav decoding / flac encoding
-> solved in gst0.10...

* problem with m4a decoding ?

* problem when no decoder present
-> we need a plugin based plugin system, with dependencies against gstreamer plugins
-> an report a error when we cannot decode a stream

 -ok- simplify the file/folder adding.
 -ok- better progress, in the statusbar
 -ok- autotools, l12n
 -ok- give time estimates for progress bar
 -ok- progress dialog
 -ok- find a solution when no tags & filename generated from tags
 -ok- don't add dupplicate files 
 -ok- dropping a list a folder does not work as expected
 -ok- handle error when overwriting a file
 -ok- bug: the dialog can only be showed once
 -ok- use a raw quality setting
 -ok- display aprox. bitrate
 -ok- choose dir, add recursively input files that need to be converted

-------------------------------------------------------------------------------

roadmap:

0.9 -> bugfixes
1.0 -> stable (current) code - fall 2006
2.0 -> plugin based encoders, multithread conversion, profiles.

Version 1
 - test and release 0.9.0
 - stabilize current code
 - (better) error handling

Version 2

 - plugin based encoders
 - change TaskQueue, for a better, multithreaded one.
 - change BackgroundTask not to use timeout(), but an event-based system.
 - encoding profile
 - write test scripts

Only call gui stuff from main thread, but create threads to start Pipelines.
Call gui with gobject.idle_add()

When using threads with BackgroundTask, we have problems updating the UI...

------------------------------------------------------------------------------

Tests:
batch conversion.

take all in test/ and convert them.


use something like dogtail to test conversions and the different modes.
look at trm/musicbrainz/tunepimp

------------------------------------------------------------------------------

  Et ne pas oublier la conversion en batch.
  -> objet queue global ?

ThreadedQueue
	size, expected_size, processed_size, thread_method, thread_numbers 	
	start(), stop()

	total_lenght, position

	utiliser Queue.Queue ?

Une queue pour chaque tache ? (typefind/tagread/converter)
Une queue global qui gère les 3 autres ?

La convertion doit pouvoir se lancer meme si les 2 queues précedentes n'ont pas fini, 
ConverterQueue doit attendre les autres.

---------------------------------------------------------------------------

