OSDN Git Service

#24609 任意画面での画面キャプチャ機能を追加。また、それに付随するリファクタ。FDKのメジャー番号更新(I/F追加に伴うもの)。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sat, 23 Apr 2011 02:12:45 +0000 (02:12 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sat, 23 Apr 2011 02:12:45 +0000 (02:12 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@160 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigKeyAssign.cs
DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs
DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CStageコンフィグ.cs
DTXManiaプロジェクト/コード/ステージ/08.結果/CStage結果.cs
DTXManiaプロジェクト/コード/全体/CConfigIni.cs
DTXManiaプロジェクト/コード/全体/CDTXMania.cs
DTXManiaプロジェクト/コード/全体/C定数.cs
FDK17プロジェクト/Properties/AssemblyInfo.cs
FDK17プロジェクト/コード/02.入力/DeviceConstantConverter.cs

index 5c8eb2c..e8c18fd 100644 (file)
@@ -22,9 +22,9 @@ namespace DTXMania
 \r
                // メソッド\r
 \r
-               public void t開始( E楽器パート part, Eパッド pad, string strパッド名 )\r
+               public void t開始( EKeyConfigPart part, EKeyConfigPad pad, string strパッド名 )\r
                {\r
-                       if( part != E楽器パート.UNKNOWN )\r
+                       if( part != EKeyConfigPart.UNKNOWN )\r
                        {\r
                                this.part = part;\r
                                this.pad = pad;\r
@@ -37,6 +37,7 @@ namespace DTXMania
                                }\r
                        }\r
                }\r
+               \r
                public void tEnter押下()\r
                {\r
                        if( !this.bキー入力待ち )\r
@@ -82,8 +83,8 @@ namespace DTXMania
 \r
                public override void On活性化()\r
                {\r
-                       this.part = E楽器パート.UNKNOWN;\r
-                       this.pad = Eパッド.UNKNOWN;\r
+                       this.part = EKeyConfigPart.UNKNOWN;\r
+                       this.pad = EKeyConfigPad.UNKNOWN;\r
                        this.strパッド名 = "";\r
                        this.n現在の選択行 = 0;\r
                        this.bキー入力待ち = false;\r
@@ -222,8 +223,8 @@ namespace DTXMania
                        new STKEYLABEL(0x27, "[APP]"), new STKEYLABEL(0x71, "[Power]"), new STKEYLABEL(0x7d, "[Sleep]"), new STKEYLABEL(0x87, "[Wake]")\r
                };\r
                private int n現在の選択行;\r
-               private Eパッド pad;\r
-               private E楽器パート part;\r
+               private EKeyConfigPad pad;\r
+               private EKeyConfigPart part;\r
                private CConfigIni.CKeyAssign.STKEYASSIGN[] structReset用KeyAssign;\r
                private string strパッド名;\r
                private CTexture txHitKeyダイアログ;\r
index d27aa4f..7e6294f 100644 (file)
@@ -16,7 +16,8 @@ namespace DTXMania
                        get\r
                        {\r
                                Eメニュー種別 e = this.eメニュー種別;\r
-                               if ( e == Eメニュー種別.KeyAssignBass || e == Eメニュー種別.KeyAssignDrums || e == Eメニュー種別.KeyAssignGuitar )\r
+                               if ( e == Eメニュー種別.KeyAssignBass || e == Eメニュー種別.KeyAssignDrums ||\r
+                                       e == Eメニュー種別.KeyAssignGuitar || e == Eメニュー種別.KeyAssignSystem )\r
                                {\r
                                        return true;\r
                                }\r
@@ -178,6 +179,13 @@ namespace DTXMania
                                "Traceログ出力:\nDTXManiaLog.txt にログを出力します。\n変更した場合は、DTXMania の再起動\n後に有効となります。",\r
                                "Turn ON to put debug log to\n DTXManiaLog.txt\nTo take it effective, you need to\n re-open DTXMania." );\r
                        this.list項目リスト.Add( this.iLogOutputLog );\r
+\r
+                       this.iSystemGoToKeyAssign = new CItemBase( "System Keys", CItemBase.Eパネル種別.通常,\r
+                       "システムのキー入力に関する項目を設\n定します。",\r
+                       "Settings for the system key/pad inputs." );\r
+                       this.list項目リスト.Add( this.iSystemGoToKeyAssign );\r
+\r
+                       \r
                        this.n現在の選択項目 = 0;\r
                        this.eメニュー種別 = Eメニュー種別.System;\r
                }\r
@@ -489,7 +497,11 @@ namespace DTXMania
                /// </summary>\r
                public void tEsc押下()\r
                {\r
-                       if ( this.eメニュー種別 == Eメニュー種別.KeyAssignDrums )\r
+                       if ( this.eメニュー種別 == Eメニュー種別.KeyAssignSystem )\r
+                       {\r
+                               t項目リストの設定・System();\r
+                       }\r
+                       else if ( this.eメニュー種別 == Eメニュー種別.KeyAssignDrums )\r
                        {\r
                                t項目リストの設定・Drums();\r
                        }\r
@@ -536,99 +548,103 @@ namespace DTXMania
 //                     }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLC )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.LC );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LC );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHC )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.HH );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HH );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHHO )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.HHO );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HHO );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsSD )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.SD );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.SD );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsBD )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.BD );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.BD );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsHT )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.HT );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.HT );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsLT )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.LT );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.LT );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsFT )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.FT );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.FT );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsCY )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.CY );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.CY );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignDrumsRD )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.DRUMS, Eパッド.RD );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.DRUMS, EKeyConfigPad.RD );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarR )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.HH );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.R );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarG )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.SD );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.G );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarB )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.BD );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.B );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarPick )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.HT );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Pick );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarWail )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.LT );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Wail );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarDecide )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.CY );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Decide );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignGuitarCancel )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.GUITAR, Eパッド.FT );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.GUITAR, EKeyConfigPad.Cancel );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassR )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.HH );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.R );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassG )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.SD );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.G );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassB )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.BD );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.B );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassPick )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.HT );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Pick );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassWail )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.LT );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Wail );\r
                        }\r
                        else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassDecide )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.CY );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Decide );\r
                        }\r
-                       else if( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassCancel )\r
+                       else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignBassCancel )\r
                        {\r
-                               CDTXMania.stageコンフィグ.tパッド選択通知( E楽器パート.BASS, Eパッド.FT );\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.BASS, EKeyConfigPad.Cancel );\r
+                       }\r
+                       else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignSystemCapture )\r
+                       {\r
+                               CDTXMania.stageコンフィグ.tパッド選択通知( EKeyConfigPart.SYSTEM, EKeyConfigPad.Capture);\r
                        }\r
                        else\r
                        {\r
@@ -646,6 +662,14 @@ namespace DTXMania
                                {\r
                                        this.t全部のドラムパッドのAutoを切り替える( this.iDrumsAutoPlayAll.e現在の状態 == CItemThreeState.E状態.ON );\r
                                }\r
+                               else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iSystemGoToKeyAssign )                        // #24609 2011.4.12 yyagi\r
+                               {\r
+                                       t項目リストの設定・KeyAssignSystem();\r
+                               }\r
+                               else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iKeyAssignSystemReturnToMenu )        // #24609 2011.4.12 yyagi\r
+                               {\r
+                                       t項目リストの設定・System();\r
+                               }\r
                                else if ( this.list項目リスト[ this.n現在の選択項目 ] == this.iDrumsGoToKeyAssign )                         // #24525 2011.3.15 yyagi\r
                                {\r
                                        t項目リストの設定・KeyAssignDrums();\r
@@ -677,6 +701,22 @@ namespace DTXMania
                        this.tConfigIniへ記録する();\r
                        this.eメニュー種別 = Eメニュー種別.Unknown;\r
                }\r
+               public void t項目リストの設定・KeyAssignSystem()\r
+               {\r
+                       //                      this.tConfigIniへ記録する();\r
+                       this.list項目リスト.Clear();\r
+                       this.iKeyAssignSystemReturnToMenu = new CItemBase( "<< ReturnTo Menu", CItemBase.Eパネル種別.その他,\r
+                               "左側のメニューに戻ります。",\r
+                               "Return to left menu." );\r
+                       this.list項目リスト.Add( this.iKeyAssignSystemReturnToMenu );\r
+                       this.iKeyAssignSystemCapture = new CItemBase( "Capture",\r
+                               "キャプチャキー設定:\n画面キャプチャのキーの割り当てを設\n定します。",\r
+                               "Capture key assign:\nTo assign key for screen capture.\n (You can use keyboard only. You can't\nuse pads to capture screenshot." );\r
+                       this.list項目リスト.Add( this.iKeyAssignSystemCapture );\r
+\r
+                       this.n現在の選択項目 = 0;\r
+                       this.eメニュー種別 = Eメニュー種別.KeyAssignSystem;\r
+               }\r
                public void t項目リストの設定・KeyAssignDrums()\r
                {\r
 //                     this.tConfigIniへ記録する();\r
@@ -1077,6 +1117,7 @@ namespace DTXMania
                        Drums,\r
                        Guitar,\r
                        Bass,\r
+                       KeyAssignSystem,                // #24609 2011.4.12 yyagi: 画面キャプチャキーのアサイン\r
                        KeyAssignDrums,\r
                        KeyAssignGuitar,\r
                        KeyAssignBass,\r
@@ -1088,6 +1129,8 @@ namespace DTXMania
                private bool b要素値にフォーカス中;\r
                private CCounter ct三角矢印アニメ;\r
                private Eメニュー種別 eメニュー種別;\r
+               private CItemBase iKeyAssignSystemCapture;                      // #24609\r
+               private CItemBase iKeyAssignSystemReturnToMenu;         // #24609\r
                private CItemBase iKeyAssignBassB;\r
                private CItemBase iKeyAssignBassCancel;\r
                private CItemBase iKeyAssignBassDecide;\r
@@ -1166,6 +1209,7 @@ namespace DTXMania
                private CItemBase iDrumsGoToKeyAssign;\r
                private CItemBase iGuitarGoToKeyAssign;\r
                private CItemBase iBassGoToKeyAssign;\r
+               private CItemBase iSystemGoToKeyAssign;         // #24609\r
 \r
                private CItemList iSystemGRmode;\r
 \r
@@ -1241,6 +1285,7 @@ namespace DTXMania
                        {\r
                                case Eメニュー種別.System:\r
                                        this.tConfigIniへ記録する・System();\r
+                                       this.tConfigIniへ記録する・KeyAssignSystem();\r
                                        return;\r
 \r
                                case Eメニュー種別.Drums:\r
@@ -1268,6 +1313,9 @@ namespace DTXMania
                private void tConfigIniへ記録する・KeyAssignGuitar()\r
                {\r
                }\r
+               private void tConfigIniへ記録する・KeyAssignSystem()\r
+               {\r
+               }\r
                private void tConfigIniへ記録する・System()\r
                {\r
                        CDTXMania.ConfigIni.eDark = (Eダークモード) this.iCommonDark.n現在選択されている項目番号;\r
index 6e5845f..298c99d 100644 (file)
@@ -39,7 +39,7 @@ namespace DTXMania
                {                                                                                                                                                                               //\r
                        this.eItemPanelモード = EItemPanelモード.パッド一覧;                                                         //\r
                }                                                                                                                                                                               //\r
-               public void tパッド選択通知( E楽器パート part, Eパッド pad )                                                     //\r
+               public void tパッド選択通知( EKeyConfigPart part, EKeyConfigPad pad )                                                    //\r
                {                                                                                                                                                                               //\r
                        this.actKeyAssign.t開始( part, pad, this.actList.ib現在の選択項目.str項目名 );              //\r
                        this.eItemPanelモード = EItemPanelモード.キーコード一覧;                                                   //\r
index f9c2167..350a0f0 100644 (file)
@@ -333,7 +333,7 @@ namespace DTXMania
                                if( this.ct登場用.b進行中 && ( this.tx上部パネル != null ) )\r
                                {\r
                                        double num2 = ( (double) this.ct登場用.n現在の値 ) / 100.0;\r
-                                       double num3 = Math.Sin( 1.5707963267948966 * num2 );\r
+                                       double num3 = Math.Sin( Math.PI / 2 * num2 );\r
                                        num = ( (int) ( this.tx上部パネル.sz画像サイズ.Height * num3 ) ) - this.tx上部パネル.sz画像サイズ.Height;\r
                                }\r
                                else\r
@@ -353,15 +353,15 @@ namespace DTXMania
                                {\r
                                        this.bアニメが完了 = false;\r
                                }\r
-                               if( this.actParameterPanel.On進行描画() == 0 )\r
+                               if ( this.actParameterPanel.On進行描画() == 0 )\r
                                {\r
                                        this.bアニメが完了 = false;\r
                                }\r
-                               if( this.actRank.On進行描画() == 0 )\r
+                               if ( this.actRank.On進行描画() == 0 )\r
                                {\r
                                        this.bアニメが完了 = false;\r
                                }\r
-                               if( this.actSongBar.On進行描画() == 0 )\r
+                               if ( this.actSongBar.On進行描画() == 0 )\r
                                {\r
                                        this.bアニメが完了 = false;\r
                                }\r
@@ -376,27 +376,12 @@ namespace DTXMania
                                {\r
                                        return (int) this.eフェードアウト完了時の戻り値;\r
                                }\r
-                               #region [ #24609 ランク更新or演奏型スキル更新時、リザルト画像をpngで保存する ]\r
+                               #region [ #24609 2011.3.14 yyagi ランク更新or演奏型スキル更新時、リザルト画像をpngで保存する ]\r
                                if ( this.bアニメが完了 == true && this.bIsCheckedWhetherResultScreenShouldSaveOrNot == false     // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill.\r
                                        && CDTXMania.ConfigIni.bScoreIniを出力する)\r
                                {\r
-                                       // http://www.gamedev.net/topic/594369-dx9slimdxati-incorrect-saving-surface-to-file/\r
-                                       using ( Surface pSurface = CDTXMania.app.Device.GetRenderTarget( 0 ) )\r
-                                       {\r
-                                               string path = Path.GetDirectoryName( CDTXMania.DTX.strファイル名の絶対パス);\r
-                                               string datetime = DateTime.Now.ToString("yyyyMMddHHmmss");\r
-                                               for ( int i = 0; i < 3; i++ )\r
-                                               {\r
-                                                       if ( this.b新記録ランク[ i ] == true || this.b新記録スキル[i] == true )\r
-                                                       {\r
-                                                               string strPart = ( (E楽器パート)(i)).ToString();\r
-                                                               string strRank = ( (CScoreIni.ERANK) ( this.nランク値[ i ] ) ).ToString();\r
-                                                               string strFullPath = CDTXMania.DTX.strファイル名の絶対パス + "." + datetime + "_" + strPart + "_" + strRank + ".png";\r
-                                                               Surface.ToFile( pSurface, strFullPath, ImageFileFormat.Png );\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       bIsCheckedWhetherResultScreenShouldSaveOrNot = true;\r
+                                       CheckAndSaveResultScreen(true);\r
+                                       this.bIsCheckedWhetherResultScreenShouldSaveOrNot = true;\r
                                }\r
                                #endregion\r
 \r
@@ -482,7 +467,15 @@ namespace DTXMania
                                                this.actSongBar.tアニメを完了させる();\r
                                                this.ct登場用.t停止();\r
                                        }\r
-                                       if( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 )\r
+                                       #region [ #24609 2011.4.7 yyagi リザルト画面で[F12]を押下すると、リザルト画像をpngで保存する機能は、CDTXManiaに移管。 ]\r
+//                                     if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F12 ) &&\r
+//                                             CDTXMania.ConfigIni.bScoreIniを出力する )\r
+//                                     {\r
+//                                             CheckAndSaveResultScreen(false);\r
+//                                             this.bIsCheckedWhetherResultScreenShouldSaveOrNot = true;\r
+//                                     }\r
+                                       #endregion\r
+                                       if ( base.eフェーズID == CStage.Eフェーズ.共通_通常状態 )\r
                                        {\r
                                                if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int)SlimDX.DirectInput.Key.Escape ) )\r
                                                {\r
@@ -503,6 +496,7 @@ namespace DTXMania
                        }\r
                        return 0;\r
                }\r
+\r
                public enum E戻り値 : int\r
                {\r
                        継続,\r
@@ -533,6 +527,62 @@ namespace DTXMania
                private CTexture tx下部パネル;\r
                private CTexture tx上部パネル;\r
                private CTexture tx背景;\r
+\r
+               #region [ #24609 リザルト画像をpngで保存する ]              // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill.\r
+               /// <summary>\r
+               /// リザルト画像のキャプチャと保存。\r
+               /// 自動保存モード時は、ランク更新or演奏型スキル更新時に自動保存。\r
+               /// 手動保存モード時は、ランクに依らず保存。\r
+               /// </summary>\r
+               /// <param name="bIsAutoSave">true=自動保存モード, false=手動保存モード</param>\r
+               private void CheckAndSaveResultScreen(bool bIsAutoSave)\r
+               {\r
+                       string path = Path.GetDirectoryName( CDTXMania.DTX.strファイル名の絶対パス );\r
+                       string datetime = DateTime.Now.ToString( "yyyyMMddHHmmss" );\r
+                       if ( bIsAutoSave )\r
+                       {\r
+                               // リザルト画像を自動保存するときは、dtxファイル名.yyMMddHHmmss_DRUMS_SS.png という形式で保存。\r
+                               for ( int i = 0; i < 3; i++ )\r
+                               {\r
+                                       if ( this.b新記録ランク[ i ] == true || this.b新記録スキル[ i ] == true )\r
+                                       {\r
+                                               string strPart = ( (E楽器パート) ( i ) ).ToString();\r
+                                               string strRank = ( (CScoreIni.ERANK) ( this.nランク値[ i ] ) ).ToString();\r
+                                               string strFullPath = CDTXMania.DTX.strファイル名の絶対パス + "." + datetime + "_" + strPart + "_" + strRank + ".png";\r
+                                               //Surface.ToFile( pSurface, strFullPath, ImageFileFormat.Png );\r
+                                               CDTXMania.app.SaveResultScreen( strFullPath );\r
+                                       }\r
+                               }\r
+                       }\r
+                       #region [ #24609 2011.4.11 yyagi; リザルトの手動保存ロジックは、CDTXManiaに移管した。]\r
+//                     else\r
+//                     {\r
+//                             // リザルト画像を手動保存するときは、dtxファイル名.yyMMddHHmmss_SS.png という形式で保存。(楽器名無し)\r
+//                             string strRank = ( (CScoreIni.ERANK) ( CDTXMania.stage結果.n総合ランク値 ) ).ToString();\r
+//                             string strSavePath = CDTXMania.strEXEのあるフォルダ + "\\" + "Capture_img";\r
+//                             if ( !Directory.Exists( strSavePath ) )\r
+//                             {\r
+//                                     try\r
+//                                     {\r
+//                                             Directory.CreateDirectory( strSavePath );\r
+//                                     }\r
+//                                     catch\r
+//                                     {\r
+//                                     }\r
+//                             }\r
+//                             string strSetDefDifficulty = CDTXMania.stage選曲.r確定された曲.ar難易度ラベル[ CDTXMania.stage選曲.n確定された曲の難易度 ];\r
+//                             if ( strSetDefDifficulty != null )\r
+//                             {\r
+//                                     strSetDefDifficulty = "(" + strSetDefDifficulty + ")";\r
+//                             }\r
+//                             string strFullPath = strSavePath + "\\" + CDTXMania.DTX.TITLE + strSetDefDifficulty +\r
+//                                     "." + datetime + "_" + strRank + ".png";\r
+//                             // Surface.ToFile( pSurface, strFullPath, ImageFileFormat.Png );\r
+//                             CDTXMania.app.SaveResultScreen( strFullPath );\r
+//                     }\r
+                       #endregion\r
+               }\r
+               #endregion\r
                //-----------------\r
                #endregion\r
        }\r
index f6806a8..8efa8df 100644 (file)
@@ -16,7 +16,51 @@ namespace DTXMania
                {\r
                        public class CKeyAssignPad\r
                        {\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] B\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] HH\r
+                               {\r
+                                       get\r
+                                       {\r
+                                               return this.padHH_R;\r
+                                       }\r
+                                       set\r
+                                       {\r
+                                               this.padHH_R = value;\r
+                                       }\r
+                               }\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] R\r
+                               {\r
+                                       get\r
+                                       {\r
+                                               return this.padHH_R;\r
+                                       }\r
+                                       set\r
+                                       {\r
+                                               this.padHH_R = value;\r
+                                       }\r
+                               }\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] SD\r
+                               {\r
+                                       get\r
+                                       {\r
+                                               return this.padSD_G;\r
+                                       }\r
+                                       set\r
+                                       {\r
+                                               this.padSD_G = value;\r
+                                       }\r
+                               }\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] G\r
+                               {\r
+                                       get\r
+                                       {\r
+                                               return this.padSD_G;\r
+                                       }\r
+                                       set\r
+                                       {\r
+                                               this.padSD_G = value;\r
+                                       }\r
+                               }\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] BD\r
                                {\r
                                        get\r
                                        {\r
@@ -27,7 +71,7 @@ namespace DTXMania
                                                this.padBD_B = value;\r
                                        }\r
                                }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] BD\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] B\r
                                {\r
                                        get\r
                                        {\r
@@ -38,37 +82,48 @@ namespace DTXMania
                                                this.padBD_B = value;\r
                                        }\r
                                }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] Cancel\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] HT\r
                                {\r
                                        get\r
                                        {\r
-                                               return this.padFT_Cancel;\r
+                                               return this.padHT_Pick;\r
                                        }\r
                                        set\r
                                        {\r
-                                               this.padFT_Cancel = value;\r
+                                               this.padHT_Pick = value;\r
                                        }\r
                                }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] CY\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] Pick\r
                                {\r
                                        get\r
                                        {\r
-                                               return this.padCY_Decide;\r
+                                               return this.padHT_Pick;\r
                                        }\r
                                        set\r
                                        {\r
-                                               this.padCY_Decide = value;\r
+                                               this.padHT_Pick = value;\r
                                        }\r
                                }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] Decide\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] LT\r
                                {\r
                                        get\r
                                        {\r
-                                               return this.padCY_Decide;\r
+                                               return this.padLT_Wail;\r
                                        }\r
                                        set\r
                                        {\r
-                                               this.padCY_Decide = value;\r
+                                               this.padLT_Wail = value;\r
+                                       }\r
+                               }\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] Wail\r
+                               {\r
+                                       get\r
+                                       {\r
+                                               return this.padLT_Wail;\r
+                                       }\r
+                                       set\r
+                                       {\r
+                                               this.padLT_Wail = value;\r
                                        }\r
                                }\r
                                public CConfigIni.CKeyAssign.STKEYASSIGN[] FT\r
