A simple linux mixer program
smix [-v] [-h] [-o file] [-i file] [-m file] [-s] [command(s)]
smix , a simple mixer program that reports or controls the Mixer settings of /dev/mixer (or the specific mixer device file specified by the "-m file" option) from the command line parameter(s).
The commands are detailed below, capitals showing the minimum abbreviation allowed. Upper or lower case can be used on the command line. All Volume settings are in range 0-100 (0 min, 100 max), but these are scaled to the mixers actual range, hence set volume may be slightly different.
To see what devices/channels the mixer is configured with and to get a command summary, use smix -h .
outputs the settings of the mixer. This is the default, if no command line parameters are given
outputs the current settings for the mixer device named "dev"
sets mixer device 'dev' to volume N, or to separate left and right stereo volume L,R If device doesn't support stereo settings then max of L,R is used. The word off can be used instead of 0 and full can be used instead of 100.
sets all mixer devices to specified volume setting (see above).
set the DSP input to be 'dev' or 'NOne' to turn inputs off
makes the program output the settings after doing the commands
show usage summary, which also lists the mixer devices and the possible input devices.
be verbose - outputs the results of commands. Same as Verbose above
read commands from file
divert standard output to file.
use file instead of the default /dev/mixer . The file has to be a valid mixer device type.
causes smix to output mixer settings etc in a form that can be read by smix to cause the same settings to set. This can be used to record the settings of all or part of the mixer into a file, change the settings, then get smix to reset the original settings by giving the file as an input file, see examples below.
Use '-' as a filename to indicate standard input.
Displays the current mixer devices and their current settings.
Displays the devices and their current settings for /dev/mixer1
sets input to line1, line1 volume to 60 and mic volume to 0 (off) and shows the total resultant mixer settings.
sets left line1 input to volume 60 and right line1 input to 0 (off) and shows the resultant output.
set the mixer settings from smix commands in /etc/mixer.default .
take mixer commands from stdin, with output to stdout. If stdin and stdout is the keyboard and display, then mixer commands can by typed and executed interactively and control is retained of the mixer while smix is running.
record the current settings of the default mixer in file mixer.conf in a form that can be fed back in to smix.
take the file saved, as above, and reset the mixer settings, without doing any output.
Three possible configuration files can be used: a LOCAL config file (usually in current directory), a HOME config file in user's $HOME directory and a GLOBAL config file.
All the siggen suite of programs are compiled with the names of the config files built in. By default the configuration files are:
is the LOCAL config file.
is the HOME config file.
is the GLOBAL config file.
will indicate which config files will be searched for.
The config files do not have to exist. If they exist and are readable by the program they are used, otherwise they are simply ignored.
The config files are always searched for configuration values in the order LOCAL, HOME, GLOBAL. This allows a scheme where the sysadmin sets up default config values in the GLOBAL config file, but allows a user to set some or all different values in their own HOME config file, and to set yet more specific values when run from a particular directory.
If no configuration files exist, the program provides builtin default values, and these values can be set by appropriate command line options and flags.
See siggen.conf(5) for details of the configuration files.
smix currently looks for configuration values MIXERFILE, VERBOSE.
allows the name of the mixer device file to be changed from /dev/mixer
sets whether or not to run in verbose mode.
All the other mixer programs that float around the internet.
Copyright 1995-2008 Jim Jackson
The software described by this manual is covered by the GNU General Public License, Version 2, June 1991, issued by :
Free Software Foundation, Inc.,
675 Mass Ave,
Cambridge, MA 02139, USA
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translation instead of in the original English.
Jim Jackson
Email: [email protected]