summaryrefslogtreecommitdiffstats
path: root/src/itdb_track.c
diff options
context:
space:
mode:
authorJorg Schuler <jcsjcs@users.sourceforge.net>2005-09-28 15:10:27 +0000
committerJorg Schuler <jcsjcs@users.sourceforge.net>2005-09-28 15:10:27 +0000
commit0ddef6e7864b23bd4d9f1be90862bdc1ab04f65c (patch)
tree4dec6fe66682023e4c445ec36deae81a639e7e10 /src/itdb_track.c
parent9cc42f7969d897fbd6af98af1564ef389763d595 (diff)
downloadlibgpod-tmz-0ddef6e7864b23bd4d9f1be90862bdc1ab04f65c.tar.gz
libgpod-tmz-0ddef6e7864b23bd4d9f1be90862bdc1ab04f65c.tar.xz
libgpod-tmz-0ddef6e7864b23bd4d9f1be90862bdc1ab04f65c.zip
* src/itdb_track.c: include thumbnails into itdb_track_duplicate()
(Christophe Fergeau) * src/db-image-parser.c: support for iPod nano (Christophe Fergeau) * configure.c: make MacOS compatible (Tristan O'Tierney) git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1109 f01d2545-417e-4e96-918e-98f8d0dbbcb6
Diffstat (limited to 'src/itdb_track.c')
-rw-r--r--src/itdb_track.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/itdb_track.c b/src/itdb_track.c
index 773d0e2..34495b3 100644
--- a/src/itdb_track.c
+++ b/src/itdb_track.c
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-09-24 12:21:06 jcs>
+/* Time-stamp: <2005-09-29 00:01:38 jcs>
|
| Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
| Part of the gtkpod project.
@@ -215,6 +215,30 @@ void itdb_track_unlink (Itdb_Track *track)
track->itdb = NULL;
}
+static GList *dup_thumbnails (GList *thumbnails)
+{
+ GList *it;
+ GList *result;
+
+ result = NULL;
+ for (it = thumbnails; it != NULL; it = it->next)
+ {
+ Itdb_Image *new_image;
+ Itdb_Image *image;
+
+ image = (Itdb_Image *)it->data;
+ g_return_val_if_fail (image, NULL);
+
+ new_image = g_new0 (Itdb_Image, 1);
+ memcpy (new_image, image, sizeof (Itdb_Image));
+ new_image->filename = g_strdup (image->filename);
+
+ result = g_list_prepend (result, new_image);
+ }
+
+ return g_list_reverse (result);
+}
+
/* Duplicate an existing track */
Itdb_Track *itdb_track_duplicate (Itdb_Track *tr)
{
@@ -252,6 +276,10 @@ Itdb_Track *itdb_track_duplicate (Itdb_Track *tr)
tr->chapterdata_raw_length);
}
+ /* Copy thumbnail data */
+ tr_dup->orig_image_filename = g_strdup (tr->orig_image_filename);
+ tr_dup->thumbnails = dup_thumbnails (tr->thumbnails);
+
/* Copy userdata */
if (tr->userdata && tr->userdata_duplicate)
tr_dup->userdata = tr->userdata_duplicate (tr->userdata);