113 lines
3.9 KiB
Plaintext
113 lines
3.9 KiB
Plaintext
audiopy - a program to control the Solaris audio device.
|
||
|
||
Contact: Barry Warsaw
|
||
Email: bwarsaw@python.org
|
||
Version: 1.0
|
||
|
||
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:
|