README

audiopy - a program to control the Solaris audio device.

Contact: Barry Warsaw Email: bwarsaw@python.org Version: 1.1

Introduction

Audiopy is a program to control the Solaris audio device, allowing
you to choose both the input and output devices, and to set the
output volume.  It can be run either as a standalone command-line
script, or as a Tkinter based GUI application.

Note that your version of Python must have been built with the
sunaudiodev module enabled.  It is not enabled by default however!
You will need to edit your Modules/Setup file, uncomment the
sunaudiodev module spec line and rebuild Python.

Using audiopy, you can select one of three possible input devices:
the microphone, the line-in jack, or the CD in.  These choices are
mutually exclusive; you can only have one active input device at
any one time (this is enforced by the underlying device).  Some
input devices may not be supported on all Solaris machines.

You can also choose to enable any of the three possible output
devices: the headphone jack, the speakers, or the line-out jack.
You can enable any combination of these three devices.

You can also set the output gain (volume) level.

Running as a GUI

Simply start audiopy with no arguments to start it as a Tkinter
based GUI application.  It will pop up a window with two sections:
the top portion contains three radio buttons indicating your
selected input device; the middle portion contains three
checkboxes indicating your selected output devices; the bottom
portion contains a slider that changes the output gain.

Note the underlined characters in the button labels.  These
indicate keyboard accelerators so that pressing Alt+character you
can select that device.  For example, Alt-s toggles the Speaker
device.  The Alt accelerators are the same as those you'd use in
as the short-form command line switches (see below).

Alt-q is also an accelerator for selecting Quit from the File
menu.

Unsupported devices will appear dimmed out in the GUI.  When run
as a GUI, audiopy monitors the audio device and automatically
updates its display if the state of the device is changed by some
other means.  With Python versions before 1.5.2 this is done by
occasionally polling the device, but in Python 1.5.2 no polling is
necessary (you don't really need to know this, but I thought I'd
plug 1.5.2 :-).

Running as a Command Line Program

You can run audiopy from the command line to select any
combination of input or output device, by using the command line
options.  Actually, any option forces audiopy to run as a command
line program and not display its GUI.

Options have the general form

    --device[={0,1}]
    -d[-{0,1}]

meaning there is both a long-form and short-form of the switch,
where `device' or `d' is one of the following:

    (input)
        microphone -- m
        linein     -- i
        cd         -- c

    (output)
        headphones -- p
        speaker    -- s
        lineout    -- o

When no value is given, the switch just toggles the specified
device.  With a value, 0 turns the device off and 1 turns the
device on.  Any other value is an error.

For example, to turn the speakers off, turn the headphones on, and 
toggle the cd input device, run audiopy from the command line like 
so:

% ./audiopy -s=0 -p=1 -c

Audiopy understands these other command line options:

--gain volume
-g volume
    Sets the output volume to the specified gain level.  This must 
    be an integer between MIN_GAIN and MAX_GAIN (usually [0..255], 
    but use the -h option to find the exact values).

--version
-v
    Print the version number and exit

--help
-h
    Print a help message and exit

Local Variables: indent-tabs-mode: nil End: