summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominique Leuenberger <dimstar@opensuse.org>2012-08-07 18:10:24 +0200
committerBastien Nocera <hadess@hadess.net>2012-08-15 18:04:07 +0100
commitfe9e82d6fc5a5651411f7f1e9abab10dad57fd53 (patch)
treec0623022e09c72b82077beac6ce9dd6722e89e90
parent957ad9ed2778591a8edc8d4ac6eebd8f0a0f871b (diff)
downloadgvfs-fe9e82d6fc5a5651411f7f1e9abab10dad57fd53.tar.gz
cdda: Support libcdio 0.84 with changed API
following CDIO changeset http://git.savannah.gnu.org/gitweb/?p=libcdio.git;a=commitdiff;h=abe5b8429573c9ac796c274c7abe7f76ef52dc76 https://bugzilla.gnome.org/show_bug.cgi?id=678257
-rw-r--r--daemon/gvfsbackendcdda.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/daemon/gvfsbackendcdda.c b/daemon/gvfsbackendcdda.c
index 0244c273..9beefa4c 100644
--- a/daemon/gvfsbackendcdda.c
+++ b/daemon/gvfsbackendcdda.c
@@ -173,11 +173,22 @@ fetch_metadata (GVfsBackendCdda *cdda_backend)
if (!cdio)
return;
- cdtext = cdio_get_cdtext(cdio, 0);
+#if LIBCDIO_VERSION_NUM >= 84
+ cdtext = cdio_get_cdtext (cdio);
+#else
+ cdtext = cdio_get_cdtext (cdio, 0);
+#endif /* LIBCDIO_VERSION_NUM >= 84 */
+
if (cdtext) {
+#if LIBCDIO_VERSION_NUM >= 84
+ cdda_backend->album_title = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_TITLE, 0));
+ cdda_backend->album_artist = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_PERFORMER, 0));
+ cdda_backend->genre = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_GENRE, 0));
+#else
cdda_backend->album_title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext));
cdda_backend->album_artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext));
cdda_backend->genre = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_GENRE, cdtext));
+#endif /* LIBCDIO_VERSION_NUM >= 84 */
}
cdtrack = cdio_get_first_track_num(cdio);
@@ -186,10 +197,17 @@ fetch_metadata (GVfsBackendCdda *cdda_backend)
for ( ; cdtrack < last_cdtrack; cdtrack++ ) {
GVfsBackendCddaTrack *track;
track = g_new0 (GVfsBackendCddaTrack, 1);
- cdtext = cdio_get_cdtext(cdio, cdtrack);
+#if LIBCDIO_VERSION_NUM < 84
+ cdtext = cdio_get_cdtext (cdio, cdtrack);
+#endif /* LIBCDIO_VERSION_NUM < 84 */
if (cdtext) {
+#if LIBCDIO_VERSION_NUM >= 84
+ track->title = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_TITLE, cdtrack));
+ track->artist = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_PERFORMER, cdtrack));
+#else
track->title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext));
track->artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext));
+#endif /* LIBCDIO_VERSION_NUM >= 84 */
}
track->duration = cdio_get_track_sec_count (cdio, cdtrack) / CDIO_CD_FRAMES_PER_SEC;