*** cdio.c 2012-11-07 08:46:17.000000000 +0000 --- cmus-git/src/cmus/cdio.c 2013-09-30 02:21:10.518785946 +0000 *************** *** 1,5 **** /* ! * Copyright 2011 Various Authors * Copyright 2011 Johannes Weißl * * Based on cdda.c from XMMS2. --- 1,5 ---- /* ! * Copyright 2011-2013 Various Authors * Copyright 2011 Johannes Weißl * * Based on cdda.c from XMMS2. *************** *** 27,35 **** #include "comment.h" #include "discid.h" - #include #include #include #include #include #include --- 27,40 ---- #include "comment.h" #include "discid.h" #include #include + #if LIBCDIO_VERSION_NUM >= 90 + #include + #else + #include + #endif + #include #include #include *************** *** 352,375 **** GROWING_KEYVALS(c); const char *artist = NULL, *albumartist = NULL, *album = NULL, *title = NULL, *genre = NULL, *comment = NULL; ! const cdtext_t *cdtext_track, *cdtext_album; #ifdef HAVE_CDDB cddb_conn_t *cddb_conn = NULL; cddb_disc_t *cddb_disc = NULL; #endif char buf[64]; ! cdtext_track = cdio_get_cdtext(priv->cdio, priv->track); ! if (cdtext_track) { ! char * const *field = cdtext_track->field; artist = field[CDTEXT_PERFORMER]; title = field[CDTEXT_TITLE]; genre = field[CDTEXT_GENRE]; comment = field[CDTEXT_MESSAGE]; } ! cdtext_album = cdio_get_cdtext(priv->cdio, 0); ! if (cdtext_album) { ! char * const *field = cdtext_album->field; album = field[CDTEXT_TITLE]; albumartist = field[CDTEXT_PERFORMER]; if (!artist) --- 357,403 ---- GROWING_KEYVALS(c); const char *artist = NULL, *albumartist = NULL, *album = NULL, *title = NULL, *genre = NULL, *comment = NULL; ! int track_comments_found = 0; ! const cdtext_t *cdt; #ifdef HAVE_CDDB cddb_conn_t *cddb_conn = NULL; cddb_disc_t *cddb_disc = NULL; #endif char buf[64]; ! #if LIBCDIO_VERSION_NUM >= 90 ! cdt = cdio_get_cdtext(priv->cdio); ! if (cdt) { ! artist = cdtext_get(cdt, CDTEXT_FIELD_PERFORMER, priv->track); ! title = cdtext_get(cdt, CDTEXT_FIELD_TITLE, priv->track); ! genre = cdtext_get(cdt, CDTEXT_FIELD_GENRE, priv->track); ! comment = cdtext_get(cdt, CDTEXT_FIELD_MESSAGE, priv->track); ! ! if (title) ! track_comments_found = 1; ! ! album = cdtext_get(cdt, CDTEXT_FIELD_TITLE, 0); ! albumartist = cdtext_get(cdt, CDTEXT_FIELD_PERFORMER, 0); ! if (!artist) ! artist = albumartist; ! if (!genre) ! genre = cdtext_get(cdt, CDTEXT_FIELD_GENRE, 0); ! if (!comment) ! comment = cdtext_get(cdt, CDTEXT_FIELD_MESSAGE, 0); ! } ! #else ! cdt = cdio_get_cdtext(priv->cdio, priv->track); ! if (cdt) { ! track_comments_found = 1; ! char * const *field = cdt->field; artist = field[CDTEXT_PERFORMER]; title = field[CDTEXT_TITLE]; genre = field[CDTEXT_GENRE]; comment = field[CDTEXT_MESSAGE]; } ! cdt = cdio_get_cdtext(priv->cdio, 0); ! if (cdt) { ! char * const *field = cdt->field; album = field[CDTEXT_TITLE]; albumartist = field[CDTEXT_PERFORMER]; if (!artist) *************** *** 379,387 **** if (!comment) comment = field[CDTEXT_MESSAGE]; } #ifdef HAVE_CDDB ! if (!cdtext_track && cddb_url && cddb_url[0]) { cddb_track_t *cddb_track; track_t i_tracks = cdio_get_num_tracks(priv->cdio); track_t i_first_track = cdio_get_first_track_num(priv->cdio); --- 407,416 ---- if (!comment) comment = field[CDTEXT_MESSAGE]; } + #endif #ifdef HAVE_CDDB ! if (!track_comments_found && cddb_url && cddb_url[0]) { cddb_track_t *cddb_track; track_t i_tracks = cdio_get_num_tracks(priv->cdio); track_t i_first_track = cdio_get_first_track_num(priv->cdio);