#!/usr/bin/perl

use strict;
use warnings;

print "\n===== Convert MP3s to WAVs =====\n";
print "Converts a directory of MP3s into a directory of WAVs, replacing old\n";
print "filenames with simple numbering.\n\n";

if (!defined $ARGV[0] || !-d $ARGV[0])
{
  print "Error! Missing input directory or directory doesn't exist\n";
  print "usage: convert_mp3_to_wav.pl <input directory> <output directory>\n\n";
  exit();
}
if (!defined $ARGV[1] || !-d $ARGV[1])
{
  print "Error! Missing output directory or directory doesn't exist\n";
  print "usage: convert_mp3_to_wav.pl <input directory> <output directory>\n\n";
  exit();
}

opendir(DH, $ARGV[0]) or die "Failed to open directory for reading: ./import.mp3";
my @files = readdir(DH);
closedir(DH);

my $counter = 0;
foreach my $file (@files)
{
  if ($file =~ /\.mp3$/)
  {
    $counter++;
    my $cmd = 'ffmpeg -i "' . $ARGV[0] . '/' . $file . '" "' . $ARGV[1] . '/' . sprintf("%04d", $counter) . '.wav"';
    print $cmd . "\n";
    `$cmd`;
  }
}

print "Complete!\n\n";

exit;
1;
