mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-11-04 16:14:00 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			109 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/perl
 | 
						|
 | 
						|
# quick, very dirty little script so that we can put all the
 | 
						|
# information for building a floor book set in one spec file.
 | 
						|
 | 
						|
#eg:
 | 
						|
 | 
						|
# >floor_44
 | 
						|
# =44c0_s 44c1_s 44c2_s
 | 
						|
# build line_128x4_class0 0-256
 | 
						|
# build line_128x4_0sub0  0-4
 | 
						|
 | 
						|
die "Could not open $ARGV[0]: $!" unless open (F,$ARGV[0]);
 | 
						|
 | 
						|
$goflag=0;
 | 
						|
while($line=<F>){
 | 
						|
 | 
						|
    print "#### $line";
 | 
						|
    if($line=~m/^GO/){
 | 
						|
	$goflag=1;
 | 
						|
	next;
 | 
						|
    }
 | 
						|
 | 
						|
    if($goflag==0){
 | 
						|
	if($line=~m/\S+/ && !($line=~m/^\#/) ){
 | 
						|
	    my $command=$line;
 | 
						|
	    print ">>> $command";
 | 
						|
	    die "Couldn't shell command.\n\tcommand:$command\n" 
 | 
						|
		if syst($command);
 | 
						|
	}
 | 
						|
	next;
 | 
						|
    }
 | 
						|
 | 
						|
    # >floor_44
 | 
						|
    # this sets the output bookset file name
 | 
						|
    if($line=~m/^>(\S+)\s+(\S*)/){
 | 
						|
	# set the output name
 | 
						|
	$globalname=$1;
 | 
						|
	
 | 
						|
	$command="rm -f $globalname.vqh";
 | 
						|
	die "Couldn't remove file.\n\tcommand:$command\n" 
 | 
						|
	    if syst($command);
 | 
						|
 | 
						|
	next;
 | 
						|
    }
 | 
						|
 | 
						|
    #=path1 path2 path3 
 | 
						|
    #set the search path for input files; each build line will look
 | 
						|
    #for input files in all of the directories in the search path and
 | 
						|
    #append them for huffbuild input
 | 
						|
    if($line=~m/^=(.*)/){
 | 
						|
	# set the output name
 | 
						|
	@paths=split(' ',$1);
 | 
						|
	next;
 | 
						|
    }
 | 
						|
 | 
						|
    # build book.vqd 0-3 [noguard]
 | 
						|
    if($line=~m/^build (.*)/){
 | 
						|
	# build a huffman book (no mapping) 
 | 
						|
	my($datafile,$range,$guard)=split(' ',$1);
 | 
						|
 
 | 
						|
	$command="rm -f $datafile.tmp";
 | 
						|
	print "\n\n>>> $command\n";
 | 
						|
	die "Couldn't remove temp file.\n\tcommand:$command\n" 
 | 
						|
	    if syst($command);
 | 
						|
 | 
						|
	# first find all the inputs we want; they'll need to be collected into a single input file
 | 
						|
	foreach $dir (@paths){
 | 
						|
	    if (-e "$dir/$datafile.vqd"){
 | 
						|
		$command="cat $dir/$datafile.vqd >> $datafile.tmp";
 | 
						|
		print ">>> $command\n";
 | 
						|
		die "Couldn't append training data.\n\tcommand:$command\n" 
 | 
						|
		    if syst($command);
 | 
						|
	    }
 | 
						|
	}
 | 
						|
	
 | 
						|
	my $command="huffbuild $datafile.tmp $range $guard";
 | 
						|
	print ">>> $command\n";
 | 
						|
	die "Couldn't build huffbook.\n\tcommand:$command\n" 
 | 
						|
	    if syst($command);
 | 
						|
 | 
						|
	$command="cat $datafile.vqh >> $globalname.vqh";
 | 
						|
	print ">>> $command\n";
 | 
						|
	die "Couldn't append to output book.\n\tcommand:$command\n" 
 | 
						|
	    if syst($command);
 | 
						|
 | 
						|
	$command="rm $datafile.vqh";
 | 
						|
	print ">>> $command\n";
 | 
						|
	die "Couldn't remove temporary output file.\n\tcommand:$command\n" 
 | 
						|
	    if syst($command);
 | 
						|
 | 
						|
	$command="rm -f $datafile.tmp";
 | 
						|
	print ">>> $command\n";
 | 
						|
	die "Couldn't remove temporary output file.\n\tcommand:$command\n" 
 | 
						|
	    if syst($command);
 | 
						|
	next;
 | 
						|
    }
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
$command="rm -f temp$$.vqd";
 | 
						|
print ">>> $command\n";
 | 
						|
die "Couldn't remove temp files.\n\tcommand:$command\n" 
 | 
						|
    if syst($command);
 | 
						|
 | 
						|
sub syst{
 | 
						|
    system(@_)/256;
 | 
						|
}
 |