/* click.c by Michael Thorpe 2008-04-05 */ #include #include #include #include #include #define SAMPLE_RATE 44100 #define BEAT_LEN (SAMPLE_RATE/10) /* 1/10th second */ int main(int argc,char **argv) { signed short *buf; char *tmp; unsigned long bufsize,i; unsigned long bpm; unsigned long numtimes=0; if(argc<2 || 3 []\n",argv[0]); return(1); } bpm=strtoul(argv[1],&tmp,0); if(*tmp) { fprintf(stderr,"invalid BPM: %s\n",argv[1]); return(2); } if(argc>2) { numtimes=strtoul(argv[2],&tmp,0); if(*tmp) { fprintf(stderr,"invalid number of beats: %s\n",argv[2]); return(3); } } bufsize=SAMPLE_RATE*60/bpm; if(bufsize<=BEAT_LEN) { fprintf(stderr,"tempo too fast\n"); return(4); } buf=(signed short *)calloc(bufsize,2); if(!buf) { perror("calloc"); return(5); } for(i=0;i