| 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
|