[amarok/el5] Cover Patch

Keiran Smith affix at fedoraproject.org
Sun Mar 18 22:49:25 UTC 2012


commit b5df55c143d1539e78447fe6781c829d11749c1d
Author: Keiran Smith <affix at affix.me>
Date:   Sun Mar 18 22:48:49 2012 +0000

    Cover Patch

 amarok-1.4.10-coverfetcher.patch~ | 1159 +++++++++++++++++++++++++++++++++++++
 amarok.spec~                      |  766 ++++++++++++++++++++++++
 2 files changed, 1925 insertions(+), 0 deletions(-)
---
diff --git a/amarok-1.4.10-coverfetcher.patch~ b/amarok-1.4.10-coverfetcher.patch~
new file mode 100644
index 0000000..c591c01
--- /dev/null
+++ b/amarok-1.4.10-coverfetcher.patch~
@@ -0,0 +1,1159 @@
+diff -urN amarok-1.4.10/amarok/src/Makefile.am.coverfetcher amarok-1.4.10/amarok/src/Makefile.am
+--- amarok-1.4.10/amarok/src/Makefile.am.coverfetcher	2009-08-22 11:38:19.885762485 -0400
++++ amarok-1.4.10/amarok/src/Makefile.am	2009-08-22 13:22:31.982159988 -0400
+@@ -125,7 +125,6 @@
+     podcastsettingsbase.ui \
+     prettypopupmenu.cpp \
+     queuemanager.cpp \
+-    refreshimages.cpp \
+     scancontroller.cpp \
+     scriptmanager.cpp \
+     scriptmanagerbase.ui \
+diff -urN amarok-1.4.10/amarok/src/Makefile.in.coverfetcher amarok-1.4.10/amarok/src/Makefile.in
+--- amarok-1.4.10/amarok/src/Makefile.in.coverfetcher	2009-08-22 11:38:19.885762485 -0400
++++ amarok-1.4.10/amarok/src/Makefile.in	2009-08-22 13:23:46.073894860 -0400
+@@ -95,7 +95,7 @@
+ 	playlistbrowseritem.lo playlistitem.lo playlistloader.lo \
+ 	playlistselection.lo playlistwindow.lo pluginmanager.lo \
+ 	podcastsettings.lo prettypopupmenu.lo queuemanager.lo \
+-	refreshimages.lo scancontroller.lo scriptmanager.lo \
++	scancontroller.lo scriptmanager.lo \
+ 	scrobbler.lo sliderwidget.lo smartplaylisteditor.lo \
+ 	socketserver.lo starmanager.lo statistics.lo systray.lo \
+ 	tagdialog.lo tagguesser.lo threadmanager.lo tooltip.lo \
+@@ -122,7 +122,7 @@
+ 	playlistbrowseritem.lo playlistitem.lo playlistloader.lo \
+ 	playlistselection.lo playlistwindow.lo pluginmanager.lo \
+ 	podcastsettings.lo prettypopupmenu.lo queuemanager.lo \
+-	refreshimages.lo scancontroller.lo scriptmanager.lo \
++	scancontroller.lo scriptmanager.lo \
+ 	scrobbler.lo sliderwidget.lo smartplaylisteditor.lo \
+ 	socketserver.lo starmanager.lo statistics.lo systray.lo \
+ 	tagdialog.lo tagguesser.lo threadmanager.lo tooltip.lo \
+@@ -646,7 +646,6 @@
+ #>-     podcastsettingsbase.ui \
+ #>-     prettypopupmenu.cpp \
+ #>-     queuemanager.cpp \
+-#>-     refreshimages.cpp \
+ #>-     scancontroller.cpp \
+ #>-     scriptmanager.cpp \
+ #>-     scriptmanagerbase.ui \
+@@ -745,7 +744,6 @@
+      \
+     prettypopupmenu.cpp \
+     queuemanager.cpp \
+-    refreshimages.cpp \
+     scancontroller.cpp \
+     scriptmanager.cpp \
+      \
+@@ -1054,7 +1052,6 @@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/podcastsettings.Plo at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/prettypopupmenu.Plo at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/queuemanager.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refreshimages.Plo at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/scancontroller.Plo at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/scriptmanager.Plo at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/scrobbler.Plo at am__quote@
+@@ -1611,13 +1608,6 @@
+ mocs: devicemanager.moc
+ 
+ #>+ 3
+-refreshimages.moc: $(srcdir)/refreshimages.h
+-	$(MOC) $(srcdir)/refreshimages.h -o refreshimages.moc
+-
+-#>+ 2
+-mocs: refreshimages.moc
+-
+-#>+ 3
+ app.moc: $(srcdir)/app.h
+ 	$(MOC) $(srcdir)/app.h -o app.moc
+ 
+@@ -2011,10 +2001,10 @@
+ 
+ #>+ 3
+ clean-metasources:
+-	-rm -f  browserbar.moc playlistbrowser.moc statistics.moc hintlineedit.moc mediabrowser.moc moodbar.moc devicemanager.moc refreshimages.moc app.moc prettypopupmenu.moc transferdialog.moc editfilterdialog.moc metabundlesaver.moc starmanager.moc socketserver.moc playlistselection.moc scancontroller.moc equalizerpresetmanager.moc collectiondb.moc deviceconfiguredialog.moc xmlloader_p.moc multitabbar.moc multitabbar_p.moc cuefile.moc mediadevicemanager.moc deletedialog.moc ktrm.moc directorylist.moc mediumpluginmanager.moc enginecontroller.moc tagdialog.moc collectionbrowser.moc xmlloader.moc contextbrowser.moc playlistbrowseritem.moc smartplaylisteditor.moc htmlview.moc mydiroperator.moc podcastsettings.moc mountpointmanager.moc actionclasses.moc filebrowser.moc columnlist.moc scrobbler.moc osd.moc scriptmanager.moc threadmanager.moc configdialog.moc equalizersetup.moc playlistwindow.moc tooltip.moc tracktooltip.moc clicklineedit.moc playlistloader.moc queuemanager.moc playli
 st.moc covermanager.moc trackpickerdialog.moc playerwindow.moc lastfm.moc pixmapviewer.moc enginebase.moc coverfetcher.moc sliderwidget.moc
++	-rm -f  browserbar.moc playlistbrowser.moc statistics.moc hintlineedit.moc mediabrowser.moc moodbar.moc devicemanager.moc app.moc prettypopupmenu.moc transferdialog.moc editfilterdialog.moc metabundlesaver.moc starmanager.moc socketserver.moc playlistselection.moc scancontroller.moc equalizerpresetmanager.moc collectiondb.moc deviceconfiguredialog.moc xmlloader_p.moc multitabbar.moc multitabbar_p.moc cuefile.moc mediadevicemanager.moc deletedialog.moc ktrm.moc directorylist.moc mediumpluginmanager.moc enginecontroller.moc tagdialog.moc collectionbrowser.moc xmlloader.moc contextbrowser.moc playlistbrowseritem.moc smartplaylisteditor.moc htmlview.moc mydiroperator.moc podcastsettings.moc mountpointmanager.moc actionclasses.moc filebrowser.moc columnlist.moc scrobbler.moc osd.moc scriptmanager.moc threadmanager.moc configdialog.moc equalizersetup.moc playlistwindow.moc tooltip.moc tracktooltip.moc clicklineedit.moc playlistloader.moc queuemanager.moc playlist.moc covermanage
 r.moc trackpickerdialog.moc playerwindow.moc lastfm.moc pixmapviewer.moc enginebase.moc coverfetcher.moc sliderwidget.moc
+ 
+ #>+ 2
+-KDE_DIST=firstrunwizard.ui amarokui_xmms.rc playlistbrowser.h equalizersetup.h refreshimages.h Options2.ui Options5.ui.h trackpickerdialogbase.ui pixmapviewer.h amarok.desktop podcastsettings.h amarok_codecinstall.desktop transferdialog.h mydiroperator.h amarok_addaspodcast.desktop ktrm.h Options4.ui mediadevicemanager.h statistics.h playlistwindow.h amarok.h scriptmanager.h playlistloader.h playlistbrowseritem.h medium.h Options7.ui engineobserver.h hintlineedit.h tagguesserconfigdialog.ui editfilterdialog.h socketserver.h playerwindow.h deletedialogbase.ui hi22-app-amarok.png xmlloader.h Options8.ui queuemanager.h tracktooltip.h tagguesser.h collectionbrowser.h mountpointmanager.h hi128-app-amarok.png browserbar.h newdynamic.ui moodbar.h collectiondb.h playlistitem.h contextbrowser.h enginebase.h amarok_append.desktop playlistselection.h deviceconfiguredialog.h amarok_proxy.rb directorylist.h osd.h debug.h amarok_play_audiocd.desktop hi64-app-amarok.png scrobbler.h qstrin
 gx.h Makefile.in amarokpcast.protocol tagdialog.h amarokrc organizecollectiondialog.ui.h organizecollectiondialog.ui lastfm.h xmlloader_p.h starmanager.h pluginmanager.h systray.h enginecontroller.h firstrunwizard.ui.h amarok.profile.xml cuefile.h bcpp.cfg tagdialogbase.ui.h amarok_export.h amaroklastfm.protocol mydirlister.h smartplaylisteditor.h hi32-app-amarok.png tagdialogbase.ui sliderwidget.h tooltip.h actionclasses.h atomicurl.h expression.h Options2.ui.h hi48-app-amarok.png fht.h dynamicmode.h columnlist.h filebrowser.h podcastbundle.h clicklineedit.h xspfplaylist.h equalizergraph.h multitabbar_p.h colorgenerator.h threadmanager.h scriptmanagerbase.ui k3bexporter.h engine_fwd.h playlist.h devicemanager.h multitabbar.h metabundle.h amarok_plugin.desktop amarokui.rc prettypopupmenu.h htmlview.h configdialog.h browserToolBar.h hi16-app-amarok.png podcastsettingsbase.ui dbsetup.ui app.h tagguesserconfigdialog.ui.h deletedialog.h covermanager.h Options1.ui scancontroller.
 h amarokitpc.protocol kbookmarkhandler.h mediumpluginmanager.h metabundlesaver.h Options8.ui.h mediabrowser.h trackpickerdialog.h equalizerpresetmanager.h tdebug.h Options5.ui Makefile.am coverfetcher.h 
++KDE_DIST=firstrunwizard.ui amarokui_xmms.rc playlistbrowser.h equalizersetup.h Options2.ui Options5.ui.h trackpickerdialogbase.ui pixmapviewer.h amarok.desktop podcastsettings.h amarok_codecinstall.desktop transferdialog.h mydiroperator.h amarok_addaspodcast.desktop ktrm.h Options4.ui mediadevicemanager.h statistics.h playlistwindow.h amarok.h scriptmanager.h playlistloader.h playlistbrowseritem.h medium.h Options7.ui engineobserver.h hintlineedit.h tagguesserconfigdialog.ui editfilterdialog.h socketserver.h playerwindow.h deletedialogbase.ui hi22-app-amarok.png xmlloader.h Options8.ui queuemanager.h tracktooltip.h tagguesser.h collectionbrowser.h mountpointmanager.h hi128-app-amarok.png browserbar.h newdynamic.ui moodbar.h collectiondb.h playlistitem.h contextbrowser.h enginebase.h amarok_append.desktop playlistselection.h deviceconfiguredialog.h amarok_proxy.rb directorylist.h osd.h debug.h amarok_play_audiocd.desktop hi64-app-amarok.png scrobbler.h qstringx.h Makefile.in
  amarokpcast.protocol tagdialog.h amarokrc organizecollectiondialog.ui.h organizecollectiondialog.ui lastfm.h xmlloader_p.h starmanager.h pluginmanager.h systray.h enginecontroller.h firstrunwizard.ui.h amarok.profile.xml cuefile.h bcpp.cfg tagdialogbase.ui.h amarok_export.h amaroklastfm.protocol mydirlister.h smartplaylisteditor.h hi32-app-amarok.png tagdialogbase.ui sliderwidget.h tooltip.h actionclasses.h atomicurl.h expression.h Options2.ui.h hi48-app-amarok.png fht.h dynamicmode.h columnlist.h filebrowser.h podcastbundle.h clicklineedit.h xspfplaylist.h equalizergraph.h multitabbar_p.h colorgenerator.h threadmanager.h scriptmanagerbase.ui k3bexporter.h engine_fwd.h playlist.h devicemanager.h multitabbar.h metabundle.h amarok_plugin.desktop amarokui.rc prettypopupmenu.h htmlview.h configdialog.h browserToolBar.h hi16-app-amarok.png podcastsettingsbase.ui dbsetup.ui app.h tagguesserconfigdialog.ui.h deletedialog.h covermanager.h Options1.ui scancontroller.h amarokitpc.pro
 tocol kbookmarkhandler.h mediumpluginmanager.h metabundlesaver.h Options8.ui.h mediabrowser.h trackpickerdialog.h equalizerpresetmanager.h tdebug.h Options5.ui Makefile.am coverfetcher.h 
