home *** CD-ROM | disk | FTP | other *** search
- #!/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__
-