int main(int argc, char* argv[]) { checkOptions(options, argc, argv); MidiFile outfile; outfile.joinTracks(); outfile.deltaTicks(); int i; int initQ = 0; for (i=1; i<=options.getArgCount(); i++) { appendMidi(outfile, options.getArg(i).data(), seconds, initQ++); } // insert an end-of track Meta Event int tpq = outfile.getTicksPerQuarterNote(); MidiEvent mfevent; mfevent.tick = tpq; mfevent.track = 0; mfevent.resize(3); mfevent[0] = 0xff; mfevent[1] = 0x2f; mfevent[2] = 0; outfile.addEvent(mfevent); if (binaryQ) { outfile.write(cout); } else { cout << outfile; } return 0; }
void convertMidiFile(MidiFile& midifile) { if (type0Q) { midifile.joinTracks(); } midifile.deltaTicks(); printMidiHeader(midifile); int trackcount = midifile.getTrackCount(); for (int i=0; i<trackcount; i++) { printTrack(midifile, i); } }