示例#1
0
static void
dump_thumbs (Itdb_PhotoDB *db, Itdb_Artwork *artwork,
	     const gchar *album_name, const gchar *dir)
{
	GList *it;
	gint i = 0;
        GList *thumbnails;

        thumbnails = itdb_thumb_to_pixbufs (db->device, artwork->thumbnail);
	for (it = thumbnails; it != NULL; it = it->next, i++) {
		gchar *filename, *path;
                GdkPixbuf *pixbuf;

                pixbuf = GDK_PIXBUF (it->data);

		g_return_if_fail (pixbuf);

		filename = g_strdup_printf ("%s-%d-%d.png",
					    album_name, artwork->id, i );
		path = g_build_filename (dir, filename, NULL);
		g_free (filename);
		gdk_pixbuf_save (pixbuf, path, "png", NULL, NULL);
		g_object_unref (pixbuf);
		g_free (path);
	}
        g_list_free (thumbnails);
}
示例#2
0
static void
save_song_thumbnails (Itdb_Track *song)
{
        static guint count = 0;
        GList *it;
        GList *thumbs;
        if (song->artwork->thumbnail == NULL) {
            return;
        }
        thumbs = itdb_thumb_to_pixbufs (song->itdb->device,
                                        song->artwork->thumbnail);
	for (it = thumbs; it != NULL; it = it->next) {
                GdkPixbuf *pixbuf;

		pixbuf = GDK_PIXBUF (it->data);
		g_return_if_fail (pixbuf);

                save_itdb_thumb (song, pixbuf, count);
                count++;
	}
        g_list_free (thumbs);
}