@@ -82,26 +137,37 @@ namespace DTXMania
                                                this.padFT_Cancel = value;\r
                                        }\r
                                }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] G\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] Cancel\r
                                {\r
                                        get\r
                                        {\r
-                                               return this.padSD_G;\r
+                                               return this.padFT_Cancel;\r
                                        }\r
                                        set\r
                                        {\r
-                                               this.padSD_G = value;\r
+                                               this.padFT_Cancel = value;\r
                                        }\r
                                }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] HH\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] CY\r
                                {\r
                                        get\r
                                        {\r
-                                               return this.padHH_R;\r
+                                               return this.padCY_Decide;\r
                                        }\r
                                        set\r
                                        {\r
-                                               this.padHH_R = value;\r
+                                               this.padCY_Decide = value;\r
+                                       }\r
+                               }\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] Decide\r
+                               {\r
+                                       get\r
+                                       {\r
+                                               return this.padCY_Decide;\r
+                                       }\r
+                                       set\r
+                                       {\r
+                                               this.padCY_Decide = value;\r
                                        }\r
                                }\r
                                public CConfigIni.CKeyAssign.STKEYASSIGN[] HHO\r
@@ -115,179 +181,131 @@ namespace DTXMania
                                                this.padHHO = value;\r
                                        }\r
                                }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] HT\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] RD\r
                                {\r
                                        get\r
                                        {\r
-                                               return this.padHT_Pick;\r
+                                               return this.padRD;\r
                                        }\r
                                        set\r
                                        {\r
-                                               this.padHT_Pick = value;\r
+                                               this.padRD = value;\r
+                                       }\r
+                               }\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] LC\r
+                               {\r
+                                       get\r
+                                       {\r
+                                               return this.padLC;\r
+                                       }\r
+                                       set\r
+                                       {\r
+                                               this.padLC = value;\r
+                                       }\r
+                               }\r
+                               public CConfigIni.CKeyAssign.STKEYASSIGN[] Capture\r
+                               {\r
+                                       get\r
+                                       {\r
+                                               return this.padCapture;\r
+                                       }\r
+                                       set\r
+                                       {\r
+                                               this.padCapture = value;\r
                                        }\r
                                }\r
                                public CConfigIni.CKeyAssign.STKEYASSIGN[] this[ int index ]\r
                                {\r
                                        get\r
                                        {\r
-                                               switch( index )\r
+                                               switch ( index )\r
                                                {\r
-                                                       case 0:\r
+                                                       case (int) EKeyConfigPad.HH:\r
                                                                return this.padHH_R;\r
 \r
-                                                       case 1:\r
+                                                       case (int) EKeyConfigPad.SD:\r
                                                                return this.padSD_G;\r
 \r
-                                                       case 2:\r
+                                                       case (int) EKeyConfigPad.BD:\r
                                                                return this.padBD_B;\r
 \r
-                                                       case 3:\r
+                                                       case (int) EKeyConfigPad.HT:\r
                                                                return this.padHT_Pick;\r
 \r
-                                                       case 4:\r
+                                                       case (int) EKeyConfigPad.LT:\r
                                                                return this.padLT_Wail;\r
 \r
-                                                       case 5:\r
+                                                       case (int) EKeyConfigPad.FT:\r
                                                                return this.padFT_Cancel;\r
 \r
-                                                       case 6:\r
+                                                       case (int) EKeyConfigPad.CY:\r
                                                                return this.padCY_Decide;\r
 \r
-                                                       case 7:\r
+                                                       case (int) EKeyConfigPad.HHO:\r
                                                                return this.padHHO;\r
 \r
-                                                       case 8:\r
+                                                       case (int) EKeyConfigPad.RD:\r
                                                                return this.padRD;\r
 \r
-                                                       case 9:\r
+                                                       case (int) EKeyConfigPad.LC:\r
                                                                return this.padLC;\r
+\r
+                                                       case (int) EKeyConfigPad.Capture:\r
+                                                               return this.padCapture;\r
                                                }\r
                                                throw new IndexOutOfRangeException();\r
                                        }\r
                                        set\r
                                        {\r
-                                               switch( index )\r
+                                               switch ( index )\r
                                                {\r
-                                                       case 0:\r
+                                                       case (int) EKeyConfigPad.HH:\r
                                                                this.padHH_R = value;\r
                                                                return;\r
 \r
-                                                       case 1:\r
+                                                       case (int) EKeyConfigPad.SD:\r
                                                                this.padSD_G = value;\r
                                                                return;\r
 \r
-                                                       case 2:\r
+                                                       case (int) EKeyConfigPad.BD:\r
                                                                this.padBD_B = value;\r
                                                                return;\r
 \r
-                                                       case 3:\r
+                                                       case (int) EKeyConfigPad.Pick:\r
                                                                this.padHT_Pick = value;\r
                                                                return;\r
 \r
-                                                       case 4:\r
+                                                       case (int) EKeyConfigPad.LT:\r
                                                                this.padLT_Wail = value;\r
                                                                return;\r
 \r
-                                                       case 5:\r
+                                                       case (int) EKeyConfigPad.FT:\r
                                                                this.padFT_Cancel = value;\r
                                                                return;\r
 \r
-                                                       case 6:\r
+                                                       case (int) EKeyConfigPad.CY:\r
                                                                this.padCY_Decide = value;\r
                                                                return;\r
 \r
-                                                       case 7:\r
+                                                       case (int) EKeyConfigPad.HHO:\r
                                                                this.padHHO = value;\r
                                                                return;\r
 \r
-                                                       case 8:\r
+                                                       case (int) EKeyConfigPad.RD:\r
                                                                this.padRD = value;\r
                                                                return;\r
 \r
-                                                       case 9:\r
+                                                       case (int) EKeyConfigPad.LC:\r
                                                                this.padLC = value;\r
                                                                return;\r
+\r
+                                                       case (int) EKeyConfigPad.Capture:\r
+                                                               this.padCapture = value;\r
+                                                               return;\r
                                                }\r
                                                throw new IndexOutOfRangeException();\r
                                        }\r
                                }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] LC\r
-                               {\r
-                                       get\r
-                                       {\r
-                                               return this.padLC;\r
-                                       }\r
-                                       set\r
-                                       {\r
-                                               this.padLC = value;\r
-                                       }\r
-                               }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] LT\r
-                               {\r
-                                       get\r
-                                       {\r
-                                               return this.padLT_Wail;\r
-                                       }\r
-                                       set\r
-                                       {\r
-                                               this.padLT_Wail = value;\r
-                                       }\r
-                               }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] Pick\r
-                               {\r
-                                       get\r
-                                       {\r
-                                               return this.padHT_Pick;\r
-                                       }\r
-                                       set\r
-                                       {\r
-                                               this.padHT_Pick = value;\r
-                                       }\r
-                               }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] R\r
-                               {\r
-                                       get\r
-                                       {\r
-                                               return this.padHH_R;\r
-                                       }\r
-                                       set\r
-                                       {\r
-                                               this.padHH_R = value;\r
-                                       }\r
-                               }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] RD\r
-                               {\r
-                                       get\r
-                                       {\r
-                                               return this.padRD;\r
-                                       }\r
-                                       set\r
-                                       {\r
-                                               this.padRD = value;\r
-                                       }\r
-                               }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] SD\r
-                               {\r
-                                       get\r
-                                       {\r
-                                               return this.padSD_G;\r
-                                       }\r
-                                       set\r
-                                       {\r
-                                               this.padSD_G = value;\r
-                                       }\r
-                               }\r
-                               public CConfigIni.CKeyAssign.STKEYASSIGN[] Wail\r
-                               {\r
-                                       get\r
-                                       {\r
-                                               return this.padLT_Wail;\r
-                                       }\r
-                                       set\r
-                                       {\r
-                                               this.padLT_Wail = value;\r
-                                       }\r
-                               }\r
 \r
                                #region [ private ]\r
                                //-----------------\r
@@ -301,6 +319,7 @@ namespace DTXMania
                                private CConfigIni.CKeyAssign.STKEYASSIGN[] padLT_Wail;\r
                                private CConfigIni.CKeyAssign.STKEYASSIGN[] padRD;\r
                                private CConfigIni.CKeyAssign.STKEYASSIGN[] padSD_G;\r
+                               private CConfigIni.CKeyAssign.STKEYASSIGN[] padCapture;\r
                                //-----------------\r
                                #endregion\r
                        }\r
@@ -322,20 +341,24 @@ namespace DTXMania
                        public CKeyAssignPad Bass = new CKeyAssignPad();\r
                        public CKeyAssignPad Drums = new CKeyAssignPad();\r
                        public CKeyAssignPad Guitar = new CKeyAssignPad();\r
