任务单 #22414

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

开放日期: 2010-07-09 01:59 最后更新: 2010-07-11 22:19

报告人:
属主:
类型:
状态:
关闭
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
文件:

Details

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

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

任务单历史 (3/7 Histories)

2010-07-09 01:59 Updated by: yknk
  • New Ticket "ノート総数の値が正しくない" created
2010-07-11 09:01 Updated by: None
2010-07-11 18:51 Updated by: yknk
2010-07-11 22:16 Updated by: yknk
评论
(This comment has been deleted)
2010-07-11 22:18 Updated by: yknk
评论

原因

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

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

2010-07-11 22:19 Updated by: yknk
评论

対策

SMTrack::GetNoteList()

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

2010-07-11 22:19 Updated by: yknk
  • 状态 Update from 开启 to 关闭
  • Ticket Close date is changed to 2010-07-11 22:19

Attachment File List

No attachments

编辑

Please login to add comment to this ticket » 登录名