thestk / rtmidi

A set of C++ classes that provide a common API for realtime MIDI input/output across Linux (ALSA & JACK), Macintosh OS X (CoreMIDI) and Windows (Multimedia)
Other
983 stars 273 forks source link

Open Windows Virtual Ports via the loopMIDI SDK #205

Open marksyzm opened 5 years ago

marksyzm commented 5 years ago

I notice that RTMidi presently doesn't support creation of virtual midi ports in Windows (all versions), and recently looked through loopmidi's page and the guy has now made it possible to connect to loopmidi through an SDK.

http://www.tobias-erichsen.de/software/virtualmidi/virtualmidi-sdk.html

If I (or one of you) were to get in touch with the owner and see how we could come to an agreement on it, would it be possible to implement this? I think it would really benefit developers trying to create cross platform MIDI software.

SpotlightKid commented 5 years ago

The "license" of that software is not at all compatible with Open Source software.

Quote from the above linked web page:

You may use this SDK to evaluate the integration of the virtual MIDI-driver into your our own applications. > This software is NOT freeware or shareware. This software is copyrighted by Tobias Erichsen.

Software linking to this SDK MAY NOT BE DISTRIBUTED in any way without prior clearance with me (Tobias Erichsen).

sagamusix commented 5 years ago

From my understanding, if you are fine with the loopMIDI SDK's license, you can use it alongside RtMidi to create the ports that your application requires and then communicate with those those ports using RtMidi, and no further modification of RtMidi is required. But as noted in the previous comment, directly interfacing with this SDK isn't something that RtMidi can legally do for you.

keinstein commented 4 years ago

I think a better solution would be to implement Windows 10 MIDI support.

tom-f-oconnell commented 4 years ago

Does anyone have ideas about where to start implementing some kind of virtual MIDI support for Windows? I feel like the project linked above is proof that it is possible, but I don't have much idea for how to progress beyond that.

sagamusix commented 4 years ago

My best guess would be that you look into the Windows Driver Kit.

Paul-Dempsey commented 1 year ago

Virtual ports on Windows are on the roadmap as part of the Windows MIDI 2.0 project: https://github.com/microsoft/MIDI