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)
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)
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)
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)
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)
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)
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)