dotnet / Silk.NET

The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.
https://dotnet.github.io/Silk.NET
MIT License
4.14k stars 397 forks source link

MiniAudio #2264

Open Faolan-Rad opened 2 months ago

Faolan-Rad commented 2 months ago

I am asking to add the generator to include MiniAudio because it is a nice cross platform audio solution that isn't bulky I have generated binding myself for it before but now that I have moved to silk.net for Vulkan and OpenXR I would like to sort of bring all of the native libraries I use together into silk I will work on trying to add the generator with silk.net generator system mind you a don't really have experience with it I have used ClangSharp.PInvokeGenerator and also used clang sharp directly to make bindings to steam audio

Perksey commented 2 months ago

Miniaudio does not currently meet our barrier for inclusion in the library. However, I’ll keep this open as we’re discussing expanding this in 3.0 provided that community members are willing to own such bindings for as long as they’re shipped. See #2030. As with all bindings though, they should use the Silk.NET specific generators. For this reason I don’t think we’ll be accepting PRs at this time, as SilkTouch in 3.0 is still under heavy development and we’re not adding new bindings for 2.X.

As an aside, last time we investigated this I think there were some MiniAudio specific issues preventing us from binding it properly. Namely, last time we tried MiniAudio did not expose “allocate” functions, expecting your code to know the struct size and pass in your own memory, which is contrary to how we do xplat as typically these are opaque handles. Work in MiniAudio itself would have to be done to combat this if this is still the case i.e. exposing methods to get object sizes.