--- alienwah.cpp.orig Thu Nov 29 17:45:29 2001 +++ alienwah.cpp Thu Nov 29 20:23:40 2001 @@ -52,8 +52,9 @@ */ #include #include -#include -#include +#include +/* #include */ +#include #include #include @@ -65,24 +66,24 @@ #define samplerate 44100 #define bufsize 1024 -int buf1[bufsize];//input buffer -int buf2[bufsize];//output buffer +short buf1[bufsize];//input buffer +short buf2[bufsize];//output buffer #define lfoskipsamples 25 // How many samples are processed before compute the lfo value again struct params{ float freq,startphase,fb; - int delay; + short delay; } awparams; //alien wah internal parameters struct alienwahinternals{ - complex *delaybuf; + float_complex *delaybuf; float lfoskip; long int t; - complex c; - int k; + float_complex c; + short k; } awint; @@ -94,9 +95,9 @@ awparams.fb=fb/4+0.74; awparams.delay=(int)(delay/44100.0*samplerate); if (delay<1) delay=1; - awint.delaybuf=new complex[awparams.delay]; + awint.delaybuf=new float_complex[awparams.delay]; int i; - for (i=0;i=awparams.delay) awint.k=0; out=real(outc)*3; //take real part of outc - if (out<-32768) out=-32768; - else if (out>32767) out=32767; //Prevents clipping - buf2[i]=out; + if (out<-32768) out=-32768; + else if (out>32767) out=32767; //Prevents clipping + buf2[i]=(short)out; }; } int main(){ - char f1,f2; int readed; long int filereaded=0; printf("\n"); - f1=open(infile,O_RDONLY|O_BINARY); - remove(outfile); - f2=open(outfile,O_BINARY|O_CREAT,S_IWRITE); long int i; @@ -139,19 +136,17 @@ ); do { - readed=read(f1,buf1,bufsize*2); + readed=read(STDIN_FILENO,buf1,bufsize*2); process(); - write(f2,buf2,readed); - printf("%ld bytes \r",filereaded); + write(STDOUT_FILENO,buf2,readed); + fprintf(stderr, "%ld bytes \r",filereaded); filereaded+=readed; }while (readed==bufsize*2); delete(awint.delaybuf); - close(f1); - close(f2); - printf("\n\n"); + fprintf(stderr, "\n\n"); return(0); }