+                       public CKeyAssignPad System = new CKeyAssignPad();\r
                        public CKeyAssignPad this[ int index ]\r
                        {\r
                                get\r
                                {\r
                                        switch( index )\r
                                        {\r
-                                               case 0:\r
+                                               case (int) EKeyConfigPart.DRUMS:\r
                                                        return this.Drums;\r
 \r
-                                               case 1:\r
+                                               case (int) EKeyConfigPart.GUITAR:\r
                                                        return this.Guitar;\r
 \r
-                                               case 2:\r
+                                               case (int) EKeyConfigPart.BASS:\r
                                                        return this.Bass;\r
+\r
+                                               case (int) EKeyConfigPart.SYSTEM:\r
+                                                       return this.System;\r
                                        }\r
                                        throw new IndexOutOfRangeException();\r
                                }\r
@@ -343,17 +366,21 @@ namespace DTXMania
                                {\r
                                        switch( index )\r
                                        {\r
-                                               case 0:\r
+                                               case (int) EKeyConfigPart.DRUMS:\r
                                                        this.Drums = value;\r
                                                        return;\r
 \r
-                                               case 1:\r
+                                               case (int) EKeyConfigPart.GUITAR:\r
                                                        this.Guitar = value;\r
                                                        return;\r
 \r
-                                               case 2:\r
+                                               case (int) EKeyConfigPart.BASS:\r
                                                        this.Bass = value;\r
                                                        return;\r
+\r
+                                               case (int) EKeyConfigPart.SYSTEM:\r
+                                                       this.System = value;\r
+                                                       return;\r
                                        }\r
                                        throw new IndexOutOfRangeException();\r
                                }\r
@@ -582,34 +609,34 @@ namespace DTXMania
                                {\r
                                        switch( index )\r
                                        {\r
-                                               case 0:\r
+                                               case (int) Eドラムレーン.LC:\r
                                                        return this.LC;\r
 \r
-                                               case 1:\r
+                                               case (int) Eドラムレーン.HH:\r
                                                        return this.HH;\r
 \r
-                                               case 2:\r
+                                               case (int) Eドラムレーン.SD:\r
                                                        return this.SD;\r
 \r
-                                               case 3:\r
+                                               case (int) Eドラムレーン.BD:\r
                                                        return this.BD;\r
 \r
-                                               case 4:\r
+                                               case (int) Eドラムレーン.HT:\r
                                                        return this.HT;\r
 \r
-                                               case 5:\r
+                                               case (int) Eドラムレーン.LT:\r
                                                        return this.LT;\r
 \r
-                                               case 6:\r
+                                               case (int) Eドラムレーン.FT:\r
                                                        return this.FT;\r
 \r
-                                               case 7:\r
+                                               case (int) Eドラムレーン.CY:\r
                                                        return this.CY;\r
 \r
-                                               case 8:\r
+                                               case (int) Eドラムレーン.CY + 1:\r
                                                        return this.Guitar;\r
 \r
-                                               case 9:\r
+                                               case (int) Eドラムレーン.CY + 2:\r
                                                        return this.Bass;\r
                                        }\r
                                        throw new IndexOutOfRangeException();\r
@@ -618,43 +645,43 @@ namespace DTXMania
                                {\r
                                        switch( index )\r
                                        {\r
-                                               case 0:\r
+                                               case (int) Eドラムレーン.LC:\r
                                                        this.LC = value;\r
                                                        return;\r
 \r
-                                               case 1:\r
+                                               case (int) Eドラムレーン.HH:\r
                                                        this.HH = value;\r
                                                        return;\r
 \r
-                                               case 2:\r
+                                               case (int) Eドラムレーン.SD:\r
                                                        this.SD = value;\r
                                                        return;\r
 \r
-                                               case 3:\r
+                                               case (int) Eドラムレーン.BD:\r
                                                        this.BD = value;\r
                                                        return;\r
 \r
-                                               case 4:\r
+                                               case (int) Eドラムレーン.HT:\r
                                                        this.HT = value;\r
                                                        return;\r
 \r
-                                               case 5:\r
+                                               case (int) Eドラムレーン.LT:\r
                                                        this.LT = value;\r
                                                        return;\r
 \r
-                                               case 6:\r
+                                               case (int) Eドラムレーン.FT:\r
                                                        this.FT = value;\r
                                                        return;\r
 \r
-                                               case 7:\r
+                                               case (int) Eドラムレーン.CY:\r
                                                        this.CY = value;\r
                                                        return;\r
 \r
-                                               case 8:\r
+                                               case (int) Eドラムレーン.CY + 1:\r
                                                        this.Guitar = value;\r
                                                        return;\r
 \r
-                                               case 9:\r
+                                               case (int) Eドラムレーン.CY + 2:\r
                                                        this.Bass = value;\r
                                                        return;\r
                                        }\r
@@ -959,7 +986,7 @@ namespace DTXMania
                public CConfigIni( string iniファイル名 )\r
                        : this()\r
                {\r
-                       this.t読み込み( iniファイル名 );\r
+                       this.tファイルから読み込み( iniファイル名 );\r
                }\r
 \r
 \r
@@ -967,9 +994,9 @@ namespace DTXMania
 \r
                public void t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス DeviceType, int nID, int nCode )\r
                {\r
-                       for( int i = 0; i < 3; i++ )\r
+                       for( int i = 0; i <= (int)EKeyConfigPart.SYSTEM; i++ )\r
                        {\r
-                               for( int j = 0; j < 10; j++ )\r
+                               for( int j = 0; j <= (int)EKeyConfigPad.Capture; j++ )\r
                                {\r
                                        for( int k = 0; k < 0x10; k++ )\r
                                        {\r
@@ -1408,9 +1435,15 @@ namespace DTXMania
                        this.tキーの書き出し( sw, this.KeyAssign.Bass.Cancel );\r
                        sw.WriteLine();\r
                        sw.WriteLine();\r
+                       sw.WriteLine( "[SystemKeyAssign]" );\r
+                       sw.WriteLine();\r
+                       sw.Write( "Capture=" );\r
+                       this.tキーの書き出し( sw, this.KeyAssign.System.Capture );\r
+                       sw.WriteLine();\r
+                       sw.WriteLine();\r
                        sw.Close();\r
                }\r
-               public void t読み込み( string iniファイル名 )\r
+               public void tファイルから読み込み( string iniファイル名 )\r
                {\r
                        this.ConfigIniファイル名 = iniファイル名;\r
                        this.bConfigIniが存在している = File.Exists( this.ConfigIniファイル名 );\r
@@ -1418,84 +1451,102 @@ namespace DTXMania
                        {\r
                                string str;\r
                                this.tキーアサインを全部クリアする();\r
-                               Eセクション種別 unknown = Eセクション種別.Unknown;\r
                                StreamReader reader = new StreamReader( this.ConfigIniファイル名, Encoding.GetEncoding( "shift-jis" ) );\r
-                               while( ( str = reader.ReadLine() ) != null )\r
+                               str = reader.ReadToEnd();\r
+                               t文字列から読み込み( str );\r
+                               CDTXVersion version = new CDTXVersion( this.strDTXManiaのバージョン );\r
+                               if( version.n整数部 <= 69 )\r
+                               {\r
+                                       this.tデフォルトのキーアサインに設定する();\r
+                               }\r
+                       }\r
+               }\r
+\r
+               private void t文字列から読み込み( string strAllSettings )      // 2011.4.13 yyagi; refactored to make initial KeyConfig easier.\r
+               {\r
+                       Eセクション種別 unknown = Eセクション種別.Unknown;\r
+                       string[] delimiter = { "\n" };\r
+                       string[] strSingleLine = strAllSettings.Split( delimiter, StringSplitOptions.RemoveEmptyEntries );\r
+                       foreach ( string s in strSingleLine )\r
+                       {\r
+                               string str = s.Replace( '\t', ' ' ).TrimStart( new char[] { '\t', ' ' } );\r
+                               if ( ( str.Length != 0 ) && ( str[ 0 ] != ';' ) )\r
                                {\r
-                                       str = str.Replace( '\t', ' ' ).TrimStart( new char[] { '\t', ' ' } );\r
-                                       if( ( str.Length != 0 ) && ( str[ 0 ] != ';' ) )\r
+                                       try\r
                                        {\r
-                                               try\r
+                                               string str3;\r
+                                               string str4;\r
+                                               if ( str[ 0 ] == '[' )\r
                                                {\r
-                                                       string str3;\r
-                                                       string str4;\r
-                                                       if( str[ 0 ] == '[' )\r
+                                                       #region [ セクションの変更 ]\r
+                                                       //-----------------------------\r
+                                                       StringBuilder builder = new StringBuilder( 0x20 );\r
+                                                       int num = 1;\r
+                                                       while ( ( num < str.Length ) && ( str[ num ] != ']' ) )\r
                                                        {\r
-                                                               #region [ セクションの変更 ]\r
-                                                               //-----------------------------\r
-                                                               StringBuilder builder = new StringBuilder( 0x20 );\r
-                                                               int num = 1;\r
-                                                               while( ( num < str.Length ) && ( str[ num ] != ']' ) )\r
-                                                               {\r
-                                                                       builder.Append( str[ num++ ] );\r
-                                                               }\r
-                                                               string str2 = builder.ToString();\r
-                                                               if( str2.Equals( "System" ) )\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.System;\r
-                                                               }\r
-                                                               else if( str2.Equals( "Log" ) )\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.Log;\r
-                                                               }\r
-                                                               else if( str2.Equals( "PlayOption" ) )\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.PlayOption;\r
-                                                               }\r
-                                                               else if( str2.Equals( "AutoPlay" ) )\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.AutoPlay;\r
-                                                               }\r
-                                                               else if( str2.Equals( "HitRange" ) )\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.HitRange;\r
-                                                               }\r
-                                                               else if( str2.Equals( "GUID" ) )\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.GUID;\r
-                                                               }\r
-                                                               else if( str2.Equals( "DrumsKeyAssign" ) )\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.DrumsKeyAssign;\r
-                                                               }\r
-                                                               else if( str2.Equals( "GuitarKeyAssign" ) )\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.GuitarKeyAssign;\r
-                                                               }\r
-                                                               else if( str2.Equals( "BassKeyAssign" ) )\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.BassKeyAssign;\r
-                                                               }\r
-                                                               else\r
-                                                               {\r
-                                                                       unknown = Eセクション種別.Unknown;\r
-                                                               }\r
-                                                               //-----------------------------\r
-                                                               #endregion\r
+                                                               builder.Append( str[ num++ ] );\r
+                                                       }\r
+                                                       string str2 = builder.ToString();\r
+                                                       if ( str2.Equals( "System" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.System;\r
+                                                       }\r
+                                                       else if ( str2.Equals( "Log" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.Log;\r
+                                                       }\r
+                                                       else if ( str2.Equals( "PlayOption" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.PlayOption;\r
+                                                       }\r
+                                                       else if ( str2.Equals( "AutoPlay" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.AutoPlay;\r
+                                                       }\r
+                                                       else if ( str2.Equals( "HitRange" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.HitRange;\r
+                                                       }\r
+                                                       else if ( str2.Equals( "GUID" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.GUID;\r
+                                                       }\r
+                                                       else if ( str2.Equals( "DrumsKeyAssign" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.DrumsKeyAssign;\r
+                                                       }\r
+                                                       else if ( str2.Equals( "GuitarKeyAssign" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.GuitarKeyAssign;\r
+                                                       }\r
+                                                       else if ( str2.Equals( "BassKeyAssign" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.BassKeyAssign;\r
+                                                       }\r
+                                                       else if ( str2.Equals( "SystemKeyAssign" ) )\r
+                                                       {\r
+                                                               unknown = Eセクション種別.SystemKeyAssign;\r
                                                        }\r
                                                        else\r
                                                        {\r
-                                                               string[] strArray = str.Split( new char[] { '=' } );\r
-                                                               if( strArray.Length == 2 )\r
+                                                               unknown = Eセクション種別.Unknown;\r
+                                                       }\r
+                                                       //-----------------------------\r
+                                                       #endregion\r
+                                               }\r
+                                               else\r
+                                               {\r
+                                                       string[] strArray = str.Split( new char[] { '=' } );\r
+                                                       if ( strArray.Length == 2 )\r
+                                                       {\r
+                                                               str3 = strArray[ 0 ].Trim();\r
+                                                               str4 = strArray[ 1 ].Trim();\r
+                                                               switch ( unknown )\r
                                                                {\r
-                                                                       str3 = strArray[ 0 ].Trim();\r
-                                                                       str4 = strArray[ 1 ].Trim();\r
-                                                                       switch( unknown )\r
-                                                                       {\r
-                                                                               #region [ [System] ]\r
-                                                                               //-----------------------------\r
-                                                                               case Eセクション種別.System:\r
-                                                                                       {\r
+                                                                       #region [ [System] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.System:\r
+                                                                               {\r
 #if false              // #23625 2011.1.11 Config.iniからダメージ/回復値の定数変更を行う場合はここを有効にする 087リリースに合わせ機能無効化\r
                                                                                //----------------------------------------\r
                                                                                                if (str3.Equals("GaugeFactorD"))\r
@@ -1528,609 +1579,617 @@ namespace DTXMania
                                                                                                else\r
                                                                                //----------------------------------------\r
 #endif\r
-                                                                                               if( str3.Equals( "Version" ) )\r
-                                                                                               {\r
-                                                                                                       this.strDTXManiaのバージョン = str4;\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "DTXPath" ) )\r
-                                                                                               {\r
-                                                                                                       this.str曲データ検索パス = str4;\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "FullScreen" ) )\r
-                                                                                               {\r
-                                                                                                       this.b全画面モード = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if (str3.Equals("WindowWidth"))            // #23510 2010.10.31 yyagi add\r
-                                                                                               {\r
-                                                                                                       this.nウインドウwidth = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 1, 65535, this.nウインドウwidth);\r
-                                                                                                       if (this.nウインドウwidth <= 0)\r
-                                                                                                       {\r
-                                                                                                               this.nウインドウwidth = 640;\r
-                                                                                                       }\r
-                                                                                               }\r
-                                                                                               else if (str3.Equals("WindowHeight"))           // #23510 2010.10.31 yyagi add\r
-                                                                                               {\r
-                                                                                                       this.nウインドウheight = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 1, 65535, this.nウインドウheight);\r
-                                                                                                       if (this.nウインドウheight <= 0)\r
-                                                                                                       {\r
-                                                                                                               this.nウインドウheight = 480;\r
-                                                                                                       }\r
-                                                                                               }\r
-                                                                                               else if (str3.Equals("VSyncWait"))\r
-                                                                                               {\r
-                                                                                                       this.b垂直帰線待ちを行う = C変換.bONorOFF( str4[ 0 ] );\r
-                                                }\r
-                                                else if (str3.Equals("BackSleep"))             // #23568 2010.11.04 ikanick add\r
-                                                {\r
-                                                    this.n非フォーカス時スリープms = C変換.n値を文字列から取得して範囲内にちゃんと丸めて返す(str4, 0, 50, this.n非フォーカス時スリープms);\r
-                                                }\r
-                                                                                               else if( str3.Equals( "Guitar" ) )\r
-                                                                                               {\r
-                                                                                                       this.bGuitar有効 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Drums" ) )\r
-                                                                                               {\r
-                                                                                                       this.bDrums有効 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BGAlpha" ) )\r
-                                                                                               {\r
-                                                                                                       this.n背景の透過度 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0xff, this.n背景の透過度 );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "DamageLevel" ) )\r
-                                                                                               {\r
-                                                                                                       this.eダメージレベル = (Eダメージレベル) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eダメージレベル );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "HHGroup" ) )\r
-                                                                                               {\r
-                                                                                                       this.eHHGroup = (EHHGroup) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.eHHGroup );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "FTGroup" ) )\r
-                                                                                               {\r
-                                                                                                       this.eFTGroup = (EFTGroup) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eFTGroup );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "CYGroup" ) )\r
-                                                                                               {\r
-                                                                                                       this.eCYGroup = (ECYGroup) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eCYGroup );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "HitSoundPriorityHH" ) )\r
-                                                                                               {\r
-                                                                                                       this.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, (int) this.eHitSoundPriorityHH );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "HitSoundPriorityFT" ) )\r
-                                                                                               {\r
-                                                                                                       this.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, (int) this.eHitSoundPriorityFT );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "HitSoundPriorityCY" ) )\r
-                                                                                               {\r
-                                                                                                       this.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, (int) this.eHitSoundPriorityCY );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "StageFailed" ) )\r
-                                                                                               {\r
-                                                                                                       this.bSTAGEFAILED有効 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "AVI" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAVI有効 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BGA" ) )\r
-                                                                                               {\r
-                                                                                                       this.bBGA有効 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "FillInEffect" ) )\r
-                                                                                               {\r
-                                                                                                       this.bフィルイン有効 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "PreviewSoundWait" ) )\r
-                                                                                               {\r
-                                                                                                       this.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, this.n曲が選択されてからプレビュー音が鳴るまでのウェイトms );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "PreviewImageWait" ) )\r
-                                                                                               {\r
-                                                                                                       this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "AdjustWaves" ) )\r
-                                                                                               {\r
-                                                                                                       this.bWave再生位置自動調整機能有効 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BGMSound" ) )\r
-                                                                                               {\r
-                                                                                                       this.bBGM音を発声する = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "HitSound" ) )\r
-                                                                                               {\r
-                                                                                                       this.bドラム打音を発声する = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "AudienceSound" ) )\r
-                                                                                               {\r
-                                                                                                       this.b歓声を発声する = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SaveScoreIni" ) )\r
-                                                                                               {\r
-                                                                                                       this.bScoreIniを出力する = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "RandomFromSubBox" ) )\r
-                                                                                               {\r
-                                                                                                       this.bランダムセレクトで子BOXを検索対象とする = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SoundMonitorDrums" ) )\r
-                                                                                               {\r
-                                                                                                       this.b演奏音を強調する.Drums = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SoundMonitorGuitar" ) )\r
-                                                                                               {\r
-                                                                                                       this.b演奏音を強調する.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SoundMonitorBass" ) )\r
-                                                                                               {\r
-                                                                                                       this.b演奏音を強調する.Bass = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "MinComboDrums" ) )\r
-                                                                                               {\r
-                                                                                                       this.n表示可能な最小コンボ数.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x1869f, this.n表示可能な最小コンボ数.Drums );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "MinComboGuitar" ) )\r
-                                                                                               {\r
-                                                                                                       this.n表示可能な最小コンボ数.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x1869f, this.n表示可能な最小コンボ数.Guitar );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "MinComboBass" ) )\r
-                                                                                               {\r
-                                                                                                       this.n表示可能な最小コンボ数.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x1869f, this.n表示可能な最小コンボ数.Bass );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "ShowDebugStatus" ) )\r
-                                                                                               {\r
-                                                                                                       this.b演奏情報を表示する = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SelectListFontName" ) )\r
-                                                                                               {\r
-                                                                                                       this.str選曲リストフォント = str4;\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SelectListFontSize" ) )\r
-                                                                                               {\r
-                                                                                                       this.n選曲リストフォントのサイズdot = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x3e7, this.n選曲リストフォントのサイズdot );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SelectListFontItalic" ) )\r
-                                                                                               {\r
-                                                                                                       this.b選曲リストフォントを斜体にする = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SelectListFontBold" ) )\r
-                                                                                               {\r
-                                                                                                       this.b選曲リストフォントを太字にする = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "ChipVolume" ) )\r
-                                                                                               {\r
-                                                                                                       this.n手動再生音量 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 100, this.n手動再生音量 );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "AutoChipVolume" ) )\r
-                                                                                               {\r
-                                                                                                       this.n自動再生音量 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 100, this.n自動再生音量 );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "StoicMode" ) )\r
-                                                                                               {\r
-                                                                                                       this.bストイックモード = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "CymbalFree" ) )\r
-                                                                                               {\r
-                                                                                                       this.bシンバルフリー = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals("InputAdjustTimeDrums") )         // #23580 2011.1.3 yyagi\r
-                                                                                               {\r
-                                                                                                       this.nInputAdjustTimeMs.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, -99, 0, this.nInputAdjustTimeMs.Drums);\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals("InputAdjustTimeGuitar") )        // #23580 2011.1.3 yyagi\r
-                                                                                               {\r
-                                                                                                       this.nInputAdjustTimeMs.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, -99, 0, this.nInputAdjustTimeMs.Guitar);\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals("InputAdjustTimeBass") )          // #23580 2011.1.3 yyagi\r
-                                                                                               {\r
-                                                                                                       this.nInputAdjustTimeMs.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, -99, 0, this.nInputAdjustTimeMs.Bass);\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals("BufferedInput") ) {\r
-                                                                                                       this.bバッファ入力を行う = C変換.bONorOFF(str4[0]);\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals( "LCVelocityMin" ) )                      // #23857 2010.12.12 yyagi\r
-                                                                                               {\r
-                                                                                                       this.nVelocityMin.LC = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.LC );\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals( "HHVelocityMin" ) )\r
-                                                                                               {\r
-                                                                                                       this.nVelocityMin.HH = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 127, this.nVelocityMin.HH);\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals( "SDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
-                                                                                               {\r
-                                                                                                       this.nVelocityMin.SD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.SD );\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals( "BDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
-                                                                                               {\r
-                                                                                                       this.nVelocityMin.BD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.BD );\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals( "HTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
-                                                                                               {\r
-                                                                                                       this.nVelocityMin.HT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.HT );\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals( "LTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
-                                                                                               {\r
-                                                                                                       this.nVelocityMin.LT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.LT );\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals( "FTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
-                                                                                               {\r
-                                                                                                       this.nVelocityMin.FT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.FT );\r
-                                                                                               }\r
-                                                                                               else if ( str3.Equals( "CYVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                       if ( str3.Equals( "Version" ) )\r
+                                                                                       {\r
+                                                                                               this.strDTXManiaのバージョン = str4;\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "DTXPath" ) )\r
+                                                                                       {\r
+                                                                                               this.str曲データ検索パス = str4;\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "FullScreen" ) )\r
+                                                                                       {\r
+                                                                                               this.b全画面モード = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "WindowWidth" ) )                // #23510 2010.10.31 yyagi add\r
+                                                                                       {\r
+                                                                                               this.nウインドウwidth = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 65535, this.nウインドウwidth );\r
+                                                                                               if ( this.nウインドウwidth <= 0 )\r
                                                                                                {\r
-                                                                                                       this.nVelocityMin.CY = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.CY );\r
+                                                                                                       this.nウインドウwidth = 640;\r
                                                                                                }\r
-                                                                                               else if ( str3.Equals( "RDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "WindowHeight" ) )               // #23510 2010.10.31 yyagi add\r
+                                                                                       {\r
+                                                                                               this.nウインドウheight = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 65535, this.nウインドウheight );\r
+                                                                                               if ( this.nウインドウheight <= 0 )\r
                                                                                                {\r
-                                                                                                       this.nVelocityMin.RD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.RD );\r
+                                                                                                       this.nウインドウheight = 480;\r
                                                                                                }\r
-                                                                                               continue;\r
                                                                                        }\r
-                                                                               //-----------------------------\r
-                                                                               #endregion\r
-\r
-                                                                               #region [ [Log] ]\r
-                                                                               //-----------------------------\r
-                                                                               case Eセクション種別.Log:\r
+                                                                                       else if ( str3.Equals( "VSyncWait" ) )\r
+                                                                                       {\r
+                                                                                               this.b垂直帰線待ちを行う = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BackSleep" ) )          // #23568 2010.11.04 ikanick add\r
+                                                                                       {\r
+                                                                                               this.n非フォーカス時スリープms = C変換.n値を文字列から取得して範囲内にちゃんと丸めて返す( str4, 0, 50, this.n非フォーカス時スリープms );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Guitar" ) )\r
+                                                                                       {\r
+                                                                                               this.bGuitar有効 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Drums" ) )\r
+                                                                                       {\r
+                                                                                               this.bDrums有効 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BGAlpha" ) )\r
+                                                                                       {\r
+                                                                                               this.n背景の透過度 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0xff, this.n背景の透過度 );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "DamageLevel" ) )\r
+                                                                                       {\r
+                                                                                               this.eダメージレベル = (Eダメージレベル) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eダメージレベル );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HHGroup" ) )\r
+                                                                                       {\r
+                                                                                               this.eHHGroup = (EHHGroup) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.eHHGroup );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "FTGroup" ) )\r
+                                                                                       {\r
+                                                                                               this.eFTGroup = (EFTGroup) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eFTGroup );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "CYGroup" ) )\r
+                                                                                       {\r
+                                                                                               this.eCYGroup = (ECYGroup) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eCYGroup );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HitSoundPriorityHH" ) )\r
+                                                                                       {\r
+                                                                                               this.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, (int) this.eHitSoundPriorityHH );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HitSoundPriorityFT" ) )\r
+                                                                                       {\r
+                                                                                               this.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, (int) this.eHitSoundPriorityFT );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HitSoundPriorityCY" ) )\r
+                                                                                       {\r
+                                                                                               this.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, (int) this.eHitSoundPriorityCY );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "StageFailed" ) )\r
+                                                                                       {\r
+                                                                                               this.bSTAGEFAILED有効 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "AVI" ) )\r
+                                                                                       {\r
+                                                                                               this.bAVI有効 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BGA" ) )\r
+                                                                                       {\r
+                                                                                               this.bBGA有効 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "FillInEffect" ) )\r
+                                                                                       {\r
+                                                                                               this.bフィルイン有効 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "PreviewSoundWait" ) )\r
+                                                                                       {\r
+                                                                                               this.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, this.n曲が選択されてからプレビュー音が鳴るまでのウェイトms );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "PreviewImageWait" ) )\r
+                                                                                       {\r
+                                                                                               this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "AdjustWaves" ) )\r
+                                                                                       {\r
+                                                                                               this.bWave再生位置自動調整機能有効 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BGMSound" ) )\r
+                                                                                       {\r
+                                                                                               this.bBGM音を発声する = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HitSound" ) )\r
+                                                                                       {\r
+                                                                                               this.bドラム打音を発声する = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "AudienceSound" ) )\r
+                                                                                       {\r
+                                                                                               this.b歓声を発声する = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SaveScoreIni" ) )\r
+                                                                                       {\r
+                                                                                               this.bScoreIniを出力する = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "RandomFromSubBox" ) )\r
+                                                                                       {\r
+                                                                                               this.bランダムセレクトで子BOXを検索対象とする = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SoundMonitorDrums" ) )\r
+                                                                                       {\r
+                                                                                               this.b演奏音を強調する.Drums = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SoundMonitorGuitar" ) )\r
+                                                                                       {\r
+                                                                                               this.b演奏音を強調する.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SoundMonitorBass" ) )\r
+                                                                                       {\r
+                                                                                               this.b演奏音を強調する.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "MinComboDrums" ) )\r
+                                                                                       {\r
+                                                                                               this.n表示可能な最小コンボ数.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x1869f, this.n表示可能な最小コンボ数.Drums );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "MinComboGuitar" ) )\r
+                                                                                       {\r
+                                                                                               this.n表示可能な最小コンボ数.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x1869f, this.n表示可能な最小コンボ数.Guitar );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "MinComboBass" ) )\r
+                                                                                       {\r
+                                                                                               this.n表示可能な最小コンボ数.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x1869f, this.n表示可能な最小コンボ数.Bass );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "ShowDebugStatus" ) )\r
+                                                                                       {\r
+                                                                                               this.b演奏情報を表示する = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SelectListFontName" ) )\r
+                                                                                       {\r
+                                                                                               this.str選曲リストフォント = str4;\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SelectListFontSize" ) )\r
+                                                                                       {\r
+                                                                                               this.n選曲リストフォントのサイズdot = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x3e7, this.n選曲リストフォントのサイズdot );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SelectListFontItalic" ) )\r
+                                                                                       {\r
+                                                                                               this.b選曲リストフォントを斜体にする = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SelectListFontBold" ) )\r
+                                                                                       {\r
+                                                                                               this.b選曲リストフォントを太字にする = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "ChipVolume" ) )\r
+                                                                                       {\r
+                                                                                               this.n手動再生音量 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 100, this.n手動再生音量 );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "AutoChipVolume" ) )\r
+                                                                                       {\r
+                                                                                               this.n自動再生音量 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 100, this.n自動再生音量 );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "StoicMode" ) )\r
+                                                                                       {\r
+                                                                                               this.bストイックモード = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "CymbalFree" ) )\r
+                                                                                       {\r
+                                                                                               this.bシンバルフリー = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "InputAdjustTimeDrums" ) )               // #23580 2011.1.3 yyagi\r
+                                                                                       {\r
+                                                                                               this.nInputAdjustTimeMs.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, -99, 0, this.nInputAdjustTimeMs.Drums );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "InputAdjustTimeGuitar" ) )      // #23580 2011.1.3 yyagi\r
+                                                                                       {\r
+                                                                                               this.nInputAdjustTimeMs.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, -99, 0, this.nInputAdjustTimeMs.Guitar );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "InputAdjustTimeBass" ) )                // #23580 2011.1.3 yyagi\r
+                                                                                       {\r
+                                                                                               this.nInputAdjustTimeMs.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, -99, 0, this.nInputAdjustTimeMs.Bass );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BufferedInput" ) )\r
+                                                                                       {\r
+                                                                                               this.bバッファ入力を行う = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "LCVelocityMin" ) )                      // #23857 2010.12.12 yyagi\r
+                                                                                       {\r
+                                                                                               this.nVelocityMin.LC = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.LC );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HHVelocityMin" ) )\r
+                                                                                       {\r
+                                                                                               this.nVelocityMin.HH = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.HH );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                       {\r
+                                                                                               this.nVelocityMin.SD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.SD );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                       {\r
+                                                                                               this.nVelocityMin.BD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.BD );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                       {\r
+                                                                                               this.nVelocityMin.HT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.HT );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "LTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                       {\r
+                                                                                               this.nVelocityMin.LT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.LT );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "FTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                       {\r
+                                                                                               this.nVelocityMin.FT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.FT );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "CYVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                       {\r
+                                                                                               this.nVelocityMin.CY = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.CY );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "RDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
+                                                                                       {\r
+                                                                                               this.nVelocityMin.RD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.RD );\r
+                                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
+\r
+                                                                       #region [ [Log] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.Log:\r
+                                                                               {\r
+                                                                                       if ( str3.Equals( "OutputLog" ) )\r
+                                                                                       {\r
+                                                                                               this.bログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "TraceCreatedDisposed" ) )\r
+                                                                                       {\r
+                                                                                               this.bLog作成解放ログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "TraceDTXDetails" ) )\r
+                                                                                       {\r
+                                                                                               this.bLogDTX詳細ログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "TraceSongSearch" ) )\r
+                                                                                       {\r
+                                                                                               this.bLog曲検索ログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
+\r
+                                                                       #region [ [PlayOption] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.PlayOption:\r
+                                                                               {\r
+                                                                                       if ( str3.Equals( "Dark" ) )\r
+                                                                                       {\r
+                                                                                               this.eDark = (Eダークモード) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eDark );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "DrumsTight" ) )\r
+                                                                                       {\r
+                                                                                               this.bTight = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "DrumsGraph" ) )  // #24074 2011.01.23 addikanick\r
+                                                                                       {\r
+                                                                                               this.bGraph.Drums = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "DrumsSudden" ) )\r
+                                                                                       {\r
+                                                                                               this.bSudden.Drums = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "GuitarSudden" ) )\r
+                                                                                       {\r
+                                                                                               this.bSudden.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BassSudden" ) )\r
+                                                                                       {\r
+                                                                                               this.bSudden.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "DrumsHidden" ) )\r
+                                                                                       {\r
+                                                                                               this.bHidden.Drums = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "GuitarHidden" ) )\r
+                                                                                       {\r
+                                                                                               this.bHidden.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BassHidden" ) )\r
+                                                                                       {\r
+                                                                                               this.bHidden.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "DrumsReverse" ) )\r
                                                                                        {\r
-                                                                                               if( str3.Equals( "OutputLog" ) )\r
-                                                                                               {\r
-                                                                                                       this.bログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "TraceCreatedDisposed" ) )\r
-                                                                                               {\r
-                                                                                                       this.bLog作成解放ログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "TraceDTXDetails" ) )\r
-                                                                                               {\r
-                                                                                                       this.bLogDTX詳細ログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "TraceSongSearch" ) )\r
-                                                                                               {\r
-                                                                                                       this.bLog曲検索ログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               continue;\r
+                                                                                               this.bReverse.Drums = C変換.bONorOFF( str4[ 0 ] );\r
                                                                                        }\r
