Device::Cdio::Track(3pm)

NAME
Device::Cdio::Track - Class for track aspects of Device::Cdio.

SYNOPSIS
    use Device::Cdio::Device;
    use Device::Cdio::Track;

    $device = Device::Cdio::Device->new(-source=>'/dev/cdrom');
    $track  = $device->get_last_track();
    print "track: %d, last lsn: %d\n", $track->{track}, track->get_last_lsn();

    $track = $device->get_first_track();
    $format = $rackt->get_format();

METHODS

  new
  new(device, track)->object

Creates a new track object.

  get_audio_channels
  get_audio_channels(cdio, track)->int

Return number of channels in track: 2 or 4. Not meaningful if track is not an audio track. -1 is returned on error and -2 if the driver doesn't support the operation.

  get_copy_permit
  get_copy_permit(cdio, track)->int

Return copy protection status on a track. Is this meaningful not an audio track?

  get_format
  get_format()->$format

Get the format (e.g. 'audio', 'mode2', 'mode1') of track.

  get_last_lsn
  get_last_lsn()->lsn

Return the ending LSN for a track $perlcdio::INVALID_LSN is returned on error.

  get_lba
  get_lba()->lba

Return the starting LBA for a track $perlcdio::INVALID_LBA is returned on error.

  get_lsn
  get_lsn()->lsn

Return the starting LSN for a track $perlcdio::INVALID_LSN is returned on error.

  get_msf
  get_msf()

Return the starting MSF (minutes/secs/frames) for track number track. Track numbers usually start at something greater than 0, usually 1.

Returns string of the form mm:ss:ff if all good, or string 'error' on error.

  get_preemphasis
  get_preemphasis()->result

Get linear preemphasis status on an audio track. This is not meaningful if not an audio track?

  get_track_sec_count
item get_track_sec_count()->int Get the number of sectors between this track an the next. This includes any pregap sectors before the start of the next track. Track numbers usually start at something greater than 0, usually 1.

$perlcdio::INVALID_LSN is returned on error.

  is_track_green
  is_track_green(cdio, track) -> bool

Return True if we have XA data (green, mode2 form1) or XA data (green, mode2 form2). That is track begins:

  sync - header - subheader
  12     4      -  8

  get_track_isrc
$isrc = $track->get_track_isrc($insert_dashes=0);

Returns an empty string or the International Standard Recording Code. Which is presented in 4 hyphen-separated substrings: "CC-XXX-YY-NNNNN"

"CC" two-character ISO 3166-1 alpha-2 country code "XXX" is a three character alphanumeric registrant code "YY" is the last two digits of the year of registration
     (NB not necessarily the date the recording was made) "NNNNN" is a unique 5-digit number identifying the particular sound recording.

  set_track
  set_track(track_num)

Set a new track number.

SEE ALSO
Device::Cdio is the top-level module, Device::Cdio::Device is a class device objects, and Device::Cdio::ISO9660 for working with ISO9660 systems.

perlcdio is the lower-level interface to libcdio.

<http://www.gnu.org/software/libcdio/doxygen/track_8h.html> is documentation via doxygen of "libiso9660".

AUTHORS
Rocky Bernstein

COPYRIGHT
Copyright (C) 2006, 2012, 2017 Rocky Bernstein <rocky@cpan.org>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see The GNU General Public License <http://www.gnu.org/licenses/#GPL>.