Example #1
0
 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", "")
Example #2
0
 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', '')
Example #3
0
 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'] = ''