---
name: "MP3::Tag::Cue"
section: "3pm"
platform: "linux"
package: "libmp3-tag-perl"
version: "1.16-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MP3::Tag::Cue"
---

# MP3::Tag::Cue(3pm)

Module for parsing .cue files.

## NAME

MP3::Tag::Cue - Module for parsing .cue files.

## SYNOPSIS

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

see MP3::Tag

## DESCRIPTION

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

It parses the content of a *.cue* file.

The *.cue* file is looked for in the same directory as audio file; one of the following conditions must be satisfied:

- •

  The "audio" file is specified is actually a *.cue* file;

- •

  There is exactly one *.cue* file in the directory of audio file;

- •

  There is exactly one *.cue* file in the directory of audio file with basename which is a beginning of the name of audio file.

- •

  There is exactly one *.cue* file in the directory of audio file with basename which matches (case-insensitive) a beginning of the name of audio file.

If no *.cue* file is found in the directory of audio file, the same process is repeated once one directory uplevel, with the name of the file's directory used instead of the file name.  E.g., with the files like this

```
   Foo/bar.cue
   Foo/bar/04.wav
```

audio file *Foo/bar/04.wav* will be associated with *Foo/bar.cue*.

- **parse()**

  ```
    ($title, $artist, $album, $year, $comment, $track) =
       $db->parse($what);
  ```

  **parse\_filename()** extracts information about artist, title, track number, album and year from the *.cue* file.  `$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 whole-disk-info field `"PERFORMER"`, `"songwriter"`.

- **title()**

  ```
   $title = $db->title();
  ```

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

- **artist()**

  ```
   $artist = $db->artist();
  ```

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

- **track()**

  ```
   $track = $db->track();
  ```

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

- **year()**

  ```
   $year = $db->year();
  ```

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

- **album()**

  ```
   $album = $db->album();
  ```

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

- **comment()**

  ```
   $comment = $db->comment();
  ```

  Returns the `'REM COMMENT'` entry of the file.  (Often not present.)

- **genre()**

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

## POD ERRORS

Hey! **The above document had some coding errors, which are explained below:**

- Around line 131:

  \=over without closing =back
