OSDN Git Service

#35891 CONFIGURATION構成の見直しで、サウンド関連の設定を CONFIGURATION/System/Sound Options/に移動。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 04.コンフィグ / CActConfigList.cs
index 53d048f..e0d49e7 100644 (file)
@@ -14,6 +14,9 @@ namespace DTXMania
                STDGBSValue<COptionLabel> ReturnToMenu;\r
                STDGBSValue<COptionLabel> KeyAssignMenu;\r
                STDGBSValue<COptionLabel> DisplayMenu;\r
+               STDGBSValue<COptionLabel> EDrumsMenu;\r
+               COptionLabel SoundMenu;\r
+               COptionLabel HitRangeMenu;\r
                COptionStringList skins;\r
 \r
                bool b項目リスト側にフォーカスがある;\r
@@ -22,9 +25,11 @@ namespace DTXMania
                Eメニュー種別 eメニュー種別;\r
                // #33689 2014.6.17 yyagi\r
                bool InitialUseOSTimer;\r
+               bool InitialWASAPIEventDriven;\r
                ESoundDeviceTypeForConfig InitialSystemSoundType;\r
                int InitialWASAPIBufferSizeMs;\r
                int InitialASIODevice;\r
+               bool InitialForceHighPower;\r
                List<COptionBase> list項目リスト;\r
                long nスクロール用タイマ値;\r
                int n現在のスクロールカウンタ;\r
@@ -144,6 +149,18 @@ namespace DTXMania
                        {\r
                                t項目リストの設定(Eメニュー種別.Bass);\r
                        }\r
+                       else if (this.eメニュー種別 == Eメニュー種別.EDrumsSettings)\r
+                       {\r
+                               t項目リストの設定(Eメニュー種別.Drums);\r
+                       }\r
+                       else if (this.eメニュー種別 == Eメニュー種別.HitRangeSettings)\r
+                       {\r
+                               t項目リストの設定(Eメニュー種別.System);\r
+                       }\r
+                       else if ( this.eメニュー種別 == Eメニュー種別.SoundSettings)\r
+                       {\r
+                               t項目リストの設定(Eメニュー種別.System);\r
+                       }\r
                }\r
 \r
                public bool tEnter押下()\r
@@ -226,6 +243,8 @@ namespace DTXMania
                                return opt;\r
                        };\r
 \r
+                       CResources cr = CDTXMania.Instance.Resources;\r
+\r
                        if (eMenu == Eメニュー種別.DisplaySystem)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.System);\r
@@ -307,25 +326,46 @@ namespace DTXMania
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nMinComboDisp.Bass);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bGraph.Bass);\r
                        }\r
+                       else if (eMenu == Eメニュー種別.EDrumsSettings)\r
+                       {\r
+                               list項目リスト.Add(ReturnToMenu.Drums);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nVelocityMin.LC);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nVelocityMin.HH);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nVelocityMin.SD);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nVelocityMin.BD);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nVelocityMin.HT);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nVelocityMin.LT);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nVelocityMin.FT);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nVelocityMin.CY);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nVelocityMin.RD);\r
+                       }\r
+                       else if (eMenu == Eメニュー種別.HitRangeSettings)\r
+                       {\r
+                               list項目リスト.Add(ReturnToMenu.System);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nHitRange.Perfect);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nHitRange.Great);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nHitRange.Good);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nHitRange.Poor);\r
+                       }\r
                        else if (eMenu == Eメニュー種別.KeyAssignSystem)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.System);\r
-                               list項目リスト.Add(PadNotifier(EPad.Capture, "Capture", Properties.Resources.strCfgKeyAssignキャプチャ説明));\r
+                               list項目リスト.Add(PadNotifier(EPad.Capture, cr.Label("strCfgKeyAssignCapture"), cr.Explanation("strCfgKeyAssignCapture") ));\r
                        }\r
                        else if (eMenu == Eメニュー種別.KeyAssignDrums)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.Drums);\r
