X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain.c;h=c7630e57e1d304b3c2614ee89cfe2e496e0051b2;hb=01a545fde6dc446fe626382f8bba50b9b7c1a35b;hp=fd87b7a97b6af5f9001c8070a1d9f142588de9ef;hpb=85710b37e4082a5b8e6d35c16311cb024298e24f;p=dos_sbtest diff --git a/src/main.c b/src/main.c index fd87b7a..c7630e5 100644 --- a/src/main.c +++ b/src/main.c @@ -1,15 +1,31 @@ #include #include +#include #include "audio.h" static int au_callback(void *buffer, int size, void *cls); -/* defined in ausamples.s */ -extern signed char snd_click[]; -extern int snd_click_size; +static signed char *snd_click; +static int snd_click_size; int main(int argc, char **argv) { + FILE *fp; + + if(!(fp = fopen("click.pcm", "rb"))) { + fprintf(stderr, "failed to open click.pcm\n"); + return 1; + } + fseek(fp, 0, SEEK_END); + snd_click_size = ftell(fp); + rewind(fp); + if(!(snd_click = malloc(snd_click_size))) { + fprintf(stderr, "failed to allocate sound sample\n"); + return 1; + } + fread(snd_click, 1, snd_click_size, fp); + fclose(fp); + audio_init(); audio_set_callback(au_callback, 0); @@ -21,23 +37,6 @@ int main(int argc, char **argv) /* snd_click_size is < 65536 so we can just throw it all at once in there */ static int au_callback(void *buffer, int size, void *cls) { - int i; - signed char *ptr = buffer; - signed char *src = snd_click; - /* - for(i=0; i