| 26 |
26 |
#include <cdio/cdio.h>
|
| 27 |
27 |
#include <cdio/cdtext.h>
|
| 28 |
28 |
#include <cdio/track.h>
|
| 29 |
|
#include <cdio/cdda.h>
|
| 30 |
29 |
#include <cdio/audio.h>
|
| 31 |
30 |
#include <cdio/sector.h>
|
| 32 |
31 |
#include <cdio/cd_types.h>
|
| 33 |
32 |
|
|
33 |
#if LIBCDIO_VERSION_NUM >= 90
|
|
34 |
#include <cdio/paranoia/cdda.h>
|
|
35 |
#else
|
|
36 |
#include <cdio/cdda.h>
|
|
37 |
#endif
|
|
38 |
|
| 34 |
39 |
/* libcdio's header files #define these */
|
| 35 |
40 |
#undef PACKAGE
|
| 36 |
41 |
#undef PACKAGE_BUGREPORT
|
| ... | ... | |
| 269 |
274 |
const char * performer, const char * name,
|
| 270 |
275 |
const char * genre)
|
| 271 |
276 |
{
|
| 272 |
|
g_strlcpy (t->performer, performer, DEF_STRING_LEN);
|
| 273 |
|
g_strlcpy (t->name, name, DEF_STRING_LEN);
|
| 274 |
|
g_strlcpy (t->genre, genre, DEF_STRING_LEN);
|
|
277 |
g_strlcpy (t->performer, performer ? performer : "", DEF_STRING_LEN);
|
|
278 |
g_strlcpy (t->name, name ? name : "", DEF_STRING_LEN);
|
|
279 |
g_strlcpy (t->genre, genre ? genre : "", DEF_STRING_LEN);
|
| 275 |
280 |
}
|
| 276 |
281 |
|
| 277 |
282 |
/* thread safe (mutex may be locked) */
|
| ... | ... | |
| 622 |
627 |
}
|
| 623 |
628 |
|
| 624 |
629 |
/* get trackinfo[0] cdtext information (the disc) */
|
|
630 |
cdtext_t *pcdtext = NULL;
|
| 625 |
631 |
if (aud_get_bool ("CDDA", "use_cdtext"))
|
| 626 |
632 |
{
|
| 627 |
633 |
AUDDBG ("getting cd-text information for disc\n");
|
| 628 |
|
cdtext_t *pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, 0);
|
|
634 |
#if LIBCDIO_VERSION_NUM >= 90
|
|
635 |
pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio);
|
|
636 |
if (pcdtext == NULL)
|
|
637 |
#else
|
|
638 |
pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, 0);
|
| 629 |
639 |
if (pcdtext == NULL || pcdtext->field[CDTEXT_TITLE] == NULL)
|
|
640 |
#endif
|
| 630 |
641 |
{
|
| 631 |
642 |
AUDDBG ("no cd-text available for disc\n");
|
| 632 |
643 |
}
|
| 633 |
644 |
else
|
| 634 |
645 |
{
|
| 635 |
646 |
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] : "");
|
|
647 |
#if LIBCDIO_VERSION_NUM >= 90
|
|
648 |
cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, 0),
|
|
649 |
cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, 0),
|
|
650 |
cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, 0));
|
|
651 |
#else
|
|
652 |
pcdtext->field[CDTEXT_PERFORMER],
|
|
653 |
pcdtext->field[CDTEXT_TITLE],
|
|
654 |
pcdtext->field[CDTEXT_GENRE]);
|
|
655 |
#endif
|
| 642 |
656 |
}
|
| 643 |
657 |
}
|
| 644 |
658 |
|
| ... | ... | |
| 646 |
660 |
bool_t cdtext_was_available = FALSE;
|
| 647 |
661 |
for (trackno = firsttrackno; trackno <= lasttrackno; trackno++)
|
| 648 |
662 |
{
|
| 649 |
|
cdtext_t *pcdtext = NULL;
|
|
663 |
#if LIBCDIO_VERSION_NUM < 90
|
| 650 |
664 |
if (aud_get_bool ("CDDA", "use_cdtext"))
|
| 651 |
665 |
{
|
| 652 |
666 |
AUDDBG ("getting cd-text information for track %d\n", trackno);
|
| ... | ... | |
| 657 |
671 |
pcdtext = NULL;
|
| 658 |
672 |
}
|
| 659 |
673 |
}
|
|
674 |
#endif
|
| 660 |
675 |
|
| 661 |
676 |
if (pcdtext != NULL)
|
| 662 |
677 |
{
|
| 663 |
678 |
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] : "");
|
|
679 |
#if LIBCDIO_VERSION_NUM >= 90
|
|
680 |
cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, trackno),
|
|
681 |
cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, trackno),
|
|
682 |
cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, trackno));
|
|
683 |
#else
|
|
684 |
pcdtext->field[CDTEXT_PERFORMER],
|
|
685 |
pcdtext->field[CDTEXT_TITLE],
|
|
686 |
pcdtext->field[CDTEXT_GENRE]);
|
|
687 |
#endif
|
| 670 |
688 |
cdtext_was_available = TRUE;
|
| 671 |
689 |
}
|
| 672 |
690 |
else
|