CD(3pm) | User Contributed Perl Documentation | CD(3pm) |
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¶
Audio::CD::Data Class¶
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
2024-10-14 | perl v5.40.0 |