Revision: 2070
          http://gtkpod.svn.sourceforge.net/gtkpod/?rev=2070&view=rev
Author:   teuf
Date:     2008-07-29 20:11:37 +0000 (Tue, 29 Jul 2008)

Log Message:
-----------
Some public API work, hide ItdbThumbType as well as ItdbThumbIpod

Modified Paths:
--------------
    libgpod/trunk/src/itdb.h
    libgpod/trunk/src/itdb_thumb.c
    libgpod/trunk/src/itdb_thumb.h
    libgpod/trunk/tests/test-covers.c
    libgpod/trunk/tests/test-photos.c

Modified: libgpod/trunk/src/itdb.h
===================================================================
--- libgpod/trunk/src/itdb.h    2008-07-29 20:11:04 UTC (rev 2069)
+++ libgpod/trunk/src/itdb.h    2008-07-29 20:11:37 UTC (rev 2070)
@@ -478,18 +478,6 @@
 /* one star is how much (track->rating) */
 #define ITDB_RATING_STEP 20
 
-/* Types of thumbnails in Itdb_Image */
-enum _ItdbThumbDataType {
-    ITDB_THUMB_TYPE_INVALID,
-    ITDB_THUMB_TYPE_FILE,
-    ITDB_THUMB_TYPE_MEMORY,
-    ITDB_THUMB_TYPE_PIXBUF,
-    ITDB_THUMB_TYPE_IPOD
-};
-typedef enum _ItdbThumbDataType ItdbThumbDataType;
-
-
-
 struct _Itdb_Artwork {
     Itdb_Thumb *thumbnail;
     guint32 id;            /* Artwork id used by photoalbums, starts at
@@ -1210,6 +1198,9 @@
 
 /* itdb_thumb_... */
 Itdb_Thumb *itdb_thumb_duplicate (Itdb_Thumb *thumb);
+gpointer itdb_thumb_to_pixbuf_at_size (Itdb_Device *dev, Itdb_Thumb *thumb,  
+                                       gint width, gint height); 
+GList *itdb_thumb_to_pixbufs (Itdb_Device *dev, Itdb_Thumb *thumb); 
 void itdb_thumb_free (Itdb_Thumb *thumb);
 
 /* itdb_chapterdata_... */

Modified: libgpod/trunk/src/itdb_thumb.c
===================================================================
--- libgpod/trunk/src/itdb_thumb.c      2008-07-29 20:11:04 UTC (rev 2069)
+++ libgpod/trunk/src/itdb_thumb.c      2008-07-29 20:11:37 UTC (rev 2070)
@@ -504,7 +504,7 @@
     return pixbuf;
 }
 
-GList *itdb_thumb_ipod_to_pixbufs (Itdb_Device *dev, Itdb_Thumb_Ipod *thumb)
+static GList *itdb_thumb_ipod_to_pixbufs (Itdb_Device *dev, Itdb_Thumb_Ipod 
*thumb)
 {
         const GList *items;
         GList *pixbufs = NULL;
@@ -524,6 +524,28 @@
 
         return pixbufs;
 }
+
+GList *itdb_thumb_to_pixbufs (Itdb_Device *dev, Itdb_Thumb *thumb)
+{
+    GList *pixbufs = NULL;
+    GdkPixbuf *pixbuf;
+
+    switch (thumb->data_type) {
+    case ITDB_THUMB_TYPE_IPOD:
+        pixbufs = itdb_thumb_ipod_to_pixbufs (dev, (Itdb_Thumb_Ipod *)thumb);
+        break;
+    case ITDB_THUMB_TYPE_FILE:
+    case ITDB_THUMB_TYPE_MEMORY:
+    case ITDB_THUMB_TYPE_PIXBUF:
+        pixbuf = itdb_thumb_to_pixbuf_at_size (dev, thumb, -1, -1);
+        pixbufs = g_list_append (pixbufs, pixbuf);
+        break;
+    case ITDB_THUMB_TYPE_INVALID:
+        g_assert_not_reached ();
+    }
+
+    return pixbufs;
+}
 #else
 gpointer itdb_thumb_to_pixbuf_at_size (Itdb_Device *dev, Itdb_Thumb *thumb, 
                                        gint width, gint height)
@@ -531,7 +553,8 @@
     return NULL;
 }
 
