研究テーマ->音楽ソフトの開発->準備  
  MIDIを扱うソフトの開発について紹介します。  
MIDI再生エンジン
SMF処理エンジンとは別に、音を鳴らす処理も、MIDI再生エンジンという形でとりまとめて用意しておく必要があります。この部分はOSに依存するので、OS間の移植はそれなりに手間がかかります。
また、再生はSMFの編集の場合とは異なり、処理のリアルタイム性が重視されます。Windowsの場合、MIDIで音を鳴らす機能は大きく2つに分類されます。
1つはmciSendCommandなどのmciで始まるapiを使用する方法です。この方法は、非常に簡単にSMFを再生することができるのですが、たとえば、任意のタイミングで指定した音を発音するなどの、細かな処理ができません。ファイル全体を再生するなど、大雑把なことしかできないのです。
もう1つの方法は、MidiOutShortMsgなどの、Midiで始まるapiを使用する方法です。こちらは細かな処理が可能ですが、SMF全体を再生するなどのことをしようとすると、そのためのプログラムを全部、作成しなければなりません。本格的な音楽アプリケーションを作成しようとすると、こちらを使用することになると思います。
ポイント
mciSendCommanではなくMidiOutShortMsgを使いましょう