From 3e2db99227d96c9021f99bedec69ec3dee507cdb Mon Sep 17 00:00:00 2001 From: Fierelier Date: Wed, 16 Oct 2024 03:08:12 +0200 Subject: [PATCH] Add sound support --- main.c | 1 + sound.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 sound.c diff --git a/main.c b/main.c index 328f378..018e5e4 100644 --- a/main.c +++ b/main.c @@ -6,6 +6,7 @@ #include "time.c" #include "events.c" #include "input.c" +#include "sound.c" unigi_type_error unigi_init() { return 0; diff --git a/sound.c b/sound.c new file mode 100644 index 0000000..7902b17 --- /dev/null +++ b/sound.c @@ -0,0 +1,23 @@ +SDL_AudioSpec unigi_platform_audio_spec; + +void unigi_platform_audio_callback(void * userdata, uint8_t * stream, int len) { + void (* callback)(uint8_t *, size_t) = userdata; + callback(stream, len); +} + +unigi_type_error unigi_sound_init(void (* callback)(uint8_t *, size_t)) { + SDL_AudioSpec desired; + desired.freq = 44100; + desired.channels = 2; + desired.samples = 1024; + desired.callback = unigi_platform_audio_callback; + desired.userdata = callback; + + if (SDL_OpenAudio(&desired, &unigi_platform_audio_spec) < 0) { + printf("Could not initialize audio: %s\n",SDL_GetError()); + return 1; + } else { + SDL_PauseAudio(0); + return 0; + } +}