my $artist;
my $album;
my @tags;
+ my $outfile;
my $status;
verbose("Renaming $dir/tags\n");
verbose("chdir($dir)\n");
chdir($dir) or die("chdir($dir): $!");
+ $outfile = "$album";
+ for ($outfile) {
+ s/\//_/g;
+ s/:/_/g;
+ s/'/_/g;
+ s/"/_/g;
+ }
+
verbose("Running flac\n");
- $status = system('flac', '-o', "../$artist/$album.flac-tmp",
+ $status = system('flac', '-o', "../$artist/$outfile.flac-tmp",
'--delete-input-file', '-V', '--cuesheet',
'cue', '--no-padding', '--best',
map({ ('-T', $_) } @tags),
verbose("Cleaning up $dir\n");
unlink('using-tags') or die("unlink(using-tags): $!");
unlink('cue') or die("unlink(cue): $!");
- rename('toc', "../$artist/$album.toc")
- or die("rename(toc, ../$artist/$album.toc): $!");
- rename('log', "../$artist/$album.log")
- or die("rename(log, ../$artist/$album.log): $!");
+ rename('toc', "../$artist/$outfile.toc")
+ or die("rename(toc, ../$artist/$outfile.toc): $!");
+ rename('log', "../$artist/$outfile.log")
+ or die("rename(log, ../$artist/$outfile.log): $!");
chdir('..') or die("chdir(..): $!");
rmdir($dir) or die("rmdir($dir): $!");
- rename("$artist/$album.flac-tmp", "$artist/$album.flac")
- or die("rename($artist/$album.flac-tmp, $artist/$album.flac): $!");
+ rename("$artist/$outfile.flac-tmp", "$artist/$outfile.flac")
+ or die("rename($artist/$outfile.flac-tmp, $artist/$outfile.flac): $!");
return 0;
}
sub reaper {
my $pid;
- while (($pid = waitpid(0, WNOHANG)) > 0) {
+ while (($pid = waitpid(-1, WNOHANG)) > 0) {
push(@finished, [$pid, $?]);
}