-                               list項目リスト.Add(PadNotifier(EPad.LC, "LeftCymbal", Properties.Resources.strCfgKeyAssignLC));\r
-                               list項目リスト.Add(PadNotifier(EPad.HH, "HiHat(Close)", Properties.Resources.strCfgKeyAssignHH));\r
-                               list項目リスト.Add(PadNotifier(EPad.HHO, "HiHat(Open)", Properties.Resources.strCfgKeyAssignHHO));\r
-                               list項目リスト.Add(PadNotifier(EPad.SD, "Snare", Properties.Resources.strCfgKeyAssignSD));\r
-                               list項目リスト.Add(PadNotifier(EPad.BD, "Kick", Properties.Resources.strCfgKeyAssignBD));\r
-                               list項目リスト.Add(PadNotifier(EPad.HT, "HighTom", Properties.Resources.strCfgKeyAssignHT));\r
-                               list項目リスト.Add(PadNotifier(EPad.LT, "LowTom", Properties.Resources.strCfgKeyAssignLT));\r
-                               list項目リスト.Add(PadNotifier(EPad.FT, "FloorTom", Properties.Resources.strCfgKeyAssignFT));\r
-                               list項目リスト.Add(PadNotifier(EPad.CY, "Cymbal", Properties.Resources.strCfgKeyAssignCY));\r
-                               list項目リスト.Add(PadNotifier(EPad.RD, "RideCymbal", Properties.Resources.strCfgKeyAssignRD));\r
-                               list項目リスト.Add(PadNotifier(EPad.HP, "HiHatPedal", Properties.Resources.strCfgKeyAssignHP));\r
+                               list項目リスト.Add(PadNotifier(EPad.LC, cr.Label("strCfgKeyAssignLC"), cr.Explanation("strCfgKeyAssignLC") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.HH, cr.Label("strCfgKeyAssignHH"), cr.Explanation("strCfgKeyAssignHH") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.HHO,cr.Label("strCfgKeyAssignHHO"), cr.Explanation("strCfgKeyAssignHHO") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.SD, cr.Label("strCfgKeyAssignSD"), cr.Explanation("strCfgKeyAssignSD") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BD, cr.Label("strCfgKeyAssignBD"), cr.Explanation("strCfgKeyAssignBD") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.HT, cr.Label("strCfgKeyAssignHT"), cr.Explanation("strCfgKeyAssignHT") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.LT, cr.Label("strCfgKeyAssignLT"), cr.Explanation("strCfgKeyAssignLT") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.FT, cr.Label("strCfgKeyAssignFT"), cr.Explanation("strCfgKeyAssignFT") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.CY, cr.Label("strCfgKeyAssignCY"), cr.Explanation("strCfgKeyAssignCY") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.RD, cr.Label("strCfgKeyAssignRD"), cr.Explanation("strCfgKeyAssignRD") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.HP, cr.Label("strCfgKeyAssignHP"), cr.Explanation("strCfgKeyAssignHP") ));\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eHHGroup);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eFTGroup);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eCYGroup);\r
@@ -336,45 +376,55 @@ namespace DTXMania
                        else if (eMenu == Eメニュー種別.KeyAssignGuitar)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.Guitar);\r
-                               list項目リスト.Add(PadNotifier(EPad.GtR, "R", Properties.Resources.strCfgKeyAssignGtR));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtG, "G", Properties.Resources.strCfgKeyAssignGtG));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtB, "B", Properties.Resources.strCfgKeyAssignGtB));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtPick, "Pick", Properties.Resources.strCfgKeyAssignGtPick));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtWail, "Wailing", Properties.Resources.strCfgKeyAssignGtWailing));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtDecide, "Decide", Properties.Resources.strCfgKeyAssignGtDecide));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtCancel, "Cancel", Properties.Resources.strCfgKeyAssignGtCancel));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtR, cr.Label("strCfgKeyAssignGtR"), cr.Explanation("strCfgKeyAssignGtR") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtG, cr.Label("strCfgKeyAssignGtG"), cr.Explanation("strCfgKeyAssignGtG") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtB, cr.Label("strCfgKeyAssignGtB"), cr.Explanation("strCfgKeyAssignGtB") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtPick, cr.Label("strCfgKeyAssignGtPick"), cr.Explanation("strCfgKeyAssignGtPick") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtWail, cr.Label("strCfgKeyAssignGtWailing"), cr.Explanation("strCfgKeyAssignGtWailing") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtDecide, cr.Label("strCfgKeyAssignGtDecide"), cr.Explanation("strCfgKeyAssignGtDecide") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtCancel, cr.Label("strCfgKeyAssignGtCancel"), cr.Explanation("strCfgKeyAssignGtCancel") ));\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Guitar);\r
                        }\r
                        else if (eMenu == Eメニュー種別.KeyAssignBass)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.Bass);\r
