microsoft / MIDI

Windows MIDI Services
MIT License
308 stars 26 forks source link

[BUG] API removal callback provides endpoint ID in uppercase #426

Closed MusicMaker closed 3 days ago

MusicMaker commented 3 days ago

Describe the bug

The API callback for removal of device provides the endpoint ID in uppercase while the one for adding provides it in lowercase

To Reproduce

prints the ID in the callback to the screen

std::cout << " Id : " << winrt::to_string(args.AddedDevice().EndpointDeviceId()) << std::endl;

https://github.com/user-attachments/assets/afd88777-d078-4cbe-9cb5-52dcf749b964

Expected behavior

Assume Id should be lower case, All other functions seems to use lowercase.

Screenshots

Id provided in removal callback:

Removed: \?\SWD#MIDISRV#MIDIU_KSA_866772893045285325#{e7cce071-3c03-423f-88d3-f1045d02552b}

Id provided in added callback

\?\swd#midisrv#midiu_ksa_866772893045285325#{e7cce071-3c03-423f-88d3-f1045d02552b}

Installer Name or Version

DP6

W11 latest Canary of today

Device information, if this is with an external MIDI device:

Custom device . Driver 1.05 (DP2)

Application Information

Custom based on SDK, watcher demo app.

Additional context

This caused a problem to lookup and compare the the endpoint id in the removal callback that was stored in memory in the add callback.

Psychlist1972 commented 3 days ago

This was fixed in DP7.

https://github.com/microsoft/MIDI/commit/376448683669b7b82b7af539c9da4b81c4213cdb

MusicMaker commented 3 days ago

Ok thanks, (Could not find this in the github issue list, so therefor the post)