-                                                                               //-----------------------------\r
-                                                                               #endregion\r
-\r
-                                                                               #region [ [PlayOption] ]\r
-                                                                               //-----------------------------\r
-                                                                               case Eセクション種別.PlayOption:\r
+                                                                                       else if ( str3.Equals( "GuitarReverse" ) )\r
                                                                                        {\r
-                                                                                               if( str3.Equals( "Dark" ) )\r
-                                                                                               {\r
-                                                                                                       this.eDark = (Eダークモード) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eDark );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "DrumsTight" ) )\r
-                                                                                               {\r
-                                                                                                       this.bTight = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "DrumsGraph" ) )  // #24074 2011.01.23 addikanick\r
-                                                                                               {\r
-                                                                                                       this.bGraph.Drums = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "DrumsSudden" ) )\r
-                                                                                               {\r
-                                                                                                       this.bSudden.Drums = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "GuitarSudden" ) )\r
-                                                                                               {\r
-                                                                                                       this.bSudden.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BassSudden" ) )\r
-                                                                                               {\r
-                                                                                                       this.bSudden.Bass = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "DrumsHidden" ) )\r
-                                                                                               {\r
-                                                                                                       this.bHidden.Drums = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "GuitarHidden" ) )\r
-                                                                                               {\r
-                                                                                                       this.bHidden.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BassHidden" ) )\r
-                                                                                               {\r
-                                                                                                       this.bHidden.Bass = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "DrumsReverse" ) )\r
-                                                                                               {\r
-                                                                                                       this.bReverse.Drums = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "GuitarReverse" ) )\r
-                                                                                               {\r
-                                                                                                       this.bReverse.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BassReverse" ) )\r
-                                                                                               {\r
-                                                                                                       this.bReverse.Bass = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "GuitarRandom" ) )\r
-                                                                                               {\r
-                                                                                                       this.eRandom.Guitar = (Eランダムモード) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.eRandom.Guitar );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BassRandom" ) )\r
-                                                                                               {\r
-                                                                                                       this.eRandom.Bass = (Eランダムモード) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.eRandom.Bass );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "GuitarLight" ) )\r
-                                                                                               {\r
-                                                                                                       this.bLight.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BassLight" ) )\r
-                                                                                               {\r
-                                                                                                       this.bLight.Bass = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "GuitarLeft" ) )\r
-                                                                                               {\r
-                                                                                                       this.bLeft.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BassLeft" ) )\r
-                                                                                               {\r
-                                                                                                       this.bLeft.Bass = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "DrumsPosition" ) )\r
-                                                                                               {\r
-                                                                                                       this.判定文字表示位置.Drums = (E判定文字表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.判定文字表示位置.Drums );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "GuitarPosition" ) )\r
-                                                                                               {\r
-                                                                                                       this.判定文字表示位置.Guitar = (E判定文字表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.判定文字表示位置.Guitar );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BassPosition" ) )\r
-                                                                                               {\r
-                                                                                                       this.判定文字表示位置.Bass = (E判定文字表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.判定文字表示位置.Bass );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "DrumsScrollSpeed" ) )\r
-                                                                                               {\r
-                                                                                                       this.n譜面スクロール速度.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x7cf, this.n譜面スクロール速度.Drums );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "GuitarScrollSpeed" ) )\r
-                                                                                               {\r
-                                                                                                       this.n譜面スクロール速度.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x7cf, this.n譜面スクロール速度.Guitar );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BassScrollSpeed" ) )\r
-                                                                                               {\r
-                                                                                                       this.n譜面スクロール速度.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x7cf, this.n譜面スクロール速度.Bass );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "PlaySpeed" ) )\r
-                                                                                               {\r
-                                                                                                       this.n演奏速度 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 5, 40, this.n演奏速度 );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "ComboPosition" ) )\r
-                                                                                               {\r
-                                                                                                       this.ドラムコンボ文字の表示位置 = (Eドラムコンボ文字の表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.ドラムコンボ文字の表示位置 );\r
-                                                                                               }\r
-                                                                                               continue;\r
+                                                                                               this.bReverse.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
                                                                                        }\r
