diff --git a/src/itdb.h b/src/itdb.h index e8d7547..a7cb040 100644 --- a/src/itdb.h +++ b/src/itdb.h @@ -1253,22 +1253,22 @@ typedef enum */ typedef enum { - ITDB_MEDIATYPE_AUDIO = 0x000001, - ITDB_MEDIATYPE_MOVIE = 0x000002, - ITDB_MEDIATYPE_PODCAST = 0x000004, - ITDB_MEDIATYPE_VIDEO_PODCAST= 0x000006, - ITDB_MEDIATYPE_AUDIOBOOK = 0x000008, - ITDB_MEDIATYPE_MUSICVIDEO = 0x000020, - ITDB_MEDIATYPE_TVSHOW = 0x000040, - ITDB_MEDIATYPE_MUSIC_TVSHOW = 0x000060, - ITDB_MEDIATYPE_RINGTONE = 0x004000, - ITDB_MEDIATYPE_RENTAL = 0x008000, - ITDB_MEDIATYPE_ITUNES_EXTRA = 0x010000, - ITDB_MEDIATYPE_MEMO = 0x100000, - ITDB_MEDIATYPE_ITUNES_U = 0x200000, - ITDB_MEDIATYPE_EPUB_BOOK = 0x400000 + ITDB_MEDIATYPE_AUDIO = (1 << 0), + ITDB_MEDIATYPE_MOVIE = (1 << 1), + ITDB_MEDIATYPE_PODCAST = (1 << 2), + ITDB_MEDIATYPE_AUDIOBOOK = (1 << 3), + ITDB_MEDIATYPE_MUSICVIDEO = (1 << 5), + ITDB_MEDIATYPE_TVSHOW = (1 << 6), + ITDB_MEDIATYPE_RINGTONE = (1 << 14), + ITDB_MEDIATYPE_RENTAL = (1 << 15), + ITDB_MEDIATYPE_ITUNES_EXTRA = (1 << 16), + ITDB_MEDIATYPE_MEMO = (1 << 20), + ITDB_MEDIATYPE_ITUNES_U = (1 << 21), + ITDB_MEDIATYPE_EPUB_BOOK = (1 << 22) } Itdb_Mediatype; +#define ITDB_MEDIATYPE_VIDEO_PODCAST (ITDB_MEDIATYPE_MOVIE | ITDB_MEDIATYPE_PODCAST) +#define ITDB_MEDIATYPE_MUSIC_TVSHOW (ITDB_MEDIATYPE_MUSICVIDEO | ITDB_MEDIATYPE_TVSHOW) typedef struct _Itdb_Track_Private Itdb_Track_Private; /** * Itdb_Track: diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c index ea3a7ad..bae2844 100644 --- a/src/itdb_itunesdb.c +++ b/src/itdb_itunesdb.c @@ -6472,9 +6472,8 @@ static gboolean write_hths (FExport *fexp) put32lint_seek(cts, cts->pos, track_seek); g_return_val_if_fail (write_rths(cts, track), FALSE); - if (track->mediatype == ITDB_MEDIATYPE_AUDIOBOOK || - track->mediatype == ITDB_MEDIATYPE_VIDEO_PODCAST || - track->mediatype == ITDB_MEDIATYPE_PODCAST) + if ((track->mediatype & ITDB_MEDIATYPE_AUDIOBOOK) || + (track->mediatype & ITDB_MEDIATYPE_PODCAST)) nonstdtrackcnt++; /* Go to the offset for the next track */ @@ -6542,9 +6541,8 @@ static gboolean write_lphs (WContents *cts, Itdb_Playlist *pl) id = tr->dbid; ctr = current_track->data; /* Count the number of podcasts and audiobooks for later use */ - if (tr->mediatype == ITDB_MEDIATYPE_AUDIOBOOK || - tr->mediatype == ITDB_MEDIATYPE_VIDEO_PODCAST || - tr->mediatype == ITDB_MEDIATYPE_PODCAST) + if ((tr->mediatype & ITDB_MEDIATYPE_AUDIOBOOK) || + (tr->mediatype & ITDB_MEDIATYPE_PODCAST)) nonstdtrackcnt++; while( id != ctr->dbid) diff --git a/src/itdb_playlist.c b/src/itdb_playlist.c index 5b1e8d8..85cef97 100644 --- a/src/itdb_playlist.c +++ b/src/itdb_playlist.c @@ -1595,7 +1595,7 @@ gboolean itdb_playlist_is_audiobooks (Itdb_Playlist *pl) for (tl = pl->members; tl; tl = tl->next) { track = tl->data; - if (track->mediatype != ITDB_MEDIATYPE_AUDIOBOOK) + if (!(track->mediatype & ITDB_MEDIATYPE_AUDIOBOOK)) { return FALSE; } diff --git a/src/itdb_sqlite.c b/src/itdb_sqlite.c index 380b5a1..4825cb2 100644 --- a/src/itdb_sqlite.c +++ b/src/itdb_sqlite.c @@ -1256,8 +1256,6 @@ static int mk_Library(Itdb_iTunesDB *itdb, /* if it's a movie, music video or tv show */ if ((track->mediatype & ITDB_MEDIATYPE_MOVIE) || (track->mediatype & ITDB_MEDIATYPE_MUSICVIDEO) - || (track->mediatype & ITDB_MEDIATYPE_VIDEO_PODCAST) - || (track->mediatype & ITDB_MEDIATYPE_MUSIC_TVSHOW) || (track->mediatype & ITDB_MEDIATYPE_TVSHOW)) { /* printf("[%s] -- inserting into \"video_info\"\n", __func__); */ res = sqlite3_reset(stmt_video_info);