Functions:
- Import midi file into internal data structure;
- Export Internal data structure to XML file;
- Export Internal data structure to midi file;
- Functions to edit Midi and Meta events.
- APIs to do conversions between: midi event number, piano key number and music note notation;
- Helper functions to import/export midi event from/to txt file. txt format: "time" "on/off" "note number" "note velocity"
Hierarchical Midi Data Structures (The hierarchical Midi data structures are designed in Midi.hpp)
- MidiFile class
- HeadChunk class
- TrackChunk class
- MetaEvent class
- MidiEvent class
Only need to use APIs defined in MidiFile class for Midi file importing and exporting. The other classes and functions are encapsulated.
- void importMidiFile(const std::string& fileName);
- void exportMidiFile(const std::string& fileName);
- void exportXMLFile(const std::string& fileName);
Example see main.cpp In Linux, run command below to play midi file: timidity close1.mid