26 |
26 |
#include <cdio/cdio.h>
|
27 |
27 |
#include <cdio/cdtext.h>
|
28 |
28 |
#include <cdio/track.h>
|
29 |
|
#include <cdio/cdda.h>
|
|
29 |
#include <cdio/paranoia/cdda.h>
|
30 |
30 |
#include <cdio/audio.h>
|
31 |
31 |
#include <cdio/sector.h>
|
32 |
32 |
#include <cdio/cd_types.h>
|
... | ... | |
622 |
622 |
}
|
623 |
623 |
|
624 |
624 |
/* get trackinfo[0] cdtext information (the disc) */
|
|
625 |
cdtext_t *pcdtext = NULL;
|
625 |
626 |
if (aud_get_bool ("CDDA", "use_cdtext"))
|
626 |
627 |
{
|
627 |
628 |
AUDDBG ("getting cd-text information for disc\n");
|
628 |
|
cdtext_t *pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, 0);
|
629 |
|
if (pcdtext == NULL || pcdtext->field[CDTEXT_TITLE] == NULL)
|
|
629 |
pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio);
|
|
630 |
if (pcdtext == NULL)
|
630 |
631 |
{
|
631 |
632 |
AUDDBG ("no cd-text available for disc\n");
|
632 |
633 |
}
|
633 |
634 |
else
|
634 |
635 |
{
|
635 |
636 |
cdaudio_set_strinfo (&trackinfo[0],
|
636 |
|
pcdtext->field[CDTEXT_PERFORMER] ? pcdtext->
|
637 |
|
field[CDTEXT_PERFORMER] : "",
|
638 |
|
pcdtext->field[CDTEXT_TITLE] ? pcdtext->
|
639 |
|
field[CDTEXT_TITLE] : "",
|
640 |
|
pcdtext->field[CDTEXT_GENRE] ? pcdtext->
|
641 |
|
field[CDTEXT_GENRE] : "");
|
|
637 |
cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, 0) ?
|
|
638 |
cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, 0) : "",
|
|
639 |
cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, 0) ?
|
|
640 |
cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, 0) : "",
|
|
641 |
cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, 0) ?
|
|
642 |
cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, 0) : "");
|
642 |
643 |
}
|
643 |
644 |
}
|
644 |
645 |
|
... | ... | |
646 |
647 |
bool_t cdtext_was_available = FALSE;
|
647 |
648 |
for (trackno = firsttrackno; trackno <= lasttrackno; trackno++)
|
648 |
649 |
{
|
649 |
|
cdtext_t *pcdtext = NULL;
|
650 |
|
if (aud_get_bool ("CDDA", "use_cdtext"))
|
651 |
|
{
|
652 |
|
AUDDBG ("getting cd-text information for track %d\n", trackno);
|
653 |
|
pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, trackno);
|
654 |
|
if (pcdtext == NULL || pcdtext->field[CDTEXT_PERFORMER] == NULL)
|
655 |
|
{
|
656 |
|
AUDDBG ("no cd-text available for track %d\n", trackno);
|
657 |
|
pcdtext = NULL;
|
658 |
|
}
|
659 |
|
}
|
660 |
|
|
661 |
650 |
if (pcdtext != NULL)
|
662 |
651 |
{
|
663 |
652 |
cdaudio_set_strinfo (&trackinfo[trackno],
|
664 |
|
pcdtext->field[CDTEXT_PERFORMER] ? pcdtext->
|
665 |
|
field[CDTEXT_PERFORMER] : "",
|
666 |
|
pcdtext->field[CDTEXT_TITLE] ? pcdtext->
|
667 |
|
field[CDTEXT_TITLE] : "",
|
668 |
|
pcdtext->field[CDTEXT_GENRE] ? pcdtext->
|
669 |
|
field[CDTEXT_GENRE] : "");
|
|
653 |
cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, trackno) ?
|
|
654 |
cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, trackno) : "",
|
|
655 |
cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, trackno) ?
|
|
656 |
cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, trackno) : "",
|
|
657 |
cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, trackno) ?
|
|
658 |
cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, trackno) : "");
|
670 |
659 |
cdtext_was_available = TRUE;
|
671 |
660 |
}
|
672 |
661 |
else
|