Viewing file: wav2dao.pl (1.99 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
use strict 'subs'; use strict 'refs';
@dev = ('--device', '/dev/pg0:0,0');
sub help { print "Syntax: $0 [-H] [options] audiofiles\n"; print <<"EOF" ; Use cdrdao on the wav audio file arguments, making an appropriate toc file. -d cdrw Use cdrw as the CDRW device (default: $dev[1]). -o file Output the toc file on this file - do not use a temporary file. -p Perform a 'print-size' cdrdao command. -i Perform a 'toc-info' cdrdao command. -c Perform a 'show-toc' cdrdao command. -t Perform a 'read-test' cdrdao command. -w Write the CD in DAO mode (default, if no other action is specified). -s Simulate writing only ('simulate' instead of 'write' command). -j Do not eject the CD after writing it. -n Print the cdrdao commands, instead of executing them. EOF }
require 'getopts.pl'; &Getopts('o:pictwsjnH'); if ($opt_H) { &help ; exit } $dev[1] = $opt_d if $opt_d; $opt_w = 1 unless $opt_p || $opt_i || $opt_c || $opt_t || $opt_w || $opt_s || $opt_o ne "";
die "Usage: $0 [options] audiofiles" unless @ARGV;
$fname = $opt_o ne "" ? $opt_o : "/tmp/toc$$"; open(F, "> $fname") || die "open($fname): $!, stopped"; print F "CD_DA\n";
foreach (@ARGV) { print F "\nTRACK AUDIO\nNO COPY\n"; # print F "NO PRE_EMPHASIS\nTWO_CHANNEL_AUDIO\n"; print F "FILE \"$_\" 0\n"; # print F "START 00:02:00\n" if $no++; } close F;
if ($opt_p) { if ($opt_n) { print "cdrdao print-size $fname\n" } else { system 'cdrdao', 'print-size', $fname} }
if ($opt_i) { if ($opt_n) { print "cdrdao toc-info $fname\n" } else { system 'cdrdao', 'toc-info', $fname} }
if ($opt_c) { if ($opt_n) { print "cdrdao show-toc $fname\n" } else { system 'cdrdao', 'show-toc', $fname} } if ($opt_t) { if ($opt_n) { print "cdrdao read-test $fname\n" } else { system 'cdrdao', 'read-test', $fname} }
if ($opt_w || $opt_s) { unshift @dev, $opt_s ? 'simulate' : 'write'; push @dev, '--eject' unless $opt_s || $opt_j; push @dev, $fname; if ($opt_n) { print "cdrdao @dev\n" } else { system 'cdrdao', @dev } } unlink $fname unless $opt_o ne ""; __END__
|