Implement enough of libpulse API to support GrooveBasin #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@andrewrk wanted to know if Pulsar could replace libpulse in this GrooveBasin code. The answer right now is no, but I would like to change that to a yes! This issue is for tracking which features are missing.
WaitingThe wait function has not been implemented, but emulating that behavior should be easy since Pulsar allows more control over the event loop than libpulseSubscribed!
Commit
548f771dffadds support for seeking to Pulsar, complete with an example. The other features have already been implemented. There is still more work to do, but I think the API is complete enough for Pulsar to be used as is. I'll leave this issue until that's been confirmed though.Looking forward to trying it out!
You may be wondering why I have not reported back yet.
I noticed that this package depends on libxev. In fact, it depends on a fork of libxev.
libxev is very cool, but deciding to make my project event-based should be an entirely separate question than deciding to use pulsar... or should it be?
This caused me to spiral down a yak fever dream, and long story short I've wild ideas about bringing back async, making all I/O a parameter, and more.
In other words... I won't be able to report back anytime soon. But this will have big consequences on Zig as a language and toolchain.
@andrewrk wrote in https://codeberg.org/desttinghim/pulsar/issues/1#issuecomment-2993901:
Oh dear... as exciting as the async and IO stuff would be, pulsar does not actually depend on libxev! It is in the build.zig.zon so I can use it for
examples/xev.zig. I have just been told that I can add alazyfield to dependencies inbuild.zig.zonto tell zig not to fetch it if it is not needed. I am sorry for the unnecessary trouble! 😅