Exemple #1
0
 def getStatus(self):
     """
         Get the current playing song and update the screen.
     """
     uri = yield deferFromDbus(self.player.getPlayingUri)
     yield self.playingUriChanged(uri)
     if uri:
         elapsed = yield deferFromDbus(self.player.getElapsed)
         self.elapsedChanged(elapsed)
Exemple #2
0
    def doChecks(self):
        song = yield deferFromDbus(self.spotify.GetMetadata)
        if not len(song):
            self.noSong()
        else:
            oldSongDuration = self.songDuration
            title, artist, self.songDuration = song['xesam:title'], ', '.join(song['xesam:artist']), song['mpris:length'] / 1000000
            if title and artist:
                scroll_title = '%s - %s' % (artist, title)
            elif title:
                scroll_title = '%s' % title
            elif artist:
                scroll_title = '%s' % artist
            else:
                scroll_title = 'Unknown'

            if scroll_title != self.scroll_title:
                self.updateScrollTitle(scroll_title)

            cur_sec = (yield deferFromDbus(self.spotify.Position))
            print cur_sec
            if cur_sec != self.cur_sec or oldSongDuration != self.songDuration:
                self.elapsedChanged(cur_sec)
Exemple #3
0
    def playingUriChanged(self, uri):
        """
            Signal that is fired when the playing song changes in Rhythmbox.
        """
        if not uri:
            self.noSong()
        else:
            song = yield deferFromDbus(self.shell.getSongProperties, uri)
            title, artist, self.songDuration = song['title'], song['artist'], song['duration']
            self._text[0] = 'Now Playing:'.center(27)

            self.updateScrollTitle(
                title and artist and '%s - %s' % (title, artist)
                or title
                or artist
                or 'Unknown'
            )

            self._text[2] = self.makeDurationString(0, self.songDuration).center(27)
            with self.context(clear_screen = False):
                self.clear(clear_text= False)
                self.drawBar(0, self.songDuration)
Exemple #4
0
 def buddySignedOff(self, e):
     name = yield deferFromDbus(self.pidgin.PurpleBuddyGetAlias, e)
     with self.context():
         self.appendLine("offline: %s" % name, center = True)