-                               list項目リスト.Add(PadNotifier(EPad.BsR, "R", Properties.Resources.strCfgKeyAssignBsR));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsG, "G", Properties.Resources.strCfgKeyAssignBsG));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsB, "B", Properties.Resources.strCfgKeyAssignBsB));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsPick, "Pick", Properties.Resources.strCfgKeyAssignBsPick));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsWail, "Wailing", Properties.Resources.strCfgKeyAssignBsWailing));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsDecide, "Decide", Properties.Resources.strCfgKeyAssignBsDecide));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsCancel, "Cancel", Properties.Resources.strCfgKeyAssignBsCancel));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsR, cr.Label("strCfgKeyAssignBsR"), cr.Explanation("strCfgKeyAssignBsR") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsG, cr.Label("strCfgKeyAssignBsG"), cr.Explanation("strCfgKeyAssignBsG") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsB, cr.Label("strCfgKeyAssignBsB"), cr.Explanation("strCfgKeyAssignBsB") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsPick, cr.Label("strCfgKeyAssignBsPick"), cr.Explanation("strCfgKeyAssignBsPick") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsWail, cr.Label("strCfgKeyAssignBsWailing"), cr.Explanation("strCfgKeyAssignBsWailing") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsDecide, cr.Label("strCfgKeyAssignBsDecide"), cr.Explanation("strCfgKeyAssignBsDecide") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsCancel, cr.Label("strCfgKeyAssignBsCancel"), cr.Explanation("strCfgKeyAssignBsCancel") ));\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Bass);\r
                        }\r
                        else if (eMenu == Eメニュー種別.System)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.System);\r
+                               COptionStringList langlist = new COptionStringList("default");\r
+                               langlist.Initialize( "strCfgLanguage", cr.LanguageDispList );\r
+                               langlist.Index = CDTXMania.Instance.Resources.LanguageCodeIndex;\r
+                               langlist.OnEnterDelegate = () =>\r
+                               {\r
+                                       int index = langlist.Index;\r
+                                       CDTXMania.Instance.ConfigIni.strLanguage.Value = CDTXMania.Instance.Resources.Language = CDTXMania.Instance.Resources.LanguageCodeList[ index ];\r
+                                        \r
+                               }; \r
+                               list項目リスト.Add( langlist );\r
+                       \r
                                COptionString enumsongs = new COptionString("");\r
-                               enumsongs.Initialize("EnumerateSongs", Properties.Resources.strCfgSysEnumSongs);\r
+                               enumsongs.Initialize( "strCfgSysEnumSongs" );\r
                                list項目リスト.Add(enumsongs);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eDark);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nRisky);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eActiveInst);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nPlaySpeed);\r
-                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.bTimeStretch);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nSleepPerFrameMs);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nSleepUnfocusMs);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.bForceHighPowerPlan);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bStageFailed);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bRandSubBox);\r
-                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.bWaveAdjust);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nPreSoundWeightMs);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nPreImageWeightMs);\r
-                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.bBGMPlay);\r
-                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.bAudience);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eDamageLevel);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bScoreIni);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nChipVolume);\r
@@ -384,14 +434,12 @@ namespace DTXMania
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bBufferedInput);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bLog);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bLoadSoundSpeed);\r
-                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nSoundDeviceType);\r
-                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nWASAPIBufferSizeMs);\r
-                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.strASIODevice);\r
-                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.bUseOSTimer);\r
-                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.nMasterVolume);\r
+                               list項目リスト.Add(CDTXMania.Instance.ConfigIni.bLoadDTXDetail);// #36177 2016.7.30 ikanick\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bUseBoxDefSkin);\r
                                list項目リスト.Add(skins);\r
