—=pod
=head1 NAME
SDL::CD -- SDL Bindings for structure SDL_CD
=head1 CATEGORY
Core, CDROM, Structure
=head1 SYNOPSIS
use SDL;
use SDL::CDROM;
use SDL::CD;
SDL::init(SDL_INIT_CDROM);
my $drives = SDL::CDROM::num_drives;
if( $drives > 0 )
{
my $CD = SDL::CD->new( 0 );
if($CD)
{
...
}
}
=head1 CONSTANTS
The constants are exported by default. You can avoid this by doing:
use SDL::CD ();
and access them directly:
SDL::CD::CD_TRAYEMPTY;
or by choosing the export tags below:
Export tag: ':status'
CD_TRAYEMPTY
CD_STOPPED
CD_PLAYING
CD_PAUSED
CD_ERROR
Export tag: ':defaults'
CD_FPS
SDL_MAX_TRACKS
=head1 METHOD
=head2 new
my $CD = SDL::CD->new($drive)
Makes a new SDL::CD object. Returns C<undef> if the drive is busy or inaccessible.
=head2 status
my $status = $CD->status();
Returns the current status of the CD tray
Returns on of the following constants:
=over
=item *
CD_TRAYEMPTY
=item *
CD_STOPPED
=item *
CD_PLAYING
=item *
CD_PAUSED
=item *
CD_ERROR
=back
=head2 play_tracks
$CD->play_tracks($start_track, $start_frame, $ntracks, $nframes)
Plays the given SDL::CD starting at track $start_track, for $ntracks tracks.
$start_frame is the frame offset, from the beginning of the $start_track, at which to start. $nframes is the frame offset, from the
beginning of the last track ($start_track+$ntracks), at which to end playing.
play_tracks() should only be called after calling L</status> to get information about the CD.
B<Note: Data tracks are ignored.>
Returns C<0>, or C<-1> if there was an error.
=head2 play
$CD->play($start, $length);
Plays the given SDL::CD , starting a frame $start for $length frames.
Returns C<0> on success, C<-1> on error
=head2 pause
$CD->pause();
Pauses play on CD
Returns C<0> on success, or C<-1> on an error.
=head2 resume
$CD->resume();
Returns C<0> on success, or C<-1> on an error.
=head2 stop
$CD->stop();
Stops play on the CD.
Returns C<0> on success, or C<-1> on an error.
=head2 eject
$CD->eject();
Ejects the CD.
Returns C<0> on success, or C<-1> on an error.
=head2 id
$CD->id();
Private drive identifier
=head2 num_tracks
$CD->num_tracks();
Number of tracks on the CD
=head2 cur_track
$CD->cur_track();
Current track on the CD;
=head2 track
my $track = $CD->track($number);
Retrives track description of track $number in CD. See L<SDL::CDTrack>.
=head2 FRAMES_TO_MSF
my ($min, $sec, $fra) = FRAMES_TO_MSF($frames);
Conversion functions from frames to Minute/Second/Frames
=head2 MSF_TO_FRAMES
my $frames = MSF_TO_FRAMES($min, $sec, $fra);
=head1 SEE ALSO
L<SDL::CDROM>, L<SDL::CDTrack>
=head1 AUTHORS
See L<SDL/AUTHORS>.
=cut