示例#1
0
 def set_aux_volume(self, ch, db):
     if ch > 2:
         raise ValueError('Invalid argument for master channel')
     fb = self.__aux_output
     data = AvcAudio.build_data_from_db(db)
     AvcAudio.set_feature_volume_state(self.unit.fcp, 0, 'current', fb, ch,
                                       data)
示例#2
0
 def set_aux_balance(self, ch, balance):
     if ch > 2:
         raise ValueError('Invalid argument for master channel')
     fb = self.__aux_output
     data = AvcAudio.build_data_from_db(balance)
     ch += 1
     AvcAudio.set_feature_lr_state(self.unit.fcp, 0, 'current', fb, ch,
                                   data)
 def set_mixer_input_gain(self, target, ch, db):
     if target not in self._INPUTS:
         raise ValueError('Invalid value for input target.')
     offset = self._MIXER_INPUT_OFFSETS[target]
     quads = self._read_quads(offset, 4)
     pos = ch - 1
     total = quads[pos] + quads[pos + 2]
     data = AvcAudio.build_data_from_db(db)
     value = unpack('>H', data)[0]
     quads[pos] = int(value * quads[pos] // total)
     quads[pos + 2] = int(value * quads[pos + 2] // total)
     self._write_quads(offset, quads)
示例#4
0
 def set_input_balance(self, target, ch, balance):
     if target not in self.__INPUT_LABELS:
         raise ValueError('invalid argument for input stereo pair')
     offset = (self.__INPUT_LABELS.index(target) - 2 + 16) * 4 + ch * 2
     data = AvcAudio.build_data_from_db(balance)
     self.__write_data(offset, data)
示例#5
0
 def __set_volume(self, offset, db):
     if offset > len(self._cache):
         raise ValueError('Invalid argument for offset on address space')
     data = AvcAudio.build_data_from_db(db)
     self.__write_data(offset, data)
 def set_analog_output_volume(self, target, ch, db):
     fb, ch = self.__check_analog_output_channel(target, ch)
     data = AvcAudio.build_data_from_db(db)
     AvcAudio.set_feature_volume_state(self.fcp, 0, 'current', fb, ch, data)
 def set_output_volume(self, target, db):
     quads = self._read_output_quad(target)
     data = AvcAudio.build_data_from_db(db)
     quads[0] &= ~0x0000ffff
     quads[0] |= unpack('>H', data)[0]
     self._write_output_quad(target, quads)
示例#8
0
 def set_mixer_input_balance(self, target, ch, balance):
     if target not in self._fbs:
         raise ValueError('Invalid argument for input.')
     fb = self._fbs.index(target) + 1
     data = AvcAudio.build_data_from_db(balance)
     AvcAudio.set_feature_lr_state(self.fcp, 0, 'current', fb, ch, data)
示例#9
0
 def set_input_balance(self, target, ch, balance):
     index = self._refer_input_data(target)
     fb, ch = self._refer_fb_data(self.__inputs, index, ch)
     data = AvcAudio.build_data_from_db(balance)
     AvcAudio.set_feature_lr_state(self.unit.fcp, 0, 'current', fb, ch,
                                   data)
示例#10
0
 def _set_volume(self, targets, index, ch, db):
     fb, ch = self._refer_fb_data(targets, index, ch)
     data = AvcAudio.build_data_from_db(db)
     AvcAudio.set_feature_volume_state(self.unit.fcp, 0, 'current', fb, ch,
                                       data)
 def set_mixer_output_volume(self, ch, db):
     fb, ch = self._check_mixer_output_channel(ch)
     data = AvcAudio.build_data_from_db(db)
     AvcAudio.set_feature_volume_state(self._fcp, 0, 'current', fb, ch,
                                       data)