thindx-xaudio2

Rust bindings for XAudio2 (by MaulingMonkey)

Thindx-xaudio2 Alternatives

Similar projects and alternatives to thindx-xaudio2 based on common topics and language

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better thindx-xaudio2 alternative or higher similarity.

thindx-xaudio2 reviews and mentions

Posts with mentions or reviews of thindx-xaudio2. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-05.
  • Improving Interoperability Between Rust and C++
    7 projects | news.ycombinator.com | 5 Feb 2024
    Vtables are pretty solved as well. I do a lot of Windows COM interop. Using the `windows` crate, vtables for COM interfaces are relegated to an implementation detail - instead you simply implement a (typically safe!) trait:

    https://microsoft.github.io/windows-docs-rs/doc/windows/Win3...

    Which can then be converted to a refcounted smart pointer:

    https://microsoft.github.io/windows-docs-rs/doc/windows/Win3...

    All driven by win32 sdk parsing and metadata.

    But suppose we want to roll our own, because we tend to prefer `winapi` but it lacks definition. That's not too terrible either:

    • https://github.com/MaulingMonkey/thindx-xaudio2/blob/master/...

    • https://github.com/MaulingMonkey/thindx-xaudio2/blob/master/...

    • https://github.com/MaulingMonkey/thindx-xaudio2/blob/master/...

    I could more heavily lean on my macros ala `windows`, but I went the route of manual control for better doc comments, more explicit control of thread safety traits to match the existing C++ codebase, etc.

    Is there some pointer casting? Yes. Is it annoying or likely to be what breaks? No. What is annoying?

    • Stacked borrows and narrowing spatial provenance ( https://github.com/retep998/winapi-rs/issues/1025 - this can be "solved" by sticking to pointers ala `windows`, or by choosing a different provenance model like rustc might be doing?)

    • Guarding against panics unwinding over an FFI boundary. This is at least being worked on, but remains unfinished ( https://rust-lang.github.io/rfcs/2945-c-unwind-abi.html )

    • Edge case ABI weirdness specific to C++ methods ( https://devblogs.microsoft.com/oldnewthing/20220113-00/?p=10... , https://github.com/retep998/winapi-rs/issues/523 )

Stats

Basic thindx-xaudio2 repo stats
1
1
6.5
2 months ago

MaulingMonkey/thindx-xaudio2 is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

The primary programming language of thindx-xaudio2 is Rust.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com