diff options
Diffstat (limited to 'community/cmus/cdio-git.patch')
-rw-r--r-- | community/cmus/cdio-git.patch | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/community/cmus/cdio-git.patch b/community/cmus/cdio-git.patch new file mode 100644 index 000000000..8c549bee7 --- /dev/null +++ b/community/cmus/cdio-git.patch @@ -0,0 +1,137 @@ +*** 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 <cdio/cdda.h> + #include <cdio/cdio.h> + #include <cdio/logging.h> + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +--- 27,40 ---- + #include "comment.h" + #include "discid.h" + + #include <cdio/cdio.h> + #include <cdio/logging.h> ++ #if LIBCDIO_VERSION_NUM >= 90 ++ #include <cdio/paranoia/cdda.h> ++ #else ++ #include <cdio/cdda.h> ++ #endif ++ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +*************** +*** 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); |