Thank you for your interest in contributing to AudioPlaybackConnector2.
- Visual Studio 2022 (17.14 or later) with the following workloads:
- Desktop development with C++
- Windows application development (for WinUI 3 / Windows App SDK)
- Windows SDK 10.0.26100.0 or later
- Windows 11 (or Windows 10 1803+ for testing)
Developer runtime note: If Visual Studio reports missing
MicrosoftCorporationII.WinAppRuntime.Main.2orMicrosoftCorporationII.WinAppRuntime.Singletonpackages during launch, install the Windows App SDK 2.0 runtime and WinAppRuntime.Singleton on your development machine. End users do not need to do this manually when installing through the release.appinstaller.
- Clone the repository
- Open
AudioPlaybackConnector2.slnxin Visual Studio 2022 - NuGet packages restore automatically on first build
- Build -> Build Solution (x64, Debug)
Note on certificates: Local builds use a temporary developer certificate generated by Visual Studio, so you do not need to install the release
.cerfile. If you want to test installing a locally built MSIX on another machine, you must export and trust the temporary certificate from your build output.
If Visual Studio fails to launch the packaging project with DEP0840 and mentions missing MicrosoftCorporationII.WinAppRuntime.Main.2 or MicrosoftCorporationII.WinAppRuntime.Singleton packages, install the Windows App SDK 2.0 runtime and WinAppRuntime.Singleton on your development machine, then launch the project again.
When building with Visual Studio 2026, make sure both Desktop development with C++ and Windows application development are installed in Visual Studio Installer.
If C++23 features are not accepted by the compiler, set the project's C++ language standard to /std:c++latest.
If package signing fails because the configured certificate thumbprint is not available on your machine, open Package.appxmanifest, go to Packaging, choose or create a local test certificate, then update PackageCertificateThumbprint in the AudioPlaybackConnector2 (Package) project properties.
See README.md for full build instructions and architecture details.
Use the bug report template. Include:
- Windows version and build number
- Steps to reproduce
- Expected vs. actual behavior
- Relevant logs (Event Viewer → Application, or debug output)
Use the feature request template.
- Fork the repository and create a branch from
main - Make your changes
- Verify the build succeeds:
msbuild AudioPlaybackConnector2.slnx /p:Configuration=Release /p:Platform=x64 - Open a pull request against
main
- C++ standard: C++23 (
/std:c++latest) - Warnings:
/W4 /WX— all warnings are errors; do not introduce new warnings - Includes: All Windows, WinRT, WIL, and GDI+ headers belong in
pch.h, not in individual.cppfiles - Strings: All user-visible strings must go through
_(key)and be added to all 8 locale files inres/strings/ - Thread safety: Anything that reads or writes
DeviceManagerstate must hold the appropriatewil::srwlock - Comments: Only where the why is non-obvious — well-named identifiers do the rest
Please check the existing GitHub Issues before opening a new bug report to avoid duplicates.
By contributing, you agree that your contributions will be licensed under the MIT License.