pods::SDL::CD(3pm)

okay bestie, welcome to the pods::SDL::CD(3pm) page β€” yes, that's User Contributed Perl Documentation, and it's all about SDL::CD. it's filed under Core, CDROM, Structure, and it's giving "CD tray but make it Perl." πŸ’Ώβœ¨

🌸 NAME 🌸

SDL::CD β€” SDL Bindings for structure SDL_CD. that's the whole name, no cap. πŸŽ€

🌈 CATEGORY 🌈

Core, CDROM, Structure β€” all three, periodt. πŸ‘‘

✨ SYNOPSIS ✨

like, here's the whole vibe check in code:

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 πŸŽ€

okay so 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 πŸ’Ώ

methods incoming, bestie. signatures are copied exactly, because we do not mess with code. 🫢

🌟 new 🌟

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

Makes a new SDL::CD object. Returns undef if the drive is busy or inaccessible. rude of the drive, honestly. 😭

🌟 status 🌟

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

Returns the current status of the CD tray.

Returns one 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. signature plus return tea, that's the whole original vibe here. πŸ“

🌟 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);

signature only on this one, bestie. πŸ’…

πŸ‘€ SEE ALSO πŸ‘€

  • SDL::CDROM
  • SDL::CDTrack

πŸ’– AUTHORS πŸ’–

See "AUTHORS" in SDL.


and that's the whole manual, bestie. this iconic page is pods::SDL::CD(3pm), from perl v5.42.3, dated 2026-08-19. now go make that CD tray behave. mwah πŸ’‹πŸ’Ώβœ¨

πŸ“¦ where this page comes from