OSDN Ticket Archive


Ticket #22414

ノート総数の値が正しくない

登録: 2010-07-09 01:59 最終更新: 2010-07-11 22:19

報告者:
yknk
担当者:
yknk
チケットの種類:
バグ
状況:
完了
コンポーネント:
MIDITrail Ver.1.0.x for Windows
マイルストーン:
Version 1.0.3 (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし

詳細

カウンタに表示している「発音済みノート数/ノート総数」について、 ノート総数の値が正しくない場合がある。

例えば C:\Windows\Media\Flourish.mid を再生した場合、演奏完了時に「2500/2470」と表示される。 ノート総数が、実際に発音されたノートの数より小さい値になっている。

チケットの履歴

2010-07-09 01:59 更新者: yknk
  • 新しいチケット "ノート総数の値が正しくない" が作成されました
2010-07-11 09:01 更新者: None
  • マイルストーン Version 1.0.3 (完了済み) は終了しました
2010-07-11 18:51 更新者: yknk
  • マイルストーン Version 1.0.3 (完了済み) が再オープンされました
2010-07-11 22:16 更新者: yknk
コメント
(このコメントは削除されました)
2010-07-11 22:18 更新者: yknk
コメント

原因

ノートリスト取得処理のバグ。

SMTrack::GetNoteList()において、ノートOFFをトリガにしてノート情報をリストに追加していた。 このため同一のポート/チャンネル/ノート番号で、 ノートON/OFFのイベントが「ON→ON→OFF」の順番で発生した場合に、ノート数を+2でなく+1でカウントしていた。 ノートONをトリガにしてノート情報を作成するべき。

2010-07-11 22:19 更新者: yknk
コメント

対策

SMTrack::GetNoteList()

ノートONをトリガとしてノート情報を作成し、ノートリストに追加する。 ONが連続した場合はOFFを自動挿入する。描画処理にのみ影響がある。 MIDI音源に送信するデータは、これまで通りSMFの内容に従う(勝手にノートOFFを追加送信しない)。

2010-07-11 22:19 更新者: yknk
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2010-07-11 22:19 に更新されました

添付ファイルリスト

添付ファイルはありません