godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.16k stars 97 forks source link

Add an sndio audio backend #3097

Open omar-polo opened 3 years ago

omar-polo commented 3 years ago

Describe the project you are working on

For the last year or so I've maintained the sndio audio driver as part of the OpenBSD port.

Describe the problem or limitation you are having in your project

The only already built-in audio driver that should work on OpenBSD is the pulseaudio one, which sadly doesn't, no matter what I tried.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Merging the sndio audio backend will enable Godot to play sounds on OpenBSD. It's useful on other systems too as sndio is available for FreeBSD and various linux distributions (at least.)

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

The current code is here -- click on the revision number to see the file content -- and it's updated to Godot 3.3.2. I'm interested in keeping it up-to-date and in doing the work needed to putting it in shape for being committed.

Here you'll find some background on the first iteration of the driver and the comments by ratchov@ on the code. It was then changed again with Godot 3.3 due to the changes regarding threads.

If this enhancement will not be used often, can it be worked around with a few lines of script?

no

Is there a reason why this should be core and not an add-on in the asset library?

I don't think an asset library can provide an audio driver.

fire commented 3 years ago

The workflow for getting an enhancement merged is to have a pr for master. There's also a pr guide.

https://docs.godotengine.org/en/stable/community/contributing/pr_workflow.html

omar-polo commented 3 years ago

Thanks @fire for letting me know. I created a pr for this this proposal.