X-Git-Url: https://diplodocus.org/git/flac-archive/blobdiff_plain/315f17e6c9128a0fe970ca30a79c6ddfb48e124b..e5a969cc9b2ba39fc38f3c4cc5317fc3b73e6754:/fa-flacd diff --git a/fa-flacd b/fa-flacd index 316e5cc..371f20b 100755 --- a/fa-flacd +++ b/fa-flacd @@ -30,7 +30,7 @@ my @jobs; my @finished; sub verbose { - $verbose and map({ print(STDERR $_) } @_); + $verbose and print(STDERR $_) for @_; } # Return the ARTIST, ALBUM, and DATE followed by a list of all the @@ -41,7 +41,6 @@ sub get_tags { my $value; my $artist; my $album; - my $date; my @tags; verbose("Opening tags file $fn\n"); @@ -58,14 +57,11 @@ sub get_tags { } elsif (/^ALBUM=/) { $album = $value; verbose("ALBUM $album from $fn\n"); - } elsif (/^DATE=/) { - $date = $value; - verbose("DATE $date from $fn\n"); } } close(TAGS) or die("close($fn): $!"); - return ($artist, $album, $date, @tags); + return ($artist, $album, @tags); } # Process the fa-rip output in the directory DIR. @@ -73,7 +69,6 @@ sub flac { my $dir = shift; my $artist; my $album; - my $date; my @tags; my $status; @@ -81,7 +76,7 @@ sub flac { rename("$dir/tags", "$dir/using-tags") or die("rename($dir/tags, $dir/using-tags): $!"); - ($artist, $album, $date, @tags) = get_tags("$dir/using-tags"); + ($artist, $album, @tags) = get_tags("$dir/using-tags"); verbose("mkdir($artist)\n"); -d $artist or mkdir($artist) or die("mkdir($artist): $!"); @@ -134,7 +129,7 @@ sub newjob { my $pid; $pid = fork(); - if ($pid == -1) { + if (not defined($pid)) { die("fork: $!"); } elsif ($pid == 0) { $SIG{CHLD} = 'IGNORE'; @@ -153,7 +148,7 @@ sub deljob { my $status; $pid = $finished[$i][0]; - $status = WEXITSTATUS($finished[$i][1]); + $status = $finished[$i][1]; verbose("$pid finished ("); if (WIFEXITED($status)) { @@ -251,12 +246,11 @@ artist directory (and named by album) and the ID directory is removed. =head2 FA-RIP -B uses C to retrieve the disc ID and track -information. It creates a directory named by ID for storage of its -intermediate files. It passes the C output as -command-line arguments to B in the background. It then uses -C to create the "cue" file in the background. Finally, it -execs C to rip the CD to the "wav" file. +B uses C to create a directory for storage of its +intermediate files. It uses C to create the "cue" file and +then passes the number of tracks (from the "cue" file) as command-line +arguments to B. Finally, it execs C to rip +the CD to the "wav" file. In order for this CD to be processed by B, the user must create a "tags" file. This is usually done by renaming one of the @@ -264,16 +258,14 @@ candidate-tags files and deleting the others. =head2 FA-TAGS -B uses C (from the B package) to -populate candidate-tags files. These are numbered in the order of -entries read from CDDB, e.g. candidate-tags-1, candidate-tags-2, etc. -B also creates candidate-tags-0, which has the correct fields -for this CD (including correct number of TITLE= lines), but with all -fields blank. +B uses C to populate candidate-tags +files. These are numbered in the order of entries read from +MusicBrainz, e.g. candidate-tags-1, candidate-tags-2, etc. B +also creates candidate-tags-0, which has the correct fields for this +CD (including correct number of TITLE= lines), but with all fields +blank. -B expects the output of C as command-line -arguments. That is, the disc ID, number of tracks, list of track -offsets, and total length of the CD in seconds. +B requires the number of tracks as its sole argument. =head1 ENVIRONMENT @@ -294,17 +286,10 @@ Linux, and NetBSD by default. =head1 AUTHORS -Written by Eric Gillespie . B contains -code from B, which bears the following notice: +Written by Eric Gillespie . -# Copyright (c) 1998-2001 Robert Woodcock -# Copyright (c) 2003-2004 Jesus Climent -# This code is hereby licensed for public consumption under either the -# GNU GPL v2 or greater, or Larry Wall's Artistic license - your choice. - -B is hereby licensed for public consumption under either -the GNU GPL v2 or greater, or Larry Wall's Artistic license - your -choice. +flac-archive is free software; you may redistribute it and/or modify +it under the same terms as Perl itself. =cut