Home » Questions » Computers [ Ask a new question ]

C/C++ library for reading MIDI signals from a USB MIDI device

C/C++ library for reading MIDI signals from a USB MIDI device

"I want to write C/C++ programs that take input from a MIDI device.

The MIDI device connects to my PC using a USB connector.

I'm looking for a (C/C++ implemented) library that I can use to read the MIDI signals from the MIDI device through the USB port.

I'm happy manipulating the MIDI data once I get it, I just don't want to have to implement the code for its capture.

I'm planning on writing my code using the Bloodshed Dev-C++ IDE on Windows XP."

Asked by: Guest | Views: 324
Total answers/comments: 3
Guest [Entry]

"PortMidi is another open source cross-platform MIDI I/O library worth checking out. On the other hand, if you are working on a sysex type of app, then direct Win32 works easily enough.

Just came across another open source cross-platform framework that includes MIDI support: Juce.

Also, I should note that there isn't anything special about a USB connected MIDI device. It will still be presented as a MIDI device in Windows and you will use standard MIDI APIs (mmsystem) to communicate with it.

[July 2014] I just came across RtMidi that looks to be a nice, compact, open source cross-platform C++ library."
Guest [Entry]

Check out the open source project LMMS. It's a music studio for Linux that includes the ability to use MIDI keyboards with software instruments. If you dig around in source files with 'midi' in the name, you'll probably find what you're looking for.
Guest [Entry]

Maybe the Jack source code may help too. It's a sound driver for Posix compatible systems with a lot of possibilities and supports USB and Firewire audio devices.