libcdio-devel
[Top][All Lists]
Advanced

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

[Libcdio-devel] CD-Text Implementation (forwarded from Leon)


From: Rocky Bernstein
Subject: [Libcdio-devel] CD-Text Implementation (forwarded from Leon)
Date: Fri, 22 Apr 2011 22:56:37 -0400

Leon posted the following to libcdio-dev and it relates that the email was
rejected. I don't know why, but here's the email in full.

- - -

Hi,

finally found some time to work on CD-TEXT implementation again.
<http://savannah.gnu.org/patch/?7532>
reads DISCID field
reads and converts GENRE field ... a single cd out of about 20 that had
CD-TEXT had the GENRE field set. A fairly new one though. (Pink Floyd - Dark
Side of the Moon remastered)
reads BLOCKSIZE and sets charset according to that info
BLOCKSIZE also has some nice statistics, that could be used for debugging.

Documentation is very thin on the internet. Best sources were wikipedia and
cdrtools sourcecode.

Looks like originally the supported character sets were supposed to be
ASCII, ISO-8859-1/Windows-1252, Japanese, Korean and Chinese.
Shift-JIS was used for Japanese characters. I don't think Korean and Chinese
was ever supported by anything.

Now. I did not even find a single cd authoring tool, that supports
specifying the encoding. Looking through my cd collection I found that most
of them were ASCII, a few had some special characters though and were
ISO-8859-1. How did I tell? One of the new features I implemented is reading
of the PACKSIZE information and those have a byte to specify the charset. I
believe that some old CDs with Shift-JIS charset exist in Japan.

@Rocky: Since I did not find a tool to burn dbc, I cannot provide an image.

With those patches we should have a pretty complete implementation of the
CD-TEXT standard how it is used.

I believe now, that the TOC and TOC2 fields were never used.
I really don't think it is necessary to extract block 1-7 anymore. Same
reason.

For the future:
implement CRC checks of cd-text data. Is there crc code in cdio at all?
add public methods to access blocksize data and a direct method to access
charset.

I hope you can use it somehow.

Remark: Does logging work? Gave me segfaults when I tried.

Regards
Leon


reply via email to

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