I want to play music modules in Defold with DUMB library..
If i understand well, i have to do two things:
Implementing OpenAL sound queue buffering.
Using DUMB library for filling OpenAL queue.
My Defold extension will manage OpenAL things (context, buffers, queues…)
I’m not sure how to link DUMB library to Defold extension.
Should i provide binaries of DUMB for each platform ?
Or can i define another native extension just for DUMB. And then, i could use the DUMB extension from my “main” extension ?
Yes, I would recommend that your extension contains prebuilt libraries for DUMB for all of your target platforms (as opposed to putting all of the DUMB source code and includes into your extension and building them every time). More on compiling DUMB here: dumb/COMPILING.md at master · kode54/dumb · GitHub
Yes i have several options, like compiling DUMB for each platform with the Defold build platform. It would be slow, especially for development of my extension, but i can get all the platforms more easily this way.
I can also build myself DUMB, but for the moment, i’m only sure to succeed with Linux and Windows. For Android, i guess i can do it with the NDK, but for Apple ecosystem, i have no clue. Apple seems a lot of troubles when you are not using their tools and systems.
So I think to build for Linux, provide in libs this binary, and coding my extension like that. When the development is done, I will use Delfold build platform for the rest (that is, DUMB will be integrated to the extension and won’t be a lib anymore).