dropped the compiled-in sound sample, loading from the filesystem
authorJohn Tsiombikas <nuclear@member.fsf.org>
Sat, 10 Nov 2018 15:00:15 +0000 (17:00 +0200)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Sat, 10 Nov 2018 15:00:15 +0000 (17:00 +0200)
Makefile
src/ausamples.s [deleted file]
src/main.c

index 1015733..118d4f0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -35,7 +35,7 @@ $(bin): $(obj)
        $(CC) $(CFLAGS) -o $@ -c $<
 
 %.d: %.c
-       @echo "gen dep $< -> $@" && $(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
+       @echo "gen dep $< -> $@"; $(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
 
 .PHONY: clean
 .PHONY: cleandep
diff --git a/src/ausamples.s b/src/ausamples.s
deleted file mode 100644 (file)
index e74c9e7..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-       .data
-       .global _snd_click
-       .global _snd_click_size
-_snd_click:
-       .incbin "click-s8_mono.pcm"
-_snd_click_size: .long . - _snd_click
index 1e32b61..c7630e5 100644 (file)
@@ -5,12 +5,27 @@
 
 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);