Add SDLSound hooks

This commit is contained in:
Chris Speciale
2025-11-13 15:24:07 -05:00
parent d5455f0e8f
commit c0c118f8d2

View File

@@ -58,6 +58,10 @@
#include <cstdlib>
#include <cstring>
#ifdef LIME_SDL_SOUND
#include <media/SDLSound.h>
#endif
DEFINE_KIND (k_finalizer);
@@ -387,6 +391,15 @@ namespace lime {
bytes.Set (data);
resource = Resource (&bytes);
#ifdef LIME_SDL_SOUND
if (SDLSound::Decode (&resource, &audioBuffer)) {
return audioBuffer.Value (buffer);
}
#endif
if (WAV::Decode (&resource, &audioBuffer)) {
return audioBuffer.Value (buffer);
@@ -410,6 +423,14 @@ namespace lime {
Resource resource = Resource (data);
#ifdef LIME_SDL_SOUND
if (SDLSound::Decode (&resource, buffer)) {
return buffer;
}
#endif
if (WAV::Decode (&resource, buffer)) {
return buffer;
@@ -437,6 +458,14 @@ namespace lime {
resource = Resource (val_string (data));
#ifdef LIME_SDL_SOUND
if (SDLSound::Decode (&resource, &audioBuffer)) {
return audioBuffer.Value (buffer);
}
#endif
if (WAV::Decode (&resource, &audioBuffer)) {
return audioBuffer.Value (buffer);
@@ -460,6 +489,14 @@ namespace lime {
Resource resource = Resource (data ? hl_to_utf8 ((const uchar*)data->bytes) : NULL);
#ifdef LIME_SDL_SOUND
if (SDLSound::Decode (&resource, buffer)) {
return buffer;
}
#endif
if (WAV::Decode (&resource, buffer)) {
return buffer;