+                               list項目リスト.Add(SoundMenu);\r
                                list項目リスト.Add(DisplayMenu.System);\r
+                               list項目リスト.Add(HitRangeMenu);\r
                                list項目リスト.Add(KeyAssignMenu.System);\r
                                enumsongs.OnEnterDelegate = () =>\r
                                {\r
@@ -408,14 +456,38 @@ namespace DTXMania
                                        CDTXMania.Instance.actEnumSongs.On活性化();\r
                                };\r
                        }\r
-                       else if (eMenu == Eメニュー種別.Drums)\r
+                       else if ( eMenu == Eメニュー種別.SoundSettings )\r
+                       {\r
+                               list項目リスト.Add( ReturnToMenu.System );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.bTimeStretch );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.bWaveAdjust );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.bBGMPlay );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.bAudience );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.nChipVolume );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.nAutoVolume );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.nSoundDeviceType );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.nWASAPIBufferSizeMs );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.bEventDrivenWASAPI );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.strASIODevice );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.bUseOSTimer );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.nMasterVolume );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.nPolyphonicSounds );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.eClickType );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.nClickHighVolume );\r
+                               list項目リスト.Add( CDTXMania.Instance.ConfigIni.nClickLowVolume );\r
+                       }\r
+                       else if ( eMenu == Eメニュー種別.Drums )\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.Drums);\r
                                COptionEnum<EThreeState> AllAuto = new COptionEnum<EThreeState>(EThreeState.X);\r
-                               AllAuto.Initialize("AllAuto", Properties.Resources.strCfgDrAllAuto, typeof(EThreeState));\r
+                               AllAuto.Initialize( "strCfgDrAllAuto", typeof(EThreeState));\r
                                AllAuto.OnEnterDelegate = () =>\r
                                {\r
-                                       CDTXMania.Instance.ConfigIni.bAutoPlay.Set(EPart.Drums, AllAuto);\r
+                                       if ( AllAuto.Value == EThreeState.X )\r
+                                       {\r
+                                               AllAuto.OnNext();\r
+                                       }\r
+                                       CDTXMania.Instance.ConfigIni.bAutoPlay.Set( EPart.Drums, AllAuto );\r
                                };\r
                                list項目リスト.Add(AllAuto);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bAutoPlay.LC);\r
@@ -437,16 +509,21 @@ namespace DTXMania
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bDrumsHitSound);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bEmphasizePlaySound.Drums);\r
                                list項目リスト.Add(DisplayMenu.Drums);\r
+                               list項目リスト.Add(EDrumsMenu.Drums);\r
                                list項目リスト.Add(KeyAssignMenu.Drums);\r
                        }\r
                        else if (eMenu == Eメニュー種別.Guitar)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.Guitar);\r
                                COptionEnum<EThreeState> AllAuto = new COptionEnum<EThreeState>(EThreeState.X);\r
-                               AllAuto.Initialize("AllAuto", Properties.Resources.strCfgDrAllAuto, typeof(EThreeState));\r
+                               AllAuto.Initialize( "strCfgDrAllAuto", typeof(EThreeState));\r
                                AllAuto.OnEnterDelegate = () =>\r
                                {\r
-                                       CDTXMania.Instance.ConfigIni.bAutoPlay.Set(EPart.Guitar, AllAuto);\r
+                                       if ( AllAuto.Value == EThreeState.X )\r
+                                       {\r
+                                               AllAuto.OnNext();\r
+                                       }\r
+                                       CDTXMania.Instance.ConfigIni.bAutoPlay.Set( EPart.Guitar, AllAuto );\r
                                };\r
                                list項目リスト.Add(AllAuto);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bAutoPlay.GtR);\r
