Update of /cvsroot/gtkpod/libgpod/src
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv21447/src
Modified Files:
itdb.h itdb_itunesdb.c
Log Message:
* src/itdb.h
src/itdb_itunesdb.c: added tvshow, tvepisode, tvnetwork,
albumartist, keywords, reseved to Itdb_Track. 'reserved' can
later be used to support 'Artist, The'.
Index: itdb.h
===================================================================
RCS file: /cvsroot/gtkpod/libgpod/src/itdb.h,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -d -r1.54 -r1.55
--- itdb.h 8 Jan 2007 13:01:52 -0000 1.54
+++ itdb.h 9 Jan 2007 14:49:00 -0000 1.55
@@ -1,4 +1,4 @@
-/* Time-stamp: <2007-01-08 21:59:10 jcs>
+/* Time-stamp: <2007-01-09 23:44:56 jcs>
|
| Copyright (C) 2002-2006 Jorg Schuler <jcsjcs at users sourceforge net>
| Part of the gtkpod project.
@@ -651,6 +651,14 @@
gchar *podcastrss; /* see note for MHOD_ID in itdb_itunesdb.c */
gchar *chapterdata; /* see note for MHOD_ID in itdb_itunesdb.c */
gchar *subtitle; /* see note for MHOD_ID in itdb_itunesdb.c */
+/* the following 6 are new in libgpod 0.4.2... */
+ gchar *tvshow; /* see note for MHOD_ID in itdb_itunesdb.c */
+ gchar *tvepisode; /* see note for MHOD_ID in itdb_itunesdb.c */
+ gchar *tvnetwork; /* see note for MHOD_ID in itdb_itunesdb.c */
+ gchar *albumartist; /* see note for MHOD_ID in itdb_itunesdb.c */
+ gchar *keywords; /* see note for MHOD_ID in itdb_itunesdb.c */
+ gchar *reserved; /* will probably be used for artistthe */
+/* ... to here */
guint32 id; /* unique ID of track */
gint32 size; /* size of file in bytes */
gint32 tracklen; /* Length of track in ms */
Index: itdb_itunesdb.c
===================================================================
RCS file: /cvsroot/gtkpod/libgpod/src/itdb_itunesdb.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -d -r1.71 -r1.72
--- itdb_itunesdb.c 8 Jan 2007 10:23:15 -0000 1.71
+++ itdb_itunesdb.c 9 Jan 2007 14:49:00 -0000 1.72
@@ -1,4 +1,4 @@
-/* Time-stamp: <2007-01-06 20:47:47 jcs>
+/* Time-stamp: <2007-01-09 23:46:31 jcs>
|
| Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
| Part of the gtkpod project.
@@ -169,6 +169,22 @@
/* Subtitle (usually the same as Description). Introduced in db
version 0x0d. */
MHOD_ID_SUBTITLE = 18,
+/* Show (for TV Shows only). Introduced in db version 0x0d? */
+ MHOD_ID_TVSHOW = 19,
+/* Episode # (for TV Shows only). Introduced in db version 0x0d? */
+ MHOD_ID_TVEPISODE = 20,
+/* TV Network (for TV Shows only). Introduced in db version 0x0d? */
+ MHOD_ID_TVNETWORK = 21,
+/* Album Artist. Introduced in db version 0x13? */
+ MHOD_ID_ALBUMARTIST = 22,
+/* This only seems to appear if the Artist has "The" in front of it
+ (like "The Monkies") in which case it will be in the format "Artist,
+ The" and is followed by 5 0x01 UTF-16 characters. Introduced in db
+ version 0x13? */
+/* MHOD_ID_ARTISTTHE = 23, later */
+/* Appears to be a list of keywords pertaining to a track. Introduced
+ in db version 0x13? */
+ MHOD_ID_KEYWORDS = 24,
MHOD_ID_SPLPREF = 50, /* settings for smart playlist */
MHOD_ID_SPLRULES = 51, /* rules for smart playlist */
MHOD_ID_LIBPLAYLISTINDEX = 52, /* Library Playlist Index */
@@ -1468,7 +1484,6 @@
cts->error is set appropriately. */
static gchar *get_mhod_string (FContents *cts, glong seek, guint32 *ml, gint32
*mty)
{
- gchar *result = NULL;
MHODData mhoddata;
*mty = get_mhod_type (cts, seek, ml);
@@ -1490,19 +1505,28 @@
case MHOD_ID_PODCASTURL:
case MHOD_ID_PODCASTRSS:
case MHOD_ID_SUBTITLE:
+ case MHOD_ID_TVSHOW:
+ case MHOD_ID_TVEPISODE:
+ case MHOD_ID_TVNETWORK:
+ case MHOD_ID_ALBUMARTIST:
+ case MHOD_ID_KEYWORDS:
mhoddata = get_mhod (cts, seek, ml);
if ((*ml != -1) && mhoddata.valid)
- result = mhoddata.data.string;
- break;
+ return mhoddata.data.string;
+ else
+ return NULL;
case MHOD_ID_SPLPREF:
case MHOD_ID_SPLRULES:
case MHOD_ID_LIBPLAYLISTINDEX:
case MHOD_ID_PLAYLIST:
case MHOD_ID_CHAPTERDATA:
/* these do not have a string entry */
- break;
+ return NULL;
}
- return result;
+#if ITUNESDB_MHIT_DEBUG
+ fprintf (stderr, "Ignoring unknown MHOD of type %d at offset %ld\n", *mty,
seek);
+#endif
+ return NULL;
}
@@ -1944,6 +1968,11 @@
case MHOD_ID_PODCASTURL:
case MHOD_ID_PODCASTRSS:
case MHOD_ID_SUBTITLE:
+ case MHOD_ID_TVSHOW:
+ case MHOD_ID_TVEPISODE:
+ case MHOD_ID_TVNETWORK:
+ case MHOD_ID_ALBUMARTIST:
+ case MHOD_ID_KEYWORDS:
case MHOD_ID_CHAPTERDATA:
/* these are not expected here */
break;
@@ -2207,9 +2236,26 @@
case MHOD_ID_SUBTITLE:
track->subtitle = entry_utf8;
break;
- default: /* unknown entry -- discard */
- g_warning ("Unknown string mhod type %d at %lx inside mhit
starting at %lx\n",
- type, seek, mhit_seek);
+ case MHOD_ID_TVSHOW:
+ track->tvshow = entry_utf8;
+ break;
+ case MHOD_ID_TVEPISODE:
+ track->tvepisode = entry_utf8;
+ break;
+ case MHOD_ID_TVNETWORK:
+ track->tvnetwork = entry_utf8;
+ break;
+ case MHOD_ID_ALBUMARTIST:
+ track->albumartist = entry_utf8;
+ break;
+ case MHOD_ID_KEYWORDS:
+ track->keywords = entry_utf8;
+ break;
+ case MHOD_ID_SPLPREF:
+ case MHOD_ID_SPLRULES:
+ case MHOD_ID_LIBPLAYLISTINDEX:
+ case MHOD_ID_PLAYLIST:
+ case MHOD_ID_CHAPTERDATA:
g_free (entry_utf8);
break;
}
@@ -3393,6 +3439,11 @@
case MHOD_ID_GROUPING:
case MHOD_ID_DESCRIPTION:
case MHOD_ID_SUBTITLE:
+ case MHOD_ID_TVSHOW:
+ case MHOD_ID_TVEPISODE:
+ case MHOD_ID_TVNETWORK:
+ case MHOD_ID_ALBUMARTIST:
+ case MHOD_ID_KEYWORDS:
g_return_if_fail (mhod->data.string);
/* normal iTunesDBs seem to take utf16 strings), endian-inversed
iTunesDBs seem to take utf8 strings */
@@ -3783,6 +3834,41 @@
mk_mhod (cts, &mhod);
++mhod_num;
}
+ if (track->tvshow && *track->tvshow)
+ {
+ mhod.type = MHOD_ID_TVSHOW;
+ mhod.data.string = track->tvshow;
+ mk_mhod (cts, &mhod);
+ ++mhod_num;
+ }
+ if (track->tvepisode && *track->tvepisode)
+ {
+ mhod.type = MHOD_ID_TVEPISODE;
+ mhod.data.string = track->tvepisode;
+ mk_mhod (cts, &mhod);
+ ++mhod_num;
+ }
+ if (track->tvnetwork && *track->tvnetwork)
+ {
+ mhod.type = MHOD_ID_TVNETWORK;
+ mhod.data.string = track->tvnetwork;
+ mk_mhod (cts, &mhod);
+ ++mhod_num;
+ }
+ if (track->albumartist && *track->albumartist)
+ {
+ mhod.type = MHOD_ID_ALBUMARTIST;
+ mhod.data.string = track->albumartist;
+ mk_mhod (cts, &mhod);
+ ++mhod_num;
+ }
+ if (track->keywords && *track->keywords)
+ {
+ mhod.type = MHOD_ID_KEYWORDS;
+ mhod.data.string = track->keywords;
+ mk_mhod (cts, &mhod);
+ ++mhod_num;
+ }
if (track->podcasturl && *track->podcasturl)
{
mhod.type = MHOD_ID_PODCASTURL;
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2