def __init__(self, parent_window): GObject.GObject.__init__(self) self._parent_window = parent_window self.playlist = None self.playlistType = None self.playlistId = None self.playlistField = None self.currentTrack = None self.currentTrackUri = None self._lastState = Gst.State.PAUSED self.cache = AlbumArtCache.get_default() self._no_artwork_icon = DefaultIcon().get(ART_SIZE, ART_SIZE, DefaultIcon.Type.music) self._missingPluginMessages = [] Gst.init(None) GstPbutils.pb_utils_init() self.discoverer = GstPbutils.Discoverer() self.discoverer.connect('discovered', self._on_discovered) self.discoverer.start() self._discovering_urls = {} self.player = Gst.ElementFactory.make('playbin', 'player') self.bus = self.player.get_bus() self.bus.add_signal_watch() self.setup_replaygain() self._settings = Gio.Settings.new('org.gnome.Music') self._settings.connect('changed::repeat', self._on_repeat_setting_changed) self._settings.connect('changed::replaygain', self._on_replaygain_setting_changed) self.repeat = self._settings.get_enum('repeat') self.replaygain = self._settings.get_value('replaygain') is not None self.toggle_replaygain(self.replaygain) self.bus.connect('message::state-changed', self._on_bus_state_changed) self.bus.connect('message::error', self._onBusError) self.bus.connect('message::element', self._on_bus_element) self.bus.connect('message::eos', self._on_bus_eos) self._setup_view() self.playlist_insert_handler = 0 self.playlist_delete_handler = 0 self._check_last_fm()
import logging from gi.repository import Gtk, Gdk, Gd, GLib, GObject, Pango, Gio, GdkPixbuf from gettext import gettext as _, ngettext from gnomemusic.albumartcache import AlbumArtCache, DefaultIcon from gnomemusic.grilo import grilo from gnomemusic import log from gnomemusic.player import DiscoveryStatus from gnomemusic.playlists import Playlists, StaticPlaylists import gnomemusic.utils as utils logger = logging.getLogger(__name__) ALBUM_ART_CACHE = AlbumArtCache.get_default() NOW_PLAYING_ICON_NAME = 'media-playback-start-symbolic' ERROR_ICON_NAME = 'dialog-error-symbolic' try: settings = Gio.Settings.new('org.gnome.Music') MAX_TITLE_WIDTH = settings.get_int('max-width-chars') except Exception as e: MAX_TITLE_WIDTH = 20 logger.error("Error on setting widget max-width-chars: %s", str(e)) playlists = Playlists.get_default() class StarHandler(): """Handles the treeview column for favorites (stars)."""