-                                                                               //-----------------------------\r
-                                                                               #endregion\r
-\r
-                                                                               #region [ [AutoPlay] ]\r
-                                                                               //-----------------------------\r
-                                                                               case Eセクション種別.AutoPlay:\r
+                                                                                       else if ( str3.Equals( "BassReverse" ) )\r
                                                                                        {\r
-                                                                                               if( str3.Equals( "LC" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.LC = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               if( str3.Equals( "HH" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.HH = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SD" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.SD = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BD" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.BD = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "HT" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.HT = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "LT" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.LT = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "FT" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.FT = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "CY" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.CY = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Guitar" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Bass" ) )\r
-                                                                                               {\r
-                                                                                                       this.bAutoPlay.Bass = C変換.bONorOFF( str4[ 0 ] );\r
-                                                                                               }\r
-                                                                                               continue;\r
+                                                                                               this.bReverse.Bass = C変換.bONorOFF( str4[ 0 ] );\r
                                                                                        }\r
-                                                                               //-----------------------------\r
-                                                                               #endregion\r
-\r
-                                                                               #region [ [HitRange] ]\r
-                                                                               //-----------------------------\r
-                                                                               case Eセクション種別.HitRange:\r
+                                                                                       else if ( str3.Equals( "GuitarRandom" ) )\r
                                                                                        {\r
-                                                                                               if( str3.Equals( "Perfect" ) )\r
-                                                                                               {\r
-                                                                                                       this.nヒット範囲ms.Perfect = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Perfect );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Great" ) )\r
-                                                                                               {\r
-                                                                                                       this.nヒット範囲ms.Great = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Great );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Good" ) )\r
-                                                                                               {\r
-                                                                                                       this.nヒット範囲ms.Good = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Good );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Poor" ) )\r
-                                                                                               {\r
-                                                                                                       this.nヒット範囲ms.Poor = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Poor );\r
-                                                                                               }\r
-                                                                                               continue;\r
+                                                                                               this.eRandom.Guitar = (Eランダムモード) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.eRandom.Guitar );\r
                                                                                        }\r
-                                                                               //-----------------------------\r
-                                                                               #endregion\r
-\r
-                                                                               #region [ [GUID] ]\r
-                                                                               //-----------------------------\r
-                                                                               case Eセクション種別.GUID:\r
+                                                                                       else if ( str3.Equals( "BassRandom" ) )\r
                                                                                        {\r
-                                                                                               if( str3.Equals( "JoystickID" ) )\r
-                                                                                               {\r
-                                                                                                       this.tJoystickIDの取得( str4 );\r
-                                                                                               }\r
-                                                                                               continue;\r
+                                                                                               this.eRandom.Bass = (Eランダムモード) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.eRandom.Bass );\r
                                                                                        }\r
-                                                                               //-----------------------------\r
-                                                                               #endregion\r
-\r
-                                                                               #region [ [DrumsKeyAssign] ]\r
-                                                                               //-----------------------------\r
-                                                                               case Eセクション種別.DrumsKeyAssign:\r
+                                                                                       else if ( str3.Equals( "GuitarLight" ) )\r
                                                                                        {\r
-                                                                                               if( str3.Equals( "HH" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.HH );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "SD" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.SD );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "BD" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.BD );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "HT" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.HT );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "LT" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.LT );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "FT" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.FT );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "CY" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.CY );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "HO" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.HHO );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "RD" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.RD );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "LC" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.LC );\r
-                                                                                               }\r
-                                                                                               continue;\r
+                                                                                               this.bLight.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
                                                                                        }\r
-                                                                               //-----------------------------\r
-                                                                               #endregion\r
-\r
-                                                                               #region [ GuitarKeyAssign ]\r
-                                                                               //-----------------------------\r
-                                                                               case Eセクション種別.GuitarKeyAssign:\r
+                                                                                       else if ( str3.Equals( "BassLight" ) )\r
                                                                                        {\r
-                                                                                               if( str3.Equals( "R" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.R );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "G" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.G );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "B" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.B );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Pick" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Pick );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Wail" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Wail );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Decide" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Decide );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Cancel" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Cancel );\r
-                                                                                               }\r
-                                                                                               continue;\r
+                                                                                               this.bLight.Bass = C変換.bONorOFF( str4[ 0 ] );\r
                                                                                        }\r
-                                                                               //-----------------------------\r
-                                                                               #endregion\r
-\r
-                                                                               #region [ [BassKeyAssign ]\r
-                                                                               //-----------------------------\r
-                                                                               case Eセクション種別.BassKeyAssign:\r
+                                                                                       else if ( str3.Equals( "GuitarLeft" ) )\r
                                                                                        {\r
-                                                                                               if( str3.Equals( "R" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.R );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "G" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.G );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "B" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.B );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Pick" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Pick );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Wail" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Wail );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Decide" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Decide );\r
-                                                                                               }\r
-                                                                                               else if( str3.Equals( "Cancel" ) )\r
-                                                                                               {\r
-                                                                                                       this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Cancel );\r
-                                                                                               }\r
-                                                                                               continue;\r
+                                                                                               this.bLeft.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BassLeft" ) )\r
+                                                                                       {\r
+                                                                                               this.bLeft.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "DrumsPosition" ) )\r
+                                                                                       {\r
+                                                                                               this.判定文字表示位置.Drums = (E判定文字表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.判定文字表示位置.Drums );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "GuitarPosition" ) )\r
+                                                                                       {\r
+                                                                                               this.判定文字表示位置.Guitar = (E判定文字表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.判定文字表示位置.Guitar );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BassPosition" ) )\r
+                                                                                       {\r
+                                                                                               this.判定文字表示位置.Bass = (E判定文字表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.判定文字表示位置.Bass );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "DrumsScrollSpeed" ) )\r
+                                                                                       {\r
+                                                                                               this.n譜面スクロール速度.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x7cf, this.n譜面スクロール速度.Drums );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "GuitarScrollSpeed" ) )\r
+                                                                                       {\r
+                                                                                               this.n譜面スクロール速度.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x7cf, this.n譜面スクロール速度.Guitar );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BassScrollSpeed" ) )\r
+                                                                                       {\r
+                                                                                               this.n譜面スクロール速度.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x7cf, this.n譜面スクロール速度.Bass );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "PlaySpeed" ) )\r
+                                                                                       {\r
+                                                                                               this.n演奏速度 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 5, 40, this.n演奏速度 );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "ComboPosition" ) )\r
+                                                                                       {\r
+                                                                                               this.ドラムコンボ文字の表示位置 = (Eドラムコンボ文字の表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.ドラムコンボ文字の表示位置 );\r
+                                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
+\r
+                                                                       #region [ [AutoPlay] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.AutoPlay:\r
+                                                                               {\r
+                                                                                       if ( str3.Equals( "LC" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.LC = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       if ( str3.Equals( "HH" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.HH = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SD" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.SD = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BD" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.BD = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HT" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.HT = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "LT" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.LT = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "FT" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.FT = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "CY" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.CY = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Guitar" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Bass" ) )\r
+                                                                                       {\r
+                                                                                               this.bAutoPlay.Bass = C変換.bONorOFF( str4[ 0 ] );\r
+                                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
+\r
+                                                                       #region [ [HitRange] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.HitRange:\r
+                                                                               {\r
+                                                                                       if ( str3.Equals( "Perfect" ) )\r
+                                                                                       {\r
+                                                                                               this.nヒット範囲ms.Perfect = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Perfect );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Great" ) )\r
+                                                                                       {\r
+                                                                                               this.nヒット範囲ms.Great = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Great );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Good" ) )\r
+                                                                                       {\r
+                                                                                               this.nヒット範囲ms.Good = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Good );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Poor" ) )\r
+                                                                                       {\r
+                                                                                               this.nヒット範囲ms.Poor = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Poor );\r
                                                                                        }\r
-                                                                               //-----------------------------\r
-                                                                               #endregion\r
-                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
+\r
+                                                                       #region [ [GUID] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.GUID:\r
+                                                                               {\r
+                                                                                       if ( str3.Equals( "JoystickID" ) )\r
+                                                                                       {\r
+                                                                                               this.tJoystickIDの取得( str4 );\r
+                                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
+\r
+                                                                       #region [ [DrumsKeyAssign] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.DrumsKeyAssign:\r
+                                                                               {\r
+                                                                                       if ( str3.Equals( "HH" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.HH );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "SD" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.SD );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "BD" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.BD );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HT" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.HT );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "LT" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.LT );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "FT" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.FT );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "CY" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.CY );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "HO" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.HHO );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "RD" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.RD );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "LC" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.LC );\r
+                                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
+\r
+                                                                       #region [ [GuitarKeyAssign] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.GuitarKeyAssign:\r
+                                                                               {\r
+                                                                                       if ( str3.Equals( "R" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.R );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "G" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.G );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "B" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.B );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Pick" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Pick );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Wail" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Wail );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Decide" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Decide );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Cancel" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Cancel );\r
+                                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
+\r
+                                                                       #region [ [BassKeyAssign] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.BassKeyAssign:\r
+                                                                               {\r
+                                                                                       if ( str3.Equals( "R" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.R );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "G" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.G );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "B" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.B );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Pick" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Pick );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Wail" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Wail );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Decide" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Decide );\r
+                                                                                       }\r
+                                                                                       else if ( str3.Equals( "Cancel" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Cancel );\r
+                                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
+\r
+                                                                       #region [ [SystemKeyAssign] ]\r
+                                                                       //-----------------------------\r
+                                                                       case Eセクション種別.SystemKeyAssign:\r
+                                                                               {\r
+                                                                                       if ( str3.Equals( "Capture" ) )\r
+                                                                                       {\r
+                                                                                               this.tキーの読み出しと設定( str4, this.KeyAssign.System.Capture );\r
+                                                                                       }\r
+                                                                                       continue;\r
+                                                                               }\r
+                                                                       //-----------------------------\r
+                                                                       #endregion\r
                                                                }\r
                                                        }\r
-                                                       continue;\r
-                                               }\r
-                                               catch( Exception exception )\r
-                                               {\r
-                                                       Trace.TraceError( exception.Message );\r
-                                                       continue;\r
                                                }\r
+                                               continue;\r
+                                       }\r
+                                       catch ( Exception exception )\r
+                                       {\r
+                                               Trace.TraceError( exception.Message );\r
+                                               continue;\r
                                        }\r
-                               }\r
-                               CDTXVersion version = new CDTXVersion( this.strDTXManiaのバージョン );\r
-                               if( version.n整数部 <= 69 )\r
-                               {\r
-                                       this.tデフォルトのキーアサインに設定する();\r
                                }\r
                        }\r
                }\r
@@ -2140,14 +2199,14 @@ namespace DTXMania
                /// </summary>\r
                public void SwapGuitarBassKeyAssign()           // #24063 2011.1.16 yyagi\r
                {\r
-                       for ( int j = 0; j < 10; j++ )\r
+                       for ( int j = 0; j <= (int)EKeyConfigPad.Capture; j++ )\r
                        {\r
                                CKeyAssign.STKEYASSIGN t; //= new CConfigIni.CKeyAssign.STKEYASSIGN();\r
                                for ( int k = 0; k < 16; k++ )\r
                                {\r
-                                       t = this.KeyAssign[ 1 ][ j ][ k ];\r
-                                       this.KeyAssign[ 1 ][ j ][ k ] = this.KeyAssign[ 2 ][ j ][ k ];\r
-                                       this.KeyAssign[ 2 ][ j ][ k ] = t;\r
+                                       t = this.KeyAssign[ (int)EKeyConfigPart.GUITAR ][ j ][ k ];\r
+                                       this.KeyAssign[ (int)EKeyConfigPart.GUITAR ][ j ][ k ] = this.KeyAssign[ (int)EKeyConfigPart.BASS ][ j ][ k ];\r
+                                       this.KeyAssign[ (int)EKeyConfigPart.BASS ][ j ][ k ] = t;\r
                                }\r
                        }\r
                        this.bIsSwappedGuitarBass = !bIsSwappedGuitarBass;\r
@@ -2169,7 +2228,8 @@ namespace DTXMania
                        GUID,\r
                        DrumsKeyAssign,\r
                        GuitarKeyAssign,\r
-                       BassKeyAssign\r
+                       BassKeyAssign,\r
+                       SystemKeyAssign\r
                }\r
 \r
                private bool _bDrums有効;\r
