NAME

Audio::TagLib::Tag - A simple, generic interface to common audio meta data fields

DESCRIPTION

This is an attempt to abstract away the difference in the meta data formats of various audio codecs and tagging schemes. As such it is generally a subset of what is available in the specific formats but should be suitable for most applications. This is meant to complient the generic APIs found in Audio::TagLib::AudioProperties, Audio::TagLib::File and Audio::TagLib::FileRef.

DESTROY()

Detroys this Tag instance.

String title() [pure virtual]

Returns the track name; if no track name is present in the tag String::null will be returned.

String artist() [pure virtual]

Returns the artist name; if no artist name is present in the tag String::null will be returned.

String album() [pure virtual]

Returns the album name; if no album name is present in the tag String::null will be returned.

String comment() [pure virtual]

Returns the track comment; if no comment is present in the tag String::null will be returned.

String genre() [pure virtual]

Returns the genre name; if no genre is present in the tag String::null will be returned.

UV year() [pure virtual]

Returns the year; if there is no year set, this will return 0.

UV track() [pure virtual]

Returns the track number; if there is no track number set, this will return 0.

void setTitle(String $s) [pure virtual]

Sets the title to $s. If $s is String::null() then this value will be cleared.

void setArtist(String $s) [pure virtual]

Sets the artist to $s. If $s is String::null() then this value will be cleared.

void setAlbum(String $s) [pure virtual]

Sets the album to $s. If $s is String::null() then this value will be cleared.

void setComment(String $s) [pure virtual]

Sets the comment to $s. If $s is String::null() then this value will be cleared.

void setGenre(String $s) [pure virtual]

Sets the genre to $s. If $s is String::null() then this value will be cleared. For tag formats that use a fixed set of genres, the appropriate value will be selected based on a string comparison. A list of available genres for those formats should be available in that type's implementation.

void setYear(UV $i) [pure virtual]

Sets the year to $i. If $i is 0 then this value will be cleared.

void setTrack(UV $i) [pure virtual]

Sets the track to $i. If $i is 0 then this value will be cleared.

void duplicate(Tag $source, Tag $target, BOOL $overwrite = TRUE) [static]

Copies the generic data from one tag to another.

NOTE This will no affect any of the lower level details of the tag. For instance if any of the tag type specific data (maybe a URL for a band) is set, this will not modify or copy that. This just copies using the API in this class.

If $overwrite is true then the values will be unconditionally copied. If false only empty values will be overwritten.

EXPORT

None by default.

SEE ALSO

Audio::TagLib

AUTHOR

Dongxu Ma, <dongxu@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2005 by Dongxu Ma

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.