1 | audiopy - a program to control the Solaris audio device.
|
---|
2 |
|
---|
3 | Contact: Barry Warsaw
|
---|
4 | Email: bwarsaw@python.org
|
---|
5 | Version: 1.1
|
---|
6 |
|
---|
7 | Introduction
|
---|
8 |
|
---|
9 | Audiopy is a program to control the Solaris audio device, allowing
|
---|
10 | you to choose both the input and output devices, and to set the
|
---|
11 | output volume. It can be run either as a standalone command-line
|
---|
12 | script, or as a Tkinter based GUI application.
|
---|
13 |
|
---|
14 | Note that your version of Python must have been built with the
|
---|
15 | sunaudiodev module enabled. It is not enabled by default however!
|
---|
16 | You will need to edit your Modules/Setup file, uncomment the
|
---|
17 | sunaudiodev module spec line and rebuild Python.
|
---|
18 |
|
---|
19 | Using audiopy, you can select one of three possible input devices:
|
---|
20 | the microphone, the line-in jack, or the CD in. These choices are
|
---|
21 | mutually exclusive; you can only have one active input device at
|
---|
22 | any one time (this is enforced by the underlying device). Some
|
---|
23 | input devices may not be supported on all Solaris machines.
|
---|
24 |
|
---|
25 | You can also choose to enable any of the three possible output
|
---|
26 | devices: the headphone jack, the speakers, or the line-out jack.
|
---|
27 | You can enable any combination of these three devices.
|
---|
28 |
|
---|
29 | You can also set the output gain (volume) level.
|
---|
30 |
|
---|
31 | Running as a GUI
|
---|
32 |
|
---|
33 | Simply start audiopy with no arguments to start it as a Tkinter
|
---|
34 | based GUI application. It will pop up a window with two sections:
|
---|
35 | the top portion contains three radio buttons indicating your
|
---|
36 | selected input device; the middle portion contains three
|
---|
37 | checkboxes indicating your selected output devices; the bottom
|
---|
38 | portion contains a slider that changes the output gain.
|
---|
39 |
|
---|
40 | Note the underlined characters in the button labels. These
|
---|
41 | indicate keyboard accelerators so that pressing Alt+character you
|
---|
42 | can select that device. For example, Alt-s toggles the Speaker
|
---|
43 | device. The Alt accelerators are the same as those you'd use in
|
---|
44 | as the short-form command line switches (see below).
|
---|
45 |
|
---|
46 | Alt-q is also an accelerator for selecting Quit from the File
|
---|
47 | menu.
|
---|
48 |
|
---|
49 | Unsupported devices will appear dimmed out in the GUI. When run
|
---|
50 | as a GUI, audiopy monitors the audio device and automatically
|
---|
51 | updates its display if the state of the device is changed by some
|
---|
52 | other means. With Python versions before 1.5.2 this is done by
|
---|
53 | occasionally polling the device, but in Python 1.5.2 no polling is
|
---|
54 | necessary (you don't really need to know this, but I thought I'd
|
---|
55 | plug 1.5.2 :-).
|
---|
56 |
|
---|
57 | Running as a Command Line Program
|
---|
58 |
|
---|
59 | You can run audiopy from the command line to select any
|
---|
60 | combination of input or output device, by using the command line
|
---|
61 | options. Actually, any option forces audiopy to run as a command
|
---|
62 | line program and not display its GUI.
|
---|
63 |
|
---|
64 | Options have the general form
|
---|
65 |
|
---|
66 | --device[={0,1}]
|
---|
67 | -d[-{0,1}]
|
---|
68 |
|
---|
69 | meaning there is both a long-form and short-form of the switch,
|
---|
70 | where `device' or `d' is one of the following:
|
---|
71 |
|
---|
72 | (input)
|
---|
73 | microphone -- m
|
---|
74 | linein -- i
|
---|
75 | cd -- c
|
---|
76 |
|
---|
77 | (output)
|
---|
78 | headphones -- p
|
---|
79 | speaker -- s
|
---|
80 | lineout -- o
|
---|
81 |
|
---|
82 | When no value is given, the switch just toggles the specified
|
---|
83 | device. With a value, 0 turns the device off and 1 turns the
|
---|
84 | device on. Any other value is an error.
|
---|
85 |
|
---|
86 | For example, to turn the speakers off, turn the headphones on, and
|
---|
87 | toggle the cd input device, run audiopy from the command line like
|
---|
88 | so:
|
---|
89 |
|
---|
90 | % ./audiopy -s=0 -p=1 -c
|
---|
91 |
|
---|
92 | Audiopy understands these other command line options:
|
---|
93 |
|
---|
94 | --gain volume
|
---|
95 | -g volume
|
---|
96 | Sets the output volume to the specified gain level. This must
|
---|
97 | be an integer between MIN_GAIN and MAX_GAIN (usually [0..255],
|
---|
98 | but use the -h option to find the exact values).
|
---|
99 |
|
---|
100 | --version
|
---|
101 | -v
|
---|
102 | Print the version number and exit
|
---|
103 |
|
---|
104 | --help
|
---|
105 | -h
|
---|
106 | Print a help message and exit
|
---|
107 |
|
---|
108 |
|
---|
109 | |
---|
110 |
|
---|
111 | Local Variables:
|
---|
112 | indent-tabs-mode: nil
|
---|
113 | End:
|
---|