feat: implement 360 audio and head tracking support - #734
Open
juanfariasdev wants to merge 6 commits into
Open
juanfariasdev wants to merge 6 commits into
juanfariasdev wants to merge 6 commits into
Conversation
…Track broadcasting capabilities
…n calculation logic
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
HeadVisualizerControlfor 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:
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.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.SpatialAudioPageViewModelin the main view, making the spatial audio UI accessible.Platform and Build System Updates:
GalaxyBudsClient.csprojto conditionally targetnet10.0-macosonly when theUseMacOSSDKproperty is set, defaulting tonet10.0otherwise. This enhances cross-platform compatibility and developer experience.GalaxyBudsClient.Tests.csproj) to targetnet10.0instead ofnet10.0-macos, ensuring tests run on all platforms.User Interface and Code Quality Fixes:
SettingsSliderItemto use the correct class instead ofSettingsSwitchItem, resolving potential runtime and binding issues.App.axaml.csto check for bothOSXandMACOS_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.