    YES YOU HAVE OPTED TO BE SMART!!!


Dependencies:
             You'll need libmagic, dlopen, C++ and a unix based OS.
	     Plugins require additional depencies.
	     
       mp3 plugin:      Shouldn't require anything special
       vorbis plugin:   Requires libogg, libvorbis, pkg-config
       console plugin:  Shouldn't require anything special
       GTK2  plugin:    Requires libgtk2.x, pkg-config 



Compiling: 
       Edit top level Makefile to choose which plugins you wish to build 
       and where you would like to install them. mp3stat is built with a 
       non-configurable (after compile time) plugin search dir, so if 
       you're building on top of a previous install of mp3stat you'll want 
       to install in to the same directory to avoid copying over older plugins.
	   
       Rebuild mp3stat and stock plugins: just run make all in top directory 
       To install :   just run make install. 
	    
       It is not necessary to rebuild mp3stat if you just want to rebuild 
       a plugin.  Simply enter the plugin's directory and make/make install/ 
       make clean whatever. 
	   
	   make install installs plugins into $INSTALLDIR/lib/mp3stat 
	                installs headers into $INSTALLDIR/include/mp3stat
			installs mp3stat into $INSTALLDIR/bin/
	   
	   
Running:
      after running make install. simply execute "mp3stat" 	   
      mp3stat by default will want to use gtk2 as it's default ui, 
      but if you didn't build it with gtk2 at the time of compiling
      mp3stat, then it will default to the first UI plugin it reads.
      mp3stat 
	  
      The different UI plugins each have their own valid argumenst
      the base mp3stat program only has two. -u/-U/--ui and -l/-L/--list 
      --list will list available UI plugins found by mp3stat.
	  
      -u will allow you to override the default UI 
      eg.  mp3stat -u console  
	  
      The order of arguments has some significance, since arguments are not 
      removed from the list that have been used by the base program 
      (-u and -l) This will be fixed in later versions.
	  
      Until then you'll want to specify any mp3stat specific arguments first 
      and any UI specific arguments after
      
      an eg of using console ui:
      mp3stat -u console -b /path/to/some/music/*.*
      
Problems questions:
     
      mp3stat will throw an error and not run when any library is found to not
      work in the plugin directory.  
      
      mp3stat will not run when no ui plugins are found.
      

What the hell does it do?

The point of this program besides teaching me how to do gtk+ and other things 
was to give a more visual way of looking at the differences caused by encoders 
on the same audio file or between codecs. It only looks at the bitstream 
differences of bitrates,  it in no way capable of showing which encoder is 
better or which codec is better.  It's merely an informational tool for 
someone interested in knowing where an encoder is putting larger bitrates and 
smaller bitrates throughout the file.  How those change depending on quality 
levels and how different encoders handle certain audio files.


What's the graph all about?

The graph is a linear representation of the mp3 bitrates from beginning (left) 
to end (right)..  colors are shown next to their bitrates in the main output 
screen for reference.  Each unit is based on an avg of a given number of 
frames. The resolution of the graph is 500, so it takes the average bitrate of 
total_frames / 500 every frames and assigns it a color to the closest bitrate. 
That is why you can see in the chart for the breakdown of frames, say 2000 in 
the 160 area yet none of that color on the graph. Depending on the 
distribution of those frames, it can be outnumbered by surrounding 
lower-bitrate frames.  One thing you may be able to guage by the graph is the 
psychoacoustic engine of the encoders being compared.  You may find drastic 
differences in streams created by oggenc and lame, etc. The colors of the 
bitrates are chosen for best visibility in the graph.  


Adding new filetypes

check README.interface


Acknowledgements

Special thanks to a very old version of mp3check for the mp3 parsing routines. 
Although i dont know how recognizeable those are anymore. heh. also ogginfo 
from the vorbis-tools package for providing more mature code than i was using. 
Also the vorbis mailing list for helping out with the instant bitrate algorithm
for which i was too tired to be able to figure out.

Also another special thanks to Torbjrn Wassberg for all the great help in 
helping to fix mp3stat's memory allocation woes as well as other code cleanups.
Could not have finished this release without him.  

And not to leave out Peter Harris who is responsible for the text mode ui and 
the Visual C project file.  


				   email ( safemode@comcast.net )
