diff -aur old/src/cdaudio-ng/cdaudio-ng.c new/src/cdaudio-ng/cdaudio-ng.c --- old/src/cdaudio-ng/cdaudio-ng.c 2012-12-10 23:49:06.000000000 +0000 +++ new/src/cdaudio-ng/cdaudio-ng.c 2013-01-08 14:18:19.760077951 +0000 @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include #include @@ -622,23 +622,24 @@ } /* get trackinfo[0] cdtext information (the disc) */ + cdtext_t *pcdtext = NULL; if (aud_get_bool ("CDDA", "use_cdtext")) { AUDDBG ("getting cd-text information for disc\n"); - cdtext_t *pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, 0); - if (pcdtext == NULL || pcdtext->field[CDTEXT_TITLE] == NULL) + pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio); + if (pcdtext == NULL) { AUDDBG ("no cd-text available for disc\n"); } else { cdaudio_set_strinfo (&trackinfo[0], - pcdtext->field[CDTEXT_PERFORMER] ? pcdtext-> - field[CDTEXT_PERFORMER] : "", - pcdtext->field[CDTEXT_TITLE] ? pcdtext-> - field[CDTEXT_TITLE] : "", - pcdtext->field[CDTEXT_GENRE] ? pcdtext-> - field[CDTEXT_GENRE] : ""); + cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, 0) ? + cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, 0) : "", + cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, 0) ? + cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, 0) : "", + cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, 0) ? + cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, 0) : ""); } } @@ -646,27 +647,15 @@ bool_t cdtext_was_available = FALSE; for (trackno = firsttrackno; trackno <= lasttrackno; trackno++) { - cdtext_t *pcdtext = NULL; - if (aud_get_bool ("CDDA", "use_cdtext")) - { - AUDDBG ("getting cd-text information for track %d\n", trackno); - pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, trackno); - if (pcdtext == NULL || pcdtext->field[CDTEXT_PERFORMER] == NULL) - { - AUDDBG ("no cd-text available for track %d\n", trackno); - pcdtext = NULL; - } - } - if (pcdtext != NULL) { cdaudio_set_strinfo (&trackinfo[trackno], - pcdtext->field[CDTEXT_PERFORMER] ? pcdtext-> - field[CDTEXT_PERFORMER] : "", - pcdtext->field[CDTEXT_TITLE] ? pcdtext-> - field[CDTEXT_TITLE] : "", - pcdtext->field[CDTEXT_GENRE] ? pcdtext-> - field[CDTEXT_GENRE] : ""); + cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, trackno) ? + cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, trackno) : "", + cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, trackno) ? + cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, trackno) : "", + cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, trackno) ? + cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, trackno) : ""); cdtext_was_available = TRUE; } else