$Aumix: aumix/ChangeLog,v 1.30 2002/11/25 01:31:29 trevor Exp $ 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 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 (Kenn Humborg and Dan Fandrich) - moved printf statements after the ioctl call, since this makes more sense if the ioctl fails (Kenn Humborg) - changed layout to allow for balance controls, and added them (Trevor Johnson) - eliminated "level" array: levels are now read by ioctl so changes by other processes system-wide will be properly reflected (Trevor Johnson) - conditional compilation: GPM now optional, and interactive mode can be disabled entirely (Trevor Johnson) 1996-12-06 - version 1.5 - "q" options for command line to print settings without changing (Jeff Spirko) - command-line section modularized for compactness (Trevor Johnson) - widened controls in interactive mode for greater precision in setting and reading (Trevor Johnson) - balance controls get redrawn after levels adjusted (Trevor Johnson) - added command-line options for imix, PCM2, reclev, igain, ogain, line1, line2 and line3 (Trevor Johnson) 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 (Jeff Spirko) - in full-screen mode, balance/level legend no longer so dim (Harley Silver) - try to load settings from alternate file if ~/.aumixrc can't be opened (Trevor Johnson) - continue gracefully if settings file refers to nonexistent devices (Trevor Johnson) - don't set balance controls to center when adjusting levels from the keyboard (work is still needed here) (Trevor Johnson) 1997-09-24 - use ACS_ macros for special characters (Rainer Canavan) - don't use A_ALTCHARSET (Rainer Canavan) - build with GNU autoconf (from example by Alessandro Rubini) - use fputs() in Usage() (Trevor Johnson) - use bold attribute less (Trevor Johnson) - don't leave cursor on balance controls when adjusting levels (Trevor Johnson) 1997-09-28 - reorganize documentation to be more GNUish (Trevor Johnson) - use automake (Trevor Johnson) - change layout for new sound driver (Trevor Johnson) - change LoadSettings for new sound driver (Trevor Johnson) 1997-10-07 - About menu item for diagnostic info (Trevor Johnson) - Keys menu item to save space on main screen (Trevor Johnson) - position cursor better for xterm (Trevor Johnson) - change routines for loading and saving settings, for new sound driver (Trevor Johnson) - don't use ACS_ macros, just use ASCII characters (Trevor Johnson) 1997-10-11 - added muting function (Trevor Johnson) - move cursor back by a space when setting record/play, levels or balance (Trevor Johnson) 1997-10-12 - version 1.8 - update man page and README (Trevor Johnson) 1997-12-27 - small fixes to muting function (Trevor Johnson) - declare optarg so as to compile cleanly with gcc -ansi -pedantic (Trevor Johnson) - restore getch() as an alternative to Gpm_Getch() and add some #ifdef GPM statements (Trevor Johnson) - now compiles cleanly under FreeBSD 2.2.5 - print usage info along with "error opening /dev/mixer" message (Trevor Johnson) - added version[] and copyright[] arrays for the "what" utility (Trevor Johnson) - removed AboutBox() until it has more useful info to display (Trevor Johnson) 1997-12-28 - only display the mixer channels that really exist (Trevor Johnson) - fixed a bug where invalid mixer channels could be passed from MouseHandler() and AdjustBalance() would try to adjust them (Trevor Johnson) - volume now gets updated when adjusting balance with the mouse (Trevor Johnson) - split DrawLevel() out of AdjustLevel() (Trevor Johnson) - show left and right levels with "L" and "R" -- looks a bit busy (Trevor Johnson) - removed DrawHandles() (Trevor Johnson) - started work on making level controls wider and balance controls narrower (Trevor Johnson) - automatically refresh display of channels another program has changed (Trevor Johnson) 1998-01-26 - code contributed by Alessandro Rubini to simulate ncurses' halfdelay mode with Gpm_Getch() (Alessandro Rubini) - fixed two problems in muting function (one caused by new RefreshNewSettings()) (Trevor Johnson) 1998-02-04 - tidied up MouseHandler() (Trevor Johnson) - moved ncurses and gpm routines to separate header files (Trevor Johnson) 1998-07-12 - version 1.9 - got the separate files to compile (Trevor Johnson) 1998-07-19 - version 1.9.1 - fixed problem with "aumix -q" not giving output (Jim Diamond) - fixed problem in adjusting levels (Holger Kiel) - removed the hack for keeping controls from getting stuck (Trevor Johnson) - tidied up comments in gpm-xterm.h (Trevor Johnson) - updated AUTHORS file (Trevor Johnson) - fixed problem with -L option not initializing mixer (Trevor Johnson) 1998-07-19 - version 1.9.2 - removed Redraw function (Trevor Johnson) - widened level controls (Trevor Johnson) - KeysBox fixed, but only when using gpm (Trevor Johnson) 1998-07-20 - version 1.9.3 - corrected problem in moptindx that was causing wrong channels to be adjusted when using command-line options (Philip Chong) - write out words in usage text instead of abbreviating (Trevor Johnson) - minor updates to man page (Trevor Johnson) 1998-07-26 - version 1.9.4 - removed some extra characters from version[] (Trevor Johnson) - changed LoadSettings() so it can read comma- or semicolon-delimited rc files (G. Brubaker) - fixed bug where mixer wasn't initialized when running with the -S option only (G. Brubaker) 1998-08-05 - version 1.10 - in KeysBox(), use getch() when not compiling with gpm (Jonathan H. Aseltine) - add #ifdef GPM to aumix_gpm.c (Jonathan H. Aseltine) - "L" and "R" markings in different color than "O" in interactive screen (Trevor Johnson) - new configure.in largely generated by autoscan--shouldn't stumble on systems which have curses.h but not ncurses.h (Trevor Johnson) - changed #ifdef GPM and #ifdef NCURSES to #if HAVE_LIBGPM and #if HAVE_LIBNCURSES (Trevor Johnson) - remove colors from KeysBox() (Trevor Johnson) - added "R" and "P" options for toggling record/play from command line (Trevor Johnson) 1998-08-11 - version 1.11 - don't show usage on errors (Trevor Johnson) - kludged Makefile.in for people who don't have automake (Trevor Johnson) - LoadSettings(), SaveSettings(), InitMixer() and SetShowNoninter() changed from void to int, with return value used for error messages (G. Brubaker) - printing of error messages moved from InitMixer() to new ExitIfError() (G. Brubaker) - InitMixer() renamed to InitializeMixer() (Trevor Johnson) - new MixerStatus() function (G. Brubaker) - new ReadWriteMixer() function (G. Brubaker) - new OpenDefaultFile() function (G. Brubaker) - minor addition to KeysBox() display (Trevor Johnson) 1998-08-11 - internationalization (Arkadiusz Mi¶kiewicz) - text for the Polish language (Arkadiusz Mi¶kiewicz) 1998-08-22 - version 1.12 - calling refresh() without initializing screen gives segfault--fixed (Bill Nottingham) - change getopt() string to avoid "option requires an argument -- S" error (David Reviejo) - remove some special cases from InitializeMixer() (Trevor Johnson) 1998-08-25 - rewrote internationalization (Arkadiusz Mi¶kiewicz) - fixed -d option (Arkadiusz Mi¶kiewicz) - print usage when called as "aumix -" or "aumix nonsense" (Arkadiusz Mi¶kiewicz) 1998-08-26 - further fixes to -d option (was still giving segfault) (Arkadiusz Mi¶kiewicz) - Inter() rewritten as ReadInteractiveKeys() (Arkadiusz Mi¶kiewicz) - fixed ReadInteractiveKeys() when called as "aumix -some_good_options -I" (Arkadiusz Mi¶kiewicz) 1998-08-30 - updated BUGS, TODO, and README (Arkadiusz Mi¶kiewicz) - fixed problem with KeysBox() returning without waiting when gpm support is compiled in but program is run remotely (Arkadiusz Mi¶kiewicz) - unmuting "hardware mute" in ALSA driver support (Arkadiusz Mi¶kiewicz) - checking if alsa-lib is available automatically (Arkadiusz Mi¶kiewicz) - gettext detection via configure script (Arkadiusz Mi¶kiewicz) - added --without-gpm and --without-ncurses options to configure script (Arkadiusz Mi¶kiewicz) - modifications for compiling without NLS and without ALSA (Arkadiusz Mi¶kiewicz) - don't list -I option in usage screen when compiled without ncurses (Arkadiusz Mi¶kiewicz) 1998-09-02 - use alsa-lib >= 0.1.0 (Arkadiusz Mi¶kiewicz) 1998-09-05 - version 1.13 - tidy up a few typos (Trevor Johnson) - don't compile ReadWriteMixer() because it's not being used yet. (Trevor Johnson) 1998-09-10 - added German translation (Johnny Teveßen) - use if rather than switch in ExitIfError() (Johnny Teveßen) - added EXIT_SUCCESS and EXIT_FAILURE macros (Johnny Teveßen) - reorganized, with new doc, intl, and src directories (Johnny Teveßen) - revamped configuration system so "make dist" and versioning work (Johnny Teveßen) - corrected compilation warnings (Johnny Teveßen) 1998-10-04 - version 1.14 - added Makefile.manual for systems on which the automatic configuration system doesn't work (Trevor Johnson) - only #include <getopt.h> on Linux systems (Trevor Johnson) 1999-01-07 - version 1.14.1 - added Brazilian Portuguese (pt_BR) translation (Arnaldo Carvalho de Melo) - added Spanish (es) translation (Pablo Ruiz Garcia) 1999-01-30 - version 1.15 - tweaked to compile under NetBSD 1.3.3 with Makefile.manual (Trevor Johnson) - added ability to increment or decrement levels from command line (Pablo Ruiz Garcia) - added Russian (ru) and Ukrainian (ua) translations (Michael Vasilenko/Grisha Vasiliev) - fixed "option requires an argument" bug (Trevor Johnson) 1999-02-05 - version 1.16 - added -f option to specify file for saving and loading settings (Michal Svec) - added aumix.spec file for Red Hat Linux (Michal Svec) 1999-02-06 - version 1.17 - added signal handler so periodic updates (in case another process adjusts the mixer) work (Trevor Johnson) 1999-02-19 - version 1.18 - fixed .po files broken by added text about new options (Trevor Johnson) - added ability to increment or decrement levels by a specified amount from the command line (Pablo Ruiz Garcia) - cast PACKAGE to char * for textdomain() and bindtextdomain() (Pablo Ruiz Garcia) 1999-02-20 - version 1.18.1 - renamed SignalHandler() to AumixSignalHandler() to avoid namespace conflict that could happen on Linux with libc 5 (Eric Wanner) - reset signal after its handler has been called (Eric Wanner) - in RefreshNewSettings(), move cursor out of way so it looks better in an xterm (Trevor Johnson) 1999-02-23 - version 1.18.2 - updates to Russian and Ukrainian .po files (Michael Vasilenko/Grisha Vasiliev) - Russian and Ukrainian translations in the .spec file (Michael Vasilenko/Grisha Vasiliev) - remove unnecessary cast to int of signal handler (Ernesto Hernández-Novich) 1999-05-04 - version 1.18.3 - removed duplicate lines from po/POTFILES to avoid compilation error (Trevor Johnson) - added MAXLEVEL macro to replace magic numbers 49, 50 and 100 (Trevor Johnson) - added installation instructions for Red Hat Linux (Trevor Johnson) 1999-05-20 - version 1.18.4 - in configure.in, change "==" to "=" (Pablo Ruiz Garcia) - in src/aumix_curses.c, sleep for 50 microseconds to disguise the Debian "potato" busy-waiting problem (Trevor Johnson) - add cast to char * on line 87 of src/aumix.c to please egcs (Trevor Johnson) - in ExitIfError use printf() rather than perror() so we don't print "Success" in error messages (Trevor Johnson) - in OpenDefaultFile(), don't close mixer_fd (fixes problem with trying to load in non-existent settings file in interactive mode) (Trevor Johnson) 1999-05-31 - version 1.19 - renamed Alsa_Anty_Mute() to Alsa_Unmute() (Trevor Johnson) - cosmetic touches to Makefile.manual (Trevor Johnson) - added "only" (solo) and "un-only" features (Trevor Johnson) - busy-waiting bug--misused timeout()--fixed properly (Trevor Johnson) - in aumix.h, include <string.h> instead of <strings.h> (Trevor Johnson) - removed unused fd_set in Inter() (Trevor Johnson) 1999-06-05 - version 1.20 - with timeout(-1), mouse does not work, so use timeout(1000) instead (Valery Kornienkov) - add global current_dev to keep track of current device (Trevor Johnson) - add Undo (to undo all muting) to menu (Trevor Johnson) - fixed bug where command-line option to increase or decrease levels by a given amount would change them by one more unit than requested: for example "aumix -m+0" would increase microphone level by one (Trevor Johnson) - during inactivity, move the cursor out of the way of the menu (Trevor Johnson) 1999-06-08 - version 1.21 - added option to load color schemes from files (Trevor Johnson) - fixed bug in ExitIfError for errors in the range 2 to 11 (Trevor Johnson) 1999-06-10 - version 1.22 - digits 1 to 9 set level at 10% to 90% (Trevor Johnson) 1999-06-19 - version 1.22.1 - renamed aumix_gpm.c to aumix-gpm.c and similarly with aumix_curses.c and aumix_curses.h so they will be easier to type and easier to read when underlined (Trevor Johnson) - add return values back to MouseHandler() (Trevor Johnson) - set CFLAGS in Makefile.manual (Trevor Johnson) - in aumix-curses.c, #include <ctype.h> for tolower() (Trevor Johnson) - use = rather than == for assignment on that same line with tolower (Trevor Johnson) - in MixerStatus() and InitializeMixer() use macros rather than numbers for return values (Trevor Johnson) - use EFINDDEVICE instead of ENODEV to avoid namespace conflict (Trevor Johnson) - in ExitIfError(), avoid "Success" error messages (Trevor Johnson) 1999-10-04 - version 1.23 - more renamings: aumix-gpm.c to gpm.c, aumix-curses.c to curses.c, aumix-curses.h to curses.h, aumix.c to common.c, aumix.h to common.h, and schemes/ to data/ (Trevor Johnson) - new interactive.c and interactive.h files (Trevor Johnson) - added aumix.xpm icon (Caldera Systems) - in configure.in, check for string.h instead of strings.h and only check once (Trevor Johnson) - don't treat it as an error when ioctls return values that are neither 0 nor -1 (Robert Siemer) - added .indent.pro: we stylin'! (Trevor Johnson) - updated and prettified man page (Trevor Johnson) - changes to src/Makefile.in for FreeBSD--how to put them in Makefile.am? (Chris Piazza) - untested attempt at compatibility with OpenBSD, based on looking at the patches to xmix and xmmix in the ports collection (Trevor Johnson) 1999-10-06 - version 1.23.1 - declare copyright and version strings as const static char to avoid a warning (Paul Slootman) - in common.c, #include "interactive.h" (Paul Slootman) - add one of the FreeBSD changes to src/Makefile.am (Trevor Johnson) 1999-10-26 - version 1.24 - rewrote InitColors to allow "-" to represent black as the background or white as the foreground (Paul Slootman) - added miniature icon (Paul Slootman) - added xaumix script for running aumix in a terminal emulator under X (Paul Slootman) - have xaumix use "which" utility rather than checking hard-coded /usr/X11 path (Trevor Johnson) - have xaumix check for "konsole" terminal emulator (Trevor Johnson) 1999-10-31 - version 1.25 - find soundcard.h on BSDI (Trevor Johnson) - disable ALSA hardware muting, since it seems to have been removed from current ALSA drivers (Trevor Johnson) - when in ncurses mode, paint spaces at right of screen, to fill gaps by selection arrow and level controls (Trevor Johnson) - added Galician (gl_ES) translation (Jesús Bravo Álvarez) - added src/interactive.c to po/POTFILES (Jesús Bravo Álvarez) 1999-11-01 - version 1.25.1 - in po/Makefile.in.in, add --keyword=LOCAL_TEXT for .pot target (Jesús Bravo Álvarez) - in xaumix, don't use hard-coded path to aumix (Trevor Johnson) - in xaumix, use double quotes so tests will work (Christian Weisgerber) - in aclocal.m4, added stuff from GIMP (Owen Taylor) - paint spaces at left of screen too (Trevor Johnson) - mention -C option in Usage() summary when compiled with ncurses (Trevor Johnson) 1999-11-03 - version 1.26 - updated Polish (pl) translation (Piotr Czerwiñski) - in de, es, pt_BR, ru and ua translations, corrected names of rc files (Trevor Johnson) - in header files, replace some preprocessor directives with constants (Trevor Johnson) - in InitScreenCurses(), use loop instead of cookie cutter to print menu (Trevor Johnson) - replace magic numbers with R_P_WIDTH, LEVEL_WIDTH, ARROW_WIDTH, LABEL_WIDTH, and BALANCE_WIDTH constants (Trevor Johnson) - added src/interactive.c to po/POTFILES.in (Jesús Bravo Álvarez) - adjust width of level track at startup, according to number of columns available (Trevor Johnson) - paint whole screen, except last line, with spaces (Trevor Johnson) 1999-11-09 - version 1.27 - added gettext_noop (Piotr Czerwiñski) - updated Polish translation again (Piotr Czerwiñski) - renamed INCREMENT to level_increment, BALANCE_INCREMENT to balance_increment, LEVEL_WIDTH to level_width, and BALANCE_WIDTH to balance_width (Trevor Johnson) - adjust width of balance tracks according to number of columns available (Trevor Johnson) - when left and right levels are the same, don't go through the motions of trying to display "L" and "R" on level tracks (Paul Slootman) - use mnemonics for return values (Trevor Johnson) - read mixer before toggling record, for compatibility with ALSA 0.3.0 (Dominik Stadler) - cosmetic changes to comments in gpm-xterm.h (Trevor Johnson) 1999-11-13 - version 1.27.1 - really updated Polish translation (maintainer forgot to make change in version 1.27) (Piotr Czerwiñski) - updated Galician translation (Jesús Bravo Álvarez) - updated Spanish translation (Jesús Bravo Álvarez) - rename po/gl_ES.po to po/gl.po (Jesús Bravo Álvarez) - in doc/aumix.1, merge MAINTAINER section into BUGS (Trevor Johnson) - translate "amount" as "cantidad" and "mix monitor" as "monitor del mezclador" in po/es.po (Trevor Johnson) - attempt to update po/de.po, using Babel Fish (Trevor Johnson) - attempt to update po/ru.po, po/ua.po, and po/pt_BR.po, leaving text from recent changes untranslated (Trevor Johnson) - in po/gl.po, line up spaces in menu (Trevor Johnson) - find soundcard.h on Solaris (untested) (Trevor Johnson) 1999-11-19 - version 1.27.2 - change code for Ukrainian locale from ua to uk (Pablo Saratxaga) - in xaumix, comment out konsole, since it needs different options than xterm and it gives an error message (Trevor Johnson) - in xaumix, add comment about gnome-terminal (Trevor Johnson) - reimplement "which" in xaumix because standalone "which" utility can give different output than shell built-in, and "type -p" substitute gives different output in ksh versus bash (Trevor Johnson) - in xaumix, make sure IFS contains a tab, not spaces (Christian Weisgerber) - in xaumix, remove unneeded double quotes around IFS stuff (Christian Weisgerber) - in xaumix, don't use "which" to find aumix (Roland Rosenfeld) 1999-11-23 - version 1.27.3 - refresh screen when user presses control-L (Christian Weisgerber) - use ncurses mv* functions (Trevor Johnson) - change declaration of copyright and version strings again (Trevor Johnson) - in LoadSettings(), don't do RefreshAllSettings() because it can cause a segfault (Trevor Johnson) 1999-11-24 - version 1.27.4 - in common.h, include <sys/time.h> once instead of twice (Trevor Johnson) - use "static int" instead of "const static int" (Trevor Johnson) - move gpm initialization from main() in common.c to StartGPM() in gpm.c (Trevor Johnson) - in KeysBoxCurses, change ncurses timeout to -1, to wait indefinitely for input (Trevor Johnson) - disable gpm while in KeysBoxCurses (Trevor Johnson) - put ReadWriteMixer() in #if 0 again (Trevor Johnson) - in main(), replace 0 with EXIT_SUCCESS as exit value (Trevor Johnson) - in KeysBoxCurses, use w_panel rather than w_keys (Trevor Johnson) - in MouseHandler(), use local mouse_dev instead of current_dev, to avoid segfault in Inter() (Trevor Johnson) - in MouseHandler(), use event->x instead of "temp" variable (Trevor Johnson) - make levelbalmode global so we can draw the level/balance arrow from KeysBoxCurses() (Trevor Johnson) - add HighlightLabelCurses() to highlight label when returning from KeysBox() (Trevor Johnson) - in InitScreenCurses(), use wbkgdset() rather than painting spaces to set background color (Trevor Johnson) - in README, add URL for archives of mailing list (Trevor Johnson) 1999-11-27 - version 1.28 - change src/Makefile.am so /usr/local/lib/libintl can be found on FreeBSD (Christian Weisgerber) - add gpm-xterm.c, ersatz gpm client for non-Linux xterm-only mouse support (Alessandro Rubini) - remove most instances of "#if HAVE_LIBGPM", since, when we have ncurses, we always have either gpm or gpm-xterm (Christian Weisgerber) - fix comment in curses.c (^L is NP, not NL) (Christian Weisgerber) - enable use of mouse to leave from KeysBox() (Christian Weisgerber) - use anonymous enums for errors and color pairs (Trevor Johnson) - in Inter(), use balance_increment rather than level_increment with AdjustBalance() (Christian Weisgerber) - in Inter(), simplify handling of +/-/right/left (Christian Weisgerber) - in Inter(), don't use atoi() on an unterminated string (Christian Weisgerber) - in RedrawBalanceCurses(), use balance_increment instead of old hard-coded value (Christian Weisgerber) - in InitScreenCurses(), center the labels of the level and balance tracks (Christian Weisgerber) - in MouseHandler(), don't use hard-coded co-ordinates (Christian Weisgerber) - in xaumix, set height of terminal to match the height needed by aumix (Christian Weisgerber) - in xaumix, allow different title options for gnome-terminal and konsole, so they may be used (Trevor Johnson) - in xaumix, use single quotes for GEOMETRY for gnome-terminal and konsole, to leave LINES unexpanded (Christian Weisgerber) - in xaumix, check for files left by previous sessions of gnome-terminal and konsole as a clue about whether we should run those emulators (Trevor Johnson) - in xaumix, only use 79 columns (Trevor Johnson) - in xaumix, add aterm and Eterm (Trevor Johnson) - in xaumix, don't show scrollbars for aterm, rxvt, or xterm (Trevor Johnson) - disable use of escape key for quitting, because escape sequences can sometimes be broken up (maybe by Nagle's algorithm) and confused with it (Trevor Johnson) - add dummy.c to simulate a sound driver when one isn't present in the kernel (Christian Weisgerber) 1999-11-30 - version 1.29 - in xaumix, test for panel or kpanel processes to see whether user is running GNOME or KDE (Trevor Johnson) - in xaumix, don't use "a" option to ps, so we only see current user's processes (Christian Weisgerber) - in common.c, don't use parentheses for return values (Trevor Johnson) - in aumix.spec, change "./configure --prefix=/usr --without-alsa" to "%configure --without-alsa" (Christian Weisgerber) - in StartGPM, don't grab mouse events that have a modifier key set (Christian Weisgerber) - add WriteLevel(), ReadLevel(), WriteRecSrc() and ReadRecSrc() to do most ioctls (Trevor Johnson) - in configure.in, check for both curses.h and ncurses.h so our own curses.h can use the system's curses.h (Trevor Johnson) - in configure.in, check for awk and some other things suggested by autoscan, and remove some tests it didn't suggest (Trevor Johnson) - shuffle into our own curses.h a few things that pertain to ncurses and gpm (Trevor Johnson) - in curses.c, add support for use_default_colors, and change the default colors to work better with this (Trevor Johnson) - add ncurses mouse support, so mouse will work in an xterm on Linux (Christian Weisgerber) - in gpm.c, move most mouse handling from MouseHandler() into new DoMouse() (Christian Weisgerber) - remove unused function GpmHalfdelay() (Christian Weisgerber) - enable ncurses mouse support in StartGPM() (Christian Weisgerber) - rename StartGPM to StartMouse() (Christian Weisgerber) - rename gpm.c to mouse.c (Christian Weisgerber) - in curses.h, add prototype for DoMouse() (Christian Weisgerber) - in Inter(), handle KEY_MOUSE, get event, and call DoMouse() (Christian Weisgerber) - in curses.c, don't use w_panel, but just draw on stdscr, to avoid bug in ncurses (Trevor Johnson) - in curses.c, add preliminary support for resizing screen (Trevor Johnson) - in configure.in, check for getmouse() and use_default_colors() in ncurses library; define HAVE_GETMOUSE and HAVE_USEDEFAULT if present (Trevor Johnson) 1999-12-06 - version 1.30 - in xaumix, use test -z (Trevor Johnson) - in aumix.1, mention implication of -I option by -C (Trevor Johnson) - in curses.c, add PlaceCursor() to move cursor to right of "aumix" (Trevor Johnson) - use curs_set(0) to make cursor invisible, on terminals which have that capability (Christian Weisgerber) - remove empty src/gpm.c (Christian Weisgerber) - in xaumix, use xprop rather than ps to detect GNOME and KDE (Christian Weisgerber) - in xaumix, check for GNOME_SM_PROXY and "Unnamed Desktop" to find GNOME and KDE (Trevor Johnson) - in xaumix, check whether $DISPLAY is set and if not, don't run an emulator (Christian Weisgerber) - in xaumix, no "x" needed with test -z (Christian Weisgerber) - in xaumix, if no $XTERM, send error message to stderr (Christian Weisgerber) - in InitCurses(), add meta(stdscr, TRUE) because it is not default everywhere and mouse position is truncated to 7 bits otherwise (Christian Weisgerber) - in gpm-xterm.c, make mdata unsigned char to avoid misreporting of coordinates as negative (Christian Weisgerber) - have autoconf generate a test program to check for _use_keypad in WINDOW structure (Christian Weisgerber) - in curses.h, add CTRL() macro to map 'X' to ^X (Christian Weisgerber) - in Inter(), use CTRL() for control keys in switch statement (Christian Weisgerber) - move CTRL() checks to end of switch cascade (Christian Weisgerber) - check whether CTRL is already defined, and leave it alone if it is (Christian Weisgerber) - return ^D to its former exit function (Christian Weisgerber) - in StartMouse(), add function pointer Wgetch to indirects wgetch calls to one of Sysm_Wgetch, Gpm_Wgetch, or wgetch (Christian Weisgerber) - add #define Getch(), to prettify (*Wgetch)() call (Christian Weisgerber) - replace Gpm_Getch() with Getch() (Christian Weisgerber) - in StartMouse(), initialize Wgetch to Gpm_Wgetch or plain wgetch (Christian Weisgerber) - in Inter(), join two consecutive switch(key) statements (Christian Weisgerber) - in curses.c, use HighlightLabelCurses() in more places (Christian Weisgerber) - in Inter(), do HighlightLabelCurses() so label is in right color when ^L is used (Christian Weisgerber) - update gl.po and es.po (Jesús Bravo Álvarez) - in gpm-xterm.c, fix select() loop (Christian Weisgerber) - in configure.in, move checks for headers before ncurses checks (Christian Weisgerber) - in StartMouse(), get character cell width and height, since FreeBSD sysmouse coordinates are in pixels (Christian Weisgerber) - have sysmouse send us SIGUSR2 for mouse state changes, and if successful, register signal handler and our wgetch() replacement (Christian Weisgerber) - add SysmouseHandler(), signal handler for SIGUSR2 which retrieves mouse coordinates and converts pixels to character cell units (Christian Weisgerber) - in mouse.c, add Sysm_Wgetch(), derived from Gpm_Wgetch() (Christian Weisgerber) - add autoconf test for sysmouse (Christian Weisgerber) - center balance when second mouse button is pressed over balance track (Christian Weisgerber) - make DoMouse() take an argument specifying buttons (Christian Weisgerber) - have mouse coordinates start from (0, 0) instead of (1, 1) (Christian Weisgerber) - create mouse.h, mostly from bits of curses.h (Christian Weisgerber) - added acconfig.h (Trevor Johnson) - added AM_CONFIG_HEADER(config.h) to configure.in and ran aclocal to pull the macro into aclocal.m4 (Trevor Johnson) - added xaumix man page (Paul Slootman) - added --enable-own-labels option to configure script, to permit translation of dev_label array (Trevor Johnson) - made include/ and moved headers from src/ into it, to avoid automake misfeature (Trevor Johnson) - in gpm-xterm.h, #define SELECT_TIME (Christian Weisgerber) - fix some prototyping problems (Christian Weisgerber) 1999-12-19 - version 1.30.1 - in src/Makefile.am, specify DEFS to override automake's defaults (Tom Tromey) - move headers back to src/ (Trevor Johnson) - update pl.po (Piotr Czerwiñski) - update ru.po (Michael Vasilenko/Grisha Vasiliev) - fix bug where mouse could toggle nonexistent record/play (Christian Weisgerber) - in SysmouseHandler(), work around cosmetic bug in syscons.c on FreeBSD 3.3/3.4 (Trevor Johnson) - on NetBSD and OpenBSD, use _oss_ioctl (Christian Weisgerber) - find libcurses on OpenBSD (Trevor Johnson) - fix test for libcurses (Christian Weisgerber) - use unsigned long as type for second argument of dummy_ioctl, for compatibility with OpenBSD/alpha (Christian Weisgerber) - fix typo in src/gpm-xterm.h (Christian Weisgerber) - prettify printf formatting in src/gpm-xterm.h (Christian Weisgerber) - in PlaceCursor(), use A_NORMAL to lessen compiler bug on OpenBSD/sparc (Trevor Johnson) - in AumixSignalHandler(), redraw level/balance indicator after resizing window (Christian Weisgerber) - in xaumix, don't leave blank line when calculating size of terminal, because it is no longer needed (Christian Weisgerber) - fix bug where record/play could be toggled for a nonexistent channel, using the mouse (Christian Weisgerber) - in common.h, add prototype for dummy_ioctl (Christian Weisgerber) - in configure --help text, don't capitalize the first letter, in order to match configure's built-in descriptions (Christian Weisgerber) - in configure --help text, line up descriptions (Trevor Johnson) - in InitCurses(), when running in an xterm, set DISPLAY if it isn't already set, to trick ncurses into processing mouse events (Christian Weisgerber) - in configure.in, only test for _use_keypad, getmouse and use_default_colors when $CURSLIB is set (Christian Weisgerber) 1999-12-25 - version 2 - added GTK+ interface (P.H., Trevor Johnson) - added code from gmixer to show the icon when window is iconized (Sergey Kiselev) - in configure.in, added stuff from GIMP (Owen Taylor) - removed debugging macro from aumix.1 (Christian Weisgerber) 2000-01-31 - version 2.1 - in acinclude.m4, add AM_PATH_GTK (Christian Weisgerber) - in configure.in, uncomment test for GTK+ (Christian Weisgerber) - in configure.in, move AC_SUBST(CURSLIB) (Paul Slootman) - in common.c, don't try to open mixer device file if DUMMY_MIXER is defined (Trevor Johnson) - in curses.c and gtk.c, add LOCAL_TEXT so --enable-own-labels works (Trevor Johnson) - remove Makefile.manual (Trevor Johnson) - add AumixSignalHandlerGTK to do updates for GTK+ interface (Trevor Johnson) - fix unmuting in GTK+ interface (Trevor Johnson) - add quit button to GTK+ interface (Trevor Johnson) - add balance controls to GTK+ interface (Trevor Johnson) - set height of GTK+ window according to number of mixing channels (Trevor Johnson) - better syntax in aumix.1 (Christian Weisgerber) - added patches for FreeBSD to packaging/FreeBSD/ (Trevor Johnson) - added experimental OpenBSD port (Christian Weisgerber) - updated and reorganized README and INSTALL (Trevor Johnson) 2000-03-07 - version 2.2 - fix gtk.c so it compiles when HAVE_GTK is false (Trevor Johnson) - in gtk.c, use a table and labels rather than frames, so controls are smaller and all the same size (Trevor Johnson) - when given options besides (but not including) -I, and DISPLAY environment variable is set, don't open GTK+ window (Aaron McDaid) - if -C option is given, don't open GTK+ window (Aaron McDaid) - in Usage(), show interactive options when compiled with HAVE_GTK, even if not with HAVE_CURSES (Trevor Johnson) - in Alsa_Unmute(), try to clarify comment about library (Trevor Johnson) - in gtk.c, add menus, using code from itemfactory.c example (Tony Gale, Ian Main) - in gtk.c, move quit and muting functions to menus (Trevor Johnson) - in gtk.c, add file loading and saving functions to menu (Trevor Johnson) - update intl/ with files from GNU gettext 0.10.35 (credits in intl/ChangeLog) 2000-03-16 - version 2.3 - in gtk.c, add LoadDialog() and SaveDialog() to select settings files, using code from filesel.c example (Tony Gale, Ian Main) - in gtk.c, add LOCAL_TEXT_NOOP to permit translation of menus (Trevor Johnson) - in gtk.c, remove some unused widgets (Trevor Johnson) - in gtk.c, remove buggy code for calculating size of window (Trevor Johnson) - in common.c, add ShowWarning() to print error messages and continue (Trevor Johnson) - in common.h, dummy.c, interactive.c and mouse.c, add comments to #endif directives (Trevor Johnson) - where "../config.h" and "common.h" are both included, only include the latter and include "../config.h" in common.h (Trevor Johnson) - add buttons with pixmaps to switch record/play from GTK+ window (Trevor Johnson) - rename menu_items to menuitemsgtk to avoid confusion with menuitems (Trevor Johnson) 2000-03-23 - version 2.4 - add French (fr) translation (Guillaume Cottenceau) - in InitScreenGTK(), use gtk_table_attach_defaults instead of gtk_table_attach for simplification and to avoid a compilation error (Trevor Johnson) - in InitScreenGTK(), use casts to avoid compilation warnings (Trevor Johnson) - in gtk.c, add SaveSettingsGTK() and LoadSettingsGTK() functions as wrappers for SaveSettingsGTK() and LoadSettingsGTK(), to avoid compilation warnings (Trevor Johnson) - in AumixSignalHandlerGTK(), use gtk_signal_handler_block() and gtk_signal_handler_unblock() rather than gtk_signal_disconnect() and gtk_signal_connect() while we change settings of buttons and sliders (Trevor Johnson) - make Usage() text match synopsis in man page (Trevor Johnson) - move play.xpm and record.xpm to src/ to please automake (what about aumix.xpm?) (Trevor Johnson) - in main() move #endif to allow compilation with neither ncurses nor GTK+ (Venkatesh Krishnamurthi) - in InitScreenGTK(), create channellabel labels in the same loop where they're attached to the table (Trevor Johnson) - remove unused y variable from AdjustBalanceGTK (Trevor Johnson) - in InitScreenGTK(), add "L" and "R" markings for balance controls, and "0" and "100" markings for level controls (Trevor Johnson) - in InitScreenGTK(), use gtk_scale_set_value_pos() to move labels to the left side of level controls and right side of balance controls, to save pixels (Trevor Johnson) - in common.c, add CountChannels() to count mixing channels (Trevor Johnson) - partial updates to all translations (Trevor Johnson) - make correction to de.po (Christian Weisgerber) - rewrite menus without GtkItemFactory, so they can really be translated (Trevor Johnson) 2000-03-28 - version 2.5 - in gtk.c, add "View" menu to hide unused channels (Trevor Johnson) - in gtk.c, use gtk_signal_connect_object() rather than gtk_signal_connect(), so device numbers may be passed to callback functions (Trevor Johnson) - in gtk.c, remove aumix_destroy() and just use gtk_widget_destroy() (Trevor Johnson) - update Polish translation (Piotr Czerwiñski) 2000-04-12 - version 2.6 - in xaumix, give "-C ansi" option for emulators that didn't get "-C xterm" so aumix will start in ncurses mode when compiled with GTK+ (Trevor Johnson) - in INSTALL, give better instructions for FreeBSD and NetBSD (Trevor Johnson) - remove contents of packaging/FreeBSD (Trevor Johnson) - remove unused AumixSigwinchHandler() (Trevor Johnson) - in curses.h, remove stray comma from enum (Trevor Johnson) - in gpm-xterm.h declare Gpm_Wgetch() with its parameter (Trevor Johnson) - in interactive.h, declare InitScreen() with a "void" parameter (Trevor Johnson) - in curses.c, declare InitScreenCurses() with a "void" parameter (Trevor Johnson) - in InitScreenGTK, make fileaccelkeys an array of ints rather than pointers to chars (translation of these is still broken) (Trevor Johnson) - in ExitIfError() and ShowWarning(), use LOCAL_TEXT_NOOP rather than LOCAL_TEXT (Trevor Johnson) - make AumixSignalHandler() the only signal handler and have it call WakeUpCurses() and WakeUpGTK() (Trevor Johnson) - fix type of AumixSignalHandler() (Christian Weisgerber) - in StartMouse(), cast conn.eventMask to unsigned short (Christian Weisgerber) - update de.po (Dominik Stadler) - in gtk.h, make callback functions gint rather than gint * (Trevor Johnson) - new four-color aumix.xpm, 32 X 32 pixels (Trevor Johnson) - removed aumix-mini.xpm (Trevor Johnson) - in InitScreenGTK() make i a long int to avoid warning on 64-bit architectures when we pretend it's a pointer for gtk_signal_connect_object (Trevor Johnson) - add "View" and "wait" to all .po files (Trevor Johnson) - in LoadSettings(), add "wait" keyword to permit scripted pauses (Trevor Johnson) - update aumix.1 to mention "wait" feature (Trevor Johnson) - update xaumix.1 to mention GTK+ interface (Trevor Johnson) - combine ShowWarning() and ExitIfError() into ErrorExitWarn (Trevor Johnson) - move prototypes from common.c to common.h (Trevor Johnson) - rename i18n_initialize to I18nInitialize (Trevor Johnson) - rename Alsa_Unmute to AlsaUnmute (Trevor Johnson) - made data/fadein.set and data/fadeout.set to show use of wait feature (Trevor Johnson) - send error messages, including usage text when an error has occurred, to stderr (Christian Weisgerber) - further updates to de.po (Christian Weisgerber) - in LoadSettings, use fgets() to read in lines of text from the file, then parse them with sscanf(), so "wait" lines need only two fields (Trevor Johnson) - use CountChannels() in HighlightLabelCurses() (Trevor Johnson) - partial update to es.po (Trevor Johnson) - in aumix.spec, don't run automake or autoconf (Christian Weisgerber) 2000-06-27 - version 2.6.1 - remove some "fuzzy" lines from de.po and ru.po (Trevor Johnson) - fix AumixSignalHandler for compilation without GTK+ (Venkatesh Krishnamurthi) - fix AumixSignalHandler for compilation without ncurses (Bill Nottingham, Christian Weisgerber) - fix overflow in InitColors() when argument to -C option is too long (Trevor Johnson) - fix overflow in OpenDefaultFile() when HOME is too long and -L option is given (Trevor Johnson) - replace DATADIRNAME with DATADIR and fix it (Christian Weisgerber) - fix packing list in aumix.spec (Christian Weisgerber) - update English description in spec file to mention X interface (Trevor Johnson) - in INSTALL, update ncurses site, simplify RPM instructions, and remove references to GNU make (Trevor Johnson) - in InitScreenCurses(), add menu_sizes and make label_width variable (replace fixed LABEL_WIDTH) so widths of menu and labels can accommodate different languages (Trevor Johnson) - use the po/Makefile.in.in from rpm 3.0.4 for less dependence on GNU make (Christian Weisgerber, Ulrich Drepper) - remove OpenBSD port (Trevor Johnson) - make GTK+ accelerator keys translatable (Trevor Johnson) - make dummy mixer show first 25 devices, for checking translations (Trevor Johnson) - remove gratuitous subshells from configure tests (Christian Weisgerber) - introduce automake conditionals GTK and CURSES (Christian Weisgerber) - install xaumix, xaumix.1, and color schemes only if building with curses (Christian Weisgerber) - make mention of "-C" and "-I" options in usage text agree with actual availability (Christian Weisgerber) 2000-07-13 - version 2.7 - add partial Japanese message catalog (ja.po) (Trevor Johnson, Masanori Hanawa, and Takagi Junji) - add partial Swedish message catalog (sv.po) (Trevor Johnson, Magnus Reftel, Anders Widell, Christer Gustavsson, and Karl Backström) - in I18nInitialize(), use LC_ALL rather than LC_MESSAGES to permit selection of character sets (needed for Japanese) (Trevor Johnson) - in INSTALL, correct instructions for NetBSD, separate them from OpenBSD, and merge "Kernel" and "Linux" sections (Trevor Johnson) - fix misspelling in xaumix.1 (Christian Weisgerber) - update aumix.1: only one xpm (Christian Weisgerber) - in InitScreenGTK(), wrap fileacceltext strings in LOCAL_TEXT_NOOP to permit translation (Trevor Johnson) 2002-03-18 - add Menu, Balance, and Numbers to the View menu in the GTK+ interface (Trevor Johnson) - update Galician and Spanish translations (Jesús Bravo Álvarez) - add partial Simplified Chinese translation (GB2312-1980 encoding) (Wang Jian) 2002-03-19 - add src/mute, a shell script which mutes and un-mutes (Ben Ford) - add Dutch translation (Jelmer Vernooij) 2002-03-20 - update Ukrainian translation (Olexander Kunytsa) 2002-03-23 - use strdup() in ReadInteractiveKeys()--fixes possible security bug (Paul Slootman) - use strdup() in main() and use g_strdup() in FileOKLoad() and FileOKSave() (Trevor Johnson) 2002-03-24 - revise Swedish translation (Mikael Hedin) - add Swedish to MENUSIZES and LABELSIZES, and add comments explaining how to use those arrays (Trevor Johnson) 2002-03-28 - use ii and jj in loops instead of i and j, as suggested in Roedy Green's "How To Write Unmaintainable Code" (Trevor Johnson) - replace Japanese translation with the one from Turbolinux (Takeshi Aihana) - remove extra ".Ql" macro from man page (Eric S. Raymond) - add licensing and copyright notices to most source files (Trevor Johnson) - update the address of the Free Software Foundation (Trevor Johnson) 2002-04-01 - re-enable console mouse support on FreeBSD 5.0-CURRENT without <machine/console.h> (Christian Weisgerber) - quote arguments with internal whitespace, for new autoconf (Nalin Dahyabhai) 2002-04-20 - in common.h, avoid incorrect inclusion of getopt.h (Christian Weisgerber) 2002-04-24 - in configure.in, check directly for ossaudio library (Christian Weisgerber) 2002-04-27 - in acconfig.h, remove duplicates and defines automatically created by autoheader (Christian Weisgerber) - in common.h, remove SOUND_IOCTL macro for NetBSD and OpenBSD, the purpose of which has been forgotten (Christian Weisgerber) - use autoconf to find soundcard.h (Christian Weisgerber) 2002-04-29 - update Brazilian Portuguese translation (Cyro Mendes de Moraes Neto and Osvaldo Santana Neto) 2002-05-01 - account for channels which can be used for recording yet have no adjustable levels (Martin J. Hiller) 2002-05-05 - added Greek translation of some of the channel names (Sofia Pappatheodorou and Trevor Johnson) 2002-09-07 - add CheckAndOpen(): error out if user tries to load settings from a directory instead of a file (Bas Zoetekouw) - in configure.in, add a description as the third argument to all invocations of AC_DEFINE(); remove the corresponding entries from config.h.in because autoheader can now create them (Christian Weisgerber) - remove AC_DEFINE()s for USE_INCLUDED_LIBINTL and USE_NLS, which were only used as output variables (Christian Weisgerber) 2002-10-23 - in OpenDefaultFile(), avoid buffer overflows by correcting off-by-one and off-by-two errors in tests for length of filename (Ivan Tonizza) - in ToggleMuting(), silence a warning from gcc 3.2.1 (Trevor Johnson) - in InitColors(), fix the same kind of off-by-one buffer overflow as discovered by Ivan Tonizza in OpenDefaultFile() (Trevor Johnson) - use PATH_MAX when allocating buffers, to avoid inconsistency with tests in OpenDefaultFile() and InitColors() (Trevor Johnson) 2002-10-27 - Debian bug 158536: in InitScreenGTK(), invert the state of the "Mute All" button, so it is correct instead of always incorrect (Roland Stigge) 2002-10-29 - fix alignment in "configure --help" output (Trevor Johnson) - enable use of GTK+ 2.0, while retaining support for GTK+ 1.2 (Trevor Johnson) 2002-11-24 - add more machine-translated Greek text from <URL:http://www.worldlingo.com> (Trevor Johnson) 2002-11-25 - aumix 2.8 - apply forgotten GTK+ 2.0 patches to INSTALL and configure.in files (Trevor Johnson)