codice:
#!/usr/bin/perl
use Term::ANSIColor;
my $mpcidec="mppdec";
my $mp3enc="lame";
my @list=`ls *.[mM][pP][cC] 2>/dev/null`;
my $name="";
my $mpc="";
my $mp3="";
my $wav="";
my $def="192";
if ( ($ARGV[0] == "-h" ||$ARGV[0] == "--help" ) && $#ARGV == 0 )
{
print "mpc2mp3 converts mpc to mp3\nusage: $0 [options]\n\noptions:\n\t-b <bitrate>\tmp3 bitrate encoding (default 192)\n";
print "\t-h\tprints this help\n";
exit 0;
}
if ( $ARGV[0] == "-b" && $#ARGV == 1 )
{
$def=$ARGV[1];
}
if ($#list == -1)
{
print "Sorry, no mpc files in this direectory\n";
exit 0;
}
my $parameters="-b $def";
system(qq(banner "Mpc 2 Mp3"));
for ($i=0;$i<=$#list;$i++)
{
$mpc=$list[$i];
$_=$mpc;
$name="$1" if ( /^(.*).mpc$/);
$mpc=qq($name.mpc);
$wav=qq($name.wav);
$mp3=qq($name.mp3);
print color("yellow"),
"...decoding ",
color("red"),
"\"$mpc\"",
color("yellow"),
" to ",
color("red"),
"\"$wav\"\n",
color("reset");
system(qq($mpcidec "$mpc" "$wav")); # or die "Cannot execute $mpcidec $mpc $wav\n";
system(qq(rm -rf "$mpc"));
print color("green"),
" -",
color("yellow"),
"*",
color("green"),
"- decoded",
color("red"),
" mpc ",
color("green"),
"to",
color("red"),
" wav\n",
color("reset");
print color("yellow"),
"...encoding ",
color("red"),
"\"$wav\"",
color("yellow"),
" to ",
color("red"),
"\"$mp3\"\n",
color("reset");
system("$mp3enc $parameters \"$wav\" \"$mp3\" ");# or die "Cannot execute $mp3enc $wav $mp3\n";
system(qq(rm -rf "$wav"));
print color("green"),
" -",
color("yellow"),
"*",
color("green"),
"- encoded",
color("red"),
" wav ",
color("green"),
"to",
color("red"),
" mp3\n",
color("reset");
print " ...",
color("green"),
"Done",
color("reset"),
"!\n\n";
}
exit 0;