MP3::Tag::CDDB_File(3) Module for parsing CDDB files.


my $db = MP3::Tag::CDDB_File->new($filename, $track); # Name of audio file
my $db = MP3::Tag::CDDB_File->new_from($record, $track); # Contents of CDDB
($title, $artist, $album, $year, $comment, $track) = $db->parse();

see MP3::Tag


MP3::Tag::CDDB_File is designed to be called from the MP3::Tag module.

It parses the content of CDDB file.

The file is found in the same directory as audio file; the list of possible file names is taken from the field "cddb_files" if set by MP3::Tag config() method.

  ($title, $artist, $album, $year, $comment, $track) =

parse_filename() extracts information about artist, title, track number, album and year from the CDDB record. $what is optional; it maybe title, track, artist, album, year, genre or comment. If $what is defined parse() will return only this element.

Additionally, $what can take values "artist_collection" (returns the value of artist in the disk-info field DTITLE, but only if author is specified in the track-info field TTITLE), "title_track" (returns the title specifically from track-info field - the "track" may fall back to the info from disk-info field), "comment_collection" (processed EXTD comment), "comment_track" (processed EXTT comment).

The returned year and genre is taken from DYEAR, DGENRE, EXTT, EXTD fields; recognized prefixes in the two last fields are YEAR, ID3Y, ID3G. The declarations of this form are stripped from the returned comment.

An alternative syntax ``Recorded''/``Recorded on''/``Recorded in''/ is also supported; the format of the date recognized by ID3v2::year(), or just a date field without a prefix.

 $title = $db->title();

Returns the title, obtained from the 'Tracktitle' entry of the file.

 $artist = $db->artist();

Returns the artist name, obtained from the 'Performer' or 'Albumperformer' entries (the first which is present) of the file.

 $track = $db->track();

Returns the track number, stored during object creation, or queried from the parent.

 $year = $db->year();

Returns the year, obtained from the 'Year' entry of the file. (Often not present.)

 $album = $db->album();

Returns the album name, obtained from the 'Albumtitle' entry of the file.

 $comment = $db->comment();

Returns the 'Trackcomment' entry of the file. (Often not present.)

 $genre = $db->genre($filename);