|
From: Edward M. <edw...@us...> - 2003-09-02 09:33:39
|
this patch adds the normalization support to the latest cvs snapshot. I decided to use mp3gain to add the normalization because it's a good application (it's hopefully very stable and accurated) and it's both opensource and freesoftware (it's released under LGPL). mp3gain is used as an external application so you just need the binary executable file (I have used the 1.4.2 backend version, don't complain about any other version). BEWARE!! The normalization support is NOT release ready mainly because: - I haven't found many distribution that ships mp3gain (but this is not my fault ;-) - It doesn't understand album-gain - It doesn't let the user decide which songs has to be normalized - the mp3gain pathfile is coded into the source - gtkpod is freezed by the mp3gain execution (waitpid's fault) - the code is full of FIXME that obviously needs to be fixed - the code is not very clean - it doesn't complain if mp3gain doesn't exists (or it's not executable) in a proper way - it doesn't warn the user that normalization IS a long operation - normalize the newly inserted file doesn't work BUT it does work :-) (*) I'll first post a solution to all the problems I can solve (BTW don't expect a "album-gain" solution very soon) then I'll follow this path to complete the normalization's implementation in gtkpod: the user can decide if: 1° automatically normalize on esportation 2° normalize on request the "auto-normalize" feature will have four level: 1° no normalization 2° normalize only the newly inserted songs 3° normalize only the newly inserted songs and all the songs that have 0 gain (default) 4° normalize all the songs in the ipod the new esportation process will be this: first we have the normal exportation (upload all the mp3file, update the iTunesDB, update the iTunesDB.ext) then we run autonormalize after normalization we re-sync the iTunesDB. in this way we have a working iTunesDB even if normalization fail. normalize on request will have two menu function: normalize all the songs in the ipod normalize the newly inserted songs obviously the "normalization level" and the mp3gain pathfile will be customizable. I'm thinking about let the user decide if he/she wants the "-s s" mp3gain's option. help is welcome, please feel free to suggest any changes to the "normalization's todo". Cheers Edward (*) gtkpod's normalization is working on my 10Gb iPod, I have tested it on a 300Mb loopback device and it worked very well |