+ 
+ #>+ 19
+ clean-ui:
+@@ -2101,11 +2091,11 @@
+ 
+ 
+ #>+ 11
+-libamarok_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/actionclasses.cpp $(srcdir)/app.cpp $(srcdir)/atomicstring.cpp $(srcdir)/atomicurl.cpp $(srcdir)/browserbar.cpp $(srcdir)/clicklineedit.cpp $(srcdir)/collectionbrowser.cpp $(srcdir)/collectiondb.cpp $(srcdir)/columnlist.cpp $(srcdir)/configdialog.cpp $(srcdir)/contextbrowser.cpp $(srcdir)/coverfetcher.cpp $(srcdir)/covermanager.cpp $(srcdir)/cuefile.cpp $(srcdir)/deletedialog.cpp $(srcdir)/deviceconfiguredialog.cpp $(srcdir)/devicemanager.cpp $(srcdir)/directorylist.cpp $(srcdir)/dynamicmode.cpp $(srcdir)/enginebase.cpp $(srcdir)/enginecontroller.cpp $(srcdir)/engineobserver.cpp $(srcdir)/equalizergraph.cpp $(srcdir)/equalizerpresetmanager.cpp $(srcdir)/equalizersetup.cpp $(srcdir)/expression.cpp $(srcdir)/fht.cpp $(srcdir)/filebrowser.cpp $(srcdir)/hintlineedit.cpp $(srcdir)/htmlview.cpp $(srcdir)/iconloader.cpp $(srcdir)/k3bexporter.cpp $(srcdir)/kbookmarkhandler.cpp $(srcdir)/ktrm.cpp $(srcdir)/lastfm.cpp $(srcdir
 )/mediabrowser.cpp $(srcdir)/mediadevicemanager.cpp $(srcdir)/medium.cpp $(srcdir)/mediumpluginmanager.cpp $(srcdir)/metabundle.cpp $(srcdir)/metabundlesaver.cpp $(srcdir)/moodbar.cpp $(srcdir)/mountpointmanager.cpp $(srcdir)/multitabbar.cpp $(srcdir)/mydiroperator.cpp $(srcdir)/osd.cpp $(srcdir)/pixmapviewer.cpp $(srcdir)/playerwindow.cpp $(srcdir)/playlist.cpp $(srcdir)/playlistbrowser.cpp $(srcdir)/playlistbrowseritem.cpp $(srcdir)/playlistitem.cpp $(srcdir)/playlistloader.cpp $(srcdir)/playlistselection.cpp $(srcdir)/playlistwindow.cpp $(srcdir)/pluginmanager.cpp $(srcdir)/podcastsettings.cpp $(srcdir)/prettypopupmenu.cpp $(srcdir)/queuemanager.cpp $(srcdir)/refreshimages.cpp $(srcdir)/scancontroller.cpp $(srcdir)/scriptmanager.cpp $(srcdir)/scrobbler.cpp $(srcdir)/sliderwidget.cpp $(srcdir)/smartplaylisteditor.cpp $(srcdir)/socketserver.cpp $(srcdir)/starmanager.cpp $(srcdir)/statistics.cpp $(srcdir)/systray.cpp $(srcdir)/tagdialog.cpp $(srcdir)/tagguesser.cpp $(srcdir)
 /threadmanager.cpp $(srcdir)/tooltip.cpp $(srcdir)/trackpickerdialog.cpp $(srcdir)/tracktooltip.cpp $(srcdir)/transferdialog.cpp $(srcdir)/xmlloader.cpp $(srcdir)/xspfplaylist.cpp $(srcdir)/editfilterdialog.cpp Options1.cpp Options2.cpp Options4.cpp Options5.cpp Options7.cpp Options8.cpp dbsetup.cpp deletedialogbase.cpp firstrunwizard.cpp newdynamic.cpp organizecollectiondialog.cpp podcastsettingsbase.cpp scriptmanagerbase.cpp tagdialogbase.cpp tagguesserconfigdialog.cpp trackpickerdialogbase.cpp  playlistbrowser.moc browserbar.moc statistics.moc firstrunwizard.moc hintlineedit.moc moodbar.moc mediabrowser.moc trackpickerdialogbase.moc tagguesserconfigdialog.moc Options2.moc app.moc refreshimages.moc devicemanager.moc Options4.moc prettypopupmenu.moc deletedialogbase.moc Options5.moc Options7.moc transferdialog.moc editfilterdialog.moc metabundlesaver.moc starmanager.moc socketserver.moc playlistselection.moc scancontroller.moc deviceconfiguredialog.moc collectiondb.moc equa
 lizerpresetmanager.moc xmlloader_p.moc tagdialogbase.moc multitabbar.moc multitabbar_p.moc scriptmanagerbase.moc cuefile.moc Options8.moc mediadevicemanager.moc deletedialog.moc ktrm.moc directorylist.moc mediumpluginmanager.moc newdynamic.moc enginecontroller.moc tagdialog.moc dbsetup.moc collectionbrowser.moc xmlloader.moc contextbrowser.moc podcastsettingsbase.moc playlistbrowseritem.moc organizecollectiondialog.moc smartplaylisteditor.moc htmlview.moc mydiroperator.moc podcastsettings.moc mountpointmanager.moc actionclasses.moc filebrowser.moc columnlist.moc Options1.moc scrobbler.moc osd.moc scriptmanager.moc threadmanager.moc configdialog.moc equalizersetup.moc playlistwindow.moc tooltip.moc tracktooltip.moc clicklineedit.moc playlistloader.moc queuemanager.moc covermanager.moc playlist.moc trackpickerdialog.moc lastfm.moc playerwindow.moc coverfetcher.moc enginebase.moc pixmapviewer.moc sliderwidget.moc
++libamarok_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/actionclasses.cpp $(srcdir)/app.cpp $(srcdir)/atomicstring.cpp $(srcdir)/atomicurl.cpp $(srcdir)/browserbar.cpp $(srcdir)/clicklineedit.cpp $(srcdir)/collectionbrowser.cpp $(srcdir)/collectiondb.cpp $(srcdir)/columnlist.cpp $(srcdir)/configdialog.cpp $(srcdir)/contextbrowser.cpp $(srcdir)/coverfetcher.cpp $(srcdir)/covermanager.cpp $(srcdir)/cuefile.cpp $(srcdir)/deletedialog.cpp $(srcdir)/deviceconfiguredialog.cpp $(srcdir)/devicemanager.cpp $(srcdir)/directorylist.cpp $(srcdir)/dynamicmode.cpp $(srcdir)/enginebase.cpp $(srcdir)/enginecontroller.cpp $(srcdir)/engineobserver.cpp $(srcdir)/equalizergraph.cpp $(srcdir)/equalizerpresetmanager.cpp $(srcdir)/equalizersetup.cpp $(srcdir)/expression.cpp $(srcdir)/fht.cpp $(srcdir)/filebrowser.cpp $(srcdir)/hintlineedit.cpp $(srcdir)/htmlview.cpp $(srcdir)/iconloader.cpp $(srcdir)/k3bexporter.cpp $(srcdir)/kbookmarkhandler.cpp $(srcdir)/ktrm.cpp $(srcdir)/lastfm.cpp $(srcdir
 )/mediabrowser.cpp $(srcdir)/mediadevicemanager.cpp $(srcdir)/medium.cpp $(srcdir)/mediumpluginmanager.cpp $(srcdir)/metabundle.cpp $(srcdir)/metabundlesaver.cpp $(srcdir)/moodbar.cpp $(srcdir)/mountpointmanager.cpp $(srcdir)/multitabbar.cpp $(srcdir)/mydiroperator.cpp $(srcdir)/osd.cpp $(srcdir)/pixmapviewer.cpp $(srcdir)/playerwindow.cpp $(srcdir)/playlist.cpp $(srcdir)/playlistbrowser.cpp $(srcdir)/playlistbrowseritem.cpp $(srcdir)/playlistitem.cpp $(srcdir)/playlistloader.cpp $(srcdir)/playlistselection.cpp $(srcdir)/playlistwindow.cpp $(srcdir)/pluginmanager.cpp $(srcdir)/podcastsettings.cpp $(srcdir)/prettypopupmenu.cpp $(srcdir)/queuemanager.cpp $(srcdir)/scancontroller.cpp $(srcdir)/scriptmanager.cpp $(srcdir)/scrobbler.cpp $(srcdir)/sliderwidget.cpp $(srcdir)/smartplaylisteditor.cpp $(srcdir)/socketserver.cpp $(srcdir)/starmanager.cpp $(srcdir)/statistics.cpp $(srcdir)/systray.cpp $(srcdir)/tagdialog.cpp $(srcdir)/tagguesser.cpp $(srcdir)/threadmanager.cpp $(srcdir)
 /tooltip.cpp $(srcdir)/trackpickerdialog.cpp $(srcdir)/tracktooltip.cpp $(srcdir)/transferdialog.cpp $(srcdir)/xmlloader.cpp $(srcdir)/xspfplaylist.cpp $(srcdir)/editfilterdialog.cpp Options1.cpp Options2.cpp Options4.cpp Options5.cpp Options7.cpp Options8.cpp dbsetup.cpp deletedialogbase.cpp firstrunwizard.cpp newdynamic.cpp organizecollectiondialog.cpp podcastsettingsbase.cpp scriptmanagerbase.cpp tagdialogbase.cpp tagguesserconfigdialog.cpp trackpickerdialogbase.cpp  playlistbrowser.moc browserbar.moc statistics.moc firstrunwizard.moc hintlineedit.moc moodbar.moc mediabrowser.moc trackpickerdialogbase.moc tagguesserconfigdialog.moc Options2.moc app.moc devicemanager.moc Options4.moc prettypopupmenu.moc deletedialogbase.moc Options5.moc Options7.moc transferdialog.moc editfilterdialog.moc metabundlesaver.moc starmanager.moc socketserver.moc playlistselection.moc scancontroller.moc deviceconfiguredialog.moc collectiondb.moc equalizerpresetmanager.moc xmlloader_p.moc tagdial
 ogbase.moc multitabbar.moc multitabbar_p.moc scriptmanagerbase.moc cuefile.moc Options8.moc mediadevicemanager.moc deletedialog.moc ktrm.moc directorylist.moc mediumpluginmanager.moc newdynamic.moc enginecontroller.moc tagdialog.moc dbsetup.moc collectionbrowser.moc xmlloader.moc contextbrowser.moc podcastsettingsbase.moc playlistbrowseritem.moc organizecollectiondialog.moc smartplaylisteditor.moc htmlview.moc mydiroperator.moc podcastsettings.moc mountpointmanager.moc actionclasses.moc filebrowser.moc columnlist.moc Options1.moc scrobbler.moc osd.moc scriptmanager.moc threadmanager.moc configdialog.moc equalizersetup.moc playlistwindow.moc tooltip.moc tracktooltip.moc clicklineedit.moc playlistloader.moc queuemanager.moc covermanager.moc playlist.moc trackpickerdialog.moc lastfm.moc playerwindow.moc coverfetcher.moc enginebase.moc pixmapviewer.moc sliderwidget.moc
+ 	@echo 'creating libamarok_la.all_cpp.cpp ...'; \
+ 	rm -f libamarok_la.all_cpp.files libamarok_la.all_cpp.final; \
+ 	echo "#define KDE_USE_FINAL 1" >> libamarok_la.all_cpp.final; \
+-	for file in actionclasses.cpp app.cpp atomicstring.cpp atomicurl.cpp browserbar.cpp clicklineedit.cpp collectionbrowser.cpp collectiondb.cpp columnlist.cpp configdialog.cpp contextbrowser.cpp coverfetcher.cpp covermanager.cpp cuefile.cpp deletedialog.cpp deviceconfiguredialog.cpp devicemanager.cpp directorylist.cpp dynamicmode.cpp enginebase.cpp enginecontroller.cpp engineobserver.cpp equalizergraph.cpp equalizerpresetmanager.cpp equalizersetup.cpp expression.cpp fht.cpp filebrowser.cpp hintlineedit.cpp htmlview.cpp iconloader.cpp k3bexporter.cpp kbookmarkhandler.cpp ktrm.cpp lastfm.cpp mediabrowser.cpp mediadevicemanager.cpp medium.cpp mediumpluginmanager.cpp metabundle.cpp metabundlesaver.cpp moodbar.cpp mountpointmanager.cpp multitabbar.cpp mydiroperator.cpp osd.cpp pixmapviewer.cpp playerwindow.cpp playlist.cpp playlistbrowser.cpp playlistbrowseritem.cpp playlistitem.cpp playlistloader.cpp playlistselection.cpp playlistwindow.cpp pluginmanager.cpp podcastsettings.cpp p
 rettypopupmenu.cpp queuemanager.cpp refreshimages.cpp scancontroller.cpp scriptmanager.cpp scrobbler.cpp sliderwidget.cpp smartplaylisteditor.cpp socketserver.cpp starmanager.cpp statistics.cpp systray.cpp tagdialog.cpp tagguesser.cpp threadmanager.cpp tooltip.cpp trackpickerdialog.cpp tracktooltip.cpp transferdialog.cpp xmlloader.cpp xspfplaylist.cpp editfilterdialog.cpp Options1.cpp Options2.cpp Options4.cpp Options5.cpp Options7.cpp Options8.cpp dbsetup.cpp deletedialogbase.cpp firstrunwizard.cpp newdynamic.cpp organizecollectiondialog.cpp podcastsettingsbase.cpp scriptmanagerbase.cpp tagdialogbase.cpp tagguesserconfigdialog.cpp trackpickerdialogbase.cpp ; do \
