Esempio n. 1
0
 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()
Esempio n. 2
0
 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()
Esempio n. 3
0
 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()
Esempio n. 4
0
 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()
Esempio n. 5
0
 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):
     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','')
Esempio n. 7
0
 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
Esempio n. 9
0
 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()
Esempio n. 10
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]
Esempio n. 11
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'))
Esempio n. 12
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'))
Esempio n. 13
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]
Esempio n. 14
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]
Esempio n. 15
0
 def Quit(self):
     logger.debug('%s.Quit called', ROOT_IFACE)
     exit_process()
Esempio n. 16
0
 def Quit(self):
     logger.debug('%s.Quit called', ROOT_IFACE)
     exit_process()