Exemple #1
0
    def track_changed(self):
        if not self.on:
            return
        if not bool(lib.SpPlaybackIsActiveDevice()):
            return
        self.pause()
        # Scrobble last song only if the song has been played more than half
        # of its duration or during more than 4 minutes
        if self.metadata and self.play_cumul > min(
                self.metadata["duration"] / 2000, 240):
            self.lastfm_network.scrobble(
                artist=self.metadata["artist_name"],
                title=self.metadata["track_name"],
                timestamp=int(self.metadata["time_on"]),
                album=self.metadata["album_name"],
                duration=(self.metadata["duration"] / 1000))
            print "LastFM: scrobbled track " + self.metadata[
                "track_name"] + " - " + self.metadata["artist_name"]

        # Update now playing song
        self.play_cumul = 0
        self.play()
        self.metadata = get_metadata()
        self.metadata["time_on"] = time.time()
        self.lastfm_network.update_now_playing(
            artist=self.metadata["artist_name"],
            title=self.metadata["track_name"],
            album=self.metadata["album_name"],
            duration=int(self.metadata["duration"] / 1000))
Exemple #2
0
def info_status():
    return jsonify({
        'active': bool(lib.SpPlaybackIsActiveDevice()),
        'playing': bool(lib.SpPlaybackIsPlaying()),
        'shuffle': bool(lib.SpPlaybackIsShuffled()),
        'repeat': bool(lib.SpPlaybackIsRepeated()),
        'logged_in': bool(lib.SpConnectionIsLoggedIn())
    })