127 lines
3.9 KiB
Perl
Executable File
127 lines
3.9 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
#Copyright (c) 2010, Zane C. Bowers
|
|
#All rights reserved.
|
|
#
|
|
#Redistribution and use in source and binary forms, with or without modification,
|
|
#are permitted provided that the following conditions are met:
|
|
#
|
|
# * Redistributions of source code must retain the above copyright notice,
|
|
# this list of conditions and the following disclaimer.
|
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
|
# this list of conditions and the following disclaimer in the documentation
|
|
# and/or other materials provided with the distribution.
|
|
#
|
|
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
#ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
#WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
#IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
|
#INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
#BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
#DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
#LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
#OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
#THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
use strict;
|
|
use warnings;
|
|
use Getopt::Std;
|
|
use MP3::Tag::Utils;
|
|
|
|
#version function
|
|
sub main::VERSION_MESSAGE {
|
|
print "mp3rename 0.0.0\n";
|
|
}
|
|
|
|
#print help
|
|
sub main::HELP_MESSAGE {
|
|
print "\n".
|
|
"-t <template> The template to use.\n".
|
|
"-p <pad to> The number of zeros to track should be padded out to.\n";
|
|
}
|
|
|
|
#gets the options
|
|
my %opts;
|
|
getopts('t:p:', \%opts);
|
|
|
|
#
|
|
my $mp3util=MP3::Tag::Utils->new;
|
|
|
|
my $returned=$mp3util->rename({files=>\@ARGV, template=>$opts{t}, padto=>$opts{p}});
|
|
|
|
#exit if the module errored
|
|
if ($mp3util->error) {
|
|
exit $mp3util->error;
|
|
}
|
|
|
|
#errors if it failed
|
|
if (! $returned->{success}) {
|
|
print "Failed to rename some files...\n";
|
|
my $int=0;
|
|
while (defined( $returned->{failed}[$int] )) {
|
|
print $returned->{failed}[$int]."\n";
|
|
}
|
|
exit 254;
|
|
}
|
|
|
|
exit 0;
|
|
|
|
=head1 NAME
|
|
|
|
mp3rename - Rename MP3 files based off of it's tags.
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
mp3rename [B<-p> <padto>] [B<-t> <template>] <mp3 files 0> [<mp3 file 1>...]
|
|
|
|
=head1 SWTICHES
|
|
|
|
=head2 -p <padto>
|
|
|
|
This is the number of zeros to pad the track number out to. By default this is 2.
|
|
|
|
=head2 -t <template>
|
|
|
|
This is the remplate to use for the new file name.
|
|
|
|
For more information on this see MP3::Tag::Utils.
|
|
|
|
=head1 AUTHOR
|
|
|
|
Copyright (c) 2010, Zame C. Bowers <vvelox@vvelox.net>
|
|
|
|
All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the following conditions are met:
|
|
|
|
* Redistributions of source code must retain the above copyright notice,
|
|
this list of conditions and the following disclaimer.
|
|
* Redistributions in binary form must reproduce the above copyright
|
|
notice, this list of conditions and the following disclaimer in the
|
|
documentation and/or other materials provided with the distribution.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS` OR
|
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
=head1 SCRIPT CATEGORIES
|
|
|
|
Desktop
|
|
|
|
=head1 OSNAMES
|
|
|
|
any
|
|
|
|
=head1 README
|
|
|
|
mp3rename - Rename MP3 files based off of it's tags.
|
|
|
|
=cut
|