Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
msw312 opened this issue Apr 10, 2024 · 2 comments

Comments

@msw312
Copy link

msw312 commented Apr 10, 2024

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.

@rbdannenberg
Copy link
Contributor

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.

@rbdannenberg
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants