MP3-Tag
view release on metacpan or search on metacpan
lib/MP3/Tag/Inf.pm view on Meta::CPAN
package MP3::Tag::Inf;
use strict;
use vars qw /$VERSION @ISA/;
$VERSION="1.00";
@ISA = 'MP3::Tag::__hasparent';
=pod
=head1 NAME
MP3::Tag::Inf - Module for parsing F<.inf> files associated with music tracks.
=head1 SYNOPSIS
my $mp3inf = MP3::Tag::Inf->new($filename); # Name of MP3 or .INF file
# or an MP3::Tag::File object
($title, $artist, $album, $year, $comment, $track) = $mp3inf->parse();
see L<MP3::Tag>
=head1 DESCRIPTION
MP3::Tag::Inf is designed to be called from the MP3::Tag module.
It parses the content of F<.inf> file (created, e.g., by cdda2wav).
=over 4
=cut
# Constructor
sub new_with_parent {
my ($class, $filename, $parent) = @_;
my $self = bless {parent => $parent}, $class;
$filename = $filename->filename if ref $filename;
my $ext_rex = $self->get_config('extension')->[0];
$filename =~ s/($ext_rex)|$/.inf/; # replace extension
return unless -f $filename;
$self->{filename} = $filename;
$self;
}
# Destructor
sub DESTROY {}
=item parse()
($title, $artist, $album, $year, $comment, $track) =
$mp3inf->parse($what);
parse_filename() extracts information about artist, title, track number,
album and year from the F<.inf> file. $what is optional; it maybe title,
track, artist, album, year or comment. If $what is defined parse() will return
only this element.
As a side effect of this call, $mp3inf->{info} is set to the hash reference
with the content of particular elements of the F<.inf> file. Typically present
are the following fields:
CDINDEX_DISCID
CDDB_DISCID
MCN
ISRC
Albumperformer
Performer
Albumtitle
Tracktitle
Tracknumber
Trackstart
Tracklength
Pre-emphasis
Channels
Copy_permitted
Endianess
Index
The following fields are also recognized:
Year
( run in 0.424 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )