Example #1
0
    def __init__(self,config):
        self.config = config
        fullscreen = False
        try:
            if means_true(self.config['fullscreen']):
                fullscreen = True
        except:
            pass
        grafics = self.config.get('grafics')
        if grafics == 'pyglet':
            from cadre.scribbling.pyglet_backend import Canvas
        else:
            from cadre.scribbling.clutter_backend import Canvas
        self.canvas = Canvas(fullscreen)

        try:
            overlays = self.config['overlay']
            if not isinstance(overlays,list):
                overlays = [overlays]
        except:
            overlays = []

        map(self.canvas.add_overlay,overlays)

        coherence_config = {}
        #coherence_config['version'] = '1'
        coherence_config['logmode'] = 'warning'
        #coherence_config['controlpoint'] = 'yes'

        louie.connect(self.media_server_found, 'Coherence.UPnP.ControlPoint.MediaServer.detected', louie.Any)
        louie.connect(self.media_server_removed, 'Coherence.UPnP.ControlPoint.MediaServer.removed', louie.Any)
        self.coherence = Coherence(coherence_config)


        name = self.config.get('name','Cadre - Coherence Picture-Frame')
        kwargs = {'version':1,
                'no_thread_needed':True,
                'name':name}

        kwargs['transition'] = 'NONE'
        try:
            if self.config['transition'].upper() in self.get_available_transitions():
                kwargs['transition'] = self.config['transition'].upper()
                self.set_transition(self.config['transition'].upper())
        except:
            pass

        try:
            kwargs['display_time'] = int(self.config['display_time'])
        except:
            pass

        self.canvas.set_title(name)

        kwargs['controller'] = self
        uuid = self.config.get('uuid')
        if uuid:
            kwargs['uuid'] = uuid
        print kwargs
        self.renderer = MediaRenderer(self.coherence,CadreRenderer,**kwargs)

        if 'uuid' not in self.config:
            self.config['uuid'] = str(self.renderer.uuid)[5:]
            try:
                self.config.save()
            except AttributeError:
                pass
        reactor.callLater(0.5,self.start,name)