
Linux Audio Mixer Version 0.2 (aumix.c)
========================================

This is an audio mixer for Linux which has a somewhat nicer interface. The
interface is done with the ncurses library, so you need to have ncurses
installed in order to use this program. You also need a Linux kernel with
the sound driver (1.99.8 or newer) compiled in. Much of the code is taken
from mixer.c distributed with the sndkit 1.99.8, so I ought to thank the
author of mixer.c for this. I only tested it on a color display (VGA),
so I don't know if it will work on a mono display or not.


Features:
	Colorful interface with sliding volume control, etc.

Install:
	1. Edit Makefile and remove -DCOLOR_CHECK from CFLAGS if your
	   version of ncurses doesn't have has_colors().
	2. 'make install' will compile and install the binaries in
           /usr/local/bin (change BINDIR in Makefile if you want to
	   install elsewhere)

What's new since version 0.1:

  - Doesn't assume existence of any device (volume, bass, etc).
  - Some bug fixes to work correctly with SB Pro.
  - Should now work correctly when multiple copies are run simutaneously.
  - Some minor bug fixes.

Note for dbmeter.c:
  I've also included an experimental dbmeter program (dbmeter.c) that will
  display something like a DB meter according to the input sound file. It's
  *not* fininshed and I just include it in the hope that someone is kind
  enough to take a look at the code and tell me how ugly it is :-) and how
  to do it better. Currently, it only works with 8 bits/mono sound files.

  How it works?
  The DB meter is updated every 1/10th second. This is done by scheduling to
  send a SIGALRM every 1/10th second so that the function print_bar() is
  called to update the meter. The program divides the input stream into
  intervals of samplerate/10 bytes, calculates the average amplitude for
  each interval and put it in a queue. When print_bar() is called, it will
  take a value from the front of the queue and update the meter according to
  this value. The assumption is that the program will put values in the queue
  faster than print_bar() will take from it.

  How to use?
  Type "dbmeter" and it will tell you the usage:

  Usage: dbmeter <infile> <samplerate> [outfile]

  Where infile and outfile can be "-" for stdin and stdout respectively.
  You can do something like "dbmeter whatever.snd 8000 - | splay -s 8000"
  to play a sound file and display a dbmeter when it's playing.

  Or you can do the same thing with
  "cat whatever.snd | dbmeter - 8000 - | splay -s 8000"
  so that dbmeter acts as a filter.

  This may also work:
  "srec -s 8000 | dbmeter - 8000"


Comments and bug reports welcome.

- Savio Lam (lam836@cs.cuhk.hk)
