diff options
Diffstat (limited to 'src/sdl.c')
-rw-r--r-- | src/sdl.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/sdl.c b/src/sdl.c index d99fc34..e780906 100644 --- a/src/sdl.c +++ b/src/sdl.c @@ -5,7 +5,7 @@ #include <stdlib.h> #include <stdio.h> -#include <libopenmpt/libopenmpt.h> +#include "modules/openmpt.h" #define eprintf(...) fprintf(stderr, __VA_ARGS__) @@ -103,9 +103,15 @@ int main(void) { break; } SDL_free(evt.drop.file); - //SDL_LockAudioDevice(audio); - //openmpt_module *mod = openmpt_module_create_from_memory2(file.data, file.size, &libopenmpt_example_logfunc, NULL, &libopenmpt_example_errfunc, NULL, &mod_err, &mod_err_str, NULL); - //SDL_UnlockAudioDevice(audio); + struct userdata newuser = {.callback = NULL, .freefunc = NULL}; + if (module_openmpt(&file, audio, &newuser)) { + // error + } else { + if (userdata.freefunc != NULL) { + userdata.freefunc(userdata.user); + } + userdata = newuser; + } free(file.data); break; |