0.59r: (MH)
-----
- applied audio_alib changes from Ralf Hildebrandt <R.Hildebrandt@TU-BS.DE>
- some 'paetsches' from DK
- minor optimizations in layer3 (dequantize/huffman) 
- BSDOS 4.0 with gcc added to Makefile (<sms@moe.2bsd.com>)
- Solaris-ESD patch from Ryan Prosser <prosser@wam.umd.edu>
- Added Frontend changes from Bertrand Petit <elrond@phoe.netdev.net>
- more DK 'paetsches' (final dk7-clubhaus edition), includes extended term 
  control
- SGI audio fix for non RAD machines from Erik Mouw <J.A.K.Mouw@its.tudelft.nl>
- fixed ugly bug in layer3 dequant for bt==2 (may cause high frequency clitchs)
- AMD-3DNow optimizations in decode and dct64
- OS/2 reworked from Samuel Audet (see audio_os2.c for more)
- added freebsd-esd make-entry from Daniel O'Connor (darius@guppy.dons.net.au)
- added enhanced head_check from D. Skarda <0rfelyus@atrey.karlin.mff.cuni.cz>
- applied 'xterm-title-patch' from "Wilson, Jeff D" <jeff.wilson@wilcom.com>
- more esd changes from Robert Bihlmeyer <robbe@orcus.priv.at>
- applied Hannu Napari's <Hannu.Napari@hut.fi> SGI audio patches
- minor changes in httpget.c and mpg123.c 
- added native AIX support from Juergen.Schoew@unix-ag.uni-siegen.de
- applied playlist patch from <psst@euskalnet.net>
- more SGI audio patches from Gilles Zunino <Gilles.Zunino@hei.fupl.asso.fr>
- applied esdserver patch from Matthew Parslow <roy@alpha.alphalink.com.au>
- added some fixes for control_generic

0.59q: (MH)
------
- ESD fixes
- minor bugfixes (DK patch ;)
- au and cdr 'support' (it's a hack)
- Fixed 'VBR' Bug in get_scale_fac1(). Thanx to <ssonique@hotmail.com> for
  this. (Wasn't really a VBR Bug. The new encoders just triggered it.)
- Added equalizer patch from <dlux@dlux.sch.bme.hu>

0.59p: (MH)
------
- Added mpglib (see mpglib directory)
- 'make generic' is more generic now
- Added HPUX/ALib support from Ducroquet Erwan (ducroque@ufr-info-p7.ibp.fr) 
- Added EsoundD support from <fill it in>
- Added exp. relatime support (compile with -DSET_RT) 
- Added linux-sparc patch from <hmm lost email)
- Added genrepatch from Shane Wegner <shane@CM.NU>
- Added wav-File patch Samuel Audet <guardia@cam.org>
- Added SGI-RAD support from "J. Dean Brederson" <jdb@cs.utah.edu>
- Added sajberplay/FreeBSD patch from Chou Ye-chi <is84002@cis.nctu.edu.tw>
- Added 486 optimizations from Fabrice Bellard <bellard@email.enst.fr>
- Added combined output devices on SUN (ie Speaker and headphones together)
- Added audio_alsa.c (under GPL license) for the ALSA sound system from
   A. Hermansen <ahermans@vf.telia.no> and J. Kysela <perex@jcu.cz>
- Added K6-3DNow patches from  KIMURA Takuhiro <kim@hannah.ipc.miyakyo-u.ac.jp>
- Added MINT patches from Petr Stehlik <stehlik@cas3.zlin.vutbr.cz>
- Fixed minor bug for linux-i486 and mono 

0.59o: (MH)
------
- fixed Bug with stereo streams on mono audio hardware for OSS
- fixed a bug with mono output and 1:1 (no) rate conversion
- again changes in the probe code
- fix in the buffer code for the case, that audio parameters are changing
- more changes to the flexibel rate converter, should now work when
  writing to STDOUT.
- Added Andy's (<andy@snoogie.demon.co.uk>) float2int speed up proposal 
  (check WRITE_SAMPLE in decode_i386.c) .. Maybe someone wanna take the 
  idea and put it into the decode_i586.s part?
- Added TK3Play support from Brian Foutz <foutz@anise.ee.cornell.edu>
  (compiles but untested)
- RIFF Header fix (according to Thomas Niederreiter's
  <tn@tarantel.rz.fh-muenchen.de> patch)
- m68k patch from Stefan Gybas <cab@studbox.uni-stuttgart.de> applied
- minor additional PPC changes applied
- resync and EOF hang fixed
- resync and bitrate correction relaxed 
- Slightly change verbose output; added countdown


0.59n: (MH)
------
- fixed shuffle bug
- added memory mapped IO for file reading
- added MPEG 2.5 12kHz and 8kHz table entry
- started flexibel rate conversion .. 
- new '-Z' / '--random' option 
- minor clean-up
- splitted audio file in audio system dependend smaller parts
- started system stream support (external program: system.c)
- unsigned 8 bit (instead of ulaw) is now default for 8bit operation
- Linux PPC patch from Grant Erickson <eric0139@tc.umn.edu> applied
- added BSDi patch from Peter Berger <peterb@hoopoe.psc.edu>, who reported
  a failure when catching signals
- minor bug fix in the control interface for sajber jukebox
- fixed the ugly 'Ctrl-Z in buffer mode' bug .. YES ;)
- added buffer preload when underrun occurs (preload = 1/8 buffer size)
- minor SUN audio clean up

