glue.cpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "soloud.h"
  2. #include "miniaudio.h"
  3. namespace SoLoud {
  4. result sdl2static_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2)
  5. {
  6. return NOT_IMPLEMENTED;
  7. }
  8. result miniaudio_init(SoLoud::Soloud* aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2);
  9. }
  10. extern ma_context * _so_ma_context;
  11. extern "C" {
  12. void bmx_soloud_miniaudio_context_deinit() {
  13. ma_context_uninit(_so_ma_context);
  14. _so_ma_context = 0;
  15. }
  16. void bmx_soloud_miniaudio_context_init(ma_backend backend) {
  17. if (_so_ma_context) {
  18. bmx_soloud_miniaudio_context_deinit();
  19. } else {
  20. _so_ma_context = (ma_context*)malloc(sizeof(ma_context));
  21. }
  22. ma_backend backends[] = { backend };
  23. ma_context_init(backends, 1, NULL, _so_ma_context);
  24. }
  25. // linkage requires us to have a call to miniaudio_init
  26. void miniaudio_stub() {
  27. SoLoud::miniaudio_init(0, 0, 0, 0);
  28. }
  29. }