def get_mixer_input_gain(self, target, ch): if target not in self._fbs: raise ValueError('Invalid argument for input.') fb = self._fbs.index(target) + 1 data = AvcAudio.get_feature_volume_state( self.fcp, 0, 'current', fb, ch) return AvcAudio.parse_data_to_db(data)
def get_aux_volume(self, ch): if ch > 2: raise ValueError('Invalid argument for master channel') fb = self.__aux_output data = AvcAudio.get_feature_volume_state(self.unit.fcp, 0, 'current', fb, ch) return AvcAudio.parse_data_to_db(data)
def get_mixer_input_gain(self, target, ch): 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 = pack('>H', total) return AvcAudio.parse_data_to_db(data)
def get_input_balance(self, target, ch): 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 = self._cache[offset:offset + 2] return AvcAudio.parse_data_to_db(data)
def __get_volume(self, offset): if offset > len(self._cache): raise ValueError('Invalid argument for offset on address space') return AvcAudio.parse_data_to_db(self._cache[offset:offset + 2])
def get_analog_output_volume(self, target, ch): fb, ch = self.__check_analog_output_channel(target, ch) data = AvcAudio.get_feature_volume_state(self.fcp, 0, 'current', fb, ch) return AvcAudio.parse_data_to_db(data)
def get_output_volume(self, target): quads = self._read_output_quad(target) data = pack('>I', quads[0]) return AvcAudio.parse_data_to_db(data[2:])
def get_input_balance(self, target, ch): index = self._refer_input_data(target) fb, ch = self._refer_fb_data(self.__inputs, index, ch) data = AvcAudio.get_feature_lr_state(self.unit.fcp, 0, 'current', fb, ch) return AvcAudio.parse_data_to_db(data)
def _get_volume(self, targets, index, ch): fb, ch = self._refer_fb_data(targets, index, ch) data = AvcAudio.get_feature_volume_state(self.unit.fcp, 0, 'current', fb, ch) return AvcAudio.parse_data_to_db(data)
def get_mixer_output_volume(self, ch): fb, ch = self._check_mixer_output_channel(ch) data = AvcAudio.get_feature_volume_state(self._fcp, 0, 'current', fb, ch) return AvcAudio.parse_data_to_db(data)