File: hctltest1.py

package info (click to toggle)
python-pyalsa 1.2.12-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 496 kB
  • sloc: ansic: 5,616; python: 1,260; makefile: 4
file content (69 lines) | stat: -rwxr-xr-x 1,889 bytes parent folder | download | duplicates (2)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/usr/bin/env python3
# -*- Python -*-

import sys
sys.path.insert(0, '..')
del sys
from pyalsa import alsahcontrol

def info(element):
	info = alsahcontrol.Info(element)
	enumerated = alsahcontrol.element_type['ENUMERATED']
	integer = alsahcontrol.element_type['INTEGER']
	integer64 = alsahcontrol.element_type['INTEGER64']
	for a in dir(info):
		if a.startswith('__'):
			continue
		if a in ['items', 'item_names'] and info.type != enumerated:
			continue
		if a in ['min', 'max', 'step'] and info.type != integer:
			continue
		if a in ['min64', 'max64', 'step64'] and info.type != integer64:
			continue
		extra = ''
		if a == 'type':
			extra = ' (%s)' % alsahcontrol.element_type_name[info.type]
		print('  %s: %s%s' % (a, getattr(info, a), extra))

def value(element):
	info = alsahcontrol.Info(element)
	value = alsahcontrol.Value(element)
	for a in dir(value):
		if a.startswith('__'):
			continue
		print('  %s: %s' % (a, getattr(value, a)))
	values = value.get_tuple(info.type, info.count)
	print('  Values:', values)
	value.set_tuple(info.type, values)
	value.read()
	if info.is_writable:
		value.write()

print('interface_id:')
print('  ', alsahcontrol.interface_id)
print('interface_name:')
print('  ', alsahcontrol.interface_name)
print('element_type:')
print('  ', alsahcontrol.element_type)
print('element_type_name:')
print('  ', alsahcontrol.element_type_name)
print('event_class:')
print('  ', alsahcontrol.event_class)
print('event_mask:')
print('  ', alsahcontrol.event_mask)
print('event_mask_remove:', alsahcontrol.event_mask_remove)
print('  ', alsahcontrol.open_mode)
print('event_mask_remove:', alsahcontrol.open_mode)

hctl = alsahcontrol.HControl()
print('Count: ', hctl.count)
list = hctl.list()
print('List:')
print(list)
for l in list:
	print('*****')
	element1 = alsahcontrol.Element(hctl, l[1:])
	info(element1)
	print('-----')
	value(element1)
del hctl