Skip to content

[AudioToolbox] Bind music device selectors. Fixes #12490 - #27039

Open
rolfbjarne wants to merge 2 commits into
mainfrom
dev/rolf/music-device-selectors
Open

rolfbjarne wants to merge 2 commits into
mainfrom
dev/rolf/music-device-selectors

Conversation

@rolfbjarne

Copy link
Copy Markdown
Member

Expose the missing kMusicDevice* selector constants as AudioToolbox.MusicDeviceSelector, including the selector-range marker and all seven operation selectors. The values match MusicDevice.h, and each member has XML documentation.

These constants identify low-level Audio Unit dispatch operations; they are not MIDI status bytes or Audio Unit property IDs. Existing managed APIs therefore remain unchanged. Dedicated enum-value tests are intentionally omitted.

Fixes #12490

🤖 Pull request created by Copilot

rolfbjarne and others added 2 commits October 26, 2026 20:50
Expose the music device selector constants as MusicDeviceSelector, including the range marker and MIDI event-list selector. Match the values in MusicDevice.h and document each member without introducing unrelated music device APIs.

Add parameterized regression coverage for all eight selector values. Fixes #12490.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 834f092e-f43a-4f1e-b980-12734e1d1f0a
Remove MusicDeviceSelectorTest as requested: enum constants do not need dedicated tests. Keep the documented selector binding unchanged.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 834f092e-f43a-4f1e-b980-12734e1d1f0a
@rolfbjarne
rolfbjarne requested a review from dalexsoto as a code owner October 26, 2026 19:53
Copilot AI balanced review requested due to automatic review settings October 26, 2026 19:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Validation of the new public API remains incomplete because build, test, and API-diff checks are reported as pending.

No open issues 🎉

What changed in this PR

Adds AudioToolbox.MusicDeviceSelector to expose the missing low-level Audio Unit dispatch constants requested in #12490, without changing existing managed APIs.

Changes:

  • Adds the selector-range marker and seven operation selectors.
  • Documents the enum and each member; intentionally omits dedicated enum-value tests.
File Description
src/​AudioToolbox/​Enums.cs Adds the documented MusicDeviceSelector enum and its constants.

Review effort: Balanced

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 5397507e8dc993afdc8fe5c9c9009a4ab2f84a73 [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🔥 [CI Build #5397507] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

0 tests crashed, 6 tests failed, 211 tests passed.

Failures

❌ dotnettests tests (macOS)

1 tests failed, 0 tests passed.

Failed tests

  • DotNet tests: Failed (Execution failed with exit code 1)
    • Xamarin.Tests.AssetsTest.TestXCAssets(MacOSX,"osx-x64",True): '/Users/cloudtest/vss/_work/1/s/macios/tests/dotnet/AppWithXCAssets/macOS/bin/Debug/net11.0-macos/osx-x64/AppWithXCAssets.app/Co...

Html Report (VSDrops) Download

❌ monotouch tests (iOS)

4 tests failed, 16 tests passed.

Failed tests

  • monotouch-test/iOS - simulator/Debug (managed static registrar): TimedOut
  • monotouch-test/iOS - simulator/Release (compat inline dlfcn): TimedOut
  • monotouch-test/iOS - simulator/Release (strict inline dlfcn, link sdk): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (NativeAOT, .NET 11 defaults): LaunchTimedOut

Html Report (VSDrops) Download

❌ windows tests

1 tests failed, 2 tests passed.

Failed tests

  • Remote .NET tests/Xamarin.Tests.IncrementalBuildTest.CompiledEntitlementsTriggerNativeLinkOnRemoteWindows(iOS,"iossimulator-arm64"): Failed: 'dotnet build' timed out after 00:10:00

Html Report (VSDrops) Download

Successes

✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 1 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 4 tests passed. Html Report (VSDrops) Download
✅ linker (iOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (MacCatalyst): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (tvOS): All 21 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 20 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 20 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 20 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Golden Gate (27): All 5 tests passed. Html Report (VSDrops) Download

Linux Build Verification

✅ Linux build succeeded

Pipeline on Agent
Hash: 5397507e8dc993afdc8fe5c9c9009a4ab2f84a73 [PR build]

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[AudioToolbox] Missing enum kMusicDevice

3 participants