++	for file in actionclasses.cpp app.cpp atomicstring.cpp atomicurl.cpp browserbar.cpp clicklineedit.cpp collectionbrowser.cpp collectiondb.cpp columnlist.cpp configdialog.cpp contextbrowser.cpp coverfetcher.cpp covermanager.cpp cuefile.cpp deletedialog.cpp deviceconfiguredialog.cpp devicemanager.cpp directorylist.cpp dynamicmode.cpp enginebase.cpp enginecontroller.cpp engineobserver.cpp equalizergraph.cpp equalizerpresetmanager.cpp equalizersetup.cpp expression.cpp fht.cpp filebrowser.cpp hintlineedit.cpp htmlview.cpp iconloader.cpp k3bexporter.cpp kbookmarkhandler.cpp ktrm.cpp lastfm.cpp mediabrowser.cpp mediadevicemanager.cpp medium.cpp mediumpluginmanager.cpp metabundle.cpp metabundlesaver.cpp moodbar.cpp mountpointmanager.cpp multitabbar.cpp mydiroperator.cpp osd.cpp pixmapviewer.cpp playerwindow.cpp playlist.cpp playlistbrowser.cpp playlistbrowseritem.cpp playlistitem.cpp playlistloader.cpp playlistselection.cpp playlistwindow.cpp pluginmanager.cpp podcastsettings.cpp p
 rettypopupmenu.cpp queuemanager.cpp scancontroller.cpp scriptmanager.cpp scrobbler.cpp sliderwidget.cpp smartplaylisteditor.cpp socketserver.cpp starmanager.cpp statistics.cpp systray.cpp tagdialog.cpp tagguesser.cpp threadmanager.cpp tooltip.cpp trackpickerdialog.cpp tracktooltip.cpp transferdialog.cpp xmlloader.cpp xspfplaylist.cpp editfilterdialog.cpp Options1.cpp Options2.cpp Options4.cpp Options5.cpp Options7.cpp Options8.cpp dbsetup.cpp deletedialogbase.cpp firstrunwizard.cpp newdynamic.cpp organizecollectiondialog.cpp podcastsettingsbase.cpp scriptmanagerbase.cpp tagdialogbase.cpp tagguesserconfigdialog.cpp trackpickerdialogbase.cpp ; do \
