1993-10-23 - version 0.1

1993-11-28 - version 0.2
- doesn't assume existence of any device (volume, bass, etc)
- some minor bug fixes
- some bug fixes to work correctly with SB Pro
- should now work correctly when multiple copies are run simultaneously

1993-11-28 - version 0.2

1996-08-23 - version 1.0
- added command-line interface

1996-09-02 - version 1.1
- fewer colors and no border to simplify full-screen interface
- knobs are highlighted as you move to them, then brighten and
  leave a trail behind when you adjust them
- horizontal knobs drawn with same characters as vertical ones
- vertical controls spaced more closely so they fit in 80 columns
- use of "<" and ">" for cursor motion, and "q" to quit program
- use of tab, "+" and "-" keys shown on help line
- added "h" option for command line

1996-09-07 - version 1.2
- two banks of horizontal controls, no special treatment of
  volume, bass, and treble (layout idea borrowed from CAM), so
  labels don't have to be jammed together
- record/play indicators now show the letters "R" and "P"
  rather than just a red or green square, so they should be
  more self-explanatory and more monochrome-friendly
- added use of "[" and "]" keys to set controls to 0% or 100%

1996-09-13 - version 1.3
- added gpm mouse support by incorporating code from rmev.c by
  Alessandro Rubini (packaged with gpm)
- added Quit button for use with mouse
- changed color of controls from white to cyan/green so the gpm
  cursor would be more visible
- added keys "Q" and ctrl-D to quit from program
- removed use of two different graphic characters to show controls in use
  or not in use

1996-12-02 - version 1.4
- added -b, -t, -s, and -m options (K.H. and D.F.)
- moved printf statements after the ioctl call, since this makes more
  sense if the ioctl fails (K.H.)
- changed layout to allow for balance controls, and added them (T.J.)
- eliminated "level" array: levels are now read by ioctl so changes by other
  processes system-wide will be properly reflected (T.J.)
- conditional compilation: GPM now optional, and interactive mode can be
  disabled entirely (T.J.)

1996-12-06 - version 1.5
- "q" options for command line to print settings without changing (J.S.)
- command-line section modularized for compactness (T.J.)
- widened controls in interactive mode for greater precision in setting and
  reading (T.J.)
- balance controls get redrawn after levels adjusted (T.J.)
- added command-line options for imix, PCM2, reclev, igain, ogain, line1,
  line2 and line3 (T.J.)

1996-12-15 - version 1.6
- ability to save settings to a file and load them in again
- option to use a restricted character set in interactive mode, when IBM
  graphic characters are not available
- support for second mixer
- changed meaning of "<" and ">" keys (now same as Tab or Enter)
- "," and "." function synonymously with "<" and ">" so users need not shift
  when using US keyboard
- prettified device names removed, to save space and to allow for future
  changes to the sound driver
- added labels for banks of level and balance controls
- record/play information updated more often
- record/play information gets printed on query

1996-12-17 - version 1.6.1
- fixed problem with conditional compilation

1997-05-30 - version 1.7
- more efficient code for handling options (J.S.)
- in full-screen mode, balance/level legend no longer so dim (H.S.)
- try to load settings from alternate file if ~/.aumixrc can't be opened (T.J.)
- continue gracefully if settings file refers to nonexistent devices (T.J.)
- don't set balance controls to center when adjusting levels from the
  keyboard (work is still needed here) (T.J.)

1997-09-24
- use ACS_ macros for special characters (R.C.)
- don't use A_ALTCHARSET (R.C.) 
- build with GNU autoconf (from example by A.R.)
- use fputs() in Usage() (T.J.)
- use bold attribute less (T.J.)
- don't leave cursor on balance controls when adjusting levels (T.J.)

1997-09-28
- reorganize documentation to be more GNUish (T.J.)
- use automake (T.J.)
- change layout for new sound driver (T.J.)
- change LoadSettings for new sound driver (T.J.)

