]> diplodocus.org Git - flac-archive/blobdiff - fa-rip
Fix a job in Jobs::run (@jobs < $maxjobs, not <=) and icky icky
[flac-archive] / fa-rip
diff --git a/fa-rip b/fa-rip
index b7a4fc0dab568679b17d5a7888606ac63992734d..22140a54a4991601bddcc2be661d242e3d429e32 100755 (executable)
--- a/fa-rip
+++ b/fa-rip
@@ -163,11 +163,17 @@ sub tags {
 sub rip {
     my $device = shift;
     my $trackcount = shift;
+    my $single_file = shift;
+    my @output;
 
     $device ||= '/dev/cdrom';
+    if ($single_file) {
+        @output = ("1-$trackcount", 'wav');
+    } else {
+        @output = ('-B');
+    }
 
-    exec('cdparanoia', '-Bd', $device);
-    # exec prints its own error message so just
+    exec('cdparanoia', '-d', $device, @output);
     die;
 }
 
@@ -185,6 +191,7 @@ sub make_post_processor {
 MAIN: {
     my $no_mb;
     my $post_processor;
+    my $single_file;
     my $trackcount = 99;
     my $help;
     my $tempdir;
@@ -193,6 +200,7 @@ MAIN: {
                'device|d=s' => \$CDDEV,
                'no-musicbrainz|m' => \$no_mb,
                'post-processor|p=s', \$post_processor,
+               'single-file|s' => \$single_file,
                'tracks|t=i' => \$trackcount,
                'help|h|?' => \$help,
               ) or pod2usage();
@@ -205,7 +213,7 @@ MAIN: {
     make_post_processor($post_processor);
     $trackcount = mkcue($CDDEV, $trackcount);
     tags($CDDEV, $trackcount, $no_mb);
-    rip($CDDEV, $trackcount);
+    rip($CDDEV, $trackcount, $single_file);
 }
 
 \f