The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MP3::Tag::Utils - Assorted utilities for manipulating MP3 files via MP3::Tag.

VERSION

Version 0.0.3

SYNOPSIS

    use MP3::Tag::Utils;

    my $foo = MP3::Tag::Utils->new();
    ...

METHODS

new

change

Change the tags on a MP3 file.

args hash

file

The file to operate on.

album

If this is defined, the tag is set to it.

artist

If this is defined, the tag is set to it.

comment

If this is defined, the tag is set to it.

genre

If this is defined, the tag is set to it.

title

If this is defined, the tag is set to it.

track

If this is defined, the tag is set to it.

year

If this is defined, the tag is set to it.

    $foo->change(\%args);
    if($foo->error){
        warn('Error '.$foo->error.': '.$foo->errorString);
    }

rename

This renames files. s/\//\\/g is used on all the tags to make sure there are no directory issues.

One argument is taken and it is a hash ref.

The returned argument is a hash ref.

args hash ref

files

This is a array of files to rename.

template

This is the template to use for renaming a file.

The template keys are listed below.

    {$title}
    {$track}
    {$artist}
    {$album}
    {$comment}
    {$year}
    {$genre}

The default template is.

    {$artist} - {$album} ({$year}) - {$track} - {$title}.mp3

return hash ref

failed

This is a array of failed files.

padto

This pads a the track out to be this wide with zeros. By default is is 2.

To disable this, set it to 0.

success

This is true if it succeeds.

If it any thing failed, this is set to false.

    my $returned=$foo->rename(\%args);
    if ( $foo->error ||  ){

    }

show

This returns a string containing a description of all the specified MP3s.

One argument is taken and it is a hash ref.

The returned argument is a hash ref.

args hash ref

files

This is a array of files to rename.

template

This is the template to use for renaming a file.

The template keys are listed below.

    {$file}
    {$title}
    {$track}
    {$artist}
    {$album}
    {$comment}
    {$year}
    {$genre}

The default template is.

    File: {$file}
    Artist: {$artist}
    Album: {$album}
    Year: {$year}
    Track: {$track}
    Title: {$title}

return hash ref

failed

This is a array of failed files.

padto

This pads a the track out to be this wide with zeros. By default is is 2.

To disable this, set it to 0.

success

This is true if it succeeds.

If it any thing failed, this is set to false.

    my $returned=$foo->rename(\%args);
    if ( $foo->error ||  ){

    }

ERROR RELATED METHODS

error

This returns the current error value.

This returns a integer or undefined, Perl boolean value, indicating if a error is present or not and if it is which.

    if($foo->error){
        print "Error Code: ".$foo->error."\n";
    }

errorString

This turns the current error string.

    if($foo->errorString ne ''){
        print "Error String: ".$foo->errorString."\n";
    }

errorblank

This blanks a error, if a permanent error is not set.

This is a internal method and there is no good reason to call it.

ERROR CODES

1

No files specified.

2

The files key does not contain a array.

3

No changes specified.

4

Does not appear to be a MP3.

5

Track is not numeric.

6

Year is not numeric.

AUTHOR

Zane C. Bowers-Hadley, <vvelox at vvelox.net>

BUGS

Please report any bugs or feature requests to bug-mp3-tag-utils at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MP3-Tag-Utils. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc MP3::Tag::Utils

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2012 Zane C. Bowers-Hadley.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.