@@ -465,10 +542,14 @@ namespace DTXMania
                        {\r
                                list項目リスト.Add(ReturnToMenu.Bass);\r
                                COptionEnum<EThreeState> AllAuto = new COptionEnum<EThreeState>(EThreeState.X);\r
-                               AllAuto.Initialize("AllAuto", Properties.Resources.strCfgDrAllAuto, typeof(EThreeState));\r
+                               AllAuto.Initialize( "strCfgDrAllAuto", typeof(EThreeState));\r
                                AllAuto.OnEnterDelegate = () =>\r
                                {\r
-                                       CDTXMania.Instance.ConfigIni.bAutoPlay.Set(EPart.Bass, AllAuto);\r
+                                       if ( AllAuto.Value == EThreeState.X )\r
+                                       {\r
+                                               AllAuto.OnNext();\r
+                                       }\r
+                                       CDTXMania.Instance.ConfigIni.bAutoPlay.Set( EPart.Bass, AllAuto );\r
                                };\r
                                list項目リスト.Add(AllAuto);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.bAutoPlay.BsR);\r
@@ -538,16 +619,24 @@ namespace DTXMania
                                this.nスクロール用タイマ値 = -1;\r
                                this.ct三角矢印アニメ = new CCounter();\r
 \r
+\r
                                DisplayMenu = new STDGBSValue<COptionLabel>();\r
                                KeyAssignMenu = new STDGBSValue<COptionLabel>();\r
+                               EDrumsMenu = new STDGBSValue<COptionLabel>();\r
                                ReturnToMenu = new STDGBSValue<COptionLabel>();\r
-                               for (EPart i = EPart.Drums; i <= EPart.System; ++i)\r
+\r
+                               CResources cr = CDTXMania.Instance.Resources;\r
+                               for ( EPart i = EPart.Drums; i <= EPart.System; ++i )\r
                                {\r
-                                       DisplayMenu[i] = new COptionLabel("Display Options", "");\r
-                                       KeyAssignMenu[i] = new COptionLabel("Input Options", "");\r
-                                       ReturnToMenu[i] = new COptionLabel("<< Return to Menu", "");\r
+                                       DisplayMenu[i] = new COptionLabel( "strCfgDisplayOption" );\r
+                                       KeyAssignMenu[i] = new COptionLabel( "strCfgInputOption" );\r
+                                       ReturnToMenu[i] = new COptionLabel( "strCfgReturnToMenu" );\r
                                }\r
 \r
