diff -ur amarok-2.0.96/CMakeLists.txt amarok-2.0.96-old-libgpod/CMakeLists.txt
--- amarok-2.0.96/CMakeLists.txt 2009-05-26 23:22:01.000000000 +0200
+++ amarok-2.0.96-old-libgpod/CMakeLists.txt 2009-05-26 23:22:54.000000000 +0200
@@ -54,10 +54,7 @@
macro_log_feature( STRIGI_FOUND "strigi" "Index metadata of files" "http://strigi.sourceforge.net" TRUE "" "" )
macro_optional_find_package(Ipod)
- if(IPOD_FOUND)
- macro_ensure_version("0.7.0" ${IPOD_VERSION} IPOD_0_7)
- endif(IPOD_FOUND)
- macro_log_feature( IPOD_0_7 "libgpod" "Support Apple iPod audio devices" "http://sourceforge.net/projects/gtkpod/" FALSE "0.7.0" "" )
+ macro_log_feature( IPOD_FOUND "libgpod" "Support Apple iPod audio devices" "http://sourceforge.net/projects/gtkpod/" FALSE "0.6.0" "" )
if( WITH_Ipod )
macro_optional_find_package(Gdk)
diff -ur amarok-2.0.96/src/collection/ipodcollection/CMakeLists.txt amarok-2.0.96-old-libgpod/src/collection/ipodcollection/CMakeLists.txt
--- amarok-2.0.96/src/collection/ipodcollection/CMakeLists.txt 2009-05-26 23:22:01.000000000 +0200
+++ amarok-2.0.96-old-libgpod/src/collection/ipodcollection/CMakeLists.txt 2009-05-26 23:23:35.000000000 +0200
@@ -7,7 +7,7 @@
SET(GDK_LIBRARIES "")
endif(NOT GDK_FOUND)
-if (IPOD_FOUND AND IPOD_0_7 AND WITH_Ipod)
+if (IPOD_FOUND AND WITH_Ipod)
include_directories( ../..
../../plugin
../../meta
@@ -66,4 +66,4 @@
amarok_collection-ipodcollection.desktop
DESTINATION
${SERVICES_INSTALL_DIR})
-endif (IPOD_FOUND AND IPOD_0_7 AND WITH_Ipod)
+endif (IPOD_FOUND AND WITH_Ipod)
diff -ur amarok-2.0.96/src/collection/ipodcollection/handler/IpodHandler.cpp amarok-2.0.96-old-libgpod/src/collection/ipodcollection/handler/IpodHandler.cpp
--- amarok-2.0.96/src/collection/ipodcollection/handler/IpodHandler.cpp 2009-05-26 23:22:01.000000000 +0200
+++ amarok-2.0.96-old-libgpod/src/collection/ipodcollection/handler/IpodHandler.cpp 2009-05-27 00:21:50.000000000 +0200
@@ -1299,7 +1299,68 @@
if( ipodtrack->has_artwork == 0x02 )
return;
- GdkPixbuf *pixbuf = (GdkPixbuf*) itdb_artwork_get_pixbuf( ipodtrack->itdb->device, ipodtrack->artwork, -1, -1 );
+ Itdb_Thumb *thumb = NULL;
+ GdkPixbuf *pixbuf = NULL;
+ QString thumbPath;
+
+ // try small first
+ thumb = itdb_artwork_get_thumb_by_type ( ipodtrack->artwork, ITDB_THUMB_COVER_SMALL );
+
+ // then large if needed
+ if( thumb == NULL)
+ {
+ thumb = itdb_artwork_get_thumb_by_type ( ipodtrack->artwork, ITDB_THUMB_COVER_LARGE );
+ }
+
+ if( thumb != NULL)
+ {
+ pixbuf = (GdkPixbuf*) itdb_thumb_get_gdk_pixbuf( ipodtrack->itdb->device, thumb );
+ }
+ else
+ {
+ GList *thumbs = ipodtrack->artwork->thumbnails;
+
+ for(; thumbs; thumbs = thumbs->next)
+ {
+ Itdb_Thumb *curThumb = ( Itdb_Thumb * )thumbs->data;
+ if( curThumb == NULL)
+ continue;
+
+ switch( curThumb->type )
+ {
+ case ITDB_THUMB_PHOTO_SMALL:
+ break;
+ case ITDB_THUMB_PHOTO_LARGE:
+ break;
+ case ITDB_THUMB_PHOTO_FULL_SCREEN:
+ break;
+ case ITDB_THUMB_PHOTO_TV_SCREEN:
+ break;
+ case ITDB_THUMB_COVER_XLARGE:
+ break;
+ case ITDB_THUMB_COVER_MEDIUM:
+ break;
+ case ITDB_THUMB_COVER_SMEDIUM:
+ break;
+ case ITDB_THUMB_COVER_XSMALL:
+ break;
+
+ default:
+ break;
+ }
+
+ thumb = curThumb;
+ break;
+
+ }
+
+ if( thumb != NULL)
+ {
+ thumbPath = QString::fromUtf8( itdb_thumb_get_filename( ipodtrack->itdb->device, thumb ) );
+ pixbuf = (GdkPixbuf*) itdb_thumb_get_gdk_pixbuf( ipodtrack->itdb->device, thumb );
+ }
+ }
+
if( !pixbuf )
return;