
   Copyright 2005 - 2006 : Claudio Fernandes de Souza Rodrigues
                           So Paulo, Brasil.
		    
Homepage: http://gnormalize.sourceforge.net
See too : http://www.gnomefiles.org/app.php?soft_id=736	    

For suggestions, grammatical errors and bugs, my email: claudiofsr@yahoo.com

This software is available under GNU General Public License, version 2.


**-----------------------------Introduction-----------------------------**

gnormalize is a front end to normalize, an audio converter, a ripper, an encoder,
a audio player and a metadata (tag) editor. It uses gtk2-perl under GNU/Linux.

gnormalize decodes the MP3/MP4/MPC/OGG/APE/FLAC file to WAV, then normalizes the 
WAV to a targeted volume level and re-encodes it. gnormalize can also rip, encode,
convert audio format between MP3, MP4, MPC, OGG, APE and FLAC, change the encoding 
and matadata (tag) properties of final normalized files. 


Input : supported files format: MP3, MP4 (or M4A or AAC) , MPC (MPP or MP+ - Musepack), 
                                OGG, APE (Monkey's Audio), FLAC, AUDIO CD and WAV.

Output: supported files format: MP3, MP4, MPC, OGG, APE, FLAC and WAV.


gnormalize distinguish this formats only by extension and can make transcoding.
Transcoding is the process of converting audio files from one format to another. 

To be implemented (TODO): 
   - Mix mode of gnormalize;
   - Submit cddb info.
   - To be the most userfriendly interface ever.


       NORMALIZE DESCRIPTION:
      "normalize is used to adjust the volume of WAV audio files to a standard
       volume level. This is useful for things like creating MP3 mixes,  where
       different  recording levels on different albums can cause the volume to
       vary greatly from song to song.

       normalize operates in two phases. In the first phase, it  analyzes  the
       specified  files  as  WAV  audio files, and computes the volume of each
       file. In the second phase, it applies a volume adjustment to each  file
       to set each file's volume to a standard level."       
            ( See the manual of normalize. Author of normalize: Chris Vaill. )

	    
If after normalize, the new normalized files emits some noise (clipping), 
then download and configure the original normalize-0.7.6.tar.bz2 file with 
      "./configure --prefix=/usr --without-audiofile"
and compile it again  with
      "make && make install".
	    

**-----------------------------Dependencies-----------------------------**

Required and recommended programs:
  
  gtk2 (gtk+)        - version >= 2.4.0  
  gtk2-perl          - version >= 1.040
  normalize          - to normalize the WAV files.
  lame               - for decode MP3 to WAV, and encode WAV to MP3 file.
  mppdec,mppenc      - mppdec (decoder) and mppenc(encoder) for MPC format.
  faac,faad          - faac (encoder) and faad (decoder) for MP4 format.
  vorbis-tools:      - oggenc, oggdec and vorbiscomment.
  cdparanoia or cdda2wav          
                     - to rip audio cd.
  flac and metaflac  - to encode, decode and edit flac format. Version >= 1.1.1
  
  mac (Monkey's Audio Console)  - to encode and decode APE format. 
                       Get the packages: mac and xmms plugin at 
		       http://sourceforge.net/projects/mac-port/  (source code)
		       or http://plf.zarb.org or http://rpm.pbone.net 
		       according to your Linux distribuition.
		     
  cdcd		     - command-driven cd player. Download cdcd and libcdaudio
                       from http://libcdaudio.sourceforge.net
		       		     		        
  Perl modules:
   Gtk2
   Glib
   Gtk2::Pango
   File::Find
   Encode
   CDDB_get          - (to install: login as root; connect to the internet;
                       give the command: <perl -MCPAN -e 'install CDDB_get'>
		       Press <q> to quit).
		       Armin Obersteiner is the author of CDDB_get. 
		     
   Audio::CD         - Perl interface to libcdaudio (cd + cddb)	
	               (required: libcdaudio and libcdaudio-devel;
		       perl-devel to compile this module)
		       
		       If you want to use Audio::CD to play audio CD,
		       it MUST have the functions (see man Audio::CD):
		          my ($minutes, $seconds, $frames) = $info->time;
		          my $current_track = $info->current_track;
		       If not so, install Audio-CD-0.04-changed.tar.gz inside 
		       the gnormalize-version.tar.gz package.
		     
   MP3::Info	     - The package MP3::Info is included in the gnormalize. 
                       MP3::Info substitutes mp3info,id3info and id3tag.
                       Chris Nandor is the author of MP3::Info.   
		       
To play audio CD, gnormalize will first search for gnormalize::cdplay perl 
module, next to Audio::CD and finally, the cdcd.	     

**-------------------------------Install-------------------------------**

Execute the bash script commands:
                           tar zxvf gnormalize-0.51.tar.gz
			   cd gnormalize-0.51/                           
			   ./install
as root.

To install only the gnormalize: 'make install'.
To uninstall the gnormalize:    'make uninstall'.
             	     		     		       		    		    	   
	
After install, to execute gnormalize:

                           gnormalize  
			   
			   			   
Make sure that the correct path of perl is '/usr/bin/perl'. If not 
so, change the first line '#!/usr/bin/perl' of gnormalize to the correct path.	

If "cdcd" is used to play audio cd:
When, for the first time, run "cdcd" in command line to make the 
config file .cdcdrc, choose "n" for the question: 
   Are you connected to a network (y/n) [y]?
If choose "y", remove the config file (rm -f ~/.cdcdrc) and run "cdcd" again.   
  
**------------------------------Download-------------------------------**

Download gnormalize:
http://prdownloads.sourceforge.net/gnormalize/gnormalize-0.51.tar.gz?download


MPC format:
MPC encoder and decoder can be found at www.musepack.net or into mpc directory.


**-------------------------------Players-------------------------------**

The recommended players that have plugins support are:

1) XMMS - X Multimedia System (http://xmms.org).

2) BMP - beep media player (http://www.beep-media-player.org).


**-------------------------------Changes-------------------------------**

version 0.51: - Show the Scrolling Text on the vertical or horizontal direction.


version 0.50: - Bugfixe on used Gtk2::Button icons.
              - Bugfixe on strings values of set_popdown_strings 
	        function (thanks to Bjrn C. Schaefer).
              - Show/Hide file number, artist and track columns of playlist.
              - Color for artists and albuns columns when a file is played.
	      - Changes on Interval and Step for Scrolling Text.

version 0.49: - The possibility to change the Remaining Time color.
              - Add a button to show/hide the progress bar.
	      - remove the '--athtype 2' option for --vbr-new lame encoding.
              - Make a Makefile.

version 0.48: - Only some bugfixes.

version 0.47: - Only some bugfixes.

version 0.46: - Play APE format with the command: 
                   mac "song.ape"  - -d | play -t wav -
                'mac' is the "Monkey's Audio Console" and 'play' comes with 'sox'.

version 0.45: - The ability to select more than one album or artist by pressing 
                the control key and mouse button.

version 0.44: - The ability to choose what columns to show on the playlist.
              - Some bugfixes.

version 0.43: - Some color on playlist.
              - The ability to remove the selected musics from playlist.
	      - Use the directory name for Album list if no album name is found.

version 0.42: - Save the playlist in the configuration file and show the playlist 
                like Rhythmbox.
              - The output directory can be selected.

version 0.41: - The ability to play MP3, MP4, MPC, OGG, FLAC and WAV format was added.
                gnormalize play MP3 with mpg321/mpg123/madplay, MPC with mppdec, 
		OGG with ogg123, FLAC with flac123/MPlayer and WAV with MPlayer.
				
              - Convert/Normalize all supported files inside the directory to one 
	        specific format. 
              - Output to WAV without need to encode.
              - Change the cd player skin.

version 0.40: - The ability to select one skin to cd player was added.

version 0.39: - Only CD player display mode was added.
              - Display with scrolling text and customized button colors.

version 0.38: - More improve on the CD player display.

version 0.37: - Set the relative audio track position and improve the
                buttons appearance on the CD player.

version 0.36: - Select the type of files for Gtk2::FileChooser.
	      - Verify the perl module depence for CDDB_get.
	      - More animations.

version 0.35: - Add a Gtk2::VPaned to adjust debug informations.
              - Show some animations in the "about" textview, just for fun.

version 0.34: - Change fonts whithout gnome-font-properties.
              - Some bugfixes. 

version 0.33: - Remove the Audio::CD or cdcd dependencies to play Audio CDs 
                and substitute with the new internal gnormalize::cdplay package 
		writen in perl (only valid for Linux) without any dependecies.
	      - A bug in the 'ID3_SET_SIZE28' subroutine which set 32 bit 
	        synchsafe integer used by ID3v2.3.0 was fixed.	

version 0.32.1: Remove one bug in cd player when Audio::CD is used.

version 0.32: - Resizing the main window is now allowed.
              - New button to change the volume level of Audio CDs.
	      - New entry to choose the audio cd player.
              - If Audio::CD is used to play Audio CD, recompile and install 
	        Audio-CD-0.04-changed.tar.gz because this perl module uses 
		the new function $info->current_track .

version 0.31: - New icons for notebook.
              - Remove the ogginfo dependence. Now, use the new internal subroutines.
              - Minimum required METAFLAC version >= 1.1.1 ( the new version
	        changed the command --set-vc-field to --set-tag ).
	      - Add filesize in the technical info (metainfo).
	      - Some bugfixes.

version 0.30: - Support for translations enables by rearrange the tooltips.
              - Translation to portuguese (Brasil).
              - Some bugfixes.

version 0.29.1: Only some bugfixes.

version 0.29: - Can read directory recursively.

version 0.28: - New entry for additional command line used by encoders.
              - New entry for rip filename format.
              - Edit and save the tag of cddb info for Audio CD; add cddb configurations.
	      - New file chooser used when a file is selected.
	      - Some bugfixes.

version 0.27: - Get the first parameter from the command line as selected file,
                for example: 'gnormalize music.mp3'.
	      - Support new 'mac' encoder (version >= 3.98) for APE files.
	      - Some bugfixes.	

version 0.26: - Support for mp4 format with dependencies on faac (encoder) and faad (decoder).
              - improve the subroutine 'save_ID3v2_mp3_tag' of gnormalize that saves
                ID3tagv2 to mp3 files.

version 0.25: - Make new perl subroutines to get informations about flac and ape 
                files like time, bitrate, frequency, ...
	      - Some bugfixes.	

version 0.24: - Remove the id3info, id3tag and mp3info dependence.
              - Include MP3::Info to obtain mp3 informations.
	      - Make new perl subroutines to edit ID3v1 and ID3v2 tag for mp3 files.
	      - Make new perl subroutines to edit APE tag for mpc and ape files.

