summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--src/db-artwork-writer.c2
-rw-r--r--src/db-itunes-parser.h7
3 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index b54bf5a..29bc039 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-02-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+ * src/db-itunes-parser.h
+ src/artwork-writer.c: Set unknown2 of mhfd header to 2 instead
+ of 1, otherwise iTunes7 wipes the ArtworkDB.
+
2007-02-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
* ChangeLog
diff --git a/src/db-artwork-writer.c b/src/db-artwork-writer.c
index 4ac5726..ed1e012 100644
--- a/src/db-artwork-writer.c
+++ b/src/db-artwork-writer.c
@@ -957,7 +957,7 @@ write_mhfd (Itdb_DB *db, iPodBuffer *buffer, int id_max)
mhfd->unknown2 = get_gint32 (2, buffer->byte_order);
break;
case DB_TYPE_ITUNES:
- mhfd->unknown2 = get_gint32 (1, buffer->byte_order);
+ mhfd->unknown2 = get_gint32 (2, buffer->byte_order);
break;
}
mhfd->next_id = get_gint32 (id_max, buffer->byte_order);
diff --git a/src/db-itunes-parser.h b/src/db-itunes-parser.h
index 39fab2f..f32b452 100644
--- a/src/db-itunes-parser.h
+++ b/src/db-itunes-parser.h
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-11-11 20:38:32 jcs>
+/* Time-stamp: <2007-02-24 21:36:04 jcs>
*
* Copyright (C) 2005 Christophe Fergeau
*
@@ -543,7 +543,10 @@ struct _MhfdHeader {
gint32 header_len;
gint32 total_len;
gint32 unknown1;
- gint32 unknown2;
+ gint32 unknown2; /* always seem to be 1 for older databases,
+ in an ArtworkDB generated by iTunes 4.9 or
+ above, it's 2. Caution: iTunes7 removes
+ the whole database if this field is 1 */
gint32 num_children;
gint32 unknown3;
gint32 next_id;