( index == 0 || ( index == 7 && this.n最後に再生したHHのチャンネル番号 != 0x18 && this.n最後に再生したHHのチャンネル番号 != 0x38 ) )\r
// HCを演奏するか、またはHO演奏&以前HO演奏でない&以前不可視HO演奏でない\r
)\r
+ // #24772 2011.4.4 yyagi\r
+ // == HH mute condition == \r
+ // current HH So, the mute logics are:\r
+ // HC HO 1) All played HC/HOs should be queueing\r
+ // last HH HC Yes Yes 2) If you aren't in "both current/last HH are HO", queued HH should be muted.\r
+ // HO Yes No\r
{\r
// #23921 2011.1.4 yyagi: 2種類以上のオープンハイハットが発音済みだと、最後のHHOしか消せない問題に対応。\r
#if TEST_NOTEOFFMODE // 2011.1.1 yyagi test\r
if (CDTXMania.DTX.bHH演奏で直前のHHを消音する)\r
{\r
#endif\r
- if ( index == 7 || index == 0x27 ) // #23921 HOまたは不可視HO演奏時はそのチップ番号をストックしておく\r
- {\r
+ if ( index == 0 || index == 7 || index == 0x20 || index == 0x27 ) // #23921 HOまたは不可視HO演奏時はそのチップ番号をストックしておく\r
+ { // #24772 HC, 不可視HCも消音キューに追加\r
if ( this.L最後に再生したHHの実WAV番号.Count >= 16 ) // #23921 ただしストック数が16以上になるようなら、頭の1個を削って常に16未満に抑える\r
{ // (ストックが増えてList<>のrealloc()が発生するのを予防する)\r
this.L最後に再生したHHの実WAV番号.RemoveAt( 0 );\r
#if TEST_NOTEOFFMODE // 2011.1.4 yyagi test\r
}\r
#endif\r
+Debug.WriteLine( "at " + pChip.n発声時刻ms + " : " + pChip.n整数値 + ":発音しました" );\r
CDTXMania.DTX.tチップの再生( pChip, n再生開始システム時刻ms, nLane, n音量, bモニタ );\r
return;\r
}\r