0.59m: (MH)
------
- Bug with RIFF header streams fixed.
- HTTP auth option patch from Henrik P Johnson <king@one.se>
- NetBSD patch(s) added from <mycroft@NetBSD.ORG> and <augustss@cs.chalmers.se>
- Added advanced shuffle support from Steven Tiger Lang <tiger@tyger.org>
- fixed bug with too large big_value field 
- fixed (hopefully) the bug with the '-a' option 
- work-around for some pedantic compilers in fr->synth init
- some changes for the 'generic' version
- applied NAS bug-fix patch
- new (good) MPEG 2.5 tables (from Niklas Beisert)
- added WIN32 support from Tony Million
- added some bug fixes from Niklas Beisert
- fixed another ugly bug in layer3 dequantize (wrote over the border
  of the 'xr' field)
- a minor HPUX clean up
- added BSD patch from Kevin Brintnall <kbrint@visi.com>
- added Makefile.win32
- added NAS big endian fix


0.59l: (MH)
------
- simple equalizer support (to be continued)
- added NAS patch from Martin Denn <mdenn@unix-ag.uni-kl.de>
- real mono support
- added pentium optimized decode_i586 from Stefan Bieschewski <stb@acm.org>
- fixed a bug in MS dequantize function 


0.59k: (OF)
------
- fixed "Accept" header in httpget.c
- fixed buffer overflow (causing core dumps) in httpget.c
- fixed display of song length
- fixed -b (buffer) problem on SGI / IRIX -- it definitely works now
- fixed problem when files with different sample rates where played,
  it now works with -b (buffer), too
- fixed order of local variables in decode.c to work around a
  compiler bug in ultrix
- fixed Makefile for ultrix
- reverted to old getbits.s (the new one could cause coredumps)
- more compact MPEG header display in non-verbose mode
- small fixes in buffer code and elsewhere


