def __init__(self, card_index, control, main_instance): """ Constructor """ try: self.main = main_instance self.card_index = card_index self.control = control self.mixerlist = [] self.mixer = alsamixer.Mixer() self.mixer.attach("hw:%d" % self.card_index) self.mixer.load() self.open() self._has_capture() self._check_version() except Exception, err: log.warn("can't open %s control for card %s, \ trying to select first available mixer channel\n" % (self.control, self.get_card_name())) try: control = self.get_mixers(self.card_index)[0] self.main.control = control self.reopen(self.card_index, control) self._has_capture() self._check_version() except Exception, err: log.error("can't open first available control \ for card %s\nerror: %s" % (self.get_card_name(), str(err))) sys.exit(1)
def __init__(self, card_index, control, main_instance): """ Constructor """ try: self.main = main_instance self.card_index = card_index self.control = control self.mixerlist=[] self.mixer = alsamixer.Mixer() self.mixer.attach("hw:%d" % self.card_index) self.mixer.load() self.open() self._has_capture() self._check_version() except Exception, err: log.warn("can't open %s control for card %s, \ trying to select first available mixer channel\n" % ( self.control, self.get_card_name())) try: control = self.get_mixers(self.card_index)[0] self.main.control = control self.reopen(self.card_index, control) self._has_capture() self._check_version() except Exception, err: log.error("can't open first available control \ for card %s\nerror: %s" % ( self.get_card_name(), str(err))) sys.exit(1)
def _check_version(self): """ Check pyalsaaudio version """ try: assert hasattr(self.mixer, "polldescriptors") except AssertionError: log.error("This program needs pyalsaaudio 0.6 or higher") sys.exit(1)
def _check_version(self): try: assert hasattr(self.mixer, "poll_fds") except AssertionError: log.error("This program needs pyalsa 1.0.23 or higher") sys.exit(1)