def _setup_output(self): try: output = gst.parse_bin_from_description(settings.OUTPUT, ghost_unconnected_pads=True) self._playbin.set_property("audio-sink", output) logger.info('Audio output set to "%s"', settings.OUTPUT) except gobject.GError as ex: logger.error('Failed to create audio output "%s": %s', settings.OUTPUT, ex) process.exit_process()
def on_start(self): try: self._setup_playbin() self._setup_output() self._setup_mixer() self._setup_message_processor() except gobject.GError as ex: logger.exception(ex) process.exit_process()
def on_start(self): try: self._setup_preferences() self._setup_playbin() self._setup_outputs() self._setup_audio_sink() except gobject.GError as ex: logger.exception(ex) process.exit_process()
def on_start(self): req = self.make_request({'action': 'status'}) if not req or req.text != 'running': logger.error('DaemonController Error: There is not a radio currently running') process.exit_process() return logger.info('DaemonController: Found running radio') self.core.tracklist.consume = True self.track_playback_ended('starting','')
def _setup_output(self): try: output = gst.parse_bin_from_description( settings.OUTPUT, ghost_unconnected_pads=True) self._playbin.set_property('audio-sink', output) logger.info('Output set to %s', settings.OUTPUT) except gobject.GError as ex: logger.error('Failed to create output "%s": %s', settings.OUTPUT, ex) process.exit_process()
def make_request(self, parameters): try: r = requests.get('http://' + self.hostname + '/' + parameters['action']) except (requests.ConnectionError, requests.Timeout): logger.error('DaemonController Error: Cannot connect to ' + self.hostname) process.exit_process() except requests.HTTPError: logger.error('DaemonController Error: HTTP error') process.exit_process() return r
def _setup_output(self): output_desc = self._config['audio']['output'] try: output = gst.parse_bin_from_description( output_desc, ghost_unconnected_pads=True) self._playbin.set_property('audio-sink', output) logger.info('Audio output set to "%s"', output_desc) except gobject.GError as ex: logger.error( 'Failed to create audio output "%s": %s', output_desc, ex) process.exit_process()
def get_mixer_class(self, config, mixer_classes): logger.debug("Available Mopidy mixers: %s", ", ".join(m.__name__ for m in mixer_classes) or "none") selected_mixers = [m for m in mixer_classes if m.name == config["audio"]["mixer"]] if len(selected_mixers) != 1: logger.error( 'Did not find unique mixer "%s". Alternatives are: %s', config["audio"]["mixer"], ", ".join([m.name for m in mixer_classes]), ) process.exit_process() return selected_mixers[0]
def _setup_outputs(self): # We don't want to use outputs for regular testing, so just install # an unsynced fakesink when someone asks for a 'testoutput'. if self._config['audio']['output'] == 'testoutput': self._outputs = gst.element_factory_make('fakesink') else: self._outputs = _Outputs() try: self._outputs.add_output(self._config['audio']['output']) except exceptions.AudioException: process.exit_process() # TODO: move this up the chain self._handler.setup_event_handling(self._outputs.get_pad('sink'))
def get_mixer_class(self, config, mixer_classes): logger.debug('Available Mopidy mixers: %s', ', '.join(m.__name__ for m in mixer_classes) or 'none') selected_mixers = [ m for m in mixer_classes if m.name == config['audio']['mixer'] ] if len(selected_mixers) != 1: logger.error( 'Did not find unique mixer "%s". Alternatives are: %s', config['audio']['mixer'], ', '.join([m.name for m in mixer_classes])) process.exit_process() return selected_mixers[0]
def get_mixer_class(self, config, mixer_classes): logger.debug( 'Available Mopidy mixers: %s', ', '.join(m.__name__ for m in mixer_classes) or 'none') selected_mixers = [ m for m in mixer_classes if m.name == config['audio']['mixer']] if len(selected_mixers) != 1: logger.error( 'Did not find unique mixer "%s". Alternatives are: %s', config['audio']['mixer'], ', '.join([m.name for m in mixer_classes])) process.exit_process() return selected_mixers[0]
def Quit(self): logger.debug('%s.Quit called', ROOT_IFACE) exit_process()