title: C++ MIDI file reading library
body: <p>I'm trying to write some software to read a MIDI file into an internal data format and use it to control 3D simulated instruments.
  My biggest problem is reading the MIDI data in from a file, and I'd like to avoid writing all the import code.</p>
  
  <p>Does anyone know of a free (preferably Open Source), cross-platform MIDI file reading library?
  What features does it have?
  Can it import other note-based music formats?</p>