Audio::File::Tag(3pm) User Contributed Perl Documentation Audio::File::Tag(3pm)NAME
Audio::File::Tag - abstracts the tag of an audio file
DESCRIPTION
Audio::File::Tag is the base class for other file format independant tag classes like Audio::File::Flac::Tag or Audio::File::Ogg::Tag. You
shouldn't use this class yourself exept you're writing an own file format dependant subclass.
METHODS
new
Constructor. Creates a new Audio::File::Tag object. You shouldn't use this method yourself. It is called by the filetype-dependant
subclasses of Audio::File::Type automatically.
init
Initializes the object. It's called by the constructor and empty by default. It's ought to be overwritten by subclasses.
title
Using title() you can get or set the tags title field. If called without any argument it'll return the current content of the title field.
If you call title() with an scalar argument it will set the title field to what the argument contains. The methods artist(), album(),
comment(), genre(), year(), track() and total() are called in the same way.
artist
Set/get the artist field in the files tag.
album
Set/get the album field in the files tag.
comment
Set/get the comment field in the files tag.
genre
Set/get the genre field in the files tag.
year
Set/get the year field in the files tag.
track
Set/get the track field in the files tag.
total
Set/get the total number of tracks.
all
Set/get all tags. To set the tags pass a hash reference with the names of the tags as keys and the tag values as hash values. Returns a
hash reference if no argument is specified.
is_empty
Returns whether all tag fields are empty or not.
save
Saves the changed tag information. Not yet implemented.
TODO
Implement writing tags
AUTHOR
Florian Ragwitz <flora@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) Florian Ragwitz
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
perl v5.10.0 2005-02-18 Audio::File::Tag(3pm)
Check Out this Related Man Page
MP3::Tag::File(3pm) User Contributed Perl Documentation MP3::Tag::File(3pm)NAME
MP3::Tag::File - Module for reading / writing files
SYNOPSIS
my $mp3 = MP3::Tag->new($filename);
($title, $artist, $no, $album, $year) = $mp3->parse_filename();
see MP3::Tag
DESCRIPTION
MP3::Tag::File is designed to be called from the MP3::Tag module.
It offers possibilities to read/write data from files via read(), write(), truncate(), seek(), tell(), open(), close(); one can find the
filename via the filename() method.
parse_filename()
($title, $artist, $no, $album, $year) = $mp3->parse_filename($what, $filename);
parse_filename() tries to extract information about artist, title, track number, album and year from the filename. (For backward
compatibility it may be also called by deprecated name read_filename().)
This is likely to fail for a lot of filenames, especially the album will be often wrongly guessed, as the name of the parent directory
is taken as album name.
$what and $filename are optional. $what maybe title, track, artist, album or year. If $what is defined parse_filename() will return
only this element.
If $filename is defined this filename will be used and not the real filename which was set by MP3::Tag with "MP3::Tag->new($filename)".
Otherwise the actual filename is used (subject to configuration variable "decode_encoding_filename").
Following formats will be hopefully recognized:
- album name/artist name - song name.mp3
- album_name/artist_name-song_name.mp3
- album.name/artist.name_song.name.mp3
- album name/(artist name) song name.mp3
- album name/01. artist name - song name.mp3
- album name/artist name - 01 - song.name.mp3
If artist or title end in "(NUMBER)" with 4-digit NUMBER, it is considered the year.
title()
$title = $mp3->title($filename);
Returns the title, guessed from the filename. See also parse_filename(). (For backward compatibility, can be called by deprecated name
song().)
$filename is optional and will be used instead of the real filename if defined.
artist()
$artist = $mp3->artist($filename);
Returns the artist name, guessed from the filename. See also parse_filename()
$filename is optional and will be used instead of the real filename if defined.
track()
$track = $mp3->track($filename);
Returns the track number, guessed from the filename. See also parse_filename()
$filename is optional and will be used instead of the real filename if defined.
year()
$year = $mp3->year($filename);
Returns the year, guessed from the filename. See also parse_filename()
$filename is optional and will be used instead of the real filename if defined.
album()
$album = $mp3->album($filename);
Returns the album name, guessed from the filename. See also parse_filename() The album name is guessed from the parent directory, so it
is very likely to fail.
$filename is optional and will be used instead of the real filename if defined.
comment()
$comment = $mp3->comment($filename); # Always undef
genre()
$genre = $mp3->genre($filename); # Always undef
perl v5.14.2 2009-11-28 MP3::Tag::File(3pm)