summary refs log tree commit diff
path: root/src/sdl.c
diff options
context:
space:
mode:
authorzlago2024-09-01 12:57:57 +0200
committerzlago2024-09-01 12:57:57 +0200
commit519e350739f55cfd3ef8b9a97e241b61ca9ed1f9 (patch)
treed3a1b251544ae5a3b85fe9f16c4a39fde1f46e78 /src/sdl.c
parenteb0194ee748ab3707ade5318e8d336bbbed81594 (diff)
libopenmpt
Diffstat (limited to 'src/sdl.c')
-rw-r--r--src/sdl.c14
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;