OSDN Ticket Archive


Ticket #32359

スキップ実行時にコントロールチェンジが送信されない

登録: 2013-10-29 23:16 最終更新: 2013-12-05 00:46

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

詳細

スキップ完了時に送信すべきコントロールチェンジが送信されない場合がある。

チケットの履歴

2013-10-29 23:16 更新者: yknk
  • 新しいチケット "スキップ実行時にコントロールチェンジが送信されない" が作成されました
2013-10-29 23:16 更新者: yknk
コメント

原因

スキップ実行時のMIDIイベントフィルタリング処理で、判定文にコーディングミスがあった。 (ccNo == 121)とすべきところ、(ccNo = 121)となっていたため、常に真の判定となっていた。 スキップ範囲に、CC#1,CC#7,CC#10,CC#11以外のコントロールチェンジが含まれていた場合、 ピッチベンド、モジュレーション、エクスプレッションのキャッシュデータを破棄してしまうため、 スキップ完了時に送信すべきコントロールチェンジが送信されない。

問題のフィルタリング処理は SMSequencer::_FilterMIDIEvent に存在する。

//CC#121 リセットオールコントローラ
else if (ccNo = 121) {
    //クリア対象パラメータのキャッシュを破棄する
    ....
}
2013-10-29 23:17 更新者: yknk
コメント

対策

SMSequencer::_FilterMIDIEvent のコーディングミスを修正する。

修正前

else if (ccNo = 121) {

修正後

else if (ccNo == 121) {

2013-10-29 23:24 更新者: yknk
コメント

影響範囲

Windows版とMac OS X版。 iOS版は初回リリース時に対策済み。

2013-11-10 21:46 更新者: yknk
  • 解決法なし から 修正済み に更新されました
コメント

メモ

2013/2/18 Win版終了

2013-12-05 00:46 更新者: yknk
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2013-12-05 00:46 に更新されました

添付ファイルリスト

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