Audio::CD.3pm

Langue: en

Autres versions - même langue

Version: 2010-06-15 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Audio::CD - Perl interface to libcdaudio (cd + cddb)

SYNOPSIS

   use Audio::CD ();
   my $cd = Audio::CD->init;
 
 

DESCRIPTION

Audio::CD provides a Perl interface to libcdaudio by Tony Arcieri, available from http://cdcd.undergrid.net/

Several classes provide glue for the libcdaudio functions and data structures.

Audio::CD Class

init
Initialize the Audio::CD object:
  my $cd = Audio::CD->init;
 
 
stat
Stat the Audio::CD object, returns an Audio::CD::Info object.
  my $info = $cd->stat;
 
 
cddb
Returns an Audio::CDDB object.
  my $cddb = $cd->cddb;
 
 
play
Play the given cd track (defaults to 1).
  $cd->play(1);
 
 
stop
Stop the cd.
  $cd->stop;
 
 
pause
Pause the cd.
  $cd->pause;
 
 
resume
Resume the cd.
  $cd->resume;
 
 
eject
Eject the cd.
  $cd->eject;
 
 
close
Close the cd tray.
  $cd->close;
 
 
play_frames
  $cd->play_frames($startframe, $endframe);
 
 
play_track_pos
  $cd->play_track_pos($strarttrack, $endtrack, $startpos);
 
 
play_track
  $cd->play_track($strarttrack, $endtrack);
 
 
track_advance
  $cd->track_advance($endtrack, $minutes, $seconds);
 
 
advance
  $cd->advance($minutes, $seconds);
 
 
get_volume
Returns an Audio::CD::Volume object.
  my $vol = $cd->get_volume;
 
 
set_volume
  $cd->set_volume($vol);
 
 

Audio::CDDB Class

discid
  my $id = $cddb->discid;
 
 
lookup
Does a cddb lookup and returns an Audio::CD::Data object.
  my $data = $cddb->lookup;
 
 

Audio::CD::Data Class

artist
  my $artist = $data->artist;
 
 
title
  my $title = $data->title;
 
 
genre
  my $genre = $data->genre;
 
 
tracks
Returns an array reference of Audio::CD::Track objects.
  my $foo = $data->tracks($info);
  my @tracks = @$foo;
 
 

Audio::CD::Track Class

name
  my $name = $track->name;
 
 

Audio::CD::Info Class

mode
Returns the CD mode, one of PLAYING, PAUSED, COMPLETED, NOSTATUS;
  my $track = $info->mode;
  print "playing" if $info->mode == Audio::CD::PLAYING;
 
 
present
Returns true if a disc is present.
  $cd->play if $info->present;
 
 
current_track
Returns the current track number being played or paused.
  my $track = $info->current_track;
 
 
first_track
Returns the number of the first track on the CD.
  my $track = $info->first_track;
 
 
total_tracks
Returns the total number of tracks on the cd.
  my $track = $info->total_tracks;
 
 
track_time
Returns the current track play time:
  my($minutes, $seconds) = $info->track_time;
 
 
time
Returns the current disc play time:
  my($minutes, $seconds) = $info->time;
 
 
length
Returns the disc length time:
  my($minutes, $seconds) = $info->length;
 
 
tracks
Returns an array reference of Audio::CD::Info::Track objects.
  my $foo = $info->tracks;
  my @tracks = @$foo;
 
 

Audio::CD::Info::Track Class

length
Returns the track length time:
  my($minutes, $seconds) = $tinfo->length;
 
 
pos
Returns the track position on the CD:
  my($minutes, $seconds) = $tinfo->pos;
 
 
type
Returns the track type (either TRACK_AUDIO or TRACK_DATA):
  if ($tinfo->type == Audio::CD::TRACK_AUDIO) {
    print "audio track\n";
  } elsif ($tinfo->type == Audio::CD::TRACK_DATA) {
    print "data track\n";
  }
 
 
is_audio
Returns true if the track is an audio track; equivalent to the test:
  $tinfo->type == Audio::CD::TRACK_AUDIO ? 1 : 0
 
 
is_data
Returns true if the track is a data track; equivalent to the test:
  $tinfo->type == Audio::CD::TRACK_DATA ? 1 : 0
 
 

SEE ALSO

Xmms(3)

AUTHOR

Perl interface by Doug MacEachern

libcdaudio and cddb_lookup.c by Tony Arcieri