SDL::CD

Section: User Contributed Perl Documentation (3)
Updated: 2021-01-27
Page Index
 

NAME

SDL::CD -- SDL Bindings for structure SDL_CD  

CATEGORY

Core, CDROM, Structure  

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)
   {
        ... 
   }
  
 }

 

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

 

METHOD

 

new

 my $CD = SDL::CD->new($drive)

Makes a new SDL::CD object. Returns "undef" if the drive is busy or inaccessible.  

status

 my $status = $CD->status();

Returns the current status of the CD tray

Returns on of the following constants:

CD_TRAYEMPTY
CD_STOPPED
CD_PLAYING
CD_PAUSED
CD_ERROR
 

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 ``status'' to get information about the CD.

Note: Data tracks are ignored.

Returns 0, or "-1" if there was an error.  

play

 $CD->play($start, $length);

Plays the given SDL::CD , starting a frame $start for $length frames.

Returns 0 on success, "-1" on error  

pause

 $CD->pause();

Pauses play on CD

Returns 0 on success, or "-1" on an error.  

resume

 $CD->resume();

Returns 0 on success, or "-1" on an error.  

stop

 $CD->stop();

Stops play on the CD.

Returns 0 on success, or "-1" on an error.  

eject

 $CD->eject();

Ejects the CD.

Returns 0 on success, or "-1" on an error.  

id

 $CD->id();

Private drive identifier  

num_tracks

 $CD->num_tracks();

Number of tracks on the CD  

cur_track

 $CD->cur_track();

Current track on the CD;  

track

 my $track =  $CD->track($number);

Retrieves track description of track $number in CD. See SDL::CDTrack.  

FRAMES_TO_MSF

 my ($min, $sec, $fra) = FRAMES_TO_MSF($frames);

Conversion functions from frames to Minute/Second/Frames  

MSF_TO_FRAMES

 my $frames = MSF_TO_FRAMES($min, $sec, $fra);

 

SEE ALSO

SDL::CDROM, SDL::CDTrack  

AUTHORS

See ``AUTHORS'' in SDL.


 

Index

NAME
CATEGORY
SYNOPSIS
CONSTANTS
METHOD
new
status
play_tracks
play
pause
resume
stop
eject
id
num_tracks
cur_track
track
FRAMES_TO_MSF
MSF_TO_FRAMES
SEE ALSO
AUTHORS