@@ -2196,9 +2256,9 @@ namespace DTXMania
                private void tキーアサインを全部クリアする()\r
                {\r
                        this.KeyAssign = new CKeyAssign();\r
-                       for( int i = 0; i < 3; i++ )\r
+                       for( int i = 0; i <= (int)EKeyConfigPart.SYSTEM; i++ )\r
                        {\r
-                               for( int j = 0; j < 10; j++ )\r
+                               for( int j = 0; j <= (int)EKeyConfigPad.Capture; j++ )\r
                                {\r
                                        this.KeyAssign[ i ][ j ] = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
                                        for( int k = 0; k < 0x10; k++ )\r
@@ -2294,759 +2354,45 @@ namespace DTXMania
                private void tデフォルトのキーアサインに設定する()\r
                {\r
                        this.tキーアサインを全部クリアする();\r
-                       CKeyAssign.STKEYASSIGN[] stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       CKeyAssign.STKEYASSIGN stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign = stkeyassign63;\r
-                       stkeyassign.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign.ID = 0;\r
-                       stkeyassign.コード = 0x23;\r
-                       stkeyassignArray[ 0 ] = stkeyassign;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign2 = stkeyassign63;\r
-                       stkeyassign2.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign2.ID = 0;\r
-                       stkeyassign2.コード = 0x2a;\r
-                       stkeyassignArray[ 1 ] = stkeyassign2;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign3 = stkeyassign63;\r
-                       stkeyassign3.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign3.ID = 0;\r
-                       stkeyassign3.コード = 0x5d;\r
-                       stkeyassignArray[ 2 ] = stkeyassign3;\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.HH = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign4 = stkeyassign63;\r
-                       stkeyassign4.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign4.ID = 0;\r
-                       stkeyassign4.コード = 0x21;\r
-                       stkeyassignArray[ 0 ] = stkeyassign4;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign5 = stkeyassign63;\r
-                       stkeyassign5.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign5.ID = 0;\r
-                       stkeyassign5.コード = 0x19;\r
-                       stkeyassignArray[ 1 ] = stkeyassign5;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign6 = stkeyassign63;\r
-                       stkeyassign6.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign6.ID = 0;\r
-                       stkeyassign6.コード = 0x1a;\r
-                       stkeyassignArray[ 2 ] = stkeyassign6;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign7 = stkeyassign63;\r
-                       stkeyassign7.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign7.ID = 0;\r
-                       stkeyassign7.コード = 0x1b;\r
-                       stkeyassignArray[ 3 ] = stkeyassign7;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign8 = stkeyassign63;\r
-                       stkeyassign8.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign8.ID = 0;\r
-                       stkeyassign8.コード = 0x1c;\r
-                       stkeyassignArray[ 4 ] = stkeyassign8;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign9 = stkeyassign63;\r
-                       stkeyassign9.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign9.ID = 0;\r
-                       stkeyassign9.コード = 0x1d;\r
-                       stkeyassignArray[ 5 ] = stkeyassign9;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign10 = stkeyassign63;\r
-                       stkeyassign10.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign10.ID = 0;\r
-                       stkeyassign10.コード = 0x1f;\r
-                       stkeyassignArray[ 6 ] = stkeyassign10;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign11 = stkeyassign63;\r
-                       stkeyassign11.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign11.ID = 0;\r
-                       stkeyassign11.コード = 0x20;\r
-                       stkeyassignArray[ 7 ] = stkeyassign11;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign12 = stkeyassign63;\r
-                       stkeyassign12.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign12.ID = 0;\r
-                       stkeyassign12.コード = 0x22;\r
-                       stkeyassignArray[ 8 ] = stkeyassign12;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign13 = stkeyassign63;\r
-                       stkeyassign13.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign13.ID = 0;\r
-                       stkeyassign13.コード = 0x25;\r
-                       stkeyassignArray[ 9 ] = stkeyassign13;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign14 = stkeyassign63;\r
-                       stkeyassign14.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign14.ID = 0;\r
-                       stkeyassign14.コード = 0x26;\r
-                       stkeyassignArray[ 10 ] = stkeyassign14;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign15 = stkeyassign63;\r
-                       stkeyassign15.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign15.ID = 0;\r
-                       stkeyassign15.コード = 40;\r
-                       stkeyassignArray[ 11 ] = stkeyassign15;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign16 = stkeyassign63;\r
-                       stkeyassign16.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign16.ID = 0;\r
-                       stkeyassign16.コード = 0x71;\r
-                       stkeyassignArray[ 12 ] = stkeyassign16;\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.SD = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign17 = stkeyassign63;\r
-                       stkeyassign17.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign17.ID = 0;\r
-                       stkeyassign17.コード = 12;\r
-                       stkeyassignArray[ 0 ] = stkeyassign17;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign18 = stkeyassign63;\r
-                       stkeyassign18.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign18.ID = 0;\r
-                       stkeyassign18.コード = 0x7e;\r
-                       stkeyassignArray[ 1 ] = stkeyassign18;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign19 = stkeyassign63;\r
-                       stkeyassign19.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign19.ID = 0;\r
-                       stkeyassign19.コード = 0x21;\r
-                       stkeyassignArray[ 2 ] = stkeyassign19;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign20 = stkeyassign63;\r
-                       stkeyassign20.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign20.ID = 0;\r
-                       stkeyassign20.コード = 0x23;\r
-                       stkeyassignArray[ 3 ] = stkeyassign20;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign21 = stkeyassign63;\r
-                       stkeyassign21.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign21.ID = 0;\r
-                       stkeyassign21.コード = 0x24;\r
-                       stkeyassignArray[ 4 ] = stkeyassign21;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign22 = stkeyassign63;\r
-                       stkeyassign22.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign22.ID = 0;\r
-                       stkeyassign22.コード = 0x70;\r
-                       stkeyassignArray[ 5 ] = stkeyassign22;\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.BD = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign23 = stkeyassign63;\r
-                       stkeyassign23.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign23.ID = 0;\r
-                       stkeyassign23.コード = 0x1f;\r
-                       stkeyassignArray[ 0 ] = stkeyassign23;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign24 = stkeyassign63;\r
-                       stkeyassign24.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign24.ID = 0;\r
-                       stkeyassign24.コード = 0x30;\r
-                       stkeyassignArray[ 1 ] = stkeyassign24;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign25 = stkeyassign63;\r
-                       stkeyassign25.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign25.ID = 0;\r
-                       stkeyassign25.コード = 50;\r
-                       stkeyassignArray[ 2 ] = stkeyassign25;\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.HT = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign26 = stkeyassign63;\r
-                       stkeyassign26.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign26.ID = 0;\r
-                       stkeyassign26.コード = 11;\r
-                       stkeyassignArray[ 0 ] = stkeyassign26;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign27 = stkeyassign63;\r
-                       stkeyassign27.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign27.ID = 0;\r
-                       stkeyassign27.コード = 0x2f;\r
-                       stkeyassignArray[ 1 ] = stkeyassign27;\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.LT = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign28 = stkeyassign63;\r
-                       stkeyassign28.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign28.ID = 0;\r
-                       stkeyassign28.コード = 0x17;\r
-                       stkeyassignArray[ 0 ] = stkeyassign28;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign29 = stkeyassign63;\r
-                       stkeyassign29.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign29.ID = 0;\r
-                       stkeyassign29.コード = 0x29;\r
-                       stkeyassignArray[ 1 ] = stkeyassign29;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign30 = stkeyassign63;\r
-                       stkeyassign30.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign30.ID = 0;\r
-                       stkeyassign30.コード = 0x2b;\r
-                       stkeyassignArray[ 2 ] = stkeyassign30;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign31 = stkeyassign63;\r
-                       stkeyassign31.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign31.ID = 0;\r
-                       stkeyassign31.コード = 0x2d;\r
-                       stkeyassignArray[ 3 ] = stkeyassign31;\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.FT = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign32 = stkeyassign63;\r
-                       stkeyassign32.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign32.ID = 0;\r
-                       stkeyassign32.コード = 0x16;\r
-                       stkeyassignArray[ 0 ] = stkeyassign32;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign33 = stkeyassign63;\r
-                       stkeyassign33.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign33.ID = 0;\r
-                       stkeyassign33.コード = 0x31;\r
-                       stkeyassignArray[ 1 ] = stkeyassign33;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign34 = stkeyassign63;\r
-                       stkeyassign34.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign34.ID = 0;\r
-                       stkeyassign34.コード = 0x34;\r
-                       stkeyassignArray[ 2 ] = stkeyassign34;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign35 = stkeyassign63;\r
-                       stkeyassign35.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign35.ID = 0;\r
-                       stkeyassign35.コード = 0x37;\r
-                       stkeyassignArray[ 3 ] = stkeyassign35;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign36 = stkeyassign63;\r
-                       stkeyassign36.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign36.ID = 0;\r
-                       stkeyassign36.コード = 0x39;\r
-                       stkeyassignArray[ 4 ] = stkeyassign36;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign37 = stkeyassign63;\r
-                       stkeyassign37.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign37.ID = 0;\r
-                       stkeyassign37.コード = 0x5b;\r
-                       stkeyassignArray[ 5 ] = stkeyassign37;\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.CY = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign38 = stkeyassign63;\r
-                       stkeyassign38.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign38.ID = 0;\r
-                       stkeyassign38.コード = 10;\r
-                       stkeyassignArray[ 0 ] = stkeyassign38;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign39 = stkeyassign63;\r
-                       stkeyassign39.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign39.ID = 0;\r
-                       stkeyassign39.コード = 0x2e;\r
-                       stkeyassignArray[ 1 ] = stkeyassign39;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign40 = stkeyassign63;\r
-                       stkeyassign40.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign40.ID = 0;\r
-                       stkeyassign40.コード = 0x5c;\r
-                       stkeyassignArray[ 2 ] = stkeyassign40;\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.HHO = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign41 = stkeyassign63;\r
-                       stkeyassign41.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign41.ID = 0;\r
-                       stkeyassign41.コード = 20;\r
-                       stkeyassignArray[ 0 ] = stkeyassign41;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign42 = stkeyassign63;\r
-                       stkeyassign42.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign42.ID = 0;\r
-                       stkeyassign42.コード = 0x33;\r
-                       stkeyassignArray[ 1 ] = stkeyassign42;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign43 = stkeyassign63;\r
-                       stkeyassign43.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign43.ID = 0;\r
-                       stkeyassign43.コード = 0x35;\r
-                       stkeyassignArray[ 2 ] = stkeyassign43;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign44 = stkeyassign63;\r
-                       stkeyassign44.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign44.ID = 0;\r
-                       stkeyassign44.コード = 0x3b;\r
-                       stkeyassignArray[ 3 ] = stkeyassign44;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign45 = stkeyassign63;\r
-                       stkeyassign45.入力デバイス = E入力デバイス.MIDI入力;\r
-                       stkeyassign45.ID = 0;\r
-                       stkeyassign45.コード = 0x59;\r
-                       stkeyassignArray[ 4 ] = stkeyassign45;\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.RD = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign46 = stkeyassign63;\r
-                       stkeyassign46.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign46.ID = 0;\r
-                       stkeyassign46.コード = 0x1a;\r
-                       stkeyassignArray[ 0 ] = stkeyassign46;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Drums.LC = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign47 = stkeyassign63;\r
-                       stkeyassign47.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign47.ID = 0;\r
-                       stkeyassign47.コード = 0x37;\r
-                       stkeyassignArray[ 0 ] = stkeyassign47;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Guitar.R = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign48 = stkeyassign63;\r
-                       stkeyassign48.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign48.ID = 0;\r
-                       stkeyassign48.コード = 0x38;\r
-                       stkeyassignArray[ 0 ] = stkeyassign48;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Guitar.G = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign49 = stkeyassign63;\r
-                       stkeyassign49.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign49.ID = 0;\r
-                       stkeyassign49.コード = 0x39;\r
-                       stkeyassignArray[ 0 ] = stkeyassign49;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Guitar.B = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign50 = stkeyassign63;\r
-                       stkeyassign50.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign50.ID = 0;\r
-                       stkeyassign50.コード = 0x73;\r
-                       stkeyassignArray[ 0 ] = stkeyassign50;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign51 = stkeyassign63;\r
-                       stkeyassign51.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign51.ID = 0;\r
-                       stkeyassign51.コード = 0x2e;\r
-                       stkeyassignArray[ 1 ] = stkeyassign51;\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Guitar.Pick = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign52 = stkeyassign63;\r
-                       stkeyassign52.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign52.ID = 0;\r
-                       stkeyassign52.コード = 0x74;\r
-                       stkeyassignArray[ 0 ] = stkeyassign52;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Guitar.Wail = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign53 = stkeyassign63;\r
-                       stkeyassign53.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign53.ID = 0;\r
-                       stkeyassign53.コード = 0x3d;\r
-                       stkeyassignArray[ 0 ] = stkeyassign53;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Guitar.Cancel = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign54 = stkeyassign63;\r
-                       stkeyassign54.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign54.ID = 0;\r
-                       stkeyassign54.コード = 60;\r
-                       stkeyassignArray[ 0 ] = stkeyassign54;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Guitar.Decide = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[] { new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ) };\r
-                       this.KeyAssign.Guitar[ 7 ] = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[] { new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ) };\r
-                       this.KeyAssign.Guitar[ 8 ] = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[] { new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ) };\r
-                       this.KeyAssign.Guitar[ 9 ] = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign55 = stkeyassign63;\r
-                       stkeyassign55.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign55.ID = 0;\r
-                       stkeyassign55.コード = 90;\r
-                       stkeyassignArray[ 0 ] = stkeyassign55;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Bass.R = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign56 = stkeyassign63;\r
-                       stkeyassign56.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign56.ID = 0;\r
-                       stkeyassign56.コード = 0x5b;\r
-                       stkeyassignArray[ 0 ] = stkeyassign56;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Bass.G = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign57 = stkeyassign63;\r
-                       stkeyassign57.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign57.ID = 0;\r
-                       stkeyassign57.コード = 0x5c;\r
-                       stkeyassignArray[ 0 ] = stkeyassign57;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Bass.B = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign58 = stkeyassign63;\r
-                       stkeyassign58.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign58.ID = 0;\r
-                       stkeyassign58.コード = 0x67;\r
-                       stkeyassignArray[ 0 ] = stkeyassign58;\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign59 = stkeyassign63;\r
-                       stkeyassign59.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign59.ID = 0;\r
-                       stkeyassign59.コード = 100;\r
-                       stkeyassignArray[ 1 ] = stkeyassign59;\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Bass.Pick = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign60 = stkeyassign63;\r
-                       stkeyassign60.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign60.ID = 0;\r
-                       stkeyassign60.コード = 0x59;\r
-                       stkeyassignArray[ 0 ] = stkeyassign60;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Bass.Wail = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
-                       CKeyAssign.STKEYASSIGN stkeyassign61 = stkeyassign63;\r
-                       stkeyassign61.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign61.ID = 0;\r
-                       stkeyassign61.コード = 0x61;\r
-                       stkeyassignArray[ 0 ] = stkeyassign61;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Bass.Cancel = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
-                       CKeyAssign.STKEYASSIGN stkeyassign62 = new CKeyAssign.STKEYASSIGN();\r
-                       stkeyassign62.入力デバイス = E入力デバイス.キーボード;\r
-                       stkeyassign62.ID = 0;\r
-                       stkeyassign62.コード = 0x60;\r
-                       stkeyassignArray[ 0 ] = stkeyassign62;\r
-                       stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
-                       this.KeyAssign.Bass.Decide = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[] { new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ) };\r
-                       this.KeyAssign.Bass[ 7 ] = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[] { new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ) };\r
-                       this.KeyAssign.Bass[ 8 ] = stkeyassignArray;\r
-                       stkeyassignArray = new CKeyAssign.STKEYASSIGN[] { new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ), new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 ) };\r
-                       this.KeyAssign.Bass[ 9 ] = stkeyassignArray;\r
+\r
+                       string strDefaultKeyAssign = @"\r
+[DrumsKeyAssign]\r
+\r
+HH=K035,M042,M093\r
+SD=K033,M025,M026,M027,M028,M029,M031,M032,M034,M037,M038,M040,M0113\r
+BD=K012,K0126,M033,M035,M036,M0112\r
+HT=K031,M048,M050\r
+LT=K011,M047\r
+FT=K023,M041,M043,M045\r
+CY=K022,M049,M052,M055,M057,M091\r
+HO=K010,M046,M092\r
+RD=K020,M051,M053,M059,M089\r
+LC=K026\r
+\r
+[GuitarKeyAssign]\r
+\r
+R=K055\r
+G=K056,J012\r
+B=K057\r
+Pick=K0115,K046,J06\r
+Wail=K0116\r
+Decide=K060\r
+Cancel=K061\r
+\r
+[BassKeyAssign]\r
+\r
+R=K090\r
+G=K091,J013\r
+B=K092\r
+Pick=K0103,K0100,J08\r
+Wail=K089\r
+Decide=K096\r
+Cancel=K097\r
+\r
+[SystemKeyAssign]\r
+Capture=K065\r
+";\r
+                       t文字列から読み込み( strDefaultKeyAssign );\r
                }\r
                //-----------------\r
                #endregion\r
