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
|