NAME
Music::Tag::Generic - Parent Class for Music::Tag objects
SYNOPSIS
package Music::Tag::SuperMusic;
use base qw(Music::Tag::Generic);
sub set_tag {
my $self = shift;
$self->info->artist($self->info->artist . " is super");
return $self->info;
}
1;
DESCRIPTION
Base class. See Music::Tag.
PLUGINS
All plugins should set @ISA to include Music::Tag::Generic and contain one or more of the following methods:
- new()
-
Set in template. If you override, it should take as options a reference to a Music::Tag object and an href of options.
- info()
-
Should return a reference to the associated Music::Tag object. If passed an object, should set the associated Music::Tag object to it.
- get_tag()
-
Populates the data in the Music::Tag object.
- set_tag()
-
Optional method to save info.
- required_values()
-
Optional method returns a list of required data values required for "get_tag()" in Music::Tag::Generic.
- set_values()
-
Optional method (for now) returns a list of data values that can be set with "get_tag()" in Music::Tag::Generic.
- saved_values()
-
Optional method returns a list of data values that can be saved with "set_tag()" in Music::Tag::Generic.
- strip_tag()
-
Optional method to remove info.
- close()
-
Optional method to close open file handles.
- tagchange()
-
Inherited method that can be called to announce a data-value change from what is read on file. Used by secondary plugins like Amazon, MusicBrainz, and File. This is preferred to using
<$self-
info->changed(1)>>. - simplify()
-
A useful method for simplifying artist names and titles. Takes a string, and returns a sting with no whitespace. Also removes accents (if Text::Unaccent::PurePerl is available) and converts numbers like 1,2,3 as words to one, two, three... (English is used here. Let me know if it would be helpful to change this. I do not change words to numbers because I prefer sorting "5 Star" under f). Removes known articles, such as a, the, an, le les, de if they are not at the end of a string.
- simple_compare($a, $b, $required_percent)
-
Returns 1 on match, 0 on no match, and -1 on approximate match. $required_percent is a value from 0...1 which is the percentage of similarity required for match.
- status()
-
Inherited method to print a pretty status message. If first argument is a number, assumes this is required verbosity.
- error()
-
Inherited method to print an error message.
- changed()
-
Same as $self->info->changed(). Please use tagchange method instead.
- wav_out()
-
If plugin is for a media tag, return stream of wav to filehandle $fh.
Return True on success, False on failure, undef if not supported.
- options()
-
Returns a hashref of options (or sets options, just like Music::Tag method).
- default_options
-
Method should return default options.
SEE ALSO
AUTHOR
Edward Allen III <ealleniii _at_ cpan _dot_ org>
COPYRIGHT
Copyright © 2007,2008 Edward Allen III. Some rights reserved.
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 364:
Non-ASCII character seen before =encoding in '©'. Assuming UTF-8