Index: plugins/magnatune/magnatune/__init__.py
===================================================================
--- plugins/magnatune/magnatune/__init__.py	(revision 4844)
+++ plugins/magnatune/magnatune/__init__.py	(working copy)
@@ -102,6 +102,8 @@
 		manager.insert_action_group(self.action_group, 0)
 		self.ui_id = manager.add_ui_from_string(popup_ui)
 		manager.ensure_update()
+
+		self.pec_id = shell.get_player().connect('playing-song-changed', self.playing_entry_changed)
 	
 	def deactivate(self, shell):
 		manager = shell.get_player().get_property('ui-manager')
@@ -109,6 +111,8 @@
 		manager.remove_action_group(self.action_group)
 		self.action_group = None
 
+		shell.get_player().disconnect (self.pec_id)
+
 		self.db.entry_delete_by_type(self.entry_type)
 		self.db.commit()
 		self.db = None
@@ -118,6 +122,8 @@
 		self.shell = None
 		self.keyring = None
 
+	def playing_entry_changed (self, sp, entry):
+		self.source.playing_entry_changed (entry)
 
 	def get_keyring(self):
 		if self.keyring is None:
Index: plugins/magnatune/magnatune/MagnatuneSource.py
===================================================================
--- plugins/magnatune/magnatune/MagnatuneSource.py	(revision 4844)
+++ plugins/magnatune/magnatune/MagnatuneSource.py	(working copy)
@@ -9,6 +9,7 @@
 import urllib, zipfile
 
 has_gnome_keyring = False
+
 #try:
 #	import gnomekeyring
 #	has_gnome_keyring = True
@@ -23,6 +24,7 @@
 magnatune_song_info_uri = gnomevfs.URI("http://magnatune.com/info/song_info_xml.zip")
 local_song_info_uri = gnomevfs.URI(magnatune_dir + "song_info.xml")
 local_song_info_temp_uri = gnomevfs.URI(magnatune_dir + "song_info.xml.zip.tmp")
+ALBUM_ART_URL = 'http://www.magnatune.com/music/%s/%s/cover.jpg'
 
 
 class MagnatuneSource(rb.BrowserSource):
@@ -551,6 +553,19 @@
 		manager = shell.get_player().get_property('ui-manager')
 		manager.get_action("/MagnatuneSourceViewPopup/MagnatuneCancelDownload").set_sensitive(False)
 
+	def playing_entry_changed (self, entry):
+		if not self.__db or not entry:
+			return
+
+		if entry.get_entry_type() != self.__db.entry_type_get_by_name("MagnatuneEntryType"):
+			return
+
+		album = urllib.quote(self.__db.entry_get(entry, rhythmdb.PROP_ALBUM))
+		artist = urllib.quote(self.__db.entry_get(entry, rhythmdb.PROP_ARTIST))
+
+		self.__db.emit_entry_extra_metadata_notify (entry, 'rb:coverArt-uri', ALBUM_ART_URL % (artist,album))
+
+
 gobject.type_register(MagnatuneSource)
 
 
