-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The state of audio/sound libraries #40
Comments
In particular, see RustAudio/cpal#272 |
A good first step would be @tomaka agreeing to move rodio & cpal to RustAudio so it’s easier for the community to maintain, similar to what happened with winit: RustAudio/rodio#227 |
Just for reference, I submitted a post discussing the state of the RustAudio repos recently to the rustaudio discourse forum here. Specifically, here's the gist listing almost all crates within the organisation and my thoughts. I'm very happy to have seen the RustAudio group take ownership over CPAL! I've been a maintainer at the repo for a while (merging PRs, have done a few major rewrites, originally added coreaudio support) and I've recently added ishitatsuyuki and now of course the rest of the rustaudio admins. The main feature work happening in CPAL right now is RustAudio/cpal#301 in order to address some API issues (see the related issue). The other major recent change is that CPAL now supports selecting between multiple Hosts at runtime RustAudio/cpal#289. This allowed for adding ASIO support on Windows and opens the doorway to adding support for non-native yet super-common hosts like PulseAudio and JACK. Otherwise a lot of UB has been fixed recently, though there are still some known cases to address. I am a little less familiar with rodio, but it came up in some discussion last night - I'll post the relevant part of my thoughts on it here:
I realise this is of course a gamedev working group! That said, my hope is that we can find some way to consolidate it with the rest of the RustAudio ecosystem which is not only interested in stereo gamedev. |
My impression of I would absolutely welcome more unopinionated low-level crates that could be used to build applications that are not great fits for |
Can you explain how is |
I'll concede I haven't spent a ton of time with it, so I may have misunderstood things, but I'll try listing the biggest pain points I've discovered.
|
It is indeed the The primary way "things plug together" is The design of
Sources can be merged together and a DSP applied to them. I totally agree that lots of features are missing, but I don't think you can qualify the library of "opinionated". |
SDL2 allows you to have an audio card mode where you just throw audio in a queue and then it'll just play the queue and if there's nothing in the queue it plays silence. Does |
That's pretty much exactly what |
So, glad to see this working group (I didn't even know it existed, haha). Working on an OS in Rust following phil-opp's OS development tutorial -- and loving rust even more! |
Looks like cpal is making significant progress: the big API refactor to bring it in line with modern platform patterns just got merged! |
Quoting ryan.isaac.g:
It sounds like cpal needs some love.
The text was updated successfully, but these errors were encountered: