PortMidi/portmidi

Feature request: add virtual inputs and outputs on windows, as this is now supported by windows and MIDI 2.0

Opened this issue · 2 comments

This would be a very useful feature if possible. I could be wrong but according to microsoft, virtual midi devices are now supported with winrt API.

Very interesting - I didn't even know about winrt, which is about 2 years old -- I wonder if winrt includes a new MIDI device driver since in the past, the only way to get a virtual port was to create a device driver. PortMidi supports multiple APIs, so I think this calls for a reimplementation of the low-level API-specific interface that could run in addition to or instead of the winmm interface. Anyone interested should let me know. It sounds like something I could do, but not right away.

I took a look at winrt and MIDI, but there seems to be almost no documentation on using winrt and C++ (even the API is specified for C#, as far as I can tell). Maybe there is some "meta-documentation" on how you are supposed to read between the lines if you want to use C++. JUCE seems to have MIDI drivers based on winrt, but there is a lot of indirection and abstraction (even the main .cpp implementation file for winrt MIDI is actually an include file), and I've decided for now not to try to reverse engineer JUCE's MIDI implementation. If anyone has even a basic C++ program to list MIDI input devices or send a message, or readable documentation, I'd be tempted to try again.