0.59j: (MH)
------
- added sajber jukebox control interface (it's currently a big hack)
  (see 'JUKEBOX' file for more)
- added simple rewind facility .. (only used by sajber interface at the moment)


0.59i: (MH)
-----------
- added front-end (remote) patch from "Brian J. Swetland" <swetland@uiuc.edu>
- added OS2 patches from Niclas Lindstrom <nil@wineasy.se>
- fixed 'rewind bug'
- added patches from Leo Broukhis <leo@zycad.com>
- added shuffle patch from Tillmann Steinbrecher <tst@gmx.de>
- added i386-getbits from M.Stekelenburg <m.stekelenburg@student.utwente.nl>
- added fallback to 8bit if no 16bit samples support (currently linux only)
- added (slightly changed) outburst patch
  from Antti Andreimann <anttix@cyberix.edu.ee>
- added 'http accept' patch from Hur TaeSung <saturn@arari.snu.ac.kr>
- fixed buffer mode bug 


0.59h: (MH)
------
- added '--8bit' option to force 'ULAW 8 BIT' playing
- pcm buffer type changed to 'unsigned char *' 
- plays 2:1 and 4:1 with the real frequency (ie 11025/22050 instead
  of 44100)
- program (re)sets (changed) frequency for every frame
- buffer mode is broken


0.59g: (MH)
------
- added support for MPEG 2.5 (it's a HACK!) .. mpg123 understands and plays
  2.5 but it does it wrong. (you will hear this!) 
- Fixed wrong values in BandInfo struct for 32kHz mode
- Some performance improvements and minor changes and bug-fixes.
- Tried the new imdct from the maplay1.2+ (version 1.81) package. (but 
  it was slightly slower on my system, currently disabled)


0.59f: (OF)
------
- HP-UX audio fix (provided by Damien Clermonte)
- Buffering (-b option) hopefully fixed.  Please test!


0.59e:
------
- added Audio MPEG 2.0 support (but near untested) (MH)


0.59d: (MH)
------
- minor modifications to dct64_i386.c
- removed duplicated dependency 'dct64.o' in Makefile


0.59c: (OF)
------
Another complete rework of the buffer system (-b option)
   (normally uses mmap(), but it can also use SYSV-ShMem because
   mmap() is broken on linux).

0.59: (MH)
-----
extracted dct64() from decode*.c files.
some changes to dct64() and decode*.c to allow auto-increment/decrement
removed bit-counter in getbit-functions. Layer3 part2 now counts it itself.

0.58: (OF)
-----
Bugfix: not closing the audio device caused a few samples to be lost.
Bugfix: audio_set_rate() was not called (!?!).
Additional command line options "--doublespeed" and "--halfspeed"
   (couldn't find better names).  See the manpage.
Complete redesign of command line options.  See the manpage.
Changed the buffer algorithm (-b).  I'm not sure whether it's better
   or worse now.
Supports multiple files on the command line.  Pressing Ctrl-C will
   skip to the next MPEG file, pressing it twice within one second
   will abort mpg123 completely.  See the "INTERRUPT" section in the
   manpage.
Support for http URLs.  See also the -p option in the manpage.
Support for list files.  See also the -@ option in the manpage.

0.57: (MH)
-----
Put the downsampling code together with the full
  quality decode into one binary. (new options -2to1,-4to1)
Optimizations in the dct12.
Removed the 'int' version.

0.56: (OF)
-----
Additional command line option "-rs" to try to resync on
   "broken" MPEG streams (now called "--resync" or "-y").
Additional command line option "-b" to use audio output buffering.
   See the manpage for additional information.
Changed a few variable names and some other minor fixes, so the
   source compiles more cleanly (without warnings) on most
   platforms (for example, the FreeBSD port compiles without
   warnings using "-Wall -ansi -pedantic").
Makefile changes: moved "solaris" to "solaris-gcc", new target
   "solaris" (using Sun's SparcWorks cc, faster tha gcc!), new
   targets "aix" and "generic".

0.55: 
-----
removed some obsolete code from layer3.c (MH)
changed scalefac stoing in layer3 (MH)
decode_4to1.c added again. Renamed decode_lp.c to decode_2to1.c (MH)
(both not optimized .. still expterimental)
Minor cleanups and optimizations in layer3. (MH)
Removed some (probable) minor bugs. (MH)
Changed 2**(...) scaling (and omitted a few muls) (MH)
Changed Makefile (OF)
Changed dequantize to reorder with a mapping table 
   (you can disable this by undefining MAP in layer3.c) (MH)
removed the 'dummy' scale step for mixed mode (MH)
Changed copy policy (MH)
Modified dequant-reorder-mapping (MH)

0.54: (MH)
-----
Minor changes in the documents .. 
huffman.c: x->len,y->len removed .. always '15' for the important cases
audio.c: some additions to the SOLARIS audio code

0.53b: (OF)
------
Makefile:

    Renamed SPARC10 to SUNOS (which is more appropriate).
        Tested with SunOS 4.1.4 on a SPARCstation SLC, 20 MHz
        (322% CPU, so no realtime decoding).
    Added SOLARIS.  Tested with Solaris 2.5.1 on an Ultra 1,
        167 MHz (14% CPU), a SPARCstation 5, 110 MHz (47% CPU),
        and a SPARCstation 10, 33 MHz (68% CPU).
    Added FreeBSD.  Tested with 2.1.7 on a Pentium-90 (38% CPU)
        and 2.2 on a Pentium-166 (20% CPU).
    Added Digital Unix.  Tested with DU 3.2 on a DEC 3000/500
        (Alpha AXP 150 MHz, 33% CPU).  Does not support DEC's
        audio interface ("AudioFile"), decodes to stdout only.
    Improved "clean" target to remove core files and editor
        backup files.
    Added "install" target.
    Added "dist" target to create a .tar.gz file of the source
        directory.
    
    In the distributed Makefile, all system sections are
    commented out.  When you type "make" without uncommenting
    one of the sections, an appropriate error message will
    be displayed.

audio.c

    Fixed problem when opening /dev/audio on Solaris:
        I had to remove O_NDELAY, because writing to /dev/audio
        didn't block until the requested number of samples
        could be written, but instead it wrote only as much
        samples as it was able too.  Sounded funny.  Removing
        O_NDELAY fixed the problem.  I don't think that it
        hurts SunOS either, so I didn't make another #ifdef.

common.c

    Fixed bug by adding function finish_output():
        The decoder writes the audio samples into a buffer, and
        each time the buffer is full, it is written to the
        audio device (or to stdout).  But when the decoding is
        done, there are some samples left in the buffer which
        aren't written yet -- they were just discarded.
        This additional function fixes the problem by writing
        the remaining samples from the buffer.  It is called
        immediately after the main frame loop in mpg123.c.

decode*.c

    Fixed compiler warning on symbol "div":
        Some compilers issue warnings because the symbol div is
        already used for something else (see "man div"), so I
        changed it to "divv".

layer*.c

    Functions do_layer*:
        Moved the declaration for audio_play_samples into
        mpg123.h.  Makes the code cleaner.

        I moved the variables pcm_samples and pcm_point to
        common.c, so they are shared between all modules.  This
        was necessary because the finish_output() function
        (see common.c above) needs to access them.

        Renamed loop variables "i" and "j" to "k" in order to
        fix compiler warnings for duplicate/hidden symbols
        (similar to "div" in decode*.c, see above).

        Changed the preprocessor symbol AUDIOBUFSIZE into a
        global variable "audiobufsize".  This makes it possible
        to change it by a command line option.

layer1.c

    Fixed error in function I_step_one, second parameter:
        unsigned int scale_index[2][]  -->  ...[2][SBLIMIT]
        This caused an error with the DU compiler (which is ok,
        because [2][] is incorrect according to ANSI).  I don't
        know whether [2][SBLIMIT] actually works correctly (I
        have no layer-1 streams to test it), but at least it
        compiles without error, and it appears to be correct
        (looking at the rest of the source).  Heaven knows why
        gcc doesn't issue an error, and what it actually makes
        from it.

mpg123.1

    A simple manual page.  Type "nroff -man mpg123.1 | more"
    to view it, or install it in /usr/local/man/man1 (this is
    done automatically by "make install").

mpg123.c

    New boolean variable "quiet":
        If this variable is set to TRUE (command line option
        -q), no messages are printed.

***