+                               EDrumsMenu[ EPart.Drums ] = new COptionLabel( "strCfgEDrumsOption" );\r
+                               HitRangeMenu = new COptionLabel( "strCfgHitRangeOption" );\r
+                               SoundMenu = new COptionLabel( "strCfgSoundOption" );\r
+\r
                                DisplayMenu.Drums.OnEnterDelegate = () =>\r
                                {\r
                                        t項目リストの設定(Eメニュー種別.DisplayDrums);\r
@@ -564,7 +653,6 @@ namespace DTXMania
                                {\r
                                        t項目リストの設定(Eメニュー種別.DisplaySystem);\r
                                };\r
-\r
                                KeyAssignMenu.Drums.OnEnterDelegate = () =>\r
                                {\r
                                        t項目リストの設定(Eメニュー種別.KeyAssignDrums);\r
@@ -598,6 +686,18 @@ namespace DTXMania
                                {\r
                                        t項目リストの設定(Eメニュー種別.System);\r
                                };\r
+                               EDrumsMenu.Drums.OnEnterDelegate = () =>\r
+                               {\r
+                                       t項目リストの設定(Eメニュー種別.EDrumsSettings);\r
+                               };\r
+                               HitRangeMenu.OnEnterDelegate = () =>\r
+                               {\r
+                                       t項目リストの設定( Eメニュー種別.HitRangeSettings );\r
+                               };\r
+                               SoundMenu.OnEnterDelegate = () =>\r
+                               {\r
+                                       t項目リストの設定( Eメニュー種別.SoundSettings );\r
+                               };\r
 \r
                                #region [ スキン選択肢と、現在選択中のスキン(index)の準備 #28195 2012.5.2 yyagi ]\r
                                int ns = (CDTXMania.Instance.Skin.strSystemSkinSubfolders == null) ? 0 : CDTXMania.Instance.Skin.strSystemSkinSubfolders.Length;\r
@@ -638,6 +738,9 @@ namespace DTXMania
                                this.InitialWASAPIBufferSizeMs = CDTXMania.Instance.ConfigIni.nWASAPIBufferSizeMs;\r
                                this.InitialASIODevice = CDTXMania.Instance.ConfigIni.strASIODevice.Index;\r
                                this.InitialUseOSTimer = CDTXMania.Instance.ConfigIni.bUseOSTimer;\r
+                               this.InitialWASAPIEventDriven = CDTXMania.Instance.ConfigIni.bEventDrivenWASAPI;\r
+\r
+                               this.InitialForceHighPower = CDTXMania.Instance.ConfigIni.bForceHighPowerPlan;\r
 \r
                                // #27795 2012.3.11 yyagi; System設定の中でDrumsの設定を参照しているため、\r
                                this.t項目リストの設定(Eメニュー種別.Bass);\r
@@ -676,7 +779,8 @@ namespace DTXMania
                                if (InitialSystemSoundType != CDTXMania.Instance.ConfigIni.nSoundDeviceType ||\r
                                                InitialWASAPIBufferSizeMs != CDTXMania.Instance.ConfigIni.nWASAPIBufferSizeMs ||\r
                                                InitialASIODevice != CDTXMania.Instance.ConfigIni.strASIODevice.Index ||\r
-                                               InitialUseOSTimer != CDTXMania.Instance.ConfigIni.bUseOSTimer)\r
+                                               InitialUseOSTimer != CDTXMania.Instance.ConfigIni.bUseOSTimer ||\r
+                                               InitialWASAPIEventDriven != CDTXMania.Instance.ConfigIni.bEventDrivenWASAPI )\r
                                {\r
                                        ESoundDeviceType soundDeviceType;\r
                                        switch (CDTXMania.Instance.ConfigIni.nSoundDeviceType.Value)\r
@@ -698,6 +802,7 @@ namespace DTXMania
                                        CDTXMania.Instance.Sound管理.t初期化(\r
                                                        soundDeviceType,\r
                                                        CDTXMania.Instance.ConfigIni.nWASAPIBufferSizeMs,\r
+                                                       CDTXMania.Instance.ConfigIni.bEventDrivenWASAPI,\r
                                                        0,\r
                                                        CDTXMania.Instance.ConfigIni.strASIODevice.Index,\r
                                                        CDTXMania.Instance.ConfigIni.bUseOSTimer);\r
@@ -705,11 +810,26 @@ namespace DTXMania
                                }\r
                                #endregion\r
 \r
+                               #region [ メトロノーム音 音量設定 ]\r
+                               CDTXMania.Instance.Skin.soundClickHigh.n音量 = CDTXMania.Instance.ConfigIni.nClickHighVolume;\r
+                               CDTXMania.Instance.Skin.soundClickLow.n音量 = CDTXMania.Instance.ConfigIni.nClickLowVolume;\r
+                               #endregion\r
+\r
                                #region [ サウンドのタイムストレッチモード変更 ]\r
 \r
                                FDK.CSound管理.bIsTimeStretch = CDTXMania.Instance.ConfigIni.bUseOSTimer;\r
 \r
                                #endregion\r
+                               #region [ 電源プラン変更 ]\r
+                               if ( CDTXMania.Instance.ConfigIni.bForceHighPowerPlan )\r
+                               {\r
+                                       CPowerPlan.ChangeHighPerformance();\r
+                               }\r
+                               else\r
+                               {\r
+                                       CPowerPlan.RestoreCurrentPowerPlan();\r
+                               }\r
+                               #endregion\r
                        }\r
                }\r
 \r
@@ -1051,6 +1171,9 @@ namespace DTXMania
                        DisplayDrums,\r
                        DisplayGuitar,\r
                        DisplayBass,\r
+                       EDrumsSettings,\r
+                       HitRangeSettings,\r
+                       SoundSettings,\r
                        Unknown\r
                }\r
 \r