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.