-GList *itdb_thumb_ipod_to_pixbufs (Itdb_Device *dev, Itdb_Thumb_Ipod *thumb)
+
+GList *itdb_thumb_to_pixbufs (Itdb_Device *dev, Itdb_Thumb *thumb) 
 {
     return NULL;
 }

Modified: libgpod/trunk/src/itdb_thumb.h
===================================================================
--- libgpod/trunk/src/itdb_thumb.h      2008-07-29 20:11:04 UTC (rev 2069)
+++ libgpod/trunk/src/itdb_thumb.h      2008-07-29 20:11:37 UTC (rev 2070)
@@ -26,6 +26,16 @@
 #include "itdb.h"
 #include "itdb_device.h"
 
+/* Types of thumbnails in Itdb_Image */
+enum _ItdbThumbDataType {
+    ITDB_THUMB_TYPE_INVALID,
+    ITDB_THUMB_TYPE_FILE,
+    ITDB_THUMB_TYPE_MEMORY,
+    ITDB_THUMB_TYPE_PIXBUF,
+    ITDB_THUMB_TYPE_IPOD
+};
+typedef enum _ItdbThumbDataType ItdbThumbDataType;
+
 /* The Itdb_Thumb structure can represent two slightly different
    thumbnails:
 
@@ -105,10 +115,7 @@
 G_GNUC_INTERNAL char *itdb_thumb_ipod_get_filename (Itdb_Device *device, 
Itdb_Thumb_Ipod_Item *thumb);
 G_GNUC_INTERNAL Itdb_Thumb_Ipod_Item *itdb_thumb_ipod_get_item_by_type 
(Itdb_Thumb *thumbs,
                                                         const 
Itdb_ArtworkFormat *format);
-G_GNUC_INTERNAL 
-gpointer itdb_thumb_ipod_item_to_pixbuf (Itdb_Device *device, 
-                                         Itdb_Thumb_Ipod_Item *item); 
-gpointer itdb_thumb_to_pixbuf_at_size (Itdb_Device *dev, Itdb_Thumb *thumb, 
-                                       gint width, gint height);
-GList *itdb_thumb_ipod_to_pixbufs (Itdb_Device *dev, Itdb_Thumb_Ipod *thumb);
+G_GNUC_INTERNAL gpointer
+itdb_thumb_ipod_item_to_pixbuf (Itdb_Device *device, 
+                                Itdb_Thumb_Ipod_Item *item); 
 #endif

Modified: libgpod/trunk/tests/test-covers.c
===================================================================
--- libgpod/trunk/tests/test-covers.c   2008-07-29 20:11:04 UTC (rev 2069)
+++ libgpod/trunk/tests/test-covers.c   2008-07-29 20:11:37 UTC (rev 2070)
@@ -64,11 +64,11 @@
         static guint count = 0;
         GList *it;
         GList *thumbs;
-        Itdb_Thumb_Ipod *thumb = (Itdb_Thumb_Ipod*)song->artwork->thumbnail;
-        if (thumb == NULL) {
+        if (song->artwork->thumbnail == NULL) {
             return;
         }
-        thumbs = itdb_thumb_ipod_to_pixbufs (song->itdb->device, thumb);
+        thumbs = itdb_thumb_to_pixbufs (song->itdb->device,
+                                        song->artwork->thumbnail);
        for (it = thumbs; it != NULL; it = it->next) {
                 GdkPixbuf *pixbuf;
 

Modified: libgpod/trunk/tests/test-photos.c
===================================================================
--- libgpod/trunk/tests/test-photos.c   2008-07-29 20:11:04 UTC (rev 2069)
+++ libgpod/trunk/tests/test-photos.c   2008-07-29 20:11:37 UTC (rev 2070)
@@ -68,10 +68,8 @@
        GList *it;
        gint i = 0;
         GList *thumbnails;
-        Itdb_Thumb_Ipod *thumb;
 
-        thumb = (Itdb_Thumb_Ipod *)artwork->thumbnail;
-        thumbnails = itdb_thumb_ipod_to_pixbufs (db->device, thumb);
+        thumbnails = itdb_thumb_to_pixbufs (db->device, artwork->thumbnail);
        for (it = thumbnails; it != NULL; it = it->next, i++) {
                gchar *filename, *path;
                 GdkPixbuf *pixbuf;


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to