|
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 Local Variables: |
|
111 indent-tabs-mode: nil |
|
112 End: |