Revamped API - #111
Open
SolarLiner wants to merge 41 commits into
Open
Conversation
… require Send too)
Signed-off-by: Nathan Graule <solarliner@gmail.com>
Signed-off-by: Nathan Graule <solarliner@gmail.com>
Be-ing
reviewed
Dec 12, 2025
Signed-off-by: Nathan Graule <solarliner@gmail.com> # Conflicts: # Cargo.lock # Cargo.toml # src/backends/alsa/stream.rs # src/backends/pipewire/stream.rs
Signed-off-by: Nathan Graule <solarliner@gmail.com>
…dio unit + prelude modules + warnings fix
…omatically register Self as an available type to look up
SolarLiner
force-pushed
the
refactoring/design-v2
branch
from
July 23, 2026 21:56
9049442 to
7135dc7
Compare
…tions also add example choosing a specific input device
SolarLiner
force-pushed
the
refactoring/design-v2
branch
from
July 25, 2026 15:08
b7a21a7 to
c47abeb
Compare
Owner
Author
|
@Be-ing, @mbernat @strohel sorry for the ping but I thought you might be interested in seeing this. This new API has now matured a little bit, and I have successfully implemented both a CoreAudio and WASAPI backend for it. I believe it is both better ergonomics, the It's a significant shift in the API, so it will break everything. I'm open to feedback and suggestions! |
SolarLiner
marked this pull request as ready for review
July 25, 2026 15:14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes #31.
Description
This PR changes the design around audio devices, streams and callbacks. Instead of separate input and output traits and types, they are now fused into one, as this is a runtime distinction and not a compile-time one.
This PR will also remove bitflags for choosing which inputs/outputs are opened, and instead opts for the more natural choice of specifying a number of audio channels.
Closes #29.
Type of Change
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests you added or ran to verify your changes. Provide instructions so we can reproduce. Try to run
on as many audio drivers as you can get your hands on.
Checklist:
need to be validated manually (i.e. a new audio driver), use examples that can be run to easily validate them.