def __update_metadata(self): if self.__get_status() == "Stopped": self.__metadata = {} else: if Lp().player.current_track.id >= 0: track_id = Lp().player.current_track.id else: track_id = randint(10000000, 90000000) self.__metadata["mpris:trackid"] = self.__get_media_id(track_id) track_number = Lp().player.current_track.number if track_number is None: track_number = 1 self.__metadata["xesam:trackNumber"] = GLib.Variant("i", track_number) self.__metadata["xesam:title"] = GLib.Variant( "s", Lp().player.current_track.name) self.__metadata["xesam:album"] = GLib.Variant( "s", Lp().player.current_track.album.name) self.__metadata["xesam:artist"] = GLib.Variant( "as", Lp().player.current_track.artists) self.__metadata["xesam:albumArtist"] = GLib.Variant( "as", Lp().player.current_track.album_artists) self.__metadata["mpris:length"] = GLib.Variant( "x", Lp().player.current_track.duration * 1000 * 1000) self.__metadata["xesam:genre"] = GLib.Variant( "as", Lp().player.current_track.genres) self.__metadata["xesam:url"] = GLib.Variant( "s", Lp().player.current_track.uri) rate = Lp().player.current_track.get_rate() if rate == Type.NONE: rate = Lp().player.current_track.get_popularity() self.__metadata["xesam:userRating"] = GLib.Variant("d", rate / 5) if Lp().player.current_track.id == Type.RADIOS: cover_path = Lp().art.get_radio_cache_path( ", ".join(Lp().player.current_track.artists), ArtSize.MONSTER) elif Lp().player.current_track.id == Type.EXTERNALS: cover_path = "/tmp/lollypop_mpris.jpg" pixbuf = Lp().art.pixbuf_from_tags( GLib.filename_from_uri(Lp().player.current_track.uri)[0], ArtSize.MONSTER) if pixbuf is not None: pixbuf.savev(cover_path, "jpeg", ["quality"], ["90"]) else: cover_path = Lp().art.get_album_cache_path( Lp().player.current_track.album, ArtSize.MONSTER) if cover_path is not None: self.__metadata["mpris:artUrl"] = GLib.Variant( "s", "file://" + cover_path) elif "mpris:artUrl" in self.__metadata: self.__metadata["mpris:artUrl"] = GLib.Variant("s", "")
def __update_metadata(self): if self.__get_status() == 'Stopped': self.__metadata = {} else: if Lp().player.current_track.id >= 0: track_id = Lp().player.current_track.id else: track_id = randint(10000000, 90000000) self.__metadata['mpris:trackid'] = self.__get_media_id(track_id) track_number = Lp().player.current_track.number if track_number is None: track_number = 1 self.__metadata['xesam:trackNumber'] = GLib.Variant('i', track_number) self.__metadata['xesam:title'] = GLib.Variant( 's', Lp().player.current_track.name) self.__metadata['xesam:album'] = GLib.Variant( 's', Lp().player.current_track.album.name) self.__metadata['xesam:artist'] = GLib.Variant( 'as', Lp().player.current_track.artists) self.__metadata['xesam:albumArtist'] = GLib.Variant( 'as', Lp().player.current_track.album_artists) self.__metadata['mpris:length'] = GLib.Variant( 'x', Lp().player.current_track.duration * 1000000) self.__metadata['xesam:genre'] = GLib.Variant( 'as', Lp().player.current_track.genres) self.__metadata['xesam:url'] = GLib.Variant( 's', Lp().player.current_track.uri) self.__metadata["xesam:userRating"] = GLib.Variant( 'd', Lp().player.current_track.get_popularity() / 5) if Lp().player.current_track.id == Type.RADIOS: cover_path = Lp().art.get_radio_cache_path( ", ".join(Lp().player.current_track.artists), ArtSize.MONSTER) elif Lp().player.current_track.id == Type.EXTERNALS: cover_path = "/tmp/lollypop_mpris.jpg" pixbuf = Lp().art.pixbuf_from_tags( GLib.filename_from_uri(Lp().player.current_track.uri)[0], ArtSize.MONSTER) if pixbuf is not None: pixbuf.savev(cover_path, "jpeg", ["quality"], ["90"]) else: cover_path = Lp().art.get_album_cache_path( Lp().player.current_track.album, ArtSize.MONSTER) if cover_path is not None: self.__metadata['mpris:artUrl'] = GLib.Variant( 's', "file://" + cover_path) elif 'mpris:artUrl' in self.__metadata: self.__metadata['mpris:artUrl'] = GLib.Variant('s', '')
def _update_metadata(self): if self._get_status() == 'Stopped': self._metadata = {} else: if Lp().player.current_track.id >= 0: self._metadata['mpris:trackid'] = dbus.ObjectPath( '/org/lollypop/%s' % Lp().player.current_track.id) else: # MPRIS SUX track_id = randint(10000000, 90000000) self._metadata['mpris:trackid'] = dbus.ObjectPath( '/org/lollypop/%s' % track_id) track_number = Lp().player.current_track.number if track_number is None: track_number = 1 self._metadata['xesam:trackNumber'] = track_number self._metadata['xesam:title'] = Lp().player.current_track.name self._metadata['xesam:album'] = Lp( ).player.current_track.album.name self._metadata['xesam:artist'] = Lp().player.current_track.artists self._metadata['xesam:albumArtist'] = \ ", ".join(Lp().player.current_track.album_artists) self._metadata['mpris:length'] = dbus.Int64( Lp().player.current_track.duration * 1000000) self._metadata['xesam:genre'] = Lp().player.current_track.genres\ or "Web" self._metadata['xesam:url'] = Lp().player.current_track.uri rate = Lp().player.current_track.get_rate() if rate == Type.NONE: rate = Lp().player.current_track.get_popularity() self._metadata["xesam:userRating"] = dbus.Double(rate / 5) if Lp().player.current_track.id == Type.RADIOS: cover_path = Lp().art.get_radio_cache_path( ", ".join(Lp().player.current_track.artists), ArtSize.MONSTER) elif Lp().player.current_track.id == Type.EXTERNALS: cover_path = "/tmp/lollypop_mpris.jpg" pixbuf = Lp().art.pixbuf_from_tags( GLib.filename_from_uri(Lp().player.current_track.uri)[0], ArtSize.MONSTER) if pixbuf is not None: pixbuf.savev(cover_path, "jpeg", ["quality"], ["90"]) else: cover_path = Lp().art.get_album_cache_path( Lp().player.current_track.album, ArtSize.MONSTER) if cover_path is not None: self._metadata['mpris:artUrl'] = "file://" + cover_path elif 'mpris:artUrl' in self._metadata: self._metadata['mpris:artUrl'] = ''
def _update_metadata(self): if self._get_status() == 'Stopped': self._metadata = {} else: if Lp().player.current_track.id >= 0: self._metadata['mpris:trackid'] = dbus.ObjectPath( '/org/lollypop/%s' % Lp().player.current_track.id) else: # MPRIS SUX track_id = randint(10000000, 90000000) self._metadata['mpris:trackid'] = dbus.ObjectPath( '/org/lollypop/%s' % track_id) track_number = Lp().player.current_track.number if track_number is None: track_number = 1 self._metadata['xesam:trackNumber'] = track_number self._metadata['xesam:title'] = Lp().player.current_track.name self._metadata['xesam:album'] = Lp( ).player.current_track.album.name self._metadata['xesam:artist'] = Lp().player.current_track.artists self._metadata['xesam:albumArtist'] = \ ", ".join(Lp().player.current_track.album_artists) self._metadata['mpris:length'] = dbus.Int64( Lp().player.current_track.duration * 1000000) self._metadata['xesam:genre'] = Lp().player.current_track.genres\ or "Web" self._metadata['xesam:url'] = Lp().player.current_track.uri self._metadata["xesam:userRating"] = \ Lp().player.current_track.get_popularity() / 5 if Lp().player.current_track.id == Type.RADIOS: cover_path = Lp().art.get_radio_cache_path( ", ".join(Lp().player.current_track.artists), ArtSize.MONSTER) elif Lp().player.current_track.id == Type.EXTERNALS: cover_path = "/tmp/lollypop_mpris.jpg" pixbuf = Lp().art.pixbuf_from_tags( GLib.filename_from_uri(Lp().player.current_track.uri)[0], ArtSize.MONSTER) if pixbuf is not None: pixbuf.savev(cover_path, "jpeg", ["quality"], ["90"]) else: cover_path = Lp().art.get_album_cache_path( Lp().player.current_track.album, ArtSize.MONSTER) if cover_path is not None: self._metadata['mpris:artUrl'] = "file://" + cover_path elif 'mpris:artUrl' in self._metadata: self._metadata['mpris:artUrl'] = ''