index 24eaa89..ee7be8b 100644 (file)
@@ -300,6 +300,34 @@ namespace DTXMania
                        }\r
                }\r
 \r
+               #region [ #24609 リザルト画像をpngで保存する ]              // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill.\r
+               /// <summary>\r
+               /// リザルト画像のキャプチャと保存。\r
+               /// </summary>\r
+               /// <param name="strFilename">保存するファイル名(フルパス)</param>\r
+               public bool SaveResultScreen( string strFullPath )\r
+               {\r
+                       string strSavePath = Path.GetDirectoryName( strFullPath );\r
+                       if ( !Directory.Exists( strSavePath ) )\r
+                       {\r
+                               try\r
+                               {\r
+                                       Directory.CreateDirectory( strSavePath );\r
+                               }\r
+                               catch\r
+                               {\r
+                                       return false;\r
+                               }\r
+                       }\r
+\r
+                       // http://www.gamedev.net/topic/594369-dx9slimdxati-incorrect-saving-surface-to-file/\r
+                       using ( Surface pSurface = CDTXMania.app.Device.GetRenderTarget( 0 ) )\r
+                       {\r
+                               Surface.ToFile( pSurface, strFullPath, ImageFileFormat.Png );\r
+                       }\r
+                       return true;\r
+               }\r
+               #endregion\r
 \r
                // Game 実装\r
 \r
@@ -480,7 +508,7 @@ namespace DTXMania
                                                switch( this.n進行描画の戻り値 )\r
                                                {\r
                                                        case (int)CStageタイトル.E戻り値.GAMESTART:\r
-                                                               #region [ *** ]\r
+                                                               #region [ 選曲処理へ ]\r
                                                                //-----------------------------\r
                                                                r現在のステージ.On非活性化();\r
                                                                Trace.TraceInformation( "----------------------" );\r
@@ -544,61 +572,61 @@ namespace DTXMania
                                                #endregion\r
                                                break;\r
 \r
-                                       case CStage.Eステージ.オプション:\r
+//                                     case CStage.Eステージ.オプション:\r
                                                #region [ *** ]\r
-                                               //-----------------------------\r
-                                               if( this.n進行描画の戻り値 != 0 )\r
-                                               {\r
-                                                       switch( r直前のステージ.eステージID )\r
-                                                       {\r
-                                                               case CStage.Eステージ.タイトル:\r
-                                                                       #region [ *** ]\r
-                                                                       //-----------------------------\r
-                                                                       r現在のステージ.On非活性化();\r
-                                                                       Trace.TraceInformation( "----------------------" );\r
-                                                                       Trace.TraceInformation( "■ タイトル" );\r
-                                                                       stageタイトル.On活性化();\r
-                                                                       r直前のステージ = r現在のステージ;\r
-                                                                       r現在のステージ = stageタイトル;\r
-\r
-                                                                       foreach( STPlugin pg in this.listプラグイン )\r
-                                                                       {\r
-                                                                               Directory.SetCurrentDirectory( pg.strプラグインフォルダ );\r
-                                                                               pg.plugin.Onステージ変更();\r
-                                                                               Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ );\r
-                                                                       }\r
-\r
-                                                                       this.tガベージコレクションを実行する();\r
-                                                                       break;\r
-                                                               //-----------------------------\r
-                                                                       #endregion\r
-\r
-                                                               case CStage.Eステージ.選曲:\r
-                                                                       #region [ *** ]\r
-                                                                       //-----------------------------\r
-                                                                       r現在のステージ.On非活性化();\r
-                                                                       Trace.TraceInformation( "----------------------" );\r
-                                                                       Trace.TraceInformation( "■ 選曲" );\r
-                                                                       stage選曲.On活性化();\r
-                                                                       r直前のステージ = r現在のステージ;\r
-                                                                       r現在のステージ = stage選曲;\r
-\r
-                                                                       foreach( STPlugin pg in this.listプラグイン )\r
-                                                                       {\r
-                                                                               Directory.SetCurrentDirectory( pg.strプラグインフォルダ );\r
-                                                                               pg.plugin.Onステージ変更();\r
-                                                                               Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ );\r
-                                                                       }\r
-\r
-                                                                       this.tガベージコレクションを実行する();\r
-                                                                       break;\r
-                                                               //-----------------------------\r
-                                                                       #endregion\r
-                                                       }\r
-                                               }\r
-                                               //-----------------------------\r
+//                                             //-----------------------------\r
+//                                             if( this.n進行描画の戻り値 != 0 )\r
+//                                             {\r
+//                                                     switch( r直前のステージ.eステージID )\r
+//                                                     {\r
+//                                                             case CStage.Eステージ.タイトル:\r
+//                                                                     #region [ *** ]\r
+//                                                                     //-----------------------------\r
+//                                                                     r現在のステージ.On非活性化();\r
+//                                                                     Trace.TraceInformation( "----------------------" );\r
+//                                                                     Trace.TraceInformation( "■ タイトル" );\r
+//                                                                     stageタイトル.On活性化();\r
+//                                                                     r直前のステージ = r現在のステージ;\r
+//                                                                     r現在のステージ = stageタイトル;\r
+//                                             \r
+//                                                                     foreach( STPlugin pg in this.listプラグイン )\r
+//                                                                     {\r
+//                                                                             Directory.SetCurrentDirectory( pg.strプラグインフォルダ );\r
+//                                                                             pg.plugin.Onステージ変更();\r
+//                                                                             Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ );\r
+//                                                                     }\r
+//                                             \r
+//                                                                     this.tガベージコレクションを実行する();\r
+//                                                                     break;\r
+//                                                             //-----------------------------\r
+//                                                                     #endregion\r
+//\r
+//                                                             case CStage.Eステージ.選曲:\r
+//                                                                     #region [ *** ]\r
+//                                                                     //-----------------------------\r
+//                                                                     r現在のステージ.On非活性化();\r
+//                                                                     Trace.TraceInformation( "----------------------" );\r
+//                                                                     Trace.TraceInformation( "■ 選曲" );\r
+//                                                                     stage選曲.On活性化();\r
+//                                                                     r直前のステージ = r現在のステージ;\r
+//                                                                     r現在のステージ = stage選曲;\r
+//\r
+//                                                                     foreach( STPlugin pg in this.listプラグイン )\r
+//                                                                     {\r
+//                                                                             Directory.SetCurrentDirectory( pg.strプラグインフォルダ );\r
+//                                                                             pg.plugin.Onステージ変更();\r
+//                                                                             Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ );\r
+//                                                                     }\r
+//\r
+//                                                                     this.tガベージコレクションを実行する();\r
+//                                                                     break;\r
+//                                                             //-----------------------------\r
+//                                                                     #endregion\r
+//                                                     }\r
+//                                             }\r
+//                                             //-----------------------------\r
                                                #endregion\r
-                                               break;\r
+//                                             break;\r
 \r
                                        case CStage.Eステージ.コンフィグ:\r
                                                #region [ *** ]\r
@@ -705,26 +733,26 @@ namespace DTXMania
                                                        //-----------------------------\r
                                                                #endregion\r
 \r
-                                                       case 3:\r
+//                                                     case 3:\r
                                                                #region [ *** ]\r
-                                                               //-----------------------------\r
-                                                               r現在のステージ.On非活性化();\r
-                                                               Trace.TraceInformation( "----------------------" );\r
-                                                               Trace.TraceInformation( "■ オプション" );\r
-                                                               stageオプション.On活性化();\r
-                                                               r直前のステージ = r現在のステージ;\r
-                                                               r現在のステージ = stageオプション;\r
-\r
-                                                               foreach( STPlugin pg in this.listプラグイン )\r
-                                                               {\r
-                                                                       Directory.SetCurrentDirectory( pg.strプラグインフォルダ );\r
-                                                                       pg.plugin.Onステージ変更();\r
-                                                                       Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ );\r
-                                                               }\r
-\r
-                                                               this.tガベージコレクションを実行する();\r
-                                                               break;\r
-                                                       //-----------------------------\r
+//                                                             //-----------------------------\r
+//                                                             r現在のステージ.On非活性化();\r
+//                                                             Trace.TraceInformation( "----------------------" );\r
+//                                                             Trace.TraceInformation( "■ オプション" );\r
+//                                                             stageオプション.On活性化();\r
+//                                                             r直前のステージ = r現在のステージ;\r
+//                                                             r現在のステージ = stageオプション;\r
+//\r
+//                                                             foreach( STPlugin pg in this.listプラグイン )\r
+//                                                             {\r
+//                                                                     Directory.SetCurrentDirectory( pg.strプラグインフォルダ );\r
+//                                                                     pg.plugin.Onステージ変更();\r
+//                                                                     Directory.SetCurrentDirectory( CDTXMania.strEXEのあるフォルダ );\r
+//                                                             }\r
+//\r
+//                                                             this.tガベージコレクションを実行する();\r
+//                                                             break;\r
+//                                                     //-----------------------------\r
                                                                #endregion\r
 \r
                                                        case 4:\r
@@ -1167,7 +1195,7 @@ for (int i = 0; i < 3; i++) {
                        {\r
                                try\r
                                {\r
-                                       ConfigIni.t読み込み( path );\r
+                                       ConfigIni.tファイルから読み込み( path );\r
                                }\r
                                catch\r
                                {\r
@@ -1259,6 +1287,7 @@ for (int i = 0; i < 3; i++) {
                        }\r
 \r
                        base.IsFixedTimeStep = false;\r
+//                     base.TargetElapsedTime = TimeSpan.FromTicks( 10000000 / 75 );\r
                        base.Window.ClientSize = new Size(ConfigIni.nウインドウwidth, ConfigIni.nウインドウheight);   // #23510 2010.10.31 yyagi: to recover window size. width and height are able to get from Config.ini.\r
                        base.InactiveSleepTime = TimeSpan.FromMilliseconds((float)(ConfigIni.n非フォーカス時スリープms));    // #23568 2010.11.3 yyagi: to support valiable sleep value when !IsActive\r
                                                                                                                                                                                                                                // #23568 2010.11.4 ikanick changed ( 1 -> ConfigIni )\r
@@ -1838,6 +1867,20 @@ for (int i = 0; i < 3; i++) {
                                e.Handled = true;\r
                                e.SuppressKeyPress = true;\r
                        }\r
+                       else\r
+                       {\r
+                               for ( int i = 0; i < 0x10; i++ )\r
+                               {\r
+                                       if ( e.KeyCode == DeviceConstantConverter.KeyToKeyCode( (SlimDX.DirectInput.Key) ConfigIni.KeyAssign.System.Capture[ i ].コード ) )\r
+                                       {\r
+// Debug.WriteLine( "capture: " + string.Format( "{0:2x}", (int) e.KeyCode ) + " " + (int) e.KeyCode );\r
+                                               string strFullPath =\r
+                                                  Path.Combine( CDTXMania.strEXEのあるフォルダ, "Capture_img" );\r
+                                               strFullPath = Path.Combine( strFullPath, DateTime.Now.ToString( "yyyyMMddHHmmss" ) + ".png" );\r
+                                               SaveResultScreen( strFullPath );\r
+                                       }\r
+                               }\r
+                       }\r
                }\r
                private CScoreIni tScoreIniへBGMAdjustとHistoryとPlayCountを更新(string str新ヒストリ行)\r
                {\r
index b1ce06d..54cd46e 100644 (file)
@@ -36,46 +36,68 @@ namespace DTXMania
        }\r
        public enum Eパッド\r
        {\r
-               HH = 0,\r
-               R = 0,\r
-               SD = 1,\r
-               G = 1,\r
-               BD = 2,\r
-               B = 2,\r
-               HT = 3,\r
-               Pick = 3,\r
-               LT = 4,\r
-               Wail = 4,\r
-               FT = 5,\r
-               Cancel = 5,\r
-               CY = 6,\r
-               Decide = 6,\r
-               HHO = 7,\r
-               RD = 8,\r
-               LC = 9,\r
+               HH              = 0,\r
+               R               = 0,\r
+               SD              = 1,\r
+               G               = 1,\r
+               BD              = 2,\r
+               B               = 2,\r
+               HT              = 3,\r
+               Pick    = 3,\r
+               LT              = 4,\r
+               Wail    = 4,\r
+               FT              = 5,\r
+               Cancel  = 5,\r
+               CY              = 6,\r
+               Decide  = 6,\r
+               HHO             = 7,\r
+               RD              = 8,\r
+               LC              = 9,\r
                UNKNOWN = 99\r
        }\r
+       public enum EKeyConfigPad               // # 24609 \r
+       {\r
+               HH              = Eパッド.HH,\r
+               R               = Eパッド.R,\r
+               SD              = Eパッド.SD,\r
+               G               = Eパッド.G,\r
+               BD              = Eパッド.BD,\r
+               B               = Eパッド.B,\r
+               HT              = Eパッド.HT,\r
+               Pick    = Eパッド.Pick,\r
+               LT              = Eパッド.LT,\r
+               Wail    = Eパッド.Wail,\r
+               FT              = Eパッド.FT,\r
+               Cancel  = Eパッド.Cancel,\r
+               CY              = Eパッド.CY,\r
+               Decide  = Eパッド.Decide,\r
+               HHO             = Eパッド.HHO,\r
+               RD              = Eパッド.RD,\r
+               LC              = Eパッド.LC,\r
+               Capture,\r
+               UNKNOWN = Eパッド.UNKNOWN\r
+       }\r
        [Flags]\r
        public enum EパッドFlag              // #24063 2011.1.16 yyagi コマンド入力用 パッド入力のフラグ化\r
        {\r
-               None=0,\r
-               HH = 1,\r
-               R = 1,\r
-               SD = 2,\r
-               G = 2,\r
-               B = 4,\r
-               BD = 4,\r
-               HT = 8,\r
-               Pick = 8,\r
-               LT = 16,\r
-               Wail = 16,\r
-               FT = 32,\r
-               Cancel = 32,\r
-               CY = 64,\r
-               Decide = 128,\r
-               HHO = 128,\r
-               RD = 256,\r
-               LC = 512,\r
+               None    = 0,\r
+               HH              = 1,\r
+               R               = 1,\r
+               SD              = 2,\r
+               G               = 2,\r
+               B               = 4,\r
+               BD              = 4,\r
+               HT              = 8,\r
+               Pick    = 8,\r
+               LT              = 16,\r
+               Wail    = 16,\r
+               FT              = 32,\r
+               Cancel  = 32,\r
+               CY              = 64,\r
+               Decide  = 128,\r
+               HHO             = 128,\r
+               RD              = 256,\r
+               LC              = 512,\r
                UNKNOWN = 1024\r
        }\r
        public enum Eランダムモード\r
@@ -87,11 +109,20 @@ namespace DTXMania
        }\r
        public enum E楽器パート\r
        {\r
-               BASS = 2,\r
-               DRUMS = 0,\r
-               GUITAR = 1,\r
-               UNKNOWN = 0x63\r
+               DRUMS   = 0,\r
+               GUITAR  = 1,\r
+               BASS    = 2,\r
+               UNKNOWN = 0x63\r
        }\r
+       public enum EKeyConfigPart      // : E楽器パート\r
+       {\r
+               DRUMS   = E楽器パート.DRUMS,\r
+               GUITAR  = E楽器パート.GUITAR,\r
+               BASS    = E楽器パート.BASS,\r
+               SYSTEM,\r
+               UNKNOWN = E楽器パート.UNKNOWN\r
+       }\r
+\r
        public enum E打ち分け時の再生の優先順位\r
        {\r
                ChipがPadより優先,\r
@@ -99,11 +130,11 @@ namespace DTXMania
        }\r
        internal enum E入力デバイス\r
        {\r
-               MIDI入力 = 1,\r
-               キーボード = 0,\r
-               ジョイパッド = 2,\r
-               マウス = 3,\r
-               不明 = -1\r
+               キーボード         = 0,\r
+               MIDI入力              = 1,\r
+               ジョイパッド      = 2,\r
+               マウス                       = 3,\r
+               不明                  = -1\r
        }\r
        internal enum E判定\r
        {\r
index 38b58cb..5b4ff10 100644 (file)
@@ -34,6 +34,6 @@ using System.Resources;
 // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
 // 既定値にすることができます:\r
 // [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion( "18.0.0.1" )]\r
-[assembly: AssemblyFileVersion( "18.0.0.1" )]\r
+[assembly: AssemblyVersion( "19.0.0.0" )]\r
+[assembly: AssemblyFileVersion( "19.0.0.0" )]\r
 [assembly: NeutralResourcesLanguageAttribute("ja-JP")]\r
index 97440f0..764dbd3 100644 (file)
@@ -1,6 +1,7 @@
 using System;\r
 using System.Collections.Generic;\r
 using System.Text;\r
+using System.Windows.Forms;\r
 using SlimDX.DirectInput;\r
 \r
 namespace FDK\r
@@ -885,5 +886,443 @@ namespace FDK
                        }\r
                        return 0;\r
                }\r
