def __init__(self, parent): DBusIntrospectable.__init__(self) DBusProperty.__init__(self) MediaObject.__init__(self, parent=parent) MediaItem.__init__(self, optional=["Height", "Width", "ColorDepth"]) bus = dbus.SessionBus() name = dbus.service.BusName(BUS_NAME, bus) dbus.service.Object.__init__(self, bus, self.PATH, name) # https://bugzilla.gnome.org/show_bug.cgi?id=669677 self.implement_interface("org.gnome.UPnP.MediaItem1", MediaItem.IFACE) # load into a pixbuf theme = Gtk.IconTheme.get_default() pixbuf = theme.load_icon("quodlibet", Icon.SIZE, 0) # make sure the size is right pixbuf = pixbuf.scale_simple(Icon.SIZE, Icon.SIZE, GdkPixbuf.InterpType.BILINEAR) self.__depth = pixbuf.get_bits_per_sample() # save and keep reference self.__f = f = tempfile.NamedTemporaryFile() pixbuf.savev(f.name, "png", [], [])
def __init__(self): DBusIntrospectable.__init__(self) DBusProperty.__init__(self) self.set_introspection(MPRIS2.ROOT_IFACE, MPRIS2.ROOT_ISPEC) self.set_properties(MPRIS2.ROOT_IFACE, MPRIS2.ROOT_PROPS) self.set_introspection(MPRIS2.PLAYER_IFACE, MPRIS2.PLAYER_ISPEC) self.set_properties(MPRIS2.PLAYER_IFACE, MPRIS2.PLAYER_PROPS) bus = dbus.SessionBus() name = dbus.service.BusName(self.BUS_NAME, bus) MPRISObject.__init__(self, bus, self.PATH, name) self.__metadata = None self.__cover = None player_options = app.player_options self.__repeat_id = player_options.connect( "notify::repeat", self.__repeat_changed) self.__random_id = player_options.connect( "notify::shuffle", self.__shuffle_changed) self.__single_id = player_options.connect( "notify::single", self.__single_changed) self.__lsig = app.librarian.connect("changed", self.__library_changed) self.__vsig = app.player.connect("notify::volume", self.__volume_changed) self.__seek_sig = app.player.connect("seek", self.__seeked)
def __init__(self, library, users): DBusIntrospectable.__init__(self) DBusProperty.__init__(self) MediaObject.__init__(self, None) MediaItem.__init__(self, optional=SUPPORTED_SONG_PROPERTIES) bus = dbus.SessionBus() self.ref = dbus.service.BusName(BUS_NAME, bus) dbus.service.FallbackObject.__init__(self, bus, self.PATH) self.__library = library self.__map = dict((id(v), v) for v in itervalues(self.__library)) self.__reverse = dict((v, k) for k, v in iteritems(self.__map)) self.__song = DummySongObject(self) self.__users = users signals = [ ("changed", self.__songs_changed), ("removed", self.__songs_removed), ("added", self.__songs_added), ] self.__sigs = map(lambda x: self.__library.connect(x[0], x[1]), signals)
def __init__(self, library, users): DBusIntrospectable.__init__(self) DBusProperty.__init__(self) MediaObject.__init__(self, None) MediaItem.__init__(self, optional=SUPPORTED_SONG_PROPERTIES) bus = dbus.SessionBus() self.ref = dbus.service.BusName(BUS_NAME, bus) dbus.service.FallbackObject.__init__(self, bus, self.PATH) self.__library = library self.__map = dict((id(v), v) for v in self.__library.itervalues()) self.__reverse = dict((v, k) for k, v in self.__map.iteritems()) self.__song = DummySongObject(self) self.__users = users signals = [ ("changed", self.__songs_changed), ("removed", self.__songs_removed), ("added", self.__songs_added), ] self.__sigs = map( lambda x: self.__library.connect(x[0], x[1]), signals)
def __init__(self): DBusIntrospectable.__init__(self) DBusProperty.__init__(self) self.set_introspection(MPRIS2.ROOT_IFACE, MPRIS2.ROOT_ISPEC) self.set_properties(MPRIS2.ROOT_IFACE, MPRIS2.ROOT_PROPS) self.set_introspection(MPRIS2.PLAYER_IFACE, MPRIS2.PLAYER_ISPEC) self.set_properties(MPRIS2.PLAYER_IFACE, MPRIS2.PLAYER_PROPS) bus = dbus.SessionBus() name = dbus.service.BusName(self.BUS_NAME, bus) MPRISObject.__init__(self, bus, self.PATH, name) self.__rsig = app.window.repeat.connect("toggled", self.__repeat_changed) self.__ssig = app.window.order.connect("changed", self.__order_changed) self.__lsig = app.librarian.connect("changed", self.__library_changed) self.__vsig = app.player.connect("notify::volume", self.__volume_changed) self.__seek_sig = app.player.connect("seek", self.__seeked)