Issue with concurrent MIDI and BLE connections [WinRT/C++]

Hey everyone!

This is not specifically related to the JUCE library itself, but I still think this topic is appropriate for this forum.

My team has been struggling with a pretty strange issue while using the WinRT/C++ APIs for Windows to connect to both a MIDI port and receive BLE notifications through a proprietary service on the same device.

The WinRT/C++ library itself is pretty nice and provides easy and modern C++ interfaces to access the managed Windows runtime classes. I’ve even ported the JUCE WinRT MIDI implementation on my JUCE fork to use WinRT/C++ (which is now recommended by Microsoft over the older WRL/ComPtr based approach). I got rid of about 400 LOC and there is probably still room for improvement.

That being said, we’ve been struggling with a pretty strange issue for the past weeks and we’d love some insight. I’ve pushed a sample repo to Github. The code is heavily inspired by the JUCE WinRT MIDI implementation.

If any of you are willing to check it out and lend your thoughts, the readme goes through the problem in detail. We’re at quite a standstill :confused:

Best,
Daniel

1 Like