#include "audio.h" main(argc,argv) int argc; char *argv[]; { static char tmp[]=".snd"; int hdr,i,j,size,nagasa,ichi; char tori[256],name[256],name_dat[256],name_au[256],title[256],hyoushi[3]; char chou[3]; static char format[4]={0,0,0,1}; static char freq[4]={0,0,31,64}; static char chans[4]={0,0,0,1}; double oto; printf("Audio 2.0 by Akihiro Tsuge 1997\n"); if(argc!=2){ printf("audio \n .dat\n"); exit(-1); } sprintf(name_dat,"%s.dat",argv[1]); fr=fopen(name_dat,"r"); fscanf(fr,"%s",name); sprintf(name_au,"%s.au",name); f=fopen(name_au,"w"); fputs(tmp,f); fseek(f,12,0); fwrite(format,1,4,f); fwrite(freq,1,4,f); fwrite(chans,1,4,f); ichi=ftell(fr); fscanf(fr,"%s",title); if(title[0]=='<') for(i=1; title[i]!='>'; i++){ if(title[i]=='\0'){ fputc(' ',f); fscanf(fr,"%s",title); i=-1; continue; } fputc(title[i],f); } else fseek(fr,ichi,0); hdr=ftell(f); fseek(f,4,0); fputc((0xff000000 & hdr)>>24,f); fputc((0x00ff0000 & hdr)>>16,f); fputc((0x0000ff00 & hdr)>> 8,f); fputc( 0x000000ff & hdr ,f); fseek(f,0,2); /*sound*/ ookisa=50.0; henka=hani=hani_h=0.0; fscanf(fr,"%ld",&hayasa); fscanf(fr,"%s",hyoushi); switch(hyoushi[2]){ case '2': AKU1=16; FUT1=32; AKU2=-1; FUT2=-1; break; case '4': switch(hyoushi[0]){ case '2': AKU1=8; FUT1=16; AKU2=-1; FUT2=-1; break; case '3': AKU1=8; FUT1=24; AKU2=-1; FUT2=-1; break; case '4': AKU1=8; FUT1=16; AKU2=24; FUT2=32; } break; case '8': switch(hyoushi[2]){ case '3': AKU1=4; FUT1=12; AKU2=-1; FUT2=-1; break; case '6': AKU1=4; FUT1=12; AKU2=16; FUT2=24; } } ichi=ftell(fr); fscanf(fr,"%s",chou); if(chou[0]!='-'){ fseek(fr,ichi,0); kazu=0; kigou='-'; } else{ i=sscanf(chou,"-%c%ld",&kigou,&kazu); if(i!=2) kazu=1; } onkai_set(); for(j=0; fscanf(fr,"%s",nyu[0].tori) != EOF; j++){ for(i=0; nyu[i].tori[0]!='|'; i++) fscanf(fr,"%s",nyu[i+1].tori); onkai(j); } fclose(fr); size=ftell(f)-hdr; fseek(f,8,0); fputc((0xff000000 & size)>>24,f); fputc((0x00ff0000 & size)>>16,f); fputc((0x0000ff00 & size)>> 8,f); fputc( 0x000000ff & size ,f); fclose(f); }