OSDN Git Service

#36172 チップ音のミキサーへの動的な追加削除機能がほとんど機能していなかった問題を修正。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sat, 19 Mar 2016 04:13:47 +0000 (04:13 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sat, 19 Mar 2016 04:13:47 +0000 (04:13 +0000)
また、発音前後の余裕時間の判断条件を、現行リファクタの内容にあわせて見直し。

git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@934 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs

index 0bb8376..452c94f 100644 (file)
@@ -873,15 +873,14 @@ namespace DTXMania
                                        #region [ 発音1秒前のタイミングを記録 ]\r
                                        int n発音前余裕ms = 1000, n発音後余裕ms = 800;                                                // Drums\r
                                        {\r
-                                               int ch = (int)(pChip.eチャンネル番号) >> 4;\r
                                                // Guitar / Bass\r
-                                               if (ch == 2 || ch == 0x0a)\r
+                                               if ( pChip.e楽器パート == E楽器パート.GUITAR || pChip.e楽器パート == E楽器パート.BASS )\r
                                                {\r
                                                        n発音前余裕ms = 800;\r
                                                        //n発音後余裕ms = 500;\r
                                                }\r
                                                // SE\r
-                                               if (ch == 0x06 || ch == 0x07 || ch == 0x08 || ch == 0x09)\r
+                                               if ( pChip.ESoundChipTypeを得る == ESoundChipType.SE )\r
                                                {\r
                                                        n発音前余裕ms = 200;\r
                                                        //n発音後余裕ms = 500;\r
@@ -965,9 +964,8 @@ namespace DTXMania
                                                CChip c_AddMixer_noremove = c_AddMixer;\r
                                                c_AddMixer_noremove.SetSoundAfterPlayEnd(true);\r
                                                listAddMixerChannel[listAddMixerChannel.Count - 1] = c_AddMixer_noremove;\r
-                                               //continue;                                                                                             // 発声位置の計算ができないので、Mixer削除をあきらめる・・・のではなく\r
-                                               // #32248 2013.10.15 yyagi 演奏終了後も再生を続けるチップであるというフラグをpChip内に立てる\r
-                                               break;\r
+                                               continue;                                                                                               // 発声位置の計算ができないので、Mixer削除をあきらめる・・・のではなく\r
+                                                                                                                                                               // #32248 2013.10.15 yyagi 演奏終了後も再生を続けるチップであるというフラグをpChip内に立てる\r
                                        }\r
                                        #region [ 未使用コード ]\r
                                        //if ( n新RemoveMixer時刻ms < pChip.n発声時刻ms + duration )     // 曲の最後でサウンドが切れるような場合\r
@@ -1023,7 +1021,6 @@ namespace DTXMania
                                                //DebugOut_CChipList( listRemoveTiming );\r
                                        }\r
                                        #endregion\r
-                                       break;\r
                                }\r
                        }\r
                        //Debug.WriteLine("==================================================================");\r