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

<p>The MIDI device connects to my PC using a USB connector. </p>

<p>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.</p>

<p>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.</p>

<p>I'm planning on writing my code using the Bloodshed Dev-C++ IDE on Windows XP.</p>

[{'answer_id': 3750, 'author': 'andrewrk', 'author_id': 432, 'author_profile': 'https://Stackoverflow.com/users/432', 'pm_score': 1, 'selected': False, 'text': '<p>Check out the open source project <a href="http://lmms.sourceforge.net/" rel="nofollow noreferrer">LMMS</a>. It\'s a music studio for Linux that includes the ability to use MIDI keyboards with software instruments. If you dig around in <a href="http://lmms.sourceforge.net/wiki/index.php?title=Accessing_SVN" rel="nofollow noreferrer">source files</a> with \'midi\' in the name, you\'ll probably find what you\'re looking for.</p>\n'}, {'answer_id': 29676, 'author': 'bernhardrusch', 'author_id': 3056, 'author_profile': 'https://Stackoverflow.com/users/3056', 'pm_score': 1, 'selected': False, 'text': '<p>Maybe the <a href="http://jackaudio.org/" rel="nofollow noreferrer">Jack</a> 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.</p>\n'}, {'answer_id': 842632, 'author': 'sean e', 'author_id': 103912, 'author_profile': 'https://Stackoverflow.com/users/103912', 'pm_score': 5, 'selected': True, 'text': '<p><a href="http://portmedia.sourceforge.net/portmidi/" rel="noreferrer">PortMidi</a> 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.</p>\n\n<p>Just came across another open source cross-platform framework that includes MIDI support: <a href="http://www.rawmaterialsoftware.com/juce/" rel="noreferrer">Juce</a>.</p>\n\n<p>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.</p>\n\n<p>[July 2014] I just came across <a href="http://www.music.mcgill.ca/~gary/rtmidi/" rel="noreferrer">RtMidi</a> that looks to be a nice, compact, open source cross-platform C++ library.</p>\n'}]
['https://Stackoverflow.com/questions/3231', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/381/']