import time import al, AL import string dev = AL.DEFAULT_DEVICE source_name = ['line', 'microphone', 'digital'] params = al.queryparams(dev) for i in range(1, len(params), 2): params[i] = -1 while 1: time.sleep(0.1) 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 = al.getname(dev, 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, 25), print '(' + string.rjust(oldval, 10) + ')', print '-->', print string.rjust(newval, 10) print