#!/usr/bin/python from simplemidi.alsaconnector import AlsaPort from simplemidi.options import * class PadAdapter: _DEFAULT_PARAMS={ 'name': None, 'autoconnect_in': None, 'autoconnect_out': None } def __init__(self, param): param=initParams(PadAdapter._DEFAULT_PARAMS, param) self.name=param['name'] self.autoIn=param['autoconnect_in'] self.autoOut=param['autoconnect_out'] def adapt(self, pad): self.__init_port_out(pad) self.__init_port_in(pad) self.onAdapt(pad) def __init_port_in(self, pad): if not pad.iport.isOpen(): self.initPortIn(pad) if self.autoIn: self.autoconnectIn(pad) def __init_port_out(self, pad): if not pad.oport.isOpen(): self.initPortOut(pad) if self.autoOut: self.autoconnectOut(pad) def initPortIn(self, pad): pad.iport.open() def initPortOut(self, pad): pad.oport.open() def autoconnectIn(self, pad): i=0 x= pad.iport.getPorts() for p in x: if str(p).find(self.autoIn)>=0: a=AlsaPort(p) pad.connectIn(a.globalId) i=i+1 def autoconnectOut(self, pad): i=0 x= pad.oport.getPorts() for p in x: if str(p).find(self.autoOut)>=0: a=AlsaPort(p) pad.connectOut(AlsaPort(p).globalId) i=i+1