ノート総数の値が正しくない
ノートリスト取得処理のバグ。
SMTrack::GetNoteList()において、ノートOFFをトリガにしてノート情報をリストに追加していた。 このため同一のポート/チャンネル/ノート番号で、 ノートON/OFFのイベントが「ON→ON→OFF」の順番で発生した場合に、ノート数を+2でなく+1でカウントしていた。 ノートONをトリガにしてノート情報を作成するべき。
ノートONをトリガとしてノート情報を作成し、ノートリストに追加する。 ONが連続した場合はOFFを自動挿入する。描画処理にのみ影響がある。 MIDI音源に送信するデータは、これまで通りSMFの内容に従う(勝手にノートOFFを追加送信しない)。
カウンタに表示している「発音済みノート数/ノート総数」について、 ノート総数の値が正しくない場合がある。
例えば C:\Windows\Media\Flourish.mid を再生した場合、演奏完了時に「2500/2470」と表示される。 ノート総数が、実際に発音されたノートの数より小さい値になっている。