diff options
| author | jcsjcs <jcsjcs@f01d2545-417e-4e96-918e-98f8d0dbbcb6> | 2005-09-22 18:16:50 +0000 |
|---|---|---|
| committer | jcsjcs <jcsjcs@f01d2545-417e-4e96-918e-98f8d0dbbcb6> | 2005-09-22 18:16:50 +0000 |
| commit | da83c8e68edfca1b740b95fe045b5bd32c8ab56d (patch) | |
| tree | dd5f9c7eb78249d02e1a80a8a7447c2bcc0fd4c9 /tests/test-covers.c | |
| parent | f3ffd45a6e75de502d9c1e913d7b701fef725d34 (diff) | |
| download | libgpod-da83c8e68edfca1b740b95fe045b5bd32c8ab56d.tar.gz libgpod-da83c8e68edfca1b740b95fe045b5bd32c8ab56d.tar.xz libgpod-da83c8e68edfca1b740b95fe045b5bd32c8ab56d.zip | |
* applied Christophe Fergeau's patch which adds cover art writing
support to libgpod -> bump to version 104
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1098 f01d2545-417e-4e96-918e-98f8d0dbbcb6
Diffstat (limited to 'tests/test-covers.c')
| -rw-r--r-- | tests/test-covers.c | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/tests/test-covers.c b/tests/test-covers.c index e7e1fca..a119cc9 100644 --- a/tests/test-covers.c +++ b/tests/test-covers.c @@ -36,14 +36,25 @@ ipod_image_to_gdk_pixbuf (Itdb_Image *image) { GdkPixbuf *result; guchar *pixels; + int row_stride; + + if (image->type == ITDB_IMAGE_FULL_SCREEN) { + row_stride = 140; + } else if (image->type == ITDB_IMAGE_NOW_PLAYING) { + row_stride = 56; + } else { + return NULL; + } pixels = itdb_image_get_rgb_data (image); if (pixels == NULL) { return NULL; } + result = gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, FALSE, 8, image->width, image->height, - image->width * 3, + /*image->width * 3, */ + row_stride * 3, (GdkPixbufDestroyNotify)g_free, NULL); return result; @@ -59,28 +70,31 @@ save_itdb_image (Itdb_Image *image, const char *filename) if (thumb != NULL) { gdk_pixbuf_save (thumb, filename, "png", NULL, NULL); gdk_pixbuf_unref (thumb); - g_print ("Saved %s\n", filename); +/* g_print ("Saved %s\n", filename); */ } } static void save_song_thumbnails (Itdb_Track *song) { - if (song->full_size_thumbnail != NULL) { + GList *it; + + for (it = song->thumbnails; it != NULL; it = it->next) { + Itdb_Image *image; gchar *filename; - - filename = g_strdup_printf ("/tmp/fullsize%016llx.png", - song->dbid); - save_itdb_image (song->full_size_thumbnail,filename); - g_free (filename); - } - if (song->now_playing_thumbnail != NULL) { - gchar *filename; - - filename = g_strdup_printf ("/tmp/nowplaying%016llx.png", - song->dbid); - save_itdb_image (song->now_playing_thumbnail, filename); - g_free (filename); + image = (Itdb_Image *)it->data; + filename = NULL; + if (image->type == ITDB_IMAGE_FULL_SCREEN) { + filename = g_strdup_printf ("/tmp/fullsize%016llx.png", + song->dbid); + } else if (image->type == ITDB_IMAGE_NOW_PLAYING) { + filename = g_strdup_printf ("/tmp/nowplaying%016llx.png", + song->dbid); + } + if (filename != NULL) { + save_itdb_image (image, filename); + g_free (filename); + } } } |
