diff -Naur audacious-plugins-3.2.4/src/cdaudio-ng/cdaudio-ng.c audacious-plugins-3.2.4.new/src/cdaudio-ng/cdaudio-ng.c --- audacious-plugins-3.2.4/src/cdaudio-ng/cdaudio-ng.c 2012-06-30 07:05:33.000000000 +0700 +++ audacious-plugins-3.2.4.new/src/cdaudio-ng/cdaudio-ng.c 2013-02-18 02:24:53.075707031 +0700 @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include #include @@ -702,23 +702,24 @@ } /* get trackinfo[0] cdtext information (the disc) */ + cdtext_t *pcdtext = NULL; if (cdng_cfg.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) : ""); } } @@ -726,27 +727,15 @@ gboolean cdtext_was_available = FALSE; for (trackno = firsttrackno; trackno <= lasttrackno; trackno++) { - cdtext_t *pcdtext = NULL; - if (cdng_cfg.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