+ 	  echo "#include \"$$file\"" >> libamarok_la.all_cpp.files; \
+ 	  test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> libamarok_la.all_cpp.final; \
+ 	done; \
+@@ -2144,7 +2134,6 @@
+ $(srcdir)/covermanager.cpp: Options1.h Options2.h Options4.h Options5.h Options7.h Options8.h dbsetup.h deletedialogbase.h firstrunwizard.h newdynamic.h organizecollectiondialog.h podcastsettingsbase.h scriptmanagerbase.h tagdialogbase.h tagguesserconfigdialog.h trackpickerdialogbase.h 
+ deletedialog.lo: deletedialog.moc 
+ mydiroperator.o: mydiroperator.moc 
+-refreshimages.lo: refreshimages.moc 
+ $(srcdir)/multitabbar.cpp: Options1.h Options2.h Options4.h Options5.h Options7.h Options8.h dbsetup.h deletedialogbase.h firstrunwizard.h newdynamic.h organizecollectiondialog.h podcastsettingsbase.h scriptmanagerbase.h tagdialogbase.h tagguesserconfigdialog.h trackpickerdialogbase.h 
+ equalizerpresetmanager.lo: equalizerpresetmanager.moc 
+ app.lo: app.moc 
+@@ -2155,7 +2144,6 @@
+ $(srcdir)/transferdialog.cpp: Options1.h Options2.h Options4.h Options5.h Options7.h Options8.h dbsetup.h deletedialogbase.h firstrunwizard.h newdynamic.h organizecollectiondialog.h podcastsettingsbase.h scriptmanagerbase.h tagdialogbase.h tagguesserconfigdialog.h trackpickerdialogbase.h 
+ $(srcdir)/prettypopupmenu.cpp: Options1.h Options2.h Options4.h Options5.h Options7.h Options8.h dbsetup.h deletedialogbase.h firstrunwizard.h newdynamic.h organizecollectiondialog.h podcastsettingsbase.h scriptmanagerbase.h tagdialogbase.h tagguesserconfigdialog.h trackpickerdialogbase.h 
+ enginecontroller.o: enginecontroller.moc 
+-refreshimages.o: refreshimages.moc 
+ scrobbler.o: scrobbler.moc 
+ podcastsettings.lo: podcastsettings.moc 
+ collectionbrowser.o: collectionbrowser.moc 
+@@ -2296,7 +2284,6 @@
+ mountpointmanager.o: mountpointmanager.moc 
+ $(srcdir)/Options1.ui.h: Options1.h Options2.h Options4.h Options5.h Options7.h Options8.h dbsetup.h deletedialogbase.h firstrunwizard.h newdynamic.h organizecollectiondialog.h podcastsettingsbase.h scriptmanagerbase.h tagdialogbase.h tagguesserconfigdialog.h trackpickerdialogbase.h 
+ cuefile.lo: cuefile.moc 
+-$(srcdir)/refreshimages.cpp: Options1.h Options2.h Options4.h Options5.h Options7.h Options8.h dbsetup.h deletedialogbase.h firstrunwizard.h newdynamic.h organizecollectiondialog.h podcastsettingsbase.h scriptmanagerbase.h tagdialogbase.h tagguesserconfigdialog.h trackpickerdialogbase.h 
+ browserbar.o: browserbar.moc 
+ $(srcdir)/mediadevicemanager.cpp: Options1.h Options2.h Options4.h Options5.h Options7.h Options8.h dbsetup.h deletedialogbase.h firstrunwizard.h newdynamic.h organizecollectiondialog.h podcastsettingsbase.h scriptmanagerbase.h tagdialogbase.h tagguesserconfigdialog.h trackpickerdialogbase.h 
+ $(srcdir)/playlistbrowseritem.cpp: Options1.h Options2.h Options4.h Options5.h Options7.h Options8.h dbsetup.h deletedialogbase.h firstrunwizard.h newdynamic.h organizecollectiondialog.h podcastsettingsbase.h scriptmanagerbase.h tagdialogbase.h tagguesserconfigdialog.h trackpickerdialogbase.h 
+diff -urN amarok-1.4.10/amarok/src/app.cpp.coverfetcher amarok-1.4.10/amarok/src/app.cpp
+--- amarok-1.4.10/amarok/src/app.cpp.coverfetcher	2009-08-22 11:38:20.442735663 -0400
++++ amarok-1.4.10/amarok/src/app.cpp	2009-08-22 13:22:21.017638995 -0400
+@@ -41,7 +41,6 @@
+ #include "playlistbrowser.h"
+ #include "playlistwindow.h"
+ #include "pluginmanager.h"
+-#include "refreshimages.h"
+ #include "scriptmanager.h"
+ #include "scrobbler.h"
+ #include "statusbar.h"
+diff -urN amarok-1.4.10/amarok/src/collectionbrowser.cpp.coverfetcher amarok-1.4.10/amarok/src/collectionbrowser.cpp
+--- amarok-1.4.10/amarok/src/collectionbrowser.cpp.coverfetcher	2009-08-22 11:38:19.648775016 -0400
++++ amarok-1.4.10/amarok/src/collectionbrowser.cpp	2009-08-22 13:49:11.268351838 -0400
+@@ -1471,7 +1471,7 @@
+ 
+         if( (cat == IdAlbum || cat == IdVisYearAlbum) && siblingSelection.count() == 1 ) // cover fetch isn't multiselection capable
+         {
+-            menu.insertItem( SmallIconSet( Amarok::icon( "download" ) ), i18n( "&Fetch Cover From amazon.%1" ).arg( CoverManager::amazonTld() ), this, SLOT( fetchCover() ), 0, FETCH );
++            menu.insertItem( SmallIconSet( Amarok::icon( "download" ) ), i18n( "&Fetch Cover From last.fm" ), this, SLOT( fetchCover() ), 0, FETCH );
+             #ifndef AMAZON_SUPPORT
+             menu.setItemEnabled( FETCH, false );
+             #endif
+diff -urN amarok-1.4.10/amarok/src/collectiondb.cpp.coverfetcher amarok-1.4.10/amarok/src/collectiondb.cpp
+--- amarok-1.4.10/amarok/src/collectiondb.cpp.coverfetcher	2009-08-22 11:38:20.439736108 -0400
++++ amarok-1.4.10/amarok/src/collectiondb.cpp	2009-08-22 13:44:46.547974864 -0400
+@@ -1029,13 +1029,6 @@
+ void
+ CollectionDB::createPersistentTables()
+ {
+-    // create amazon table
+-    query(          "CREATE TABLE amazon ( "
+-            "asin " + textColumnType(20) + ", "
+-            "locale " + textColumnType(2) + ", "
+-            "filename " + exactTextColumnType(33) + ", "
+-            "refetchdate INTEGER );" );
+-
+     // create lyrics table
+     query( QString( "CREATE TABLE lyrics ("
+             "url " + exactTextColumnType() + ", "
+@@ -1076,13 +1069,6 @@
+ void
+ CollectionDB::createPersistentTablesV12()
+ {
+-    // create amazon table
+-    query(          "CREATE TABLE amazon ( "
+-            "asin " + textColumnType(20) + ", "
+-            "locale " + textColumnType(2) + ", "
+-            "filename " + textColumnType(33) + ", "
+-            "refetchdate INTEGER );" );
+-
+     // create lyrics table
+     query( QString( "CREATE TABLE lyrics ("
+             "url " + textColumnType() + ", "
+@@ -1110,13 +1096,6 @@
+     const QString a( temp ? "TEMPORARY" : "" );
+     const QString b( temp ? "_fix" : "" );
+ 
+-    // create amazon table
+-    query(  QString( "CREATE %1 TABLE amazon%2 ( "
+-            "asin " + textColumnType(20) + ", "
+-            "locale " + textColumnType(2) + ", "
+-            "filename " + exactTextColumnType(33) + ", "
+-            "refetchdate INTEGER );" ).arg( a,b ) );
+-
+     // create lyrics table
+     query( QString( "CREATE %1 TABLE lyrics%2 ("
+             "url " + exactTextColumnType() + ", "
+@@ -1274,7 +1253,6 @@
+ void
+ CollectionDB::dropPersistentTables()
+ {
+-    query( "DROP TABLE amazon;" );
+     query( "DROP TABLE lyrics;" );
+     query( "DROP TABLE playlists;" );
+     query( "DROP TABLE tags_labels;" );
+@@ -1284,7 +1262,6 @@
+ void
+ CollectionDB::dropPersistentTablesV14()
+ {
+-    query( "DROP TABLE amazon;" );
+     query( "DROP TABLE lyrics;" );
+     query( "DROP TABLE label;" );
+     query( "DROP TABLE playlists;" );
+@@ -1865,6 +1842,7 @@
+ bool
+ CollectionDB::setAlbumImage( const QString& artist, const QString& album, const KURL& url )
+ {
++    debug() << url << endl;
+     QString tmpFile;
+     bool success = setAlbumImage( artist, album, fetchImage(url, tmpFile) );
+     KIO::NetAccess::removeTempFile( tmpFile ); //only removes file if it was created with NetAccess
+@@ -1873,7 +1851,7 @@
+ 
+ 
+ bool
+-CollectionDB::setAlbumImage( const QString& artist, const QString& album, QImage img, const QString& amazonUrl, const QString& asin )
++CollectionDB::setAlbumImage( const QString& artist, const QString& album, QImage img )
+ {
+     //show a wait cursor for the duration
+     Amarok::OverrideCursor keep;
+@@ -1885,10 +1863,6 @@
+     removeAlbumImage( artist_, album );
+ 
+     QCString key = md5sum( artist_, album );
+-    newAmazonReloadDate(asin, AmarokConfig::amazonLocale(), key);
+-    // Save Amazon product page URL as embedded string, for later retreival
+-    if ( !amazonUrl.isEmpty() )
+-        img.setText( "amazon-url", 0, amazonUrl );
+ 
+     const bool b = img.save( largeCoverDir().filePath( key ), "PNG");
+     emit coverChanged( artist_, album );
+@@ -2313,7 +2287,6 @@
+ 
+     QCString widthKey = "*@";
+     QCString key = md5sum( artist, album );
+-    query( "DELETE FROM amazon WHERE filename='" + key + '\'' );
+ 
+     // remove scaled versions of images (and add the asterisk for the shadow-caches)
+     QStringList scaledList = cacheCoverDir().entryList( widthKey + key + '*' );
+@@ -4071,9 +4044,9 @@
+ 
+       if( !QFile::exists(path + "/.directory") && !cover.endsWith( "nocover.png" ) )
+       {
+-         //QPixmap thumb;        //Not amazon nice.
+-         //if ( thumb.load( cover ) ){
+-         //thumb.save(path + "/.front.png", "PNG", -1 ); //hide files
++         QPixmap thumb;        //Not amazon nice.
++         if ( thumb.load( cover ) ){
++         thumb.save(path + "/folder.png", "PNG", -1 );
+ 
+          KSimpleConfig config(path + "/.directory");
+          config.setGroup("Desktop Entry");
+@@ -4083,7 +4056,7 @@
+             config.writeEntry( "Icon", cover );
+             config.sync();
+          }
+-         //}         //Not amazon nice.
++         }         //Not amazon nice.
+       }
+    }
+ 
+@@ -4668,39 +4641,6 @@
+     return values[0];
+ }
+ 
+-void CollectionDB::removeInvalidAmazonInfo( const QString& md5sum )
+-{
+-    query( QString( "DELETE FROM amazon WHERE filename='%1'" ).arg( md5sum ) );
+-}
+-
+-void CollectionDB::newAmazonReloadDate( const QString& asin, const QString& locale, const QString& md5sum)
+-{
+-    QStringList values = query(QString("SELECT filename FROM amazon WHERE filename = '%1'")
+-        .arg(md5sum));
+-    if(values.count() > 0)
+-    {
+-        query( QString("UPDATE amazon SET asin = '%1', locale = '%2', refetchdate = '%3' WHERE filename = '%4'")
+-            .arg(asin)
+-            .arg(locale)
+-            .arg(QDateTime::currentDateTime().addDays(80).toTime_t())
+-            .arg(md5sum));
+-    }
+-    else
+-    {
+-        insert( QString( "INSERT INTO amazon ( asin, locale, filename, refetchdate ) VALUES ( '%1', '%2', '%3', '%4');" )
+-         .arg(asin)
+-         .arg(locale)
+-         .arg(md5sum)
+-         .arg(QDateTime::currentDateTime().addDays(80).toTime_t()), NULL );
+-    }
+-}
+-
+-QStringList CollectionDB::staleImages()
+-{
+-    return query(QString("SELECT asin, locale, filename FROM amazon WHERE refetchdate < %1 ;")
+-            .arg(QDateTime::currentDateTime().toTime_t() ));
+-}
+-
+ void
+ CollectionDB::applySettings()
+ {
+@@ -4989,7 +4929,7 @@
+     }
+ 
+     else {
+-        setAlbumImage( fetcher->artist(), fetcher->album(), fetcher->image(), fetcher->amazonURL(), fetcher->asin() );
++        setAlbumImage( fetcher->artist(), fetcher->album(), fetcher->image() );
+         emit coverFetched( fetcher->artist(), fetcher->album() );
+     }
+ 
+@@ -5646,12 +5586,10 @@
+         if ( PersistentVersion.toInt() < 15 )
+         {
+             createPersistentTablesV14( true );
+-            query( "INSERT INTO amazon_fix SELECT asin,locale,filename,refetchdate FROM amazon;" );
+             query( "INSERT INTO lyrics_fix SELECT url,deviceid,lyrics FROM lyrics;" );
+             query( "INSERT INTO playlists_fix SELECT playlist,url,tracknum FROM playlists;" );
+             dropPersistentTablesV14();
+             createPersistentTablesV14( false );
+-            query( "INSERT INTO amazon SELECT * FROM amazon_fix;" );
+             query( "INSERT INTO lyrics SELECT * FROM lyrics_fix;" );
+             query( "INSERT INTO playlists SELECT * FROM playlists_fix;" );
+         }
+diff -urN amarok-1.4.10/amarok/src/collectiondb.h.coverfetcher amarok-1.4.10/amarok/src/collectiondb.h
+--- amarok-1.4.10/amarok/src/collectiondb.h.coverfetcher	2009-08-22 11:38:19.663776347 -0400
++++ amarok-1.4.10/amarok/src/collectiondb.h	2009-08-22 12:37:54.798174576 -0400
+@@ -434,7 +434,7 @@
+         /** Saves images located on the user's filesystem */
+         bool setAlbumImage( const QString& artist, const QString& album, const KURL& url );
+         /** Saves images obtained from CoverFetcher */
+-        bool setAlbumImage( const QString& artist, const QString& album, QImage img, const QString& amazonUrl = QString::null, const QString& asin = QString::null );
++        bool setAlbumImage( const QString& artist, const QString& album, QImage img );
+ 
+         QString findAmazonImage( const QString &artist, const QString &album, const uint width = 1 );
+         QString findDirectoryImage( const QString& artist, const QString& album, uint width = 0 );
+@@ -484,11 +484,6 @@
+         void setLyrics( const QString& url, const QString& lyrics, const QString &uniqueid = QString::null );
+         QString getLyrics( const QString& url );
+ 
+-        /** Remove from the amazon table the item with the specified md5sum **/
+-        void removeInvalidAmazonInfo( const QString& md5sum );
+-        void newAmazonReloadDate( const QString& asin, const QString& locale, const QString& md5sum );
+-        QStringList staleImages();
+-
+         DbConnection::DbConnectionType getDbConnectionType() const { return m_dbConnType; }
+         bool isConnected();
+         void releasePreviousConnection(QThread *currThread);
+diff -urN amarok-1.4.10/amarok/src/contextbrowser.cpp.coverfetcher amarok-1.4.10/amarok/src/contextbrowser.cpp
+--- amarok-1.4.10/amarok/src/contextbrowser.cpp.coverfetcher	2009-08-22 11:38:20.437735462 -0400
++++ amarok-1.4.10/amarok/src/contextbrowser.cpp	2009-08-22 13:51:47.817348629 -0400
+@@ -175,9 +175,9 @@
+ QString albumImageTooltip( const QString &albumImage, int size )
+ {
+     if ( albumImage == CollectionDB::instance()->notAvailCover( false, size ) )
+-        return escapeHTMLAttr( i18n( "Click to fetch cover from amazon.%1, right-click for menu." ).arg( CoverManager::amazonTld() ) );
++        return escapeHTMLAttr( i18n( "Click to fetch cover from last.fm, right-click for menu." ) );
+ 
+-    return escapeHTMLAttr( i18n( "Click for information from Amazon, right-click for menu." ) );
++    return escapeHTMLAttr( i18n( "Right-click for menu." ) );
+ }
+ 
+ 
+@@ -474,25 +474,6 @@
+         ScriptManager::instance()->runScript( url.path() );
+     }
+ 
+-    // When left-clicking on cover image, open browser with amazon site
+-    else if ( url.protocol() == "fetchcover" )
+-    {
+-        QString albumPath = CollectionDB::instance()->albumImage(artist, album, false, 0 );
+-        if ( albumPath == CollectionDB::instance()->notAvailCover( false, 0 ) )
+-        {
+-            CollectionDB::instance()->fetchCover( this, artist, album, false );
+-            return;
+-        }
+-
+-        QImage img( albumPath );
+-        const QString amazonUrl = img.text( "amazon-url" );
+-
+-        if ( amazonUrl.isEmpty() )
+-            KMessageBox::information( this, i18n( "<p>There is no product information available for this image.<p>Right-click on image for menu." ) );
+-        else
+-            Amarok::invokeBrowser( amazonUrl );
+-    }
+-
+     /* open konqueror with musicbrainz search result for artist-album */
+     else if ( url.protocol() == "musicbrainz" )
+     {
+diff -urN amarok-1.4.10/amarok/src/coverfetcher.cpp.coverfetcher amarok-1.4.10/amarok/src/coverfetcher.cpp
+--- amarok-1.4.10/amarok/src/coverfetcher.cpp.coverfetcher	2009-08-22 11:38:20.561728744 -0400
++++ amarok-1.4.10/amarok/src/coverfetcher.cpp	2009-08-22 14:24:39.841020123 -0400
+@@ -17,6 +17,7 @@
+ #include <qlabel.h>
+ #include <qlayout.h>
+ #include <qregexp.h>
++#include <qurl.h>
+ 
+ #include <kapplication.h>
+ #include <kcombobox.h>
+@@ -43,7 +44,7 @@
+         menu.insertTitle( i18n( "Cover Image" ) );
+ 
+         menu.insertItem( SmallIconSet( Amarok::icon( "zoom" ) ), i18n( "&Show Fullsize" ), SHOW );
+-        menu.insertItem( SmallIconSet( Amarok::icon( "download" ) ), i18n( "&Fetch From amazon.%1" ).arg( CoverManager::amazonTld() ), FETCH );
++        menu.insertItem( SmallIconSet( Amarok::icon( "download" ) ), i18n( "&Fetch From last.fm" ), FETCH );
+         menu.insertItem( SmallIconSet( Amarok::icon( "files" ) ), i18n( "Set &Custom Cover" ), CUSTOM );
+         bool disable = !album.isEmpty(); // disable setting covers for unknown albums
+         menu.setItemEnabled( FETCH, disable );
+@@ -130,7 +131,7 @@
+         : QObject( parent, "CoverFetcher" )
+         , m_artist( artist )
+         , m_album( album )
+-        , m_size( 2 )
++        , m_size( 3 )
+         , m_success( true )
+ {
+     DEBUG_FUNC_INFO
+@@ -193,45 +194,40 @@
+ {
+     DEBUG_FUNC_INFO
+ 
+-    // Static license Key. Thanks hydrogen ;-)
+-    const QString LICENSE( "11ZKJS8X1ETSTJ6MT802" );
+-
+     // reset all values
+-    m_coverAmazonUrls.clear();
+-    m_coverAsins.clear();
+     m_coverUrls.clear();
+     m_coverNames.clear();
+     m_xml = QString::null;
+-    m_size = 2;
++    m_size = 3;
+ 
+-    if ( m_queries.isEmpty() ) {
+-        debug() << "m_queries is empty" << endl;
++    QString url = "http://ws.audioscrobbler.com/2.0/";
++    url.append( "?method=album.getinfo" );
++    url.append( "&api_key=402d3ca8e9bc9d3cf9b85e1202944ca5" );
++
++    QString q_album;
++    QString q_artist;
++    if ( !m_queries.isEmpty() ) {
++        QStringList query = QStringList::split( " - ", m_queries[0] );
++        q_artist = query[0]; q_album = query[1];
++    }
++    else if ( m_album.isEmpty() ) {
++        debug() << "m_album is empty" << endl;
+         finishWithError( i18n("No cover found") );
+         return;
+     }
+-    QString query = m_queries.front();
+-    m_queries.pop_front();
+-
+-    // '&' breaks searching
+-    query.remove('&');
++    else if ( m_artist.isEmpty() ) {
++        debug() << "m_artist is empty" << endl;
++        finishWithError( i18n("No cover found") );
++    }
++    else {
++        q_album = m_album;
++        q_artist = m_artist;
++    }
++    QUrl::encode( q_album );
++    url.append( "&album=" ); url.append( q_album );
++    QUrl::encode( q_artist );
++    url.append( "&artist=" ); url.append( q_artist );
+     
+-    QString locale = AmarokConfig::amazonLocale();
+-    QString tld;
+-
+-    if( locale == "us" )
+-        tld = "com";
+-    else if( locale =="uk" )
+-        tld = "co.uk";
+-    else
+-        tld = locale;
+-
+-    int mibenum = 106; // utf-8
+-
+-    QString url;
+-    url = "http://ecs.amazonaws." + tld
+-        + "/onca/xml?Service=AWSECommerceService&Version=2007-10-29&Operation=ItemSearch&AssociateTag=webservices-20&AWSAccessKeyId=" + LICENSE
+-        + "&Keywords=" + KURL::encode_string_no_slash( query, mibenum )
+-        + "&SearchIndex=Music&ResponseGroup=Small,Images";
+     debug() << url << endl;
+ 
+     KIO::TransferJob* job = KIO::storedGet( url, false, false );
+@@ -253,7 +249,7 @@
+     // NOTE: job can become 0 when this method is called from attemptAnotherFetch()
+ 
+     if( job && job->error() ) {
+-        finishWithError( i18n("There was an error communicating with Amazon."), job );
++        finishWithError( i18n("There was an error communicating with last.fm."), job );
+         return;
+     }
+     if ( job ) {
+@@ -263,110 +259,48 @@
+ 
+     QDomDocument doc;
+     if( !doc.setContent( m_xml ) ) {
+-        m_errors += i18n("The XML obtained from Amazon is invalid.");
++        m_errors += i18n("The XML obtained from last.fm is invalid.");
+         startFetch();
+         return;
+     }
+ 
+-    m_coverAsins.clear();
+-    m_coverAmazonUrls.clear();
+     m_coverUrls.clear();
+     m_coverNames.clear();
+ 
+-    // the url for the Amazon product info page
+-    const QDomNodeList list = doc.documentElement().namedItem( "Items" ).childNodes();
++    const QDomNodeList list = doc.documentElement().namedItem( "album" ).childNodes();
+ 
+-    for(int i = 0; i < list.count(); i++ )
++    QString size;
++    switch ( m_size )
++    {
++        case 0:  size = "small";       break;
++        case 1:  size = "medium";      break;
++        case 2:  size = "large";       break;
++        default: size = "extralarge";  break;
++    }
++    QString coverUrl;
++    for ( int i = 0; i < list.count(); i++ )
+     {
+         QDomNode n = list.item( i );
+-        if( n.isElement() && n.nodeName() == "IsValid" )
++        if ( n.nodeName() == "image" )
+         {
+-            if( n.toElement().text() == "False" )
+-            {
+-                warning() << "The XML Is Invalid!";
+-                return;
+-            }
+-        }
+-        else if( list.item( i ).nodeName() == "Item" )
+-        {
+-            const QDomNode node = list.item( i );
+-            parseItemNode( node );
+-        }
+-    }
+-    attemptAnotherFetch();
+-}
+-
+-void CoverFetcher::parseItemNode( const QDomNode &node )
+-{
+-    QDomNode it = node.firstChild();
++            QDomNode node = list.item( i );
+ 
+-    QString size;
+-    switch( m_size )
+-    {
+-        case 0:  size = "Small";  break;
+-        case 1:  size = "Medium"; break;
+-        default: size = "Large";  break;
+-    }
+-    size += "Image";
+-
+-    while ( !it.isNull() ) {
+-        if ( it.isElement() ) {
+-            QDomElement e = it.toElement();
+-            if(e.tagName()=="ASIN")
+-            {
+-                m_asin = e.text();
+-                m_coverAsins += m_asin;
+-            }
+-            else if(e.tagName() == "DetailPageURL" )
+-            {
+-                m_amazonURL = e.text();
+-                m_coverAmazonUrls += m_amazonURL;
+-            }
+-            else if( e.tagName() == size )
+-            {
+-                QDomNode subIt = e.firstChild();
+-                while( !subIt.isNull() )
+-                {
+-                    if( subIt.isElement() )
+-                    {
+-                        QDomElement subE = subIt.toElement();
+-                        if( subE.tagName() == "URL" )
+-                        {
+-                            const QString coverUrl = subE.text();
+-                            m_coverUrls += coverUrl;
+-                            break;
+-                        }
+-                    }
+-                    subIt = subIt.nextSibling();
+-                }
+-            }
+-            else if( e.tagName() == "ItemAttributes" )
+-            {
+-                QDomNodeList nodes = e.childNodes();
+-                QDomNode iter;
+-                QString artist;
+-                QString album;
+-                for( int i = 0; i < nodes.count(); i++ )
+-                {
+-                    iter = nodes.item( i );
+-
+-                    if( iter.isElement() )
+-                    {
+-                        if( iter.nodeName() == "Artist" )
+-                        {
+-                            artist = iter.toElement().text();
+-                        }
+-                        else if( iter.nodeName() == "Title" )
+-                        {
+-                            album = iter.toElement().text();
+-                        }
+-                    }
++            if ( node.hasAttributes() ) {
++                QString imageSize = node.attributes().namedItem( "size" ).nodeValue();
++                if ( imageSize == size && node.isElement() ) {
++                    coverUrl = node.toElement().text();
++                    // remove the following line if you enjoy spending half an
++                    // hour debugging seemingly inexplicible crashes
++                    m_coverNames += QString( m_artist + " - " + m_album);
++                    m_coverUrls += coverUrl;
+                 }
+-                m_coverNames += QString( artist + " - " + album );
+             }
+         }
+-        it = it.nextSibling();
+     }
++
++    if ( coverUrl.isEmpty() )
++        return getUserQuery( i18n("You have seen all the covers last.fm returned using the query below. Perhaps you can refine it:") );
++    attemptAnotherFetch();
+ }
+ 
+ void
+@@ -383,14 +317,7 @@
+ 
+     m_image.loadFromData( static_cast<KIO::StoredTransferJob*>( job )->data() );
+ 
+-    if( m_image.width() <= 1 ) {
+-        //Amazon seems to offer images of size 1x1 sometimes
+-        //Amazon has nothing to offer us for the requested image size
+-        m_errors += i18n("The cover-data produced an invalid image.");
+-        attemptAnotherFetch();
+-    }
+-
+-    else if( m_userCanEditQuery )
++    if( m_userCanEditQuery )
+         //yay! image found :)
+         //lets see if the user wants it
+         showCover();
+@@ -407,7 +334,7 @@
+     DEBUG_BLOCK
+ 
+     if( !m_coverUrls.isEmpty() ) {
+-        // Amazon suggested some more cover URLs to try before we
++        // last.fm suggested some more cover URLs to try before we
+         // try a different query
+ 
+         KIO::TransferJob* job = KIO::storedGet( KURL(m_coverUrls.front()), false, false );
+@@ -419,12 +346,6 @@
+ 
+         m_currentCoverName = m_coverNames.front();
+         m_coverNames.pop_front();
+-
+-        m_amazonURL = m_coverAmazonUrls.front();
+-        m_coverAmazonUrls.pop_front();
+-
+-        m_asin = m_coverAsins.front();
+-        m_coverAsins.pop_front();
+     }
+ 
+     else if( !m_xml.isEmpty() && m_size > 0 ) {
+@@ -443,9 +364,7 @@
+     else if( m_userCanEditQuery ) {
+         // we have exhausted all the predetermined queries
+         // so lets let the user give it a try
+-        getUserQuery( i18n("You have seen all the covers Amazon returned using the query below. Perhaps you can refine it:") );
+-        m_coverAmazonUrls.clear();
+-        m_coverAsins.clear();
++        getUserQuery( i18n("You have seen all the covers last.fm returned using the query below. Perhaps you can refine it:") );
+         m_coverUrls.clear();
+         m_coverNames.clear();
+     }
+@@ -462,28 +381,7 @@
+         EditSearchDialog( QWidget* parent, const QString &text, const QString &keyword, CoverFetcher *fetcher )
+                 : KDialog( parent )
+         {
+-            setCaption( i18n( "Amazon Query Editor" ) );
+-
+-            // amazon combo box
+-            KComboBox* amazonLocale = new KComboBox( this );
+-            amazonLocale->insertItem( i18n("International"), CoverFetcher::International );
+-            amazonLocale->insertItem( i18n("Canada"), CoverFetcher::Canada );
+-            amazonLocale->insertItem( i18n("France"), CoverFetcher::France );
+-            amazonLocale->insertItem( i18n("Germany"), CoverFetcher::Germany );
+-            amazonLocale->insertItem( i18n("Japan"), CoverFetcher::Japan);
+-            amazonLocale->insertItem( i18n("United Kingdom"), CoverFetcher::UK );
+-            if( CoverManager::instance() )
+-                connect( amazonLocale, SIGNAL( activated(int) ),
+-                        CoverManager::instance(), SLOT( changeLocale(int) ) );
+-            else
+-                connect( amazonLocale, SIGNAL( activated(int) ),
+-                        fetcher, SLOT( changeLocale(int) ) );
+-            QHBoxLayout *hbox1 = new QHBoxLayout( 8 );
+-            hbox1->addWidget( new QLabel( i18n( "Amazon Locale: " ), this ) );
+-            hbox1->addWidget( amazonLocale );
+-
+-            int currentLocale = CoverFetcher::localeStringToID( AmarokConfig::amazonLocale() );
+-            amazonLocale->setCurrentItem( currentLocale );
++            setCaption( i18n( "Query Editor" ) );
+ 
+             KPushButton* cancelButton = new KPushButton( KStdGuiItem::cancel(), this );
+             KPushButton* searchButton = new KPushButton( i18n("&Search"), this );
+@@ -494,7 +392,6 @@
+             hbox2->addWidget( cancelButton );
+ 
+             QVBoxLayout *vbox = new QVBoxLayout( this, 8, 8 );
+-            vbox->addLayout( hbox1 );
+             vbox->addWidget( new QLabel( "<qt>" + text, this ) );
+             vbox->addWidget( new KLineEdit( keyword, this, "Query" ) );
+             vbox->addLayout( hbox2 );
+@@ -511,54 +408,12 @@
+         QString query() { return static_cast<KLineEdit*>(child( "Query" ))->text(); }
+     };
+ 
+-QString
+-CoverFetcher::localeIDToString( int id )//static
+-{
+-    switch ( id )
+-    {
+-    case International:
+-        return "us";
+-    case Canada:
+-        return "ca";
+-    case France:
+-        return "fr";
+-    case Germany:
+-        return "de";
+-    case Japan:
+-        return "jp";
+-    case UK:
+-        return "uk";
+-    }
+-
+-    return "us";
+-}
+-
+-int
+-CoverFetcher::localeStringToID( const QString &s )
+-{
+-    int id = International;
+-    if( s == "fr" ) id = France;
+-    else if( s == "de" ) id = Germany;
+-    else if( s == "jp" ) id = Japan;
+-    else if( s == "uk" ) id = UK;
+-    else if( s == "ca" ) id = Canada;
+-
+-    return id;
+-}
+-
+-void
+-CoverFetcher::changeLocale( int id )//SLOT
+-{
+-    QString locale = localeIDToString( id );
+-    AmarokConfig::setAmazonLocale( locale );
+-}
+-
+ 
+ void
+ CoverFetcher::getUserQuery( QString explanation )
+ {
+     if( explanation.isEmpty() )
+-        explanation = i18n("Ask Amazon for covers using this query:");
++        explanation = i18n("Ask last.fm for covers using this query:");
+ 
+     EditSearchDialog dialog(
+             static_cast<QWidget*>( parent() ),
+@@ -638,8 +493,6 @@
+         break;
+     case 1000: //showQueryEditor()
+         getUserQuery();
+-        m_coverAmazonUrls.clear();
+-        m_coverAsins.clear();
+         m_coverUrls.clear();
+         m_coverNames.clear();
+         break;
+diff -urN amarok-1.4.10/amarok/src/coverfetcher.h.coverfetcher amarok-1.4.10/amarok/src/coverfetcher.h
+--- amarok-1.4.10/amarok/src/coverfetcher.h.coverfetcher	2009-08-22 11:38:19.643818604 -0400
++++ amarok-1.4.10/amarok/src/coverfetcher.h	2009-08-22 13:46:21.224819113 -0400
+@@ -56,17 +56,11 @@
+ 
+     QString artist() const { return m_artist; }
+     QString album() const { return m_album; }
+-    QString amazonURL() const { return m_amazonURL; }
+-    QString asin() const { return m_asin; }
+     QImage image() const { return m_image; }
+ 
+     bool wasError() const { return !m_success; }
+     QStringList errors() const { return m_errors; }
+ 
+-    enum Locale { International=0, France, Germany, Japan, UK, Canada };
+-    static QString localeIDToString( int id );
+-    static int localeStringToID( const QString &locale );
+-
+ signals:
+     /// The CollectionDB can get the cover information using the pointer
+     void result( CoverFetcher* );
+@@ -74,7 +68,6 @@
+ private slots:
+     void finishedXmlFetch( KIO::Job* job );
+     void finishedImageFetch( KIO::Job* job );
+-    void changeLocale( int id );
+ 
+ private:
+     const QString m_artist;
+@@ -84,13 +77,9 @@
+     QString m_userQuery; /// the query from the query edit dialog
+     QString m_xml;
+     QImage  m_image;
+-    QString m_amazonURL;
+-    QString m_asin;
+     int     m_size;
+ 
+     QStringList m_queries;
+-    QStringList m_coverAsins;
+-    QStringList m_coverAmazonUrls;
+     QStringList m_coverUrls;
+     QStringList m_coverNames;
+     QString     m_currentCoverName;
+@@ -102,9 +91,6 @@
+     /// The fetch was successful!
+     void finish();
+ 
+-    /// Parse one <Item> QDomNode and append results.
+-    void parseItemNode( const QDomNode &node );
+-
+     /// The fetch failed, finish up and log an error message
+     void finishWithError( const QString &message, KIO::Job *job = 0 );
+ 
+diff -urN amarok-1.4.10/amarok/src/covermanager.cpp.coverfetcher amarok-1.4.10/amarok/src/covermanager.cpp
+--- amarok-1.4.10/amarok/src/covermanager.cpp.coverfetcher	2009-08-22 11:38:19.646776054 -0400
++++ amarok-1.4.10/amarok/src/covermanager.cpp	2009-08-22 13:48:38.643794369 -0400
+@@ -163,29 +163,11 @@
+     m_viewMenu->setItemChecked( AllAlbums, true );
+     connect( m_viewMenu, SIGNAL( activated(int) ), SLOT( changeView(int) ) );
+ 
+-    #ifdef AMAZON_SUPPORT
+-    // amazon locale menu
+-    m_amazonLocaleMenu = new KPopupMenu( this );
+-    m_amazonLocaleMenu->insertItem( i18n("International"), CoverFetcher::International );
+-    m_amazonLocaleMenu->insertItem( i18n("Canada"), CoverFetcher::Canada );
+-    m_amazonLocaleMenu->insertItem( i18n("France"), CoverFetcher::France );
+-    m_amazonLocaleMenu->insertItem( i18n("Germany"), CoverFetcher::Germany );
+-    m_amazonLocaleMenu->insertItem( i18n("Japan"), CoverFetcher::Japan);
+-    m_amazonLocaleMenu->insertItem( i18n("United Kingdom"), CoverFetcher::UK );
+-    connect( m_amazonLocaleMenu, SIGNAL( activated(int) ), SLOT( changeLocale(int) ) );
+-    #endif
+-
+     KToolBar* toolBar = new KToolBar( hbox );
+     toolBar->setIconText( KToolBar::IconTextRight );
+     toolBar->setFrameShape( QFrame::NoFrame );
+     toolBar->insertButton( "view_choose", 1, m_viewMenu, true, i18n( "View" ) );
+     #ifdef AMAZON_SUPPORT
+-    toolBar->insertButton( "babelfish", 2, m_amazonLocaleMenu, true, i18n( "Amazon Locale" ) );
+-
+-    QString locale = AmarokConfig::amazonLocale();
+-    m_currentLocale = CoverFetcher::localeStringToID( locale );
+-    m_amazonLocaleMenu->setItemChecked( m_currentLocale, true );
+-
+     //fetch missing covers button
+     m_fetchButton = new KPushButton( KGuiItem( i18n("Fetch Missing Covers"), Amarok::icon( "download" ) ), hbox );
+     connect( m_fetchButton, SIGNAL(clicked()), SLOT(fetchMissingCovers()) );
+@@ -294,21 +276,6 @@
+ }
+ 
+ 
+-QString CoverManager::amazonTld() //static
+-{
+-    if (AmarokConfig::amazonLocale() == "us")
+-        return "com";
+-            else if (AmarokConfig::amazonLocale()== "jp")
+-        return "co.jp";
+-            else if (AmarokConfig::amazonLocale() == "uk")
+-        return "co.uk";
+-            else if (AmarokConfig::amazonLocale() == "ca")
+-        return "ca";
+-            else
+-        return AmarokConfig::amazonLocale();
+-}
+-
+-
+ void CoverManager::fetchMissingCovers() //SLOT
+ {
+     #ifdef AMAZON_SUPPORT
+@@ -499,7 +466,7 @@
+     }
+     else {
+         menu.insertItem( SmallIconSet( Amarok::icon( "zoom" ) ), i18n( "&Show Fullsize" ), SHOW );
+-        menu.insertItem( SmallIconSet( Amarok::icon( "download" ) ), i18n( "&Fetch From amazon.%1" ).arg( CoverManager::amazonTld() ), FETCH );
++        menu.insertItem( SmallIconSet( Amarok::icon( "download" ) ), i18n( "&Fetch From last.fm" ), FETCH );
+         menu.insertItem( SmallIconSet( Amarok::icon( "files" ) ), i18n( "Set &Custom Cover" ), CUSTOM );
+         menu.insertItem( SmallIconSet( Amarok::icon( "add_playlist" ) ), i18n( "&Append to Playlist" ), APPEND );
+         menu.insertSeparator();
+@@ -643,15 +610,6 @@
+     m_currentView = id;
+ }
+ 
+-void CoverManager::changeLocale( int id ) //SLOT
+-{
+-    QString locale = CoverFetcher::localeIDToString( id );
+-    AmarokConfig::setAmazonLocale( locale );
+-    m_amazonLocaleMenu->setItemChecked( m_currentLocale, false );
+-    m_amazonLocaleMenu->setItemChecked( id, true );
+-    m_currentLocale = id;
+-}
+-
+ 
+ void CoverManager::coverFetched( const QString &artist, const QString &album ) //SLOT
+ {
+diff -urN amarok-1.4.10/amarok/src/covermanager.h.coverfetcher amarok-1.4.10/amarok/src/covermanager.h
+--- amarok-1.4.10/amarok/src/covermanager.h.coverfetcher	2009-08-22 11:38:20.558728891 -0400
++++ amarok-1.4.10/amarok/src/covermanager.h	2009-08-22 13:48:49.188329042 -0400
+@@ -42,13 +42,8 @@
+ 
+         void setStatusText( QString text );
+ 
+-         /**
+-         * Return the top level domain for the current locale
+-         **/
+-        static QString amazonTld();
+     public slots:
+         void updateStatusBar();
+-        void changeLocale( int id );
+ 
+     private slots:
+         void slotArtistSelected( QListViewItem* );
+@@ -79,11 +74,8 @@
+         CoverView      *m_coverView;
+         ClickLineEdit  *m_searchEdit;
+         KPushButton    *m_fetchButton;
+-        KPopupMenu     *m_amazonLocaleMenu;
+         KPopupMenu     *m_viewMenu;
+-        QToolButton    *m_amazonLocaleButton;
+         QToolButton    *m_viewButton;
+-        int             m_currentLocale;
+         int             m_currentView;
+ 
+         //status bar widgets
+diff -urN amarok-1.4.10/amarok/src/refreshimages.cpp.coverfetcher amarok-1.4.10/amarok/src/refreshimages.cpp
+--- amarok-1.4.10/amarok/src/refreshimages.cpp.coverfetcher	2009-08-22 11:38:19.643818604 -0400
++++ amarok-1.4.10/amarok/src/refreshimages.cpp	1969-12-31 19:00:00.000000000 -0500
+@@ -1,163 +0,0 @@
+-// (c) 2005 Ian Monroe <ian at monroe.nu>
+-// See COPYING file for licensing information.
+-
+-#define DEBUG_PREFIX "RefreshImages"
+-
+-#include "amarok.h"
+-#include "collectiondb.h"
+-#include "debug.h"
+-#include "refreshimages.h"
+-#include "statusbar.h"
+-
+-#include <qdom.h>
+-#include <qimage.h>
+-#include <qmap.h>
+-#include <qobject.h>
+-#include <qstringlist.h>
+-#include <qvaluelist.h>
+-#include <qvariant.h>
+-
+-#include <kio/job.h>
+-#include <kio/jobclasses.h>
+-#include <kio/scheduler.h>
+-
+-#include <klocale.h>
+-
+-
+-RefreshImages::RefreshImages()
+-{
+-    //"SELECT asin, locale, filename FROM amazon WHERE refetchdate > %1 ;"
+-    const QStringList staleImages = CollectionDB::instance()->staleImages();
+-    QStringList::ConstIterator it = staleImages.begin();
+-    QStringList::ConstIterator end = staleImages.end();
+-
+-    while( it != end )
+-    {
+-        QString asin=*it;
+-        it++;
+-        QString locale = *it;
+-        it++;
+-        QString md5sum = *it;
+-        if ( asin.isEmpty() || locale.isEmpty() || md5sum.isEmpty() )
+-        {
+-            //somehow we have entries without ASIN
+-            if ( !md5sum.isEmpty() ) //I've never seen this, just to be sure
+-                CollectionDB::instance()->removeInvalidAmazonInfo(md5sum);
+-            it++;
+-            if ( it==end )
+-                deleteLater();
+-
+-            continue;
+-        }
+-
+-        QString url =
+-            QString("http://webservices.amazon.%1/onca/xml?Service=AWSECommerceService&SubscriptionId=%2&Operation=ItemLookup&ItemId=%3&ResponseGroup=Small,Images")
+-             .arg(localeToTLD(locale))
+-             .arg("0RQSQ0B8CRY7VX2VF3G2") //Ian Monroe
+-             .arg(asin);
+-
+-        debug() << url << endl;
+-
+-        KIO::TransferJob* job = KIO::storedGet( url, false, false );
+-        KIO::Scheduler::scheduleJob( job );
+-
+-        //Amarok::StatusBar::instance()->newProgressOperation( job );
+-        job->setName( md5sum.ascii() );
+-        it++; //iterate to the next set
+-
+-        m_jobInfo[md5sum] = JobInfo( asin, locale, it == end );
+-        connect( job, SIGNAL( result( KIO::Job* ) ), SLOT( finishedXmlFetch( KIO::Job* ) ) );
+-    }
+-}
+-
+-void
+-RefreshImages::finishedXmlFetch( KIO::Job* xmlJob ) //SLOT
+-{
+-    if ( xmlJob->error() )
+-    {
+-        Amarok::StatusBar::instance()->shortMessage( i18n( "There was an error communicating with Amazon." ) );
+-        if ( m_jobInfo[ xmlJob->name() ].m_last )
+-            deleteLater();
+-
+-        return;
+-    }
+-
+-    KIO::StoredTransferJob* const storedJob = static_cast<KIO::StoredTransferJob*>( xmlJob );
+-    const QString xml = QString::fromUtf8( storedJob->data().data(), storedJob->data().size() );
+-
+-    QDomDocument doc;
+-    if ( !doc.setContent( xml ) )
+-      return;
+-
+-    QStringList imageSizes;
+-    imageSizes << "LargeImage" << "MediumImage" << "SmallImage";
+-    QString imageUrl;
+-    foreach( imageSizes )
+-    {
+-        QDomNode imageNode = doc.documentElement()
+-            .namedItem( "Items" )
+-            .namedItem( "Item" )
+-            .namedItem( *it );
+-        if ( !imageNode.isNull() )
+-        {
+-            imageUrl = imageNode.namedItem( "URL" ).firstChild().toText().data();
+-            if( !imageUrl.isEmpty() )
+-                break;
+-        }
+-    }
+-    debug() << imageUrl << endl;
+-    KURL testUrl( imageUrl );
+-    if( !testUrl.isValid() ) //KIO crashs on empty strings!!!
+-    {
+-        //Amazon sometimes takes down covers
+-        CollectionDB::instance()->removeInvalidAmazonInfo(xmlJob->name());
+-        return;
+-    }
+-
+-    KIO::TransferJob* imageJob = KIO::storedGet( imageUrl, false, false );
+-    KIO::Scheduler::scheduleJob(imageJob);
+-    //Amarok::StatusBar::instance()->newProgressOperation( imageJob );
+-    imageJob->setName(xmlJob->name());
+-    //get the URL of the detail page
+-    m_jobInfo[xmlJob->name()].m_detailUrl = doc.documentElement()
+-       .namedItem( "Items" )
+-       .namedItem( "Item" )
+-       .namedItem( "DetailPageURL" ).firstChild().toText().data();
+-    connect( imageJob, SIGNAL( result(KIO::Job*) ), SLOT( finishedImageFetch(KIO::Job*) ) );
+-}
+-
+-void RefreshImages::finishedImageFetch(KIO::Job* imageJob)
+-{
+-   if( imageJob->error() ) {
+-        Amarok::StatusBar::instance()->shortMessage(i18n("There was an error communicating with Amazon."));
+-        if(m_jobInfo[imageJob->name()].m_last)
+-            deleteLater();
+-
+-        return;
+-    }
+-    QImage img;
+-    img.loadFromData(static_cast<KIO::StoredTransferJob*>(imageJob)->data());
+-    img.setText( "amazon-url", 0, m_jobInfo[imageJob->name()].m_detailUrl);
+-    img.save( Amarok::saveLocation("albumcovers/large/") + imageJob->name(), "PNG");
+-
+-    CollectionDB::instance()->newAmazonReloadDate( m_jobInfo[imageJob->name()].m_asin
+-        , m_jobInfo[imageJob->name()].m_locale
+-        , imageJob->name());
+-
+-    if(m_jobInfo[imageJob->name()].m_last)
+-        deleteLater();
+-}
+-
+-QString RefreshImages::localeToTLD(const QString& locale)
+-{
+-    if(locale=="us")
+-        return "com";
+-    else if(locale=="jp")
+-        return "co.jp";
+-    else if(locale=="uk")
+-        return "co.uk";
+-    else
+-        return locale;
+-}
+-
+-#include "refreshimages.moc"
+diff -urN amarok-1.4.10/amarok/src/refreshimages.h.coverfetcher amarok-1.4.10/amarok/src/refreshimages.h
+--- amarok-1.4.10/amarok/src/refreshimages.h.coverfetcher	2009-08-22 11:38:19.644775619 -0400
++++ amarok-1.4.10/amarok/src/refreshimages.h	1969-12-31 19:00:00.000000000 -0500
+@@ -1,38 +0,0 @@
+-// (c) 2005 Ian Monroe <ian at monroe.nu>
+-// See COPYING file for licensing information.
+-
+-#ifndef AMAROK_REFRESHIMAGES_H
+-#define AMAROK_REFRESHIMAGES_H
+-
+-#include <qobject.h>
+-namespace KIO {
+-    class StoredTransferJob;
+-    class Job;
+-}
+-class QStringList;
+-
+-class JobInfo
+-{
+-  public:
+-    JobInfo() : m_last(false) { } //for QMap
+-    JobInfo(const QString& asin, const QString& locale, bool last) :
+-      m_asin(asin), m_locale(locale), m_last(last) { }
+-    QString m_asin;
+-    QString m_locale;
+-    QString m_detailUrl;
+-    bool m_last;
+-};
+-
+-class RefreshImages : public QObject
+-{
+-    Q_OBJECT
+-  public:
+-    RefreshImages();
+-  private slots:
+-    void finishedXmlFetch( KIO::Job* );
+-    void finishedImageFetch( KIO::Job* );
+-  private:
+-    static QString localeToTLD(const QString& locale);
+-    QMap<QString, JobInfo> m_jobInfo;
+-};
+-#endif
diff --git a/amarok.spec~ b/amarok.spec~
new file mode 100644
index 0000000..346f190
--- /dev/null
+++ b/amarok.spec~
@@ -0,0 +1,766 @@
+
+%if 0%{?fedora} < 9
+# define to include konquisidebar support for kde3 desktop
+%define konq 1
+%endif
+
+%if 0%{?fedora} > 6 
+%define kdelibs3 kdelibs3
+%define kdebase3 kdebase3
+%else
+%define kdelibs3 kdelibs
+%define kdebase3 kdebase
+# workaround missing dep on rhel5
+BuildRequires:  libutempter-devel
+%endif
+
+%if 0%{?fedora}
+%define _with_ifp --with-ifp
+%define _with_libgpod --with-libgpod
+%define _with_libmtp --with-libmtp
+%define _with_libnjb --with-libnjb
+%define _with_libvisual --with-libvisual
+%endif
+%define _with_mp4v2 --with-mp4v2
+
+%define snap 20090624
+
+%if 0%{?fedora} > 9
+Conflicts: amarok > 1.9
+Obsoletes: amarok < 1.5
+Name:       amarok1
+%else
+Name:       amarok
+%endif
+Summary:    Media player
+Version:    1.4.10
+Release:    7.%{snap}svn%{?dist}
+
+Group: 	    Applications/Multimedia
+License:    GPLv2+
+Url:        http://amarok.kde.org
+Source0:    ftp://ftp.kde.org/pub/kde/stable/amarok/%{version}/src/amarok-%{version}.tar.bz2
+BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Patch1:     amarok-1.4.8-gcc43.patch
+# Use xdg-open to start the selected browser
+Patch2:     amarok-1.4.7-xdg.patch
+# Fix for newer libmtp >= 0.3
+Patch3:     amarok-1.4.10-libmtp03.patch 
+Patch4:     amarok-1.4.10-gcc44.patch
+
+## upstream patches
+# security backport: http://websvn.kde.org/?view=rev&revision=908415
+Patch100:   amarok-1.4.10-aa_security.patch
+# fix wikipedia, see also https://bugs.edge.launchpad.net/ubuntu/+source/amarok/+bug/316140
+# updated from http://www.silvado.com/amarok
+Patch101:   amarok-1.4.10-wikipedia-2.patch
+# fix coverfetched, see http://forum.kde.org/viewtopic.php?f=117&t=76607
+Patch102:   amarok-1.4.10-coverfetcher.patch
+
+# basically output from svn.sh, edited manually a bit to apply
+Patch200: amarok-%{snap}svn.patch
+
+BuildRequires:  alsa-lib-devel
+BuildRequires:  desktop-file-utils
+BuildRequires:  esound-devel
+BuildRequires:  gettext
+%{?_with_helix:BuildRequires:  HelixPlayer}
+BuildRequires:  %{kdelibs3}-devel
+%if 0%{?konq}
+BuildRequires:  %{kdebase3}-devel
+%else
+Obsoletes: amarok-konqueror < %{version}-%{release}
+%endif
+BuildRequires:  taglib-devel 
+%{?_with_ifp:BuildRequires:  libifp-devel}
+# Ipod
+%{?_with_libgpod:BuildRequires:  libgpod-devel}
+%{?_with_mp4v2:BuildRequires: libmp4v2-devel}
+# MTP players
+%{?_with_libmtp:BuildRequires:  libmtp-devel}
+BuildRequires:  libmusicbrainz-devel
+# Creative Nomad Jukebox
+%{?_with_libnjb:BuildRequires:  libnjb-devel}
+BuildRequires:  libtool
+%if 0%{?fedora} > 4 || 0%{?rhel} > 4
+BuildRequires:  libtool-ltdl-devel
+%endif
+BuildRequires:  libtunepimp-devel
+BuildRequires:  libusb-devel
+%{?_with_libvisual:BuildRequires:  libvisual-devel}
+BuildRequires:  mysql-devel
+BuildRequires:  postgresql-devel
+BuildRequires:  ruby-devel ruby
+BuildRequires:  SDL-devel
+BuildRequires:  taglib-devel
+BuildRequires:  xine-lib-devel
+# not used anymore, in favor of libvisual ? -- Rex
+#%{?fedora:BuildRequires:  xmms-devel}
+
+# For dir ownership and some default plugins (lyrics), -ruby subpkg?  -- Rex
+Requires:  ruby
+
+# To open the selected browser, works with Patch2
+Requires:  xdg-utils
+
+Obsoletes: amarok-arts < 1.3, amarok-akode < 1.3
+
+Obsoletes: amarok-devel < %{version}-%{release}
+%if 0%{?fedora} > 6 && 0%{?fedora} < 9
+# need to keep this around for previous releases, so not to break multilib compat.
+Provides:  amarok-devel = %{version}-%{release}
+%endif
+
+# engines, etc...
+# old, obsolete ones: arts, akode
+Obsoletes: amarok-arts < 1.3, amarok-akode < 1.3
+# xine-lib
+Provides: %{name}-engine-xine = %{version}-%{release}
+
+
+%description
+Amarok is a multimedia player with:
+ - fresh playlist concept, very fast to use, with drag and drop
+ - plays all formats supported by the various engines
+ - audio effects, like reverb and compressor
+ - compatible with the .m3u and .pls formats for playlists
+ - nice GUI, integrates into the KDE look, but with a unique touch
+
+%if 0%{?_with_helix:1}
+Amarok can use various engines to decode sound : helix and xine.
+To use the helix engine, you need to install either HelixPlayer
+or RealPlayer
+%endif
+
+%package konqueror
+Summary: Amarok konqueror (service menus, sidebar) support
+Group:   Applications/Multimedia
+Requires: %{name} = %{version}-%{release}
+%description konqueror
+%{summary}.
+
+%if 0%{?_with_libvisual:1}
+%package visualisation
+Summary:    Visualisation plugins for Amarok
+Group:      Applications/Multimedia
+Requires:   %{name} = %{version}-%{release}
+# No plugins by default, we need libvisual-plugins
+%if "%{name}" != "amarok"
+Obsoletes: amarok-visualisation < 1.5
+%endif
+Requires:   libvisual-plugins
+%description visualisation
+Amarok can use visualisation plugins from different origins.
+Right now, only xmms is supported, which means that you can
+use any of xmms' visualisation plugins with Amarok.
+%endif
+
+
+%prep
+%setup -q -n amarok-%{version}
+
+%if 0%{?snap:1} 
+pushd amarok
+%patch200 -p0 -b .svn
+popd
+%else
+%patch100 -p4 -b .aa_security
+%patch101 -p1 -b .wikipedia
+%patch1 -p1 -b .gcc43
+%patch4 -p1 -b .gcc44
+%endif
+
+%patch2 -p1 -b .xdg
+%if 0%{?_with_libmtp:1} && "%(pkg-config --modversion libmtp 2>/dev/null)" >= "0.3.0"
+%patch3 -p1 -b .libmtp03
+%endif
+
+
+%build
+unset QTDIR && . %{_sysconfdir}/profile.d/qt.sh
+
+%configure \
+     --disable-debug --disable-warnings \
+     --disable-rpath \
+     --enable-mysql \
+     --enable-postgresql \
+     %{?_with_helix} %{!?_with_helix:--without-helix} \
+     %{?_with_ifp} %{!?_with_ifp:--without-ifp} \
+     %{?_with_libgpod} %{!?_with_libgpod:--without-libgpod} \
+     %{?_with_libmtp} %{!?_with_libmtp:--without-libmtp} \
+     %{?_with_libnjb} %{!?_with_libnjb:--without-libnjb}  \
+     %{?_with_libvisual} %{!?_with_libvisual:--without-libvisual} \
+     %{?_with_mp4v2} %{!?_with_mp4v2:--without-mp4v2}
+
+make %{?_smp_mflags}
+
+
+%install
+rm -fr $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT 
+
+# unpackaged files
+rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
+%if ! 0%{?konq}
+rm -f $RPM_BUILD_ROOT%{_datadir}/apps/konqueror/servicemenus/*.desktop
+%endif
+
+
+%find_lang amarok 
+# HTML
+for lang_dir in $RPM_BUILD_ROOT%{_docdir}/HTML/* ; do
+  if [ -d $lang_dir ]; then
+    lang=$(basename $lang_dir)
+    [ "$lang" == "en" ] && d=en/amarok || d=$lang
+    echo "%lang($lang) %doc %{_docdir}/HTML/$d" >> amarok.lang
+  fi
+done
+
+
+%check
+desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/kde/amarok.desktop
+
+
+%post
+/sbin/ldconfig
+touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
+
+%postun
+/sbin/ldconfig
+if [ $1 -eq 0 ] ; then
+  update-desktop-database -q &> /dev/null
+  touch --no-create %{_datadir}/icons/hicolor &> /dev/null
+  gtk-update-icon-cache %{_datadir}/icons/hicolor &> /dev/null || :
+fi
+
+%posttrans
+update-desktop-database -q &> /dev/null
+gtk-update-icon-cache %{_datadir}/icons/hicolor &> /dev/null || :
+
+
+%clean
+rm -fr $RPM_BUILD_ROOT
+
+
+%files -f amarok.lang
+%defattr(-,root,root,-)
+%doc COPYING AUTHORS ChangeLog README
+%{_bindir}/amarok
+%{_bindir}/amarokapp
+%{_bindir}/amarokcollectionscanner
+%{_bindir}/amarok_proxy.rb
+%{_datadir}/apps/amarok/
+%{_datadir}/icons/hicolor/*/*/*
+%{_datadir}/applications/kde/amarok.desktop
+%{_datadir}/servicetypes/*.desktop
+%{_datadir}/apps/profiles/amarok.profile.xml
+%{_datadir}/config/amarokrc
+%{_datadir}/config.kcfg/*.kcfg
+%{_datadir}/services/amarokitpc.protocol
+%{_datadir}/services/amaroklastfm.protocol
+%{_datadir}/services/amarokpcast.protocol
+# -libs ?  -- Rex
+%{_libdir}/libamarok.*
+# -ruby ? -- Rex
+%{_libdir}/ruby_lib/*
+# DAAP
+%{_bindir}/amarok_daapserver.rb
+%{_libdir}/kde3/libamarok_daap-mediadevice.*
+%{_datadir}/services/amarok_daap-mediadevice.desktop
+# Mass-storage
+%{_datadir}/services/amarok_massstorage-device.desktop
+%{_libdir}/kde3/libamarok_massstorage-device.*
+# NFS
+%{_datadir}/services/amarok_nfs-device.desktop
+%{_libdir}/kde3/libamarok_nfs-device.*
+# SMB
+%{_datadir}/services/amarok_smb-device.desktop
+%{_libdir}/kde3/libamarok_smb-device.*
+%if 0%{?_with_libgpod:1}
+# IPod
+%{_datadir}/services/amarok_ipod-mediadevice.desktop
+%{_libdir}/kde3/libamarok_ipod-mediadevice.*
+%endif
+# VFAT
+%{_datadir}/services/amarok_generic-mediadevice.desktop
+%{_libdir}/kde3/libamarok_generic-mediadevice.*
+%if 0%{?_with_ifp:1}
+# iRiver
+%{_datadir}/services/amarok_ifp-mediadevice.desktop
+%{_libdir}/kde3/libamarok_ifp-mediadevice.*
+%endif
+%if 0%{?_with_libnjb:1}
+# Creative Zen
+%{_datadir}/services/amarok_njb-mediadevice.desktop
+%{_libdir}/kde3/libamarok_njb-mediadevice.*
+%endif
+%if 0%{?_with_libmtp:1}
+# MTP players
+%{_datadir}/services/amarok_mtp-mediadevice.desktop
+%{_libdir}/kde3/libamarok_mtp-mediadevice.*
+%endif
+# Rio Karma
+#%{_datadir}/services/amarok_riokarma-mediadevice.desktop
+#%{_libdir}/kde3/libamarok_riokarma-mediadevice.*
+# Void engine (noop)
+%{_datadir}/services/amarok_void-engine_plugin.desktop
+%{_libdir}/kde3/libamarok_void-engine_plugin.*
+# Xine engine
+%{_datadir}/services/amarok_xine-engine.desktop
+%{_libdir}/kde3/libamarok_xine-engine.*
+## Gstreamer engine
+#%{_datadir}/services/amarok_gst10engine_plugin.desktop
+#%{_libdir}/kde3/libamarok_gst10engine_plugin.*
+# Helix engine
+%if 0%{?_with_helix:1}
+%{_libdir}/kde3/libamarok_helixengine_plugin.*
+%{_datadir}/services/amarok_helixengine_plugin.desktop
+%endif
+
+%if 0%{?konq}
+%files konqueror
+%defattr(-,root,root,-)
+%{_datadir}/apps/konqueror/servicemenus/*.desktop
+%{_libdir}/kde3/konqsidebar_universalamarok.*
+%{_datadir}/apps/konqsidebartng/*/amarok.desktop
+%endif
+
+%if 0%{?_with_libvisual:1}
+%files visualisation
+%defattr(-,root,root,-)
+%{_bindir}/amarok_libvisual
+%endif
+
+
+%changelog
+* Mon Nov 09 2009 Rex Dieter <rdieter at fedoraproject.org> - 1.4.10-7.20090624
+- updated wikipedia patch too (#523071)
+
+* Mon Nov 09 2009 Rex Dieter <rdieter at fedoraproject.org> - 1.4.10-6.20090624
+- coverfetcher patch (#523071)
+
+* Wed Jun 24 2009 Rex Dieter <rdieter at fedoraproject.org> - 1.4.10-5.20090624
+- pull latest upstream translations, bugfixes
+- make buildable on F-10+ as amarok1
+- adjust wikipedia patch (to match upstream svn)
+
+* Tue Apr 14 2009 Rex Dieter <rdieter at fedoraproject.org> - 1.4.10-4
+- libmtp03 patch (unused here, but others may find it useful)
+- optimize scriptlets
+- enable libmp4v2 support (el5)
+
+* Mon Apr 13 2009 Rex Dieter <rdieter at fedoraproject.org> - 1.4.10-3
+- fix wikipedia access
+
+* Mon Jan 12 2009 Rex Dieter <rdieter at fedoraproject.org> - 1.4.10-2
+- backport security patch
+
+* Wed Aug 13 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.10-1
+- amarok-1.4.10
+
+* Wed Jun 11 2008 Dennis Gilmore <dennis at ausil.us> - 1.4.9.1-4
+- we are building sparc32 as sparcv9 not sparc now  fix ifnarch
+
+* Fri May  2 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.9.1-3
+- fix libnjb support (#444940)
+
+* Thu May  1 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.9.1-2.1
+- --with-libvisual fedora-only (epel misses libvisual-plugins)
+
+* Thu Apr 17 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.9.1-2
+- specfile typo (unclosed macro)
+
+* Tue Apr 15 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.9.1-1
+- amarok-1.4.9.1
+
+* Wed Mar 12 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.8-5
+- -konqueror: drop Obsoletes: %%name < 1.4.8-4 , which breaks 
+  multilib upgrades (#436578)
+
+* Thu Feb 21 2008 Rex Dieter <rdieter at fedoraproject.org> - 1.4.8-4
+- -konqueror subpkg (#426803)
+- fix multiarch conflicts (#340641)
+  drop Provides: amarok-devel (f9+), add Obsoletes: amarok-devel
+- gcc43 patch (#433904)
+
+* Mon Feb 18 2008 Fedora Release Engineering <rel-eng at fedoraproject.org> - 1.4.8-3
+- Autorebuild for GCC 4.3
+
+* Wed Jan 09 2008 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.8-2
+- f9+: don't build/include konq(3) side bar support
+
+* Thu Dec 20 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.8-1
+- amarok-1.4.8
+
+* Fri Dec 07 2007 Alex Lancaster <alexlan[AT]fedoraproject.org> 1.4.7-14
+- Rebuild for new openssl
+
+* Thu Nov 29 2007 Rex Dieter <rdieter[AT]fedoraproejct.org> 1.4.7-13
+- fix --with-mp4v2 handling (#346011#c5,6)
+
+* Thu Nov 29 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.7-12
+- --with-mp4v2 (#346011#c3)
+- fix asf/wma support (rh#346011,kde#151733)
+
+* Wed Nov 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.7-11
+- dynamic mode floods playlist ... (kde #148317)
+
+* Wed Nov 21 2007 Todd Zullinger <tmz at pobox.com> 1.4.7-10
+- rebuild for libgpod-0.6.0
+
+* Tue Nov 20 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 1.4.7-9
+- cosmetics (cleanup/sort BR's mostly)
+- omit "for KDE" from summary/description
+- make gst support toggled by macro (disabled by default)
+
+* Sat Nov 10 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-8
+- rebuild
+
+* Sun Oct 07 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-7
+- use xdg-open to start the configured browser
+
+* Sat Oct 06 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-6
+- add "alpha" to the list of archs where HelixPlayer is not available
+  (bug 318431)
+
+* Fri Sep 28 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-5
+- add patch 1 to fix Fedora bug 242862: Amarok doesn't support transfer
+  of Unicode filenames to MTP devices
+
+* Sun Sep 02 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-4
+- add patch for kde bug 147126 : amarok freezes when trying to play
+  mp3 files without mp3 support
+
+* Fri Aug 24 2007 Todd Zullinger <tmz at pobox.com> 1.4.7-3
+- rebuild with libgpod-0.5.2
+
+* Sat Aug 18 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.7-2
+- version 1.4.7
+
+* Sun Aug 05 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.6-3
+- rebuild for new libmtp (bug 250905)
+
+* Wed Jun 27 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.6-2
+- add explicit Requires on kdelibs >= 3.5.7 to fix bug 245386
+
+* Mon Jun 18 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.6-1
+- version 1.4.6
+
+* Mon Feb 19 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.5-4
+- have the visualisation subpackage require libvisual-plugins (bug 229131)
+
+* Thu Feb 15 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.5-3
+- fix patch (provided by upstream)
+
+* Wed Feb 14 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.5-2
+- add patch to fix CVE-2006-6979 (bug 228138)
+
+* Sat Feb 03 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.5-1
+- version 1.4.5
+- drop patch0 and patch1 (merged upstream)
+
+* Thu Jan 25 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-7
+- add patch to enable building with libgpod >= 0.4.2, thanks go to Todd Zullinger
+
+* Wed Jan 17 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-6
+- rebuild for new libgpod
+
+* Thu Jan 11 2007 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-5
+- HelixPlayer is not available on Sparc, exclude it from this arch too
+  (#221058)
+
+* Tue Dec 19 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-4
+- add patch to make lastfm work with xine-lib 1.1.3 (sent by upstream)
+
+* Sat Dec 09 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-3
+- rebuild
+
+* Wed Dec 06 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-2
+- rebuild
+
+* Fri Oct 27 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.4-1
+- version 1.4.4
+- enable xine support since xine is now in Fedora
+
+* Sat Oct 07 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-6
+- rebuild for new libtunepimp
+
+* Thu Oct 05 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-5
+- add libmtp support
+
+* Sun Oct 01 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-4
+- rebuild
+
+* Fri Sep 15 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-3
+- add patch for playlist encoding
+
+* Wed Sep 13 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-2
+- buildrequires ruby-devel (checked by configure)
+
+* Wed Sep 13 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.3-1
+- update to 1.4.3
+
+* Thu Aug 31 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.2-2
+- add amarok patchset 1
+
+* Wed Aug 30 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.2-1
+- update to 1.4.2
+- don't build on x86_64 (requested by the amarok devs)
+
+* Wed Jul 19 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.1-3
+- fix the gstreamer engine (wrong X-KDE-Amarok-framework-version)
+
+* Sat Jul 08 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.1-2
+- BuildRequires ruby
+
+* Sat Jul 08 2006 Aurelien Bompard <abompard at fedoraproject.org> 1.4.1-1
+- version 1.4.1
+- make it possible to build the gst10 engine with a "--with gst10" switch
+
+* Wed May 24 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4.0-5
+- Require HelixPlayer on archs where it is the only engine available
+
+* Sun May 21 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4.0-4
+- really fix building gst engine on x86_64
+
+* Sun May 21 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4.0-3
+- missing buildrequires
+
+* Sun May 21 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4.0-2
+- gstreamer engine has been disabled, bring it back in SOURCE1
+  where Helix is unavailable (only engine available)
+
+* Mon May 15 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-1
+- version 1.4 final
+
+* Mon May 01 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.13.rc1
+- rc1
+
+* Fri Apr 14 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.12.beta3
+- add patch to make Gstreamer sufficient to build (only engine available
+  on x86_64
+
+* Sun Apr 09 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.11.beta3
+- drop the non-free bits
+- beta 3 (akode has been disabled)
+
+* Wed Mar 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.10.beta2
+- enable libgpod support
+
+* Wed Mar 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.9.beta2
+- make amarok build even with gstreamer only
+
+* Sun Mar 05 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.8.beta2
+- version 1.4 beta2
+
+* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.7.beta1
+- disable build of Helix engine on x86_64
+
+* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.6.beta1
+- remove requirement on HelixPlayer for x86_64, amarok include the headers
+
+* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.5.beta1
+- build Helix engine on x86_64
+
+* Wed Feb 22 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.4.beta1
+- fix gstramer 0.10 detection again
+
+* Mon Feb 20 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.3.beta1
+- fix gstreamer 0.10 detection
+
+* Fri Feb 17 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.1.beta1
+- fix gstreamer dependency
+
+* Wed Feb 15 2006 Aurelien Bompard <gauret[AT]free.fr> 1.4-0.1.beta1
+- version 1.4-beta1
+
+* Sun Feb 12 2006 Aurelien Bompard <gauret[AT]free.fr> 1.3.8-2
+- fix BR for gstreamer < 0.10
+
+* Sat Jan 21 2006 Aurelien Bompard <gauret[AT]free.fr> 1.3.8-1
+- version 1.3.8
+
+* Wed Dec 07 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.7-1
+- version 1.3.7
+
+* Sun Nov 20 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.6-2
+- build with libtunepimp
+- add patch to use libtunepimp 0.4.0 (api changed)
+
+* Tue Nov 08 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.6-1
+- version 1.3.6
+- BR libGL instead of xorg-x11-Mesa-libGL to prepare for X11R7
+
+* Tue Oct 25 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.5-1
+- version 1.3.5
+
+* Mon Oct 24 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.4-1
+- version 1.3.4
+- add mysql and postgresql support
+- update desktop database
+- add %%doc files
+
+* Thu Oct 13 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.3-1
+- version 1.3.3
+- drop endian patch
+
+* Wed Sep 21 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.2-1
+- version 1.3.2
+- remove patch 4 (applied upstream)
+
+* Sat Sep 10 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.1-2
+- add patch from upstream to fix alsasink in gstreamer
+- default to autoaudiosink for gstreamer
+
+* Mon Sep 05 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3.1-1
+- version 1.3.1
+
+* Tue Aug 23 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-6
+- add version to obsoletes
+
+* Tue Aug 23 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-5
+- add missing Obsoletes.
+
+* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-4
+- fix endian declaration on ppc
+
+* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-3
+- dont build the Helix engine on arches where HelixPlayer is not built
+
+* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-2
+- disable the akode engine (disabled upstream, see Changelog)
+- merge in the Helix engine, since it does not have special Requires.
+  HelixPlayer or RealPlayer need to be installed manually (either one)
+- updated description
+
+* Mon Aug 22 2005 Aurelien Bompard <gauret[AT]free.fr> 1.3-1
+- update to version 1.3
+- add Michel Salim's improvements:
+  - call gtk-update-icon-cache to (de-)register icons
+  - new output plugin subpackage: helix
+  - patched gst and helix plugins' default settings
+
+* Fri Jul 01 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.4-6
+- remove -arts subpackage, it is useless
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-6.fc5
+- remove temporary work-around from 1.2.4-2.fc4
+- add patch to fix several missing forward declarations which let
+  compilation with gcc >= 4.0.0-9 fail
+- re-enable SMP make flags
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-5.fc4
+- disable SMP make flags, since previous release failed miserably on
+  i386 while the one before it succeeded
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-4.fc4
+- set QTLIB and QTINC, so configure script does not search for Qt in
+  QTDIR/lib64 on 64-bit multilib platforms
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-3.fc4
+- try to fix build problems (#158654): always set QTDIR, always
+  buildrequire libtool-ltdl-devel, disable %%fedora conditional BR
+
+* Thu Jun  2 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 1.2.4-2.fc4
+- temporarily add patch to work around Fedora Core bug 159090
+
+* Mon May 23 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.4-1
+- version 1.2.4
+- use dist tag
+- conditional builds for fc3 and fc4
+
+* Sun May 22 2005 Jeremy Katz <katzj at redhat.com> - 1.2.3-2.fc4
+- rebuild on all arches
+
+* Tue Mar 29 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.3-1.fc4
+- version 1.2.3
+- add libtool to BuildRequirements
+- change release tag for FC4
+- add a subpackage for aKode engine
+
+* Mon Mar 14 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.2-1
+- version 1.2.2
+
+* Sat Mar 05 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2.1-1
+- version 1.2.1 (bugfixes)
+
+* Mon Feb 14 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2-2
+- show in the GNOME menus too
+
+* Sun Feb 13 2005 Aurelien Bompard <gauret[AT]free.fr> 1.2-1
+- version 1.2 final
+- drop --disable-rpath, won't build with it.
+- drop epoch
+
+* Thu Feb 10 2005 Aurelien Bompard <gauret[AT]free.fr> 0:1.2-0.2.beta4
+- version 1.2 beta 4
+
+* Sat Nov 27 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.2-0.fdr.0.1.beta1
+- version 1.2beta 1
+- minor cleanups
+- don't ship the desktop files, split the provided one instead
+
+* Sun Oct 24 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.1-0.fdr.2
+- clean-up buildrequires
+- fix --with xine switch
+- make a -visualisation subpackage for visualisation plugins
+- make a -arts subpackage to lower dependencies
+
+* Wed Oct 20 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.1-0.fdr.1
+- version 1.1.1
+
+* Mon Sep 27 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.0-0.fdr.2
+- improve buildrequires
+
+* Sun Sep 26 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.0-0.fdr.1
+- version 1.1 final
+
+* Tue Sep 14 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.1.0-0.fdr.0.1.beta2
+- version 1.1 beta2
+
+* Thu Aug 05 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.2-0.fdr.1
+- version 1.0.2
+- added new xine engine
+
+* Tue Jul 13 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.1-0.fdr.3
+- remove BR: libselinux-devel: RH fixed the bug
+
+* Wed Jun 30 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.1-0.fdr.2
+- add Requires: xorg-x11-devel because of a qt packaging bug
+
+* Tue Jun 29 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0.1-0.fdr.1
+- version 1.0.1 (bugfixes)
+
+* Mon Jun 21 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.3
+- remove BR: xine-lib-devel
+- add BR: xorg-x11-Mesa-libGL and libselinux-devel
+
+* Thu Jun 17 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.2
+- add translations
+
+* Thu Jun 17 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.1
+- version 1.0 final
+
+* Tue Jun 01 2004 Aurelien Bompard <gauret[AT]free.fr> 0:1.0-0.fdr.0.1.beta4
+- update to beta4
+
+* Sun May 09 2004 Aurelien Bompard <gauret[AT]free.fr> 1.0-0.fdr.0.1.beta3
+- version 1.0-beta3
+
+* Fri Apr 23 2004 Aurelien Bompard <gauret[AT]free.fr> 1.0-0.fdr.0.1.beta2
+- version 1.0-beta2
+- use desktop-file-install
+- remove .la files
+- remove --enable-final (won't build with it)
+
+* Thu Apr 15 2004 Aurelien Bompard <gauret[AT]free.fr> 1.0-0.fdr.0.1.beta1
+- version 1.0-beta1
+- reduce BuildRequires : arts-devel already requires arts, libvorbis-devel
+  and audiofile-devel
+
+* Mon Mar 08 2004 Aurelien Bompard <gauret[AT]free.fr> 0:0.9-0.fdr.1
+- version 0.9
+
+* Wed Feb 11 2004 Aurelien Bompard <gauret[AT]free.fr> 0.8.3-0.fdr.1
+- initial package


More information about the scm-commits mailing list