Skip to content

Latest commit

 

History

History
76 lines (48 loc) · 4.04 KB

File metadata and controls

76 lines (48 loc) · 4.04 KB

Contributing

Thank you for your interest in contributing to AudioPlaybackConnector2.

Prerequisites

  • 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.2 or MicrosoftCorporationII.WinAppRuntime.Singleton packages 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.

Building

  1. Clone the repository
  2. Open AudioPlaybackConnector2.slnx in Visual Studio 2022
  3. NuGet packages restore automatically on first build
  4. 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 .cer file. 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.

Build and Launch Troubleshooting

Missing Windows App SDK runtime packages

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.

Visual Studio 2026

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.

How to Contribute

Reporting Bugs

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)

Suggesting Features

Use the feature request template.

Submitting Pull Requests

  1. Fork the repository and create a branch from main
  2. Make your changes
  3. Verify the build succeeds: msbuild AudioPlaybackConnector2.slnx /p:Configuration=Release /p:Platform=x64
  4. Open a pull request against main

Code Style

  • 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 .cpp files
  • Strings: All user-visible strings must go through _(key) and be added to all 8 locale files in res/strings/
  • Thread safety: Anything that reads or writes DeviceManager state must hold the appropriate wil::srwlock
  • Comments: Only where the why is non-obvious — well-named identifiers do the rest

Known Issues

Please check the existing GitHub Issues before opening a new bug report to avoid duplicates.

License

By contributing, you agree that your contributions will be licensed under the MIT License.