+               public static Keys KeyToKeyCode( Key key )\r
+               {\r
+                       switch ( key )\r
+                       {\r
+                               case Key.D0:\r
+                                       return Keys.D0;\r
+\r
+                               case Key.D1:\r
+                                       return Keys.D1;\r
+\r
+                               case Key.D2:\r
+                                       return Keys.D2;\r
+\r
+                               case Key.D3:\r
+                                       return Keys.D3;\r
+\r
+                               case Key.D4:\r
+                                       return Keys.D4;\r
+\r
+                               case Key.D5:\r
+                                       return Keys.D5;\r
+\r
+                               case Key.D6:\r
+                                       return Keys.D6;\r
+\r
+                               case Key.D7:\r
+                                       return Keys.D7;\r
+\r
+                               case Key.D8:\r
+                                       return Keys.D8;\r
+\r
+                               case Key.D9:\r
+                                       return Keys.D9;\r
+\r
+                               case Key.A:\r
+                                       return Keys.A;\r
+\r
+                               case Key.B:\r
+                                       return Keys.B;\r
+\r
+                               case Key.C:\r
+                                       return Keys.C;\r
+\r
+                               case Key.D:\r
+                                       return Keys.D;\r
+\r
+                               case Key.E:\r
+                                       return Keys.E;\r
+\r
+                               case Key.F:\r
+                                       return Keys.F;\r
+\r
+                               case Key.G:\r
+                                       return Keys.G;\r
+\r
+                               case Key.H:\r
+                                       return Keys.H;\r
+\r
+                               case Key.I:\r
+                                       return Keys.I;\r
+\r
+                               case Key.J:\r
+                                       return Keys.J;\r
+\r
+                               case Key.K:\r
+                                       return Keys.K;\r
+\r
+                               case Key.L:\r
+                                       return Keys.L;\r
+\r
+                               case Key.M:\r
+                                       return Keys.M;\r
+\r
+                               case Key.N:\r
+                                       return Keys.N;\r
+\r
+                               case Key.O:\r
+                                       return Keys.O;\r
+\r
+                               case Key.P:\r
+                                       return Keys.P;\r
+\r
+                               case Key.Q:\r
+                                       return Keys.Q;\r
+\r
+                               case Key.R:\r
+                                       return Keys.R;\r
+\r
+                               case Key.S:\r
+                                       return Keys.S;\r
+\r
+                               case Key.T:\r
+                                       return Keys.T;\r
+\r
+                               case Key.U:\r
+                                       return Keys.U;\r
+\r
+                               case Key.V:\r
+                                       return Keys.V;\r
+\r
+                               case Key.W:\r
+                                       return Keys.W;\r
+\r
+                               case Key.X:\r
+                                       return Keys.X;\r
+\r
+                               case Key.Y:\r
+                                       return Keys.Y;\r
+\r
+                               case Key.Z:\r
+                                       return Keys.Z;\r
+\r
+//                             case Key.AbntC1:\r
+//                                     return Keys.A; //0x73;\r
+                                       //147\r
+//                             case Key.AbntC2:\r
+//                                     return Keys.A; //0x7e;\r
+\r
+//                             case Key.Apostrophe:\r
+//                                     return Keys.A;                  ///\r
+\r
+                               case Key.Applications:\r
+                                       return Keys.Apps;\r
+\r
+                               case Key.AT:\r
+                                       return Keys.Oem3;\r
+\r
+//                             case Key.AX:\r
+//                                     return Keys.A;                  ///\r
+\r
+                               case Key.Backspace:\r
+                                       return Keys.Back;\r
+\r
+                               case Key.Backslash:\r
+                                       return Keys.Oem5;\r
+\r
+//                             case Key.Calculator:\r
+//                                     return Keys.A;                  ///\r
+\r
+                               case Key.CapsLock:\r
+                                       return Keys.CapsLock;\r
+\r
+                               case Key.Colon:\r
+                                       return Keys.Oem1;\r
+\r
+                               case Key.Comma:\r
+                                       return Keys.Oemcomma;\r
+\r
+                               case Key.Convert:\r
+                                       return Keys.IMEConvert;\r
+\r
+                               case Key.Delete:\r
+                                       return Keys.Delete;\r
+\r
+                               case Key.DownArrow:\r
+                                       return Keys.Down;\r
+\r
+                               case Key.End:\r
+                                       return Keys.End;\r
+\r
+                               case Key.Equals:\r
+                                       return Keys.A;                  ///\r
+\r
+                               case Key.Escape:\r
+                                       return Keys.Escape;\r
+\r
+                               case Key.F1:\r
+                                       return Keys.F1;\r
+\r
+                               case Key.F2:\r
+                                       return Keys.F2;\r
+\r
+                               case Key.F3:\r
+                                       return Keys.F3;\r
+\r
+                               case Key.F4:\r
+                                       return Keys.F4;\r
+\r
+                               case Key.F5:\r
+                                       return Keys.F5;\r
+\r
+                               case Key.F6:\r
+                                       return Keys.F6;\r
+\r
+                               case Key.F7:\r
+                                       return Keys.F7;\r
+\r
+                               case Key.F8:\r
+                                       return Keys.F8;\r
+\r
+                               case Key.F9:\r
+                                       return Keys.F9;\r
+\r
+                               case Key.F10:\r
+                                       return Keys.F10;\r
+\r
+                               case Key.F11:\r
+                                       return Keys.F11;\r
+\r
+                               case Key.F12:\r
+                                       return Keys.F12;\r
+\r
+                               case Key.F13:\r
+                                       return Keys.F13;\r
+\r
+                               case Key.F14:\r
+                                       return Keys.F14;\r
+\r
+                               case Key.F15:\r
+                                       return Keys.F15;\r
+\r
+                               case Key.Grave:\r
+                                       return Keys.A;                  ///\r
+\r
+                               case Key.Home:\r
+                                       return Keys.Home;\r
+\r
+                               case Key.Insert:\r
+                                       return Keys.Insert;\r
+\r
+                               case Key.Kana:\r
+                                       return Keys.KanaMode;\r
+\r
+                               case Key.Kanji:\r
+                                       return Keys.KanjiMode;\r
+\r
+                               case Key.LeftBracket:\r
+                                       return Keys.Oem4;\r
+\r
+                               case Key.LeftControl:\r
+                                       return Keys.LControlKey;\r
+\r
+                               case Key.LeftArrow:\r
+                                       return Keys.Left;\r
+\r
+                               case Key.LeftAlt:\r
+                                       return Keys.LMenu;\r
+\r
+                               case Key.LeftShift:\r
+                                       return Keys.LShiftKey;\r
+\r
+                               case Key.LeftWindowsKey:\r
+                                       return Keys.LWin;\r
+\r
+                               case Key.Mail:\r
+                                       return Keys.LaunchMail;\r
+\r
+                               case Key.MediaSelect:\r
+                                       return Keys.SelectMedia;\r
+\r
+                               case Key.MediaStop:\r
+                                       return Keys.MediaStop;\r
+\r
+                               case Key.Minus:\r
+                                       return Keys.OemMinus;\r
+\r
+                               case Key.Mute:\r
+                                       return Keys.VolumeMute;\r
+\r
+                               case Key.MyComputer:                    ///\r
+                                       return Keys.A;\r
+\r
+                               case Key.NextTrack:\r
+                                       return Keys.MediaNextTrack;\r
+\r
+                               case Key.NoConvert:\r
+                                       return Keys.IMENonconvert;\r
+\r
+                               case Key.NumberLock:\r
+                                       return Keys.NumLock;\r
+\r
+                               case Key.NumberPad0:\r
+                                       return Keys.NumPad0;\r
+\r
+                               case Key.NumberPad1:\r
+                                       return Keys.NumPad1;\r
+\r
+                               case Key.NumberPad2:\r
+                                       return Keys.NumPad2;\r
+\r
+                               case Key.NumberPad3:\r
+                                       return Keys.NumPad3;\r
+\r
+                               case Key.NumberPad4:\r
+                                       return Keys.NumPad4;\r
+\r
+                               case Key.NumberPad5:\r
+                                       return Keys.NumPad5;\r
+\r
+                               case Key.NumberPad6:\r
+                                       return Keys.NumPad6;\r
+\r
+                               case Key.NumberPad7:\r
+                                       return Keys.NumPad7;\r
+\r
+                               case Key.NumberPad8:\r
+                                       return Keys.NumPad8;\r
+\r
+                               case Key.NumberPad9:\r
+                                       return Keys.NumPad9;\r
+\r
+                               case Key.NumberPadComma:\r
+                                       return Keys.Separator;\r
+\r
+                               case Key.NumberPadEnter:\r
+                                       return Keys.A;                          //\r
+\r
+                               case Key.NumberPadEquals:\r
+                                       return Keys.A;                          //\r
+\r
+                               case Key.NumberPadMinus:\r
+                                       return Keys.Subtract;\r
+\r
+                               case Key.NumberPadPeriod:\r
+                                       return Keys.Decimal;\r
+\r
+                               case Key.NumberPadPlus:\r
+                                       return Keys.Add;\r
+\r
+                               case Key.NumberPadSlash:\r
+                                       return Keys.Divide;\r
+\r
+                               case Key.NumberPadStar:\r
+                                       return Keys.Multiply;           //\r
+\r
+                               case Key.Oem102:\r
+                                       return Keys.Oem102;\r
+\r
+                               case Key.PageDown:\r
+                                       return Keys.PageDown;\r
+\r
+                               case Key.PageUp:\r
+                                       return Keys.PageUp;\r
+\r
+                               case Key.Pause:\r
+                                       return Keys.Pause;\r
+\r
+                               case Key.Period:\r
+                                       return Keys.OemPeriod;\r
+\r
+                               case Key.PlayPause:\r
+                                       return Keys.MediaPlayPause;\r
+\r
+                               case Key.Power:\r
+                                       return Keys.A;                          ///\r
+\r
+                               case Key.PreviousTrack:\r
+                                       return Keys.MediaPreviousTrack;\r
+\r
+                               case Key.RightBracket:\r
+                                       return Keys.Oem6;\r
+\r
+                               case Key.RightControl:\r
+                                       return Keys.RControlKey;\r
+\r
+                               case Key.Return:\r
+                                       return Keys.Return;\r
+\r
+                               case Key.RightArrow:\r
+                                       return Keys.Right;\r
+\r
+                               case Key.RightAlt:\r
+                                       return Keys.RMenu;\r
+\r
+                               case Key.RightShift:\r
+                                       return Keys.A;\r
+\r
+                               case Key.RightWindowsKey:\r
+                                       return Keys.RWin;\r
+\r
+                               case Key.ScrollLock:\r
+                                       return Keys.Scroll;\r
+\r
+                               case Key.Semicolon:\r
+                                       return Keys.Oemplus;            ///??\r
+\r
+                               case Key.Slash:\r
+                                       return Keys.Oem2;\r
+\r
+                               case Key.Sleep:\r
+                                       return Keys.Sleep;\r
+\r
+                               case Key.Space:\r
+                                       return Keys.Space;\r
+\r
+                               case Key.Stop:\r
+                                       return Keys.MediaStop;\r
+\r
+                               case Key.PrintScreen:\r
+                                       return Keys.PrintScreen;\r
+\r
+                               case Key.Tab:\r
+                                       return Keys.Tab;\r
+\r
+                               case Key.Underline:\r
+                                       return Keys.Oem102;\r
+\r
+//                             case Key.Unlabeled:                             ///\r
+//                                     return Keys.A;\r
+\r
+                               case Key.UpArrow:\r
+                                       return Keys.Up;\r
+\r
+                               case Key.VolumeDown:\r
+                                       return Keys.VolumeDown;\r
+\r
+                               case Key.VolumeUp:\r
+                                       return Keys.VolumeUp;\r
+\r
+                               case Key.Wake:\r
+                                       return Keys.A;                          ///\r
+\r
+                               case Key.WebBack:\r
+                                       return Keys.BrowserBack;\r
+\r
+                               case Key.WebFavorites:\r
+                                       return Keys.BrowserFavorites;\r
+\r
+                               case Key.WebForward:\r
+                                       return Keys.BrowserForward;\r
+\r
+                               case Key.WebHome:\r
+                                       return Keys.BrowserHome;\r
+\r
+                               case Key.WebRefresh:\r
+                                       return Keys.BrowserRefresh;\r
+\r
+                               case Key.WebSearch:\r
+                                       return Keys.BrowserSearch;\r
+\r
+                               case Key.WebStop:\r
+                                       return Keys.BrowserStop;\r
+\r
+                               case Key.Yen:\r
+                                       return Keys.OemBackslash;\r
+                       }\r
+                       return 0;\r
+               }\r
        }\r
 }\r