summaryrefslogtreecommitdiffstats
path: root/Demo/sgi/al/alwatch.py
blob: ac53080a2d817792dd8cd4454257086d696347b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import time
import al, AL
import string

dev = AL.DEFAULT_DEVICE

parameter_name = [ \
	'input source', 'left input atten', 'right input atten', \
	'input rate', 'output rate', \
	'left speaker gain', 'right speaker gain', \
	'input count', 'output count', 'unused count', \
	'sync input to aes', 'sync output to aes', \
	]
source_name = ['line', 'microphone', 'digital']

params = al.queryparams(dev)
for i in range(1, len(params), 2):
	params[i] = -1
while 1:
	time.millisleep(100)
	old = params[:]
	al.getparams(dev, params)
	if params <> old:
		for i in range(0, len(params), 2):
			if params[i+1] <> old[i+1]:
				name = parameter_name[params[i]]
				if params[i] == AL.INPUT_SOURCE:
					if 0 <= old[i+1] < len(source_name):
						oldval = source_name[old[i+1]]
					else:
						oldval = ''
					newval = source_name[params[i+1]]
				else:
					oldval = `old[i+1]`
					newval = `params[i+1]`
				print string.ljust(name, 20),
				print '(' + string.rjust(oldval, 10) + ')',
				print '-->',
				print string.rjust(newval, 10)
		print