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;

Returns an empty string or the International Standard Recording Code. Which is presented in 4 hyphen seperated 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 <rocky at cpan.org>.

COPYRIGHT

Copyright (C) 2006, 2012 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 <http://www.gnu.org/licenses/>.