1997-10-07
- About menu item for diagnostic info (T.J.)
- Keys menu item to save space on main screen (T.J.)
- position cursor better for xterm (T.J.)
- change routines for loading and saving settings, for new sound driver (T.J.)
- don't use ACS_ macros, just use ASCII characters (T.J.)

1997-10-11
- added muting function (T.J.)
- move cursor back by a space when setting record/play, levels or balance
  (T.J.) 

1997-10-12 - version 1.8
- update man page and README (T.J.)

1997-12-27
- small fixes to muting function (T.J.)
- declare optarg so as to compile cleanly with gcc -ansi -pedantic (T.J.)
- restore getch() as an alternative to Gpm_Getch() and add some #ifdef GPM
  statements (T.J.) 
- now compiles cleanly under FreeBSD 2.2.5
- print usage info along with "error opening /dev/mixer" message (T.J.) 
- added version[] and copyright[] arrays for the "what" utility (T.J.)
- removed AboutBox() until it has more useful info to display (T.J.)

1997-12-28
- only display the mixer channels that really exist (T.J.)
- fixed a bug where invalid mixer channels could be passed from MouseHandler()
  and AdjustBalance() would try to adjust them (T.J.)
- volume now gets updated when adjusting balance with the mouse (T.J.)
- split DrawLevel() out of AdjustLevel() (T.J.)
- show left and right levels with "L" and "R" -- looks a bit busy (T.J.)
- removed DrawHandles() (T.J.)
- started work on making level controls wider and balance controls narrower
  (T.J.)
- automatically refresh display of channels another program has changed (T.J.)

1998-01-26
- code contributed by Alessandro Rubini to simulate ncurses' halfdelay mode 
  with Gpm_Getch() (A.R.) 
- fixed two problems in muting function (one caused by new
  RefreshNewSettings()) (T.J.)

1998-02-04
- tidied up MouseHandler() (T.J.)
- moved ncurses and gpm routines to separate header files (T.J.)

1998-07-12 - version 1.9
- got the separate files to compile (T.J.)

1998-07-19 - version 1.9.1
- fixed problem with "aumix -q" not giving output (J.D.)
- fixed problem in adjusting levels (H.K.) 
- removed the hack for keeping controls from getting stuck (T.J.)
- tidied up comments in gpm-xterm.h (T.J.)
- updated AUTHORS file (T.J.)
- fixed problem with -L option not initializing mixer (T.J.)

1998-07-19 - version 1.9.2
- removed Redraw function (T.J.)
- widened level controls (T.J.)
- KeysBox fixed, but only when using gpm (T.J.)

1998-07-20 - version 1.9.3
- corrected problem in moptindx that was causing wrong channels to be adjusted
  when using command-line options (P.C.)
- write out words in usage text instead of abbreviating (T.J.)
- minor updates to man page (T.J.)

1998-07-26 - version 1.9.4
- removed some extra characters from version[] (T.J.)
- changed LoadSettings() so it can read comma- or semicolon-delimited rc files
  (G.B.)
- fixed bug where mixer wasn't initialized when running with the -S option only
  (G.B.)

1998-08-05 - version 1.10
- in KeysBox(), use getch() when not compiling with gpm (J.A.) 
- add #ifdef GPM to aumix_gpm.c (J.A.)
- "L" and "R" markings in different color than "O" in interactive screen (T.J.)
- new configure.in largely generated by autoscan--shouldn't stumble on systems
  which have curses.h but not ncurses.h (T.J.)
- changed #ifdef GPM and #ifdef NCURSES to #if HAVE_LIBGPM and 
  #if HAVE_LIBNCURSES (T.J.)
- remove colors from KeysBox() (T.J.)
- added "R" and "P" options for toggling record/play from command line (T.J.)

1998-08-11 - version 1.11
- don't show usage on errors (T.J.)
- kludged Makefile.in for people who don't have automake (T.J.)
- LoadSettings(), SaveSettings(), InitMixer() and SetShowNoninter() changed
  from void to int, with return value used for error messages (G.B.) 
- printing of error messages moved from InitMixer() to new ExitIfError() (G.B.)
- InitMixer() renamed to InitializeMixer() (T.J.)
- new MixerStatus() function (G.B.)
- new ReadWriteMixer() function (G.B.)
- new OpenDefaultFile() function (G.B.)
- minor addition to KeysBox() display (T.J.)

1998-08-11
- internationalization (A.M.)
- text for the Polish language (A.M.)

1998-08-22 - version 1.12
- calling refresh() without initializing screen gives segfault--fixed (B.N.)
- change getopt() string to avoid "option requires an argument -- S" error
  (D.R.)
- remove some special cases from InitializeMixer() (T.J.)

1998-08-25
- rewrote internationalization (A.M.)
- fixed -d option (A.M.)
- print usage when called as "aumix -" or "aumix nonsense" (A.M.)

1998-08-26
- further fixes to -d option (was still giving segfault) (A.M.)
- Inter() rewritten as ReadInteractiveKeys() (A.M.)
- fixed ReadInteractiveKeys() when called as "aumix -some_good_options -I"
  (A.M.)

1998-08-30
- updated BUGS, TODO, and README (A.M.)
- fixed problem with KeysBox() returning without waiting when gpm support is
  compiled in but program is run remotely (A.M.)
- unmuting "hardware mute" in ALSA driver support (A.M.)
- checking if alsa-lib is available automatically (A.M.)
- gettext detection via configure script (A.M.)
- added --without-gpm and --without-ncurses options to configure script (A.M.)
- modifications for compiling without NLS and without ALSA (A.M.)
- don't list -I option in usage screen when compiled without ncurses (A.M.)

1998-09-02
- use alsa-lib >= 0.1.0 (A.M.)

1998-09-05 - version 1.13
- tidy up a few typos (T.J.)
- don't compile ReadWriteMixer() because it's not being used yet. (T.J.) 

1998-09-10
- added German translation (J.T.)
- use if rather than switch in ExitIfError() (J.T.)
- added EXIT_SUCCESS and EXIT_FAILURE macros (J.T.)
- reorganized, with new doc, intl, and src directories (J.T.) 
- revamped configuration system so "make dist" and versioning work (J.T.)
- corrected compilation warnings (J.T.)

1998-10-04 - version 1.14
- added Makefile.manual for systems on which the automatic configuration
  system doesn't work (T.J.)
- only #include <getopt.h> on Linux systems (T.J.)

1999-01-07 - version 1.14.1
- added Brazilian Portuguese (pt_BR) translation (A.C.)
- added Spanish (es) translation (P.G.) 

1999-01-30 - version 1.15
- tweaked to compile under NetBSD 1.3.3 with Makefile.manual (T.J.)
- added ability to increment or decrement levels from command line (P.G.)
- added Russian (ru) and Ukrainian (ua) translations (G.V.)
- fixed "option requires an argument" bug (T.J.)

1999-02-05 - version 1.16
- added -f option to specify file for saving and loading settings (M.S.)
- added aumix.spec file for Red Hat Linux (M.S.)

1999-02-06 - version 1.17
- added signal handler so periodic updates (in case another process adjusts
  the mixer) work (T.J.)

1999-02-19 - version 1.18
- fixed .po files broken by added text about new options (T.J.)
- added ability to increment or decrement levels by a specified amount from
  the command line (P.G.)
- cast PACKAGE to char * for textdomain() and bindtextdomain() (P.G.)

1999-02-20 - version 1.18.1
- renamed SignalHandler() to AumixSignalHandler() to avoid namespace conflict
  that could happen on Linux with libc 5 (E.W.)
- reset signal after its handler has been called (E.W.)
- in RefreshNewSettings(), move cursor out of way so it looks better in an
  xterm (T.J.)

1999-02-23 - version 1.18.2
- updates to Russian and Ukrainian .po files (G.V.)
- Russian and Ukrainian translations in the .spec file (G.V.)
- remove unnecessary cast to int of signal handler (E.H.)
