[gvfs] cdda: Support libcdio 0.84 with changed API



commit fe9e82d6fc5a5651411f7f1e9abab10dad57fd53
Author: Dominique Leuenberger <dimstar opensuse org>
Date:   Tue Aug 7 18:10:24 2012 +0200

    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

 daemon/gvfsbackendcdda.c |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)
---
diff --git a/daemon/gvfsbackendcdda.c b/daemon/gvfsbackendcdda.c
index 0244c27..9beefa4 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;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]