fd87b7a97b6af5f9001c8070a1d9f142588de9ef
[dos_sbtest] / src / main.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include "audio.h"
4
5 static int au_callback(void *buffer, int size, void *cls);
6
7 /* defined in ausamples.s */
8 extern signed char snd_click[];
9 extern int snd_click_size;
10
11 int main(int argc, char **argv)
12 {
13         audio_init();
14         audio_set_callback(au_callback, 0);
15
16         audio_play(22050, 1);
17
18         return 0;
19 }
20
21 /* snd_click_size is < 65536 so we can just throw it all at once in there */
22 static int au_callback(void *buffer, int size, void *cls)
23 {
24         int i;
25         signed char *ptr = buffer;
26         signed char *src = snd_click;
27         /*
28            for(i=0; i<size; i++) {
29            if((i / 32) & 1) {
30          *ptr++ = -64;
31          } else {
32          *ptr++ = 64;
33          }
34          }
35          */
36         /*memcpy(buffer, snd_click, snd_click_size);*/
37
38         for(i=0; i<snd_click_size; i++) {
39                 *ptr++ = *src++;
40         }
41
42         return snd_click_size;
43 }