Skip to content

feat: implement 360 audio and head tracking support - #734

Open
juanfariasdev wants to merge 6 commits into
timschneeb:masterfrom
juanfariasdev:master
Open

juanfariasdev wants to merge 6 commits into
timschneeb:masterfrom
juanfariasdev:master

Conversation

@juanfariasdev

@juanfariasdev juanfariasdev commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces several improvements and new features, primarily focused on spatial audio support, UI enhancements, and platform-specific build configuration. The most significant addition is a new HeadVisualizerControl for visualizing head orientation, along with comprehensive tests for spatial audio functionality. There are also important fixes and updates to platform targeting and UI control registration.

Spatial Audio Features and Testing:

  • Added the HeadVisualizerControl (Interface/Controls/HeadVisualizerControl.cs), a custom Avalonia control for visualizing head orientation (yaw, pitch, roll) and earbud positions, with support for active/inactive states.
  • Introduced SpatialAudioTests (GalaxyBudsClient.Tests/SpatialAudioTests.cs), providing thorough unit tests for quaternion math, OpenTrack packet generation, OSC message formatting, DSP engine behavior, and CoreAudio device detection.
  • Registered the new SpatialAudioPageViewModel in the main view, making the spatial audio UI accessible.

Platform and Build System Updates:

  • Improved macOS build configuration in GalaxyBudsClient.csproj to conditionally target net10.0-macos only when the UseMacOSSDK property is set, defaulting to net10.0 otherwise. This enhances cross-platform compatibility and developer experience.
  • Updated the test project (GalaxyBudsClient.Tests.csproj) to target net10.0 instead of net10.0-macos, ensuring tests run on all platforms.

User Interface and Code Quality Fixes:

  • Fixed the registration of routed events and styled properties in SettingsSliderItem to use the correct class instead of SettingsSwitchItem, resolving potential runtime and binding issues.
  • Improved conditional compilation for macOS features in App.axaml.cs to check for both OSX and MACOS_SDK, preventing build errors when the macOS SDK is unavailable. [1] [2]

These changes collectively enhance the application's spatial audio capabilities, improve cross-platform support, and resolve several UI and build-related issues.

@juanfariasdev juanfariasdev changed the title feat: introduce MACOS_SDK conditional compilation feat: implement 360 audio and head tracking support Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant