libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] cd-text not working for bin/cue driver?


From: Robert William Fuller
Subject: Re: [Libcdio-devel] cd-text not working for bin/cue driver?
Date: Thu, 18 Oct 2012 18:57:20 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.4) Gecko/20120510 Icedove/10.0.4

I see you got cdtext_get_genre in there too! I am excited about the new cd-text stuff. Thank you.

On 10/18/2012 02:50 PM, Leon Merten Lohse wrote:
Great!
Should have known the +1 comes from i_first_track already.

Just pushed the patch. See ff3eb9f22

On Thu, Oct 18, 2012 at 02:15:38PM -0400, Robert Fuller wrote:
I think you don't need the + 1 here in bincue.c:

           cdtext_set (cd->gen.cdtext, cdtext_key, (uint8_t*)
strtok(NULL, "\"\t\n\r"),
                       (-1 == i ? 0 : cd->gen.i_first_track + i + 1),
                       "ISO-8859-1");

On Thu, Oct 18, 2012 at 1:58 PM, Robert Fuller
<address@hidden>  wrote:
Well, I solved part of the problem.  Apparently, make install does not
update /etc/ld.so.cache.  I had to run ldconfig manually.  In other
words, my application was using the older libcdio rather than the
newer libcdio.

So, now I am getting cd-text, but it seems to be off by one track.
For example, for the cue file I sent "cd-info" gives me back this:

Language 0 'English':
CD-TEXT for Disc:
         TITLE: Music From Big Pink
         PERFORMER: The Band
CD-TEXT for Track  1:
CD-TEXT for Track  2:
         TITLE: Tears Of Rage
         PERFORMER: The Band
CD-TEXT for Track  3:
         TITLE: To Kingdome Come
         PERFORMER: The Band

Note that the CD-TEXT for Track 2 is really the CD-TEXT for Track 1.
The CD-TEXT for Track 3 is really the CD-TEXT for Track 2.  etc.  What
does it do for you?

Rob

On Thu, Oct 18, 2012 at 7:04 AM, Leon Merten Lohse<address@hidden>  wrote:
Second try...

What exactly is not working for you? I tried to feed your .cue to
cd-info and it behaved as expected.
There is a little quirk, though as there has to be a .bin sharing the
cue's basename.

On Wed, Oct 17, 2012 at 07:16:22PM -0400, Robert William Fuller wrote:
Also, there does not seem to be a unit test for getting cd-text from
bin/cue which is perhaps why this was missed?

There are some cue parsing tests, although they do not target the
cue/bin cdtext parsing algorithm alone. See test/check_cue.sh.

There IS a unit test for getting cd-text from nrg (Nero) files.  I had
to look at old emails to refresh my memory but apparently I wrote that
code as well as the original support for cd-text from Nero (as an aid to
my memory, this should be added to my spot in the THANKS file: "various
fixes to Nero driver and cd-text for Nero?")

Rob

On 10/17/2012 06:53 PM, Robert William Fuller wrote:
As promised, I have started testing with libcdio from git. I am seeing
what might be some problems with the new cd-text support. Specifically,
I am reading a bin/cue image and it does not seem to be getting the
cd-text fields from the cue file. It works with 0.83, but not with git.

I will include my code and the cue file. The code is part of my
cd-ripper. It prints out the cd-text fields as part of creating a new
cue sheet. Maybe I am doing something wrong with the new interface.
Here's my code:

void cdio2_fprint_cd_text(FILE *cueFile, CdIo_t *cdObj, track_t track,
const char *prefix)
{
int i, quoted;
cdtext_t *cdtext;
const char *field;

#ifdef CUED_HAVE_CDTEXT_V2
cdtext = cdio_get_cdtext(cdObj);
#else
cdtext = cdio_get_cdtext(cdObj, track);
#endif

if (cdtext) {
for (i = MIN_CDTEXT_FIELD; i<  MAX_CDTEXT_FIELDS; ++i) {
#ifdef CUED_HAVE_CDTEXT_V2
field = cdtext_get_const(cdtext, (cdtext_field_t) i, track);
#else
field = cdtext_get_const((cdtext_field_t) i, cdtext);
#endif
// checking for field[0] is for Nero, which sometime has zero length
if (field&&  field[0]) {
quoted = strchr(field, ' ') ? 1 : 0;
fprintf(cueFile, "%s%s %s%s%s\n", prefix,
cdtext_field2str((cdtext_field_t) i),
quoted ? "\"" : "", field, quoted ? "\"" : "");
}
}
}
}

Here is the cue file that was read by the libcdio bin/cue driver:

REM DISCID 8E09C30B
REM COMMENT "ExactAudioCopy v0.95b4"
PERFORMER "The Band"
TITLE "Music From Big Pink"
FILE "The Band - Music From Big Pink.wav" WAVE
TRACK 01 AUDIO
TITLE "Tears Of Rage"
PERFORMER "The Band"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "To Kingdome Come"
PERFORMER "The Band"
INDEX 00 05:17:18
INDEX 01 05:21:19
TRACK 03 AUDIO
TITLE "In A Station"
PERFORMER "The Band"
INDEX 00 08:37:34
INDEX 01 08:42:16
TRACK 04 AUDIO
TITLE "Caledonia Mission"
PERFORMER "The Band"
INDEX 00 12:09:39
INDEX 01 12:14:59
TRACK 05 AUDIO
TITLE "The Weight"
PERFORMER "The Band"
INDEX 00 15:07:33
INDEX 01 15:12:40
TRACK 06 AUDIO
TITLE "We Can Talk"
PERFORMER "The Band"
INDEX 00 19:43:60
INDEX 01 19:48:38
TRACK 07 AUDIO
TITLE "Long Black Veil"
PERFORMER "The Band"
INDEX 00 22:49:12
INDEX 01 22:53:34
TRACK 08 AUDIO
TITLE "Chest Fever"
PERFORMER "The Band"
INDEX 00 25:52:20
INDEX 01 25:57:08
TRACK 09 AUDIO
TITLE "Lonesome Suzie"
PERFORMER "The Band"
INDEX 00 31:07:51
INDEX 01 31:12:37
TRACK 10 AUDIO
TITLE "This Wheel's On Fire"
PERFORMER "The Band"
INDEX 00 35:10:43
INDEX 01 35:14:40
TRACK 11 AUDIO
TITLE "I Shall Be Released"
PERFORMER "The Band"
INDEX 00 38:24:66
INDEX 01 38:27:22










reply via email to

[Prev in Thread] Current Thread [Next in Thread]