#parser #cd

no-std cdtext

A rough implementation of CD-Text parser

1 unstable release

Uses new Rust 2024

0.1.0 Aug 12, 2025

#226 in No standard library

MIT license

12KB
176 lines

cdtext

A rough implementation of CD-Text parser. This crate can be used to read CD-Text binary data given by CD drive.

See examples/parse.rs for more info.

Getting the data

To dump the CD-Text info from your CD in Linux, open your terminal and run following command:

cdrecord dev=/dev/srX -vv -toc

Where X is your drive number.

cdrecord will print some info into console, and create a cdtext.dat file.

Parsing and working with data

Firstly, load data from somewhere by using std::fs::read or use any function that can give you a slice of u8.

Then create a parser:

let cdtext = CDText::from_data_with_length(&data);

Then parse:

let data: Vec<cdtext::CDTextEntry> = cdtext.parse();

Now data is ready for further processing.

See docs for more information.

Dependencies

~240–710KB
~16K SLoC