 MP3SPI 1.9.1
 JavaZOOM 1999-2004

 Project Homepage :
   http://www.javazoom.net/mp3spi/mp3spi.html 

 JAVA and MP3 online Forums :
   http://www.javazoom.net/services/forums/index.jsp
-----------------------------------------------------

05/03/2004: MP3SPI 1.9.1
------------------------
 - Shoutcast stream meta-data (title, url) added. See DecodedMpegAudioInputStream :
     mp3.shoutcast.metadata.key [String], Shoutcast meta key with matching value. 
     For instance : 
      mp3.shoutcast.metadata.StreamTitle=Current song playing in stream. 
      mp3.shoutcast.metadata.StreamUrl=Url info.

 - Icecast 2.0 icy-metaint support added.


04/05/2004: MP3SPI 1.9
----------------------
 - Shoutcast ICY meta-data support added.
   (jicylib classes included).
 - ID3v1 support added.
 - Audio parameters could be read through AudioFileFormat.properties() and 
   AudioFormat.properties(). Here are all audio parameters provided by MP3 SPI : 
     AudioFormat parameters  :
     ~~~~~~~~~~~~~~~~~~~~~~
     - bitrate : [Integer], bitrate in bits per seconds, average bitrate for VBR enabled stream.
     - vbr : [Boolean], VBR flag

     AudioFileFormat parameters :
     ~~~~~~~~~~~~~~~~~~~~~~~~~~
     + Standard parameters :
       - duration : [Long], duration in microseconds. 
       - title : [String], Title of the stream. 
       - author : [String], Name of the artist of the stream. 
       - album : [String], Name of the album of the stream. 
       - date : [String], The date (year) of the recording or release of the stream. 
       - copyright : [String], Copyright message of the stream. 
       - comment : [String], Comment of the stream.

     + Extended MP3 parameters :
       - mp3.version.mpeg : [String], mpeg version : 1,2 or 2.5 
       - mp3.version.layer : [String], layer version 1, 2 or 3 
       - mp3.version.encoding : [String], mpeg encoding : MPEG1, MPEG2-LSF, MPEG2.5-LSF 
       - mp3.channels : [Integer], number of channels 1 : mono, 2 : stereo. 
       - mp3.frequency.hz : [Integer], sampling rate in hz. 
       - mp3.bitrate.nominal.bps : [Integer], nominal bitrate in bps. 
       - mp3.length.bytes : [Integer], length in bytes. 
       - mp3.length.frames : [Integer], length in frames. 
       - mp3.framesize.bytes : [Integer], framesize of the first frame. 
                                          framesize is not constant for VBR streams. 
       - mp3.framerate.fps : [Float], framerate in frames per seconds. 
       - mp3.header.pos : [Integer], position of first audio header (or ID3v2 size). 
       - mp3.vbr : [Boolean], vbr flag. 
       - mp3.vbr.scale : [Integer], vbr scale. 
       - mp3.crc : [Boolean], crc flag. 
       - mp3.original : [Boolean], original flag. 
       - mp3.copyright : [Boolean], copyright flag. 
       - mp3.padding : [Boolean], padding flag. 
       - mp3.mode : [Integer], mode 0:STEREO 1:JOINT_STEREO 2:DUAL_CHANNEL 3:SINGLE_CHANNEL 
       - mp3.id3tag.genre : [String], ID3 tag (v1 or v2) genre. 
       - mp3.id3tag.track : [String], ID3 tag (v1 or v2) track info. 
       - mp3.id3tagv2 : [InputStream], ID3v2 frames. 
       - mp3.shoutcast.metadata.key : [String], Shoutcast meta key with matching value. 
           For instance : 
            mp3.shoutcast.metadata.icy-irc=#shoutcast 
            mp3.shoutcast.metadata.icy-metaint=8192 
            mp3.shoutcast.metadata.icy-genre=Trance Techno Dance 
            mp3.shoutcast.metadata.icy-url=http://www.di.fm 
           and so on ... 

     DecodedMpegAudioInputStream parameters :
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     - mp3.frame : [Long], current frame position. 
     - mp3.frame.bitrate : [Integer], bitrate of the current frame. 
     - mp3.frame.size.bytes : [Integer], size in bytes of the current frame. 
     - mp3.position.byte : [Long], current position in bytes in the stream. 
     - mp3.position.microseconds : [Long], elapsed microseconds. 
     - mp3.equalizer : float[32], interactive equalizer array, 
                                values could be in [-1.0, +1.0]. 


02/01/2004: MP3SPI 1.8
----------------------
 Initial official release. It targets J2SE 1.3 and J2SE 1.4.

 It includes a workaround to get audio properties (duration, title, author, bitrate, 
 vbr, ...) that will be available in JDK 1.5. It provides "static" MP3 format properties
 such as (mp3.version.mpeg, mp3.version.layer, mp3.id3tagv2, ...). The mp3.id3tagv2
 property allows to get all ID3v2 frames. MP3SPI also provides "dynamic" MP3 properties
 for each frame played such as (mp3.frame , mp3.frame.bitrate, mp3.frame.size.bytes, 
 mp3.equalizer, ...). The mp3.equalizer property allows to have equalizer feature.

Notes :
-----
 MP3SPI needs JavaLayer and Tritonus libraries to work.
