Reputation: 1271
I have to write an application (like a step sequencer or arpeggiator) that sends MIDI note to a generic DAW , so I think that only way to implement such thing is to create a virtual MIDI device that should be recognised as a MIDI input/output interface by the OS.
I was wondering if this could be developed using Portmidi or if I need something more complicated.
OS X support is a must, Linux and Windows support is a nice to have.
Upvotes: 9
Views: 13746
Reputation: 163622
For Windows, check out the virtual MIDI driver written by Tobias Erichsen. While he hasn't published the API, if you e-mail him he will work something out with you. It's very simple to work with and allows creation of MIDI ports directly from your application.
Upvotes: 0
Reputation: 180310
Portmidi's design is based on the Windows MIDI API, which does not allow applications to create virtual ports (without installing a separate driver).
On OS X, you can create a virtual port with MIDISourceCreate; on Linux, by creating a port with the (SUBS_)READ/WRITE flags.
If you want to use a portable library, try RtMidi, which supports virtual ports on all platforms that have them.
Upvotes: 6