1#!/usr/bin/perl 2 3if($#ARGV<0){ 4 &usage; 5} 6 7$|=1; 8 9$bands=0; 10 11foreach $arg (@ARGV){ 12 ($entries[$bands],$file[$bands])=split(/,/,$arg); 13 $bands++; 14} 15 16# no time to deal with globs right now 17if($bands>0){ 18 die unless open(ONE,"<".$file[0]); 19} 20if($bands>1){ 21 die unless open(TWO,"<".$file[1]); 22} 23if($bands>2){ 24 die unless open(THREE,"<".$file[2]); 25} 26 27 28while (<ONE>) { 29 my@nums = (); 30 @nums = split(/,/); 31 my$cols=$#nums; 32 for($i=0;$i<$cols;$i++){ 33 print 0+$nums[$i].", "; 34 } 35 if($bands>1){ 36 $_=<TWO>; 37 @nums = (); 38 @nums = split(/,/); 39 $cols=$#nums; 40 for($i=0;$i<$cols;$i++){ 41 print $nums[$i]+$entries[0].", "; 42 } 43 if($bands>2){ 44 $_=<THREE>; 45 @nums = (); 46 @nums = split(/,/); 47 $cols=$#nums; 48 for($i=0;$i<$cols;$i++){ 49 print $nums[$i]+$entries[0]+$entries[1].", "; 50 } 51 } 52 } 53 print "\n"; 54 55} 56 57if($bands>0){ 58 close ONE; 59} 60if($bands>1){ 61 close TWO; 62} 63if($bands>2){ 64 close THREE; 65} 66 67sub usage{ 68 print "\nOggVorbis auxbook spectral partitioner\n\n"; 69 print "auxpartition.pl <part_entries>,file [<part_entries>,file...]\n\n"; 70 exit(1); 71} 72