예제 #1
0
 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)
예제 #2
0
 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)
예제 #4
0
 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)
예제 #5
0
 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:])
예제 #8
0
 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)
예제 #9
0
 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)