OSDN Git Service

#23580 InputAdjustで設定できる値の範囲を-99~0msまでに狭めた。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / 全体 / CConfigIni.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 using System.Runtime.InteropServices;\r
5 using System.IO;\r
6 using System.Diagnostics;\r
7 using FDK;\r
8 \r
9 namespace DTXMania\r
10 {\r
11         internal class CConfigIni\r
12         {\r
13                 // クラス\r
14 \r
15                 public class CKeyAssign\r
16                 {\r
17                         public class CKeyAssignPad\r
18                         {\r
19                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] B\r
20                                 {\r
21                                         get\r
22                                         {\r
23                                                 return this.padBD_B;\r
24                                         }\r
25                                         set\r
26                                         {\r
27                                                 this.padBD_B = value;\r
28                                         }\r
29                                 }\r
30                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] BD\r
31                                 {\r
32                                         get\r
33                                         {\r
34                                                 return this.padBD_B;\r
35                                         }\r
36                                         set\r
37                                         {\r
38                                                 this.padBD_B = value;\r
39                                         }\r
40                                 }\r
41                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] Cancel\r
42                                 {\r
43                                         get\r
44                                         {\r
45                                                 return this.padFT_Cancel;\r
46                                         }\r
47                                         set\r
48                                         {\r
49                                                 this.padFT_Cancel = value;\r
50                                         }\r
51                                 }\r
52                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] CY\r
53                                 {\r
54                                         get\r
55                                         {\r
56                                                 return this.padCY_Decide;\r
57                                         }\r
58                                         set\r
59                                         {\r
60                                                 this.padCY_Decide = value;\r
61                                         }\r
62                                 }\r
63                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] Decide\r
64                                 {\r
65                                         get\r
66                                         {\r
67                                                 return this.padCY_Decide;\r
68                                         }\r
69                                         set\r
70                                         {\r
71                                                 this.padCY_Decide = value;\r
72                                         }\r
73                                 }\r
74                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] FT\r
75                                 {\r
76                                         get\r
77                                         {\r
78                                                 return this.padFT_Cancel;\r
79                                         }\r
80                                         set\r
81                                         {\r
82                                                 this.padFT_Cancel = value;\r
83                                         }\r
84                                 }\r
85                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] G\r
86                                 {\r
87                                         get\r
88                                         {\r
89                                                 return this.padSD_G;\r
90                                         }\r
91                                         set\r
92                                         {\r
93                                                 this.padSD_G = value;\r
94                                         }\r
95                                 }\r
96                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] HH\r
97                                 {\r
98                                         get\r
99                                         {\r
100                                                 return this.padHH_R;\r
101                                         }\r
102                                         set\r
103                                         {\r
104                                                 this.padHH_R = value;\r
105                                         }\r
106                                 }\r
107                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] HHO\r
108                                 {\r
109                                         get\r
110                                         {\r
111                                                 return this.padHHO;\r
112                                         }\r
113                                         set\r
114                                         {\r
115                                                 this.padHHO = value;\r
116                                         }\r
117                                 }\r
118                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] HT\r
119                                 {\r
120                                         get\r
121                                         {\r
122                                                 return this.padHT_Pick;\r
123                                         }\r
124                                         set\r
125                                         {\r
126                                                 this.padHT_Pick = value;\r
127                                         }\r
128                                 }\r
129                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] this[ int index ]\r
130                                 {\r
131                                         get\r
132                                         {\r
133                                                 switch( index )\r
134                                                 {\r
135                                                         case 0:\r
136                                                                 return this.padHH_R;\r
137 \r
138                                                         case 1:\r
139                                                                 return this.padSD_G;\r
140 \r
141                                                         case 2:\r
142                                                                 return this.padBD_B;\r
143 \r
144                                                         case 3:\r
145                                                                 return this.padHT_Pick;\r
146 \r
147                                                         case 4:\r
148                                                                 return this.padLT_Wail;\r
149 \r
150                                                         case 5:\r
151                                                                 return this.padFT_Cancel;\r
152 \r
153                                                         case 6:\r
154                                                                 return this.padCY_Decide;\r
155 \r
156                                                         case 7:\r
157                                                                 return this.padHHO;\r
158 \r
159                                                         case 8:\r
160                                                                 return this.padRD;\r
161 \r
162                                                         case 9:\r
163                                                                 return this.padLC;\r
164                                                 }\r
165                                                 throw new IndexOutOfRangeException();\r
166                                         }\r
167                                         set\r
168                                         {\r
169                                                 switch( index )\r
170                                                 {\r
171                                                         case 0:\r
172                                                                 this.padHH_R = value;\r
173                                                                 return;\r
174 \r
175                                                         case 1:\r
176                                                                 this.padSD_G = value;\r
177                                                                 return;\r
178 \r
179                                                         case 2:\r
180                                                                 this.padBD_B = value;\r
181                                                                 return;\r
182 \r
183                                                         case 3:\r
184                                                                 this.padHT_Pick = value;\r
185                                                                 return;\r
186 \r
187                                                         case 4:\r
188                                                                 this.padLT_Wail = value;\r
189                                                                 return;\r
190 \r
191                                                         case 5:\r
192                                                                 this.padFT_Cancel = value;\r
193                                                                 return;\r
194 \r
195                                                         case 6:\r
196                                                                 this.padCY_Decide = value;\r
197                                                                 return;\r
198 \r
199                                                         case 7:\r
200                                                                 this.padHHO = value;\r
201                                                                 return;\r
202 \r
203                                                         case 8:\r
204                                                                 this.padRD = value;\r
205                                                                 return;\r
206 \r
207                                                         case 9:\r
208                                                                 this.padLC = value;\r
209                                                                 return;\r
210                                                 }\r
211                                                 throw new IndexOutOfRangeException();\r
212                                         }\r
213                                 }\r
214                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] LC\r
215                                 {\r
216                                         get\r
217                                         {\r
218                                                 return this.padLC;\r
219                                         }\r
220                                         set\r
221                                         {\r
222                                                 this.padLC = value;\r
223                                         }\r
224                                 }\r
225                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] LT\r
226                                 {\r
227                                         get\r
228                                         {\r
229                                                 return this.padLT_Wail;\r
230                                         }\r
231                                         set\r
232                                         {\r
233                                                 this.padLT_Wail = value;\r
234                                         }\r
235                                 }\r
236                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] Pick\r
237                                 {\r
238                                         get\r
239                                         {\r
240                                                 return this.padHT_Pick;\r
241                                         }\r
242                                         set\r
243                                         {\r
244                                                 this.padHT_Pick = value;\r
245                                         }\r
246                                 }\r
247                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] R\r
248                                 {\r
249                                         get\r
250                                         {\r
251                                                 return this.padHH_R;\r
252                                         }\r
253                                         set\r
254                                         {\r
255                                                 this.padHH_R = value;\r
256                                         }\r
257                                 }\r
258                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] RD\r
259                                 {\r
260                                         get\r
261                                         {\r
262                                                 return this.padRD;\r
263                                         }\r
264                                         set\r
265                                         {\r
266                                                 this.padRD = value;\r
267                                         }\r
268                                 }\r
269                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] SD\r
270                                 {\r
271                                         get\r
272                                         {\r
273                                                 return this.padSD_G;\r
274                                         }\r
275                                         set\r
276                                         {\r
277                                                 this.padSD_G = value;\r
278                                         }\r
279                                 }\r
280                                 public CConfigIni.CKeyAssign.STKEYASSIGN[] Wail\r
281                                 {\r
282                                         get\r
283                                         {\r
284                                                 return this.padLT_Wail;\r
285                                         }\r
286                                         set\r
287                                         {\r
288                                                 this.padLT_Wail = value;\r
289                                         }\r
290                                 }\r
291 \r
292                                 #region [ private ]\r
293                                 //-----------------\r
294                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padBD_B;\r
295                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padCY_Decide;\r
296                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padFT_Cancel;\r
297                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padHH_R;\r
298                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padHHO;\r
299                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padHT_Pick;\r
300                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padLC;\r
301                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padLT_Wail;\r
302                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padRD;\r
303                                 private CConfigIni.CKeyAssign.STKEYASSIGN[] padSD_G;\r
304                                 //-----------------\r
305                                 #endregion\r
306                         }\r
307 \r
308                         [StructLayout( LayoutKind.Sequential )]\r
309                         public struct STKEYASSIGN\r
310                         {\r
311                                 public E入力デバイス 入力デバイス;\r
312                                 public int ID;\r
313                                 public int コード;\r
314                                 public STKEYASSIGN( E入力デバイス DeviceType, int nID, int nCode )\r
315                                 {\r
316                                         this.入力デバイス = DeviceType;\r
317                                         this.ID = nID;\r
318                                         this.コード = nCode;\r
319                                 }\r
320                         }\r
321 \r
322                         public CKeyAssignPad Bass = new CKeyAssignPad();\r
323                         public CKeyAssignPad Drums = new CKeyAssignPad();\r
324                         public CKeyAssignPad Guitar = new CKeyAssignPad();\r
325                         public CKeyAssignPad this[ int index ]\r
326                         {\r
327                                 get\r
328                                 {\r
329                                         switch( index )\r
330                                         {\r
331                                                 case 0:\r
332                                                         return this.Drums;\r
333 \r
334                                                 case 1:\r
335                                                         return this.Guitar;\r
336 \r
337                                                 case 2:\r
338                                                         return this.Bass;\r
339                                         }\r
340                                         throw new IndexOutOfRangeException();\r
341                                 }\r
342                                 set\r
343                                 {\r
344                                         switch( index )\r
345                                         {\r
346                                                 case 0:\r
347                                                         this.Drums = value;\r
348                                                         return;\r
349 \r
350                                                 case 1:\r
351                                                         this.Guitar = value;\r
352                                                         return;\r
353 \r
354                                                 case 2:\r
355                                                         this.Bass = value;\r
356                                                         return;\r
357                                         }\r
358                                         throw new IndexOutOfRangeException();\r
359                                 }\r
360                         }\r
361                 }\r
362 \r
363 \r
364                 // プロパティ\r
365 \r
366 #if false               // #23625 2011.1.11 Config.iniからダメージ/回復値の定数変更を行う場合はここを有効にする 087リリースに合わせ機能無効化\r
367                 //----------------------------------------\r
368                 public float[,] fGaugeFactor = new float[5,2];\r
369                 public float[] fDamageLevelFactor = new float[3];\r
370                 //----------------------------------------\r
371 #endif\r
372                 public int nBGAlpha;\r
373                 public bool bAVI有効;\r
374                 public bool bBGA有効;\r
375                 public bool bBGM音を発声する;\r
376                 public STDGBVALUE<bool> bHidden;\r
377                 public STDGBVALUE<bool> bLeft;\r
378                 public STDGBVALUE<bool> bLight;\r
379                 public bool bLogDTX詳細ログ出力;\r
380                 public bool bLog曲検索ログ出力;\r
381                 public bool bLog作成解放ログ出力;\r
382                 public STDGBVALUE<bool> bReverse;\r
383                 public bool bScoreIniを出力する;\r
384                 public bool bSTAGEFAILED有効;\r
385                 public STDGBVALUE<bool> bSudden;\r
386                 public bool bTight;\r
387                 public STDGBVALUE<bool> bGraph;     // #24074 2011.01.23 add ikanick\r
388                 public bool bWave再生位置自動調整機能有効;\r
389                 public bool bシンバルフリー;\r
390                 public bool bストイックモード;\r
391                 public bool bドラム打音を発声する;\r
392                 public bool bフィルイン有効;\r
393                 public bool bランダムセレクトで子BOXを検索対象とする;\r
394                 public bool bログ出力;\r
395                 public STDGBVALUE<bool> b演奏音を強調する;\r
396                 public bool b演奏情報を表示する;\r
397                 public bool b歓声を発声する;\r
398                 public bool b垂直帰線待ちを行う;\r
399                 public bool b選曲リストフォントを斜体にする;\r
400                 public bool b選曲リストフォントを太字にする;\r
401                 public bool b全画面モード;\r
402                 public int nウインドウwidth;                               // #23510 2010.10.31 yyagi add\r
403                 public int nウインドウheight;                              // #23510 2010.10.31 yyagi add\r
404                 public Dictionary<int, string> dicJoystick;\r
405                 public ECYGroup eCYGroup;\r
406                 public Eダークモード eDark;\r
407                 public EFTGroup eFTGroup;\r
408                 public EHHGroup eHHGroup;\r
409                 public E打ち分け時の再生の優先順位 eHitSoundPriorityCY;\r
410                 public E打ち分け時の再生の優先順位 eHitSoundPriorityFT;\r
411                 public E打ち分け時の再生の優先順位 eHitSoundPriorityHH;\r
412                 public STDGBVALUE<Eランダムモード> eRandom;\r
413                 public Eダメージレベル eダメージレベル;\r
414         public CKeyAssign KeyAssign;\r
415         public int n非フォーカス時スリープms;       // #23568 2010.11.04 ikanick add\r
416                 public int n演奏速度;\r
417                 public int n曲が選択されてからプレビュー音が鳴るまでのウェイトms;\r
418                 public int n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms;\r
419                 public int n自動再生音量;\r
420                 public int n手動再生音量;\r
421                 public int n選曲リストフォントのサイズdot;\r
422                 public STDGBVALUE<int> n表示可能な最小コンボ数;\r
423                 public STDGBVALUE<int> n譜面スクロール速度;\r
424                 public string strDTXManiaのバージョン;\r
425                 public string str曲データ検索パス;\r
426                 public string str選曲リストフォント;\r
427                 public Eドラムコンボ文字の表示位置 ドラムコンボ文字の表示位置;\r
428                 public STDGBVALUE<E判定文字表示位置> 判定文字表示位置;\r
429 //              public int nハイハット切り捨て下限Velocity;\r
430 //              public int n切り捨て下限Velocity;                 // #23857 2010.12.12 yyagi VelocityMin\r
431                 public STDGBVALUE<int> nInputAdjustTimeMs;      // #23580 2011.1.3 yyagi タイミングアジャスト機能\r
432                 public bool bバッファ入力を行う;\r
433                 public bool bConfigIniがないかDTXManiaのバージョンが異なる\r
434                 {\r
435                         get\r
436                         {\r
437                                 return ( !this.bConfigIniが存在している || !CDTXMania.VERSION.Equals( this.strDTXManiaのバージョン ) );\r
438                         }\r
439                 }\r
440                 public bool bDrums有効\r
441                 {\r
442                         get\r
443                         {\r
444                                 return this._bDrums有効;\r
445                         }\r
446                         set\r
447                         {\r
448                                 this._bDrums有効 = value;\r
449                                 if( !this._bGuitar有効 && !this._bDrums有効 )\r
450                                 {\r
451                                         this._bGuitar有効 = true;\r
452                                 }\r
453                         }\r
454                 }\r
455                 public bool bEnterがキー割り当てのどこにも使用されていない\r
456                 {\r
457                         get\r
458                         {\r
459                                 for( int i = 0; i < 3; i++ )\r
460                                 {\r
461                                         for( int j = 0; j < 10; j++ )\r
462                                         {\r
463                                                 for( int k = 0; k < 0x10; k++ )\r
464                                                 {\r
465                                                         if( ( this.KeyAssign[ i ][ j ][ k ].入力デバイス == E入力デバイス.キーボード ) && ( this.KeyAssign[ i ][ j ][ k ].コード == 0x75 ) )\r
466                                                         {\r
467                                                                 return false;\r
468                                                         }\r
469                                                 }\r
470                                         }\r
471                                 }\r
472                                 return true;\r
473                         }\r
474                 }\r
475                 public bool bGuitar有効\r
476                 {\r
477                         get\r
478                         {\r
479                                 return this._bGuitar有効;\r
480                         }\r
481                         set\r
482                         {\r
483                                 this._bGuitar有効 = value;\r
484                                 if( !this._bGuitar有効 && !this._bDrums有効 )\r
485                                 {\r
486                                         this._bDrums有効 = true;\r
487                                 }\r
488                         }\r
489                 }\r
490                 public bool bウィンドウモード\r
491                 {\r
492                         get\r
493                         {\r
494                                 return !this.b全画面モード;\r
495                         }\r
496                         set\r
497                         {\r
498                                 this.b全画面モード = !value;\r
499                         }\r
500                 }\r
501                 public bool bギタレボモード\r
502                 {\r
503                         get\r
504                         {\r
505                                 return ( !this.bDrums有効 && this.bGuitar有効 );\r
506                         }\r
507                 }\r
508                 public bool bドラムが全部オートプレイである\r
509                 {\r
510                         get\r
511                         {\r
512                                 for( int i = 0; i < 8; i++ )\r
513                                 {\r
514                                         if( !this.bAutoPlay[ i ] )\r
515                                         {\r
516                                                 return false;\r
517                                         }\r
518                                 }\r
519                                 return true;\r
520                         }\r
521                 }\r
522                 public bool b演奏情報を表示しない\r
523                 {\r
524                         get\r
525                         {\r
526                                 return !this.b演奏情報を表示する;\r
527                         }\r
528                         set\r
529                         {\r
530                                 this.b演奏情報を表示する = !value;\r
531                         }\r
532                 }\r
533                 public int n背景の透過度\r
534                 {\r
535                         get\r
536                         {\r
537                                 return this.nBGAlpha;\r
538                         }\r
539                         set\r
540                         {\r
541                                 if( value < 0 )\r
542                                 {\r
543                                         this.nBGAlpha = 0;\r
544                                 }\r
545                                 else if( value > 0xff )\r
546                                 {\r
547                                         this.nBGAlpha = 0xff;\r
548                                 }\r
549                                 else\r
550                                 {\r
551                                         this.nBGAlpha = value;\r
552                                 }\r
553                         }\r
554                 }\r
555                 public bool bIsSwappedGuitarBass                        // #24063 2011.1.16 yyagi ギターとベースの切り替え中か否か\r
556                 {\r
557                         get;\r
558                         set;\r
559                 }\r
560                 public STAUTOPLAY bAutoPlay;\r
561                 [StructLayout( LayoutKind.Sequential )]\r
562                 public struct STAUTOPLAY\r
563                 {\r
564                         public bool LC;\r
565                         public bool HH;\r
566                         public bool SD;\r
567                         public bool BD;\r
568                         public bool HT;\r
569                         public bool LT;\r
570                         public bool FT;\r
571                         public bool CY;\r
572                         public bool Guitar;\r
573                         public bool Bass;\r
574                         public bool this[ int index ]\r
575                         {\r
576                                 get\r
577                                 {\r
578                                         switch( index )\r
579                                         {\r
580                                                 case 0:\r
581                                                         return this.LC;\r
582 \r
583                                                 case 1:\r
584                                                         return this.HH;\r
585 \r
586                                                 case 2:\r
587                                                         return this.SD;\r
588 \r
589                                                 case 3:\r
590                                                         return this.BD;\r
591 \r
592                                                 case 4:\r
593                                                         return this.HT;\r
594 \r
595                                                 case 5:\r
596                                                         return this.LT;\r
597 \r
598                                                 case 6:\r
599                                                         return this.FT;\r
600 \r
601                                                 case 7:\r
602                                                         return this.CY;\r
603 \r
604                                                 case 8:\r
605                                                         return this.Guitar;\r
606 \r
607                                                 case 9:\r
608                                                         return this.Bass;\r
609                                         }\r
610                                         throw new IndexOutOfRangeException();\r
611                                 }\r
612                                 set\r
613                                 {\r
614                                         switch( index )\r
615                                         {\r
616                                                 case 0:\r
617                                                         this.LC = value;\r
618                                                         return;\r
619 \r
620                                                 case 1:\r
621                                                         this.HH = value;\r
622                                                         return;\r
623 \r
624                                                 case 2:\r
625                                                         this.SD = value;\r
626                                                         return;\r
627 \r
628                                                 case 3:\r
629                                                         this.BD = value;\r
630                                                         return;\r
631 \r
632                                                 case 4:\r
633                                                         this.HT = value;\r
634                                                         return;\r
635 \r
636                                                 case 5:\r
637                                                         this.LT = value;\r
638                                                         return;\r
639 \r
640                                                 case 6:\r
641                                                         this.FT = value;\r
642                                                         return;\r
643 \r
644                                                 case 7:\r
645                                                         this.CY = value;\r
646                                                         return;\r
647 \r
648                                                 case 8:\r
649                                                         this.Guitar = value;\r
650                                                         return;\r
651 \r
652                                                 case 9:\r
653                                                         this.Bass = value;\r
654                                                         return;\r
655                                         }\r
656                                         throw new IndexOutOfRangeException();\r
657                                 }\r
658                         }\r
659                 }\r
660 \r
661                 public STRANGE nヒット範囲ms;\r
662                 [StructLayout( LayoutKind.Sequential )]\r
663                 public struct STRANGE\r
664                 {\r
665                         public int Perfect;\r
666                         public int Great;\r
667                         public int Good;\r
668                         public int Poor;\r
669                         public int this[ int index ]\r
670                         {\r
671                                 get\r
672                                 {\r
673                                         switch( index )\r
674                                         {\r
675                                                 case 0:\r
676                                                         return this.Perfect;\r
677 \r
678                                                 case 1:\r
679                                                         return this.Great;\r
680 \r
681                                                 case 2:\r
682                                                         return this.Good;\r
683 \r
684                                                 case 3:\r
685                                                         return this.Poor;\r
686                                         }\r
687                                         throw new IndexOutOfRangeException();\r
688                                 }\r
689                                 set\r
690                                 {\r
691                                         switch( index )\r
692                                         {\r
693                                                 case 0:\r
694                                                         this.Perfect = value;\r
695                                                         return;\r
696 \r
697                                                 case 1:\r
698                                                         this.Great = value;\r
699                                                         return;\r
700 \r
701                                                 case 2:\r
702                                                         this.Good = value;\r
703                                                         return;\r
704 \r
705                                                 case 3:\r
706                                                         this.Poor = value;\r
707                                                         return;\r
708                                         }\r
709                                         throw new IndexOutOfRangeException();\r
710                                 }\r
711                         }\r
712                 }\r
713 \r
714                 public STLANEVALUE nVelocityMin;\r
715                 [StructLayout( LayoutKind.Sequential )]\r
716                 public struct STLANEVALUE\r
717                 {\r
718                         public int LC;\r
719                         public int HH;\r
720                         public int SD;\r
721                         public int BD;\r
722                         public int HT;\r
723                         public int LT;\r
724                         public int FT;\r
725                         public int CY;\r
726                         public int RD;\r
727                         public int Guitar;\r
728                         public int Bass;\r
729                         public int this[ int index ]\r
730                         {\r
731                                 get\r
732                                 {\r
733                                         switch( index )\r
734                                         {\r
735                                                 case 0:\r
736                                                         return this.LC;\r
737 \r
738                                                 case 1:\r
739                                                         return this.HH;\r
740 \r
741                                                 case 2:\r
742                                                         return this.SD;\r
743 \r
744                                                 case 3:\r
745                                                         return this.BD;\r
746 \r
747                                                 case 4:\r
748                                                         return this.HT;\r
749 \r
750                                                 case 5:\r
751                                                         return this.LT;\r
752 \r
753                                                 case 6:\r
754                                                         return this.FT;\r
755 \r
756                                                 case 7:\r
757                                                         return this.CY;\r
758 \r
759                                                 case 8:\r
760                                                         return this.RD;\r
761 \r
762                                                 case 9:\r
763                                                         return this.Guitar;\r
764 \r
765                                                 case 10:\r
766                                                         return this.Bass;\r
767                                         }\r
768                                         throw new IndexOutOfRangeException();\r
769                                 }\r
770                                 set\r
771                                 {\r
772                                         switch( index )\r
773                                         {\r
774                                                 case 0:\r
775                                                         this.LC = value;\r
776                                                         return;\r
777 \r
778                                                 case 1:\r
779                                                         this.HH = value;\r
780                                                         return;\r
781 \r
782                                                 case 2:\r
783                                                         this.SD = value;\r
784                                                         return;\r
785 \r
786                                                 case 3:\r
787                                                         this.BD = value;\r
788                                                         return;\r
789 \r
790                                                 case 4:\r
791                                                         this.HT = value;\r
792                                                         return;\r
793 \r
794                                                 case 5:\r
795                                                         this.LT = value;\r
796                                                         return;\r
797 \r
798                                                 case 6:\r
799                                                         this.FT = value;\r
800                                                         return;\r
801 \r
802                                                 case 7:\r
803                                                         this.CY = value;\r
804                                                         return;\r
805 \r
806                                                 case 8:\r
807                                                         this.RD = value;\r
808                                                         return;\r
809 \r
810                                                 case 9:\r
811                                                         this.Guitar = value;\r
812                                                         return;\r
813 \r
814                                                 case 10:\r
815                                                         this.Bass = value;\r
816                                                         return;\r
817                                         }\r
818                                         throw new IndexOutOfRangeException();\r
819                                 }\r
820                         }\r
821                 }\r
822 \r
823 \r
824                 // コンストラクタ\r
825 \r
826                 public CConfigIni()\r
827                 {\r
828 #if false               // #23625 2011.1.11 Config.iniからダメージ/回復値の定数変更を行う場合はここを有効にする 087リリースに合わせ機能無効化\r
829                         //----------------------------------------\r
830                         this.fGaugeFactor[0,0] =  0.004f;\r
831                         this.fGaugeFactor[0,1] =  0.006f;\r
832                         this.fGaugeFactor[1,0] =  0.002f;\r
833                         this.fGaugeFactor[1,1] =  0.003f;\r
834                         this.fGaugeFactor[2,0] =  0.000f;\r
835                         this.fGaugeFactor[2,1] =  0.000f;\r
836                         this.fGaugeFactor[3,0] = -0.020f;\r
837                         this.fGaugeFactor[3,1] = -0.030f;\r
838                         this.fGaugeFactor[4,0] = -0.050f;\r
839                         this.fGaugeFactor[4,1] = -0.050f;\r
840 \r
841                         this.fDamageLevelFactor[0] = 0.5f;\r
842                         this.fDamageLevelFactor[1] = 1.0f;\r
843                         this.fDamageLevelFactor[2] = 1.5f;\r
844                         //----------------------------------------\r
845 #endif\r
846                         this.strDTXManiaのバージョン = "Unknown";\r
847                         this.str曲データ検索パス = @".\";\r
848                         this.b全画面モード = false;\r
849                         this.b垂直帰線待ちを行う = true;\r
850                         this.nウインドウwidth = 640;                               // #23510 2010.10.31 yyagi add\r
851                         this.nウインドウheight = 480;                              // \r
852                         this.n非フォーカス時スリープms = 1;                  // #23568 2010.11.04 ikanick add\r
853                         this._bGuitar有効 = true;\r
854                         this._bDrums有効 = true;\r
855                         this.nBGAlpha = 100;\r
856                         this.eダメージレベル = Eダメージレベル.普通;\r
857                         this.bSTAGEFAILED有効 = true;\r
858                         this.bAVI有効 = true;\r
859                         this.bBGA有効 = true;\r
860                         this.bフィルイン有効 = true;\r
861                         this.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = 1000;\r
862                         this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = 100;\r
863                         this.bWave再生位置自動調整機能有効 = true;\r
864                         this.bBGM音を発声する = true;\r
865                         this.bドラム打音を発声する = true;\r
866                         this.b歓声を発声する = true;\r
867                         this.bScoreIniを出力する = true;\r
868                         this.bランダムセレクトで子BOXを検索対象とする = true;\r
869                         this.b演奏音を強調する = new STDGBVALUE<bool>();\r
870                         this.b演奏音を強調する.Drums = true;\r
871                         this.b演奏音を強調する.Guitar = true;\r
872                         this.b演奏音を強調する.Bass = true;\r
873                         this.n表示可能な最小コンボ数 = new STDGBVALUE<int>();\r
874                         this.n表示可能な最小コンボ数.Drums = 11;\r
875                         this.n表示可能な最小コンボ数.Guitar = 2;\r
876                         this.n表示可能な最小コンボ数.Bass = 2;\r
877                         this.str選曲リストフォント = "MS PGothic";\r
878                         this.n選曲リストフォントのサイズdot = 20;\r
879                         this.b選曲リストフォントを太字にする = true;\r
880                         this.n自動再生音量 = 80;\r
881                         this.n手動再生音量 = 100;\r
882                         this.bログ出力 = true;\r
883                         this.bSudden = new STDGBVALUE<bool>();\r
884                         this.bSudden.Drums = false;\r
885                         this.bSudden.Guitar = false;\r
886                         this.bSudden.Bass = false;\r
887                         this.bHidden = new STDGBVALUE<bool>();\r
888                         this.bHidden.Drums = false;\r
889                         this.bHidden.Guitar = false;\r
890                         this.bHidden.Bass = false;\r
891                         this.bReverse = new STDGBVALUE<bool>();\r
892                         this.bReverse.Drums = false;\r
893                         this.bReverse.Guitar = false;\r
894                         this.bReverse.Bass = false;\r
895                         this.eRandom = new STDGBVALUE<Eランダムモード>();\r
896                         this.eRandom.Drums = Eランダムモード.OFF;\r
897                         this.eRandom.Guitar = Eランダムモード.OFF;\r
898                         this.eRandom.Bass = Eランダムモード.OFF;\r
899                         this.bLight = new STDGBVALUE<bool>();\r
900                         this.bLight.Drums = false;\r
901                         this.bLight.Guitar = false;\r
902                         this.bLight.Bass = false;\r
903                         this.bLeft = new STDGBVALUE<bool>();\r
904                         this.bLeft.Drums = false;\r
905                         this.bLeft.Guitar = false;\r
906                         this.bLeft.Bass = false;\r
907                         this.判定文字表示位置 = new STDGBVALUE<E判定文字表示位置>();\r
908                         this.判定文字表示位置.Drums = E判定文字表示位置.レーン上;\r
909                         this.判定文字表示位置.Guitar = E判定文字表示位置.レーン上;\r
910                         this.判定文字表示位置.Bass = E判定文字表示位置.レーン上;\r
911                         this.n譜面スクロール速度 = new STDGBVALUE<int>();\r
912                         this.n譜面スクロール速度.Drums = 1;\r
913                         this.n譜面スクロール速度.Guitar = 1;\r
914                         this.n譜面スクロール速度.Bass = 1;\r
915                         this.n演奏速度 = 20;\r
916                         this.bAutoPlay = new STAUTOPLAY();\r
917                         this.bAutoPlay.HH = false;\r
918                         this.bAutoPlay.SD = false;\r
919                         this.bAutoPlay.BD = false;\r
920                         this.bAutoPlay.HT = false;\r
921                         this.bAutoPlay.LT = false;\r
922                         this.bAutoPlay.FT = false;\r
923                         this.bAutoPlay.CY = false;\r
924                         this.bAutoPlay.LC = false;\r
925                         this.bAutoPlay.Guitar = true;\r
926                         this.bAutoPlay.Bass = true;\r
927                         this.nヒット範囲ms = new STRANGE();\r
928                         this.nヒット範囲ms.Perfect = 34;\r
929                         this.nヒット範囲ms.Great = 67;\r
930                         this.nヒット範囲ms.Good = 84;\r
931                         this.nヒット範囲ms.Poor = 117;\r
932                         this.ConfigIniファイル名 = "";\r
933                         this.dicJoystick = new Dictionary<int, string>( 10 );\r
934                         this.tデフォルトのキーアサインに設定する();\r
935                         this.nInputAdjustTimeMs = new STDGBVALUE<int>();        // #23580 2011.1.3 yyagi\r
936                         this.nInputAdjustTimeMs.Drums = 0;\r
937                         this.nInputAdjustTimeMs.Guitar = 0;\r
938                         this.nInputAdjustTimeMs.Bass = 0;\r
939 //                      this.nハイハット切り捨て下限Velocity = 20;\r
940 //                      this.n切り捨て下限Velocity = 0;                           // #23857 2010.12.12 yyagi VelocityMin\r
941                         this.nVelocityMin.LC = 0;                                       // #23857 2011.1.31 yyagi VelocityMin\r
942                         this.nVelocityMin.HH = 20;\r
943                         this.nVelocityMin.SD = 0;\r
944                         this.nVelocityMin.BD = 0;\r
945                         this.nVelocityMin.HT = 0;\r
946                         this.nVelocityMin.LT = 0;\r
947                         this.nVelocityMin.FT = 0;\r
948                         this.nVelocityMin.CY = 0;\r
949                         this.nVelocityMin.RD = 0;\r
950 \r
951                         this.bバッファ入力を行う = true;\r
952                         this.bIsSwappedGuitarBass = false;                      // #24063 2011.1.16 yyagi ギターとベースの切り替え\r
953                 }\r
954                 public CConfigIni( string iniファイル名 )\r
955                         : this()\r
956                 {\r
957                         this.t読み込み( iniファイル名 );\r
958                 }\r
959 \r
960 \r
961                 // メソッド\r
962 \r
963                 public void t指定した入力が既にアサイン済みである場合はそれを全削除する( E入力デバイス DeviceType, int nID, int nCode )\r
964                 {\r
965                         for( int i = 0; i < 3; i++ )\r
966                         {\r
967                                 for( int j = 0; j < 10; j++ )\r
968                                 {\r
969                                         for( int k = 0; k < 0x10; k++ )\r
970                                         {\r
971                                                 if( ( ( this.KeyAssign[ i ][ j ][ k ].入力デバイス == DeviceType ) && ( this.KeyAssign[ i ][ j ][ k ].ID == nID ) ) && ( this.KeyAssign[ i ][ j ][ k ].コード == nCode ) )\r
972                                                 {\r
973                                                         for( int m = k; m < 15; m++ )\r
974                                                         {\r
975                                                                 this.KeyAssign[ i ][ j ][ m ] = this.KeyAssign[ i ][ j ][ m + 1 ];\r
976                                                         }\r
977                                                         this.KeyAssign[ i ][ j ][ 15 ].入力デバイス = E入力デバイス.不明;\r
978                                                         this.KeyAssign[ i ][ j ][ 15 ].ID = 0;\r
979                                                         this.KeyAssign[ i ][ j ][ 15 ].コード = 0;\r
980                                                         k--;\r
981                                                 }\r
982                                         }\r
983                                 }\r
984                         }\r
985                 }\r
986                 public void t書き出し( string iniファイル名 )\r
987                 {\r
988                         StreamWriter sw = new StreamWriter( iniファイル名, false, Encoding.GetEncoding( "shift-jis" ) );\r
989                         sw.WriteLine( ";-------------------" );\r
990                         sw.WriteLine( "[System]" );\r
991                         sw.WriteLine();\r
992 \r
993 #if false               // #23625 2011.1.11 Config.iniからダメージ/回復値の定数変更を行う場合はここを有効にする 087リリースに合わせ機能無効化\r
994         //------------------------------\r
995                         sw.WriteLine("; ライフゲージのパラメータ調整(調整完了後削除予定)");\r
996                         sw.WriteLine("; GaugeFactorD: ドラムのPerfect, Great,... の回復量(ライフMAXを1.0としたときの値を指定)");\r
997                         sw.WriteLine("; GaugeFactorG:  Gt/BsのPerfect, Great,... の回復量(ライフMAXを1.0としたときの値を指定)");\r
998                         sw.WriteLine("; DamageFactorD: DamageLevelがSmall, Normal, Largeの時に対するダメージ係数");\r
999                         sw.WriteLine("GaugeFactorD={0}, {1}, {2}, {3}, {4}", this.fGaugeFactor[0, 0], this.fGaugeFactor[1, 0], this.fGaugeFactor[2, 0], this.fGaugeFactor[3, 0], this.fGaugeFactor[4, 0]);\r
1000                         sw.WriteLine("GaugeFactorG={0}, {1}, {2}, {3}, {4}", this.fGaugeFactor[0, 1], this.fGaugeFactor[1, 1], this.fGaugeFactor[2, 1], this.fGaugeFactor[3, 1], this.fGaugeFactor[4, 1]);\r
1001                         sw.WriteLine("DamageFactor={0}, {1}, {2}", this.fDamageLevelFactor[0], this.fDamageLevelFactor[1], fDamageLevelFactor[2]);\r
1002                         sw.WriteLine();\r
1003         //------------------------------\r
1004 #endif\r
1005 \r
1006                         sw.WriteLine( "; リリースバージョン" );\r
1007                         sw.WriteLine( "Version={0}", CDTXMania.VERSION );\r
1008                         sw.WriteLine();\r
1009                         sw.WriteLine( "; 演奏データの格納されているフォルダへのパス。" );\r
1010                         sw.WriteLine( @"; セミコロン(;)で区切ることにより複数のパスを指定できます。(例: d:\DTXFiles1\;e:\DTXFiles2\)" );\r
1011                         sw.WriteLine( "DTXPath={0}", this.str曲データ検索パス );\r
1012                         sw.WriteLine();\r
1013                         sw.WriteLine( "; 画面モード(0:ウィンドウ, 1:全画面)" );\r
1014                         sw.WriteLine( "FullScreen={0}", this.b全画面モード ? 1 : 0 );\r
1015             sw.WriteLine();\r
1016 \r
1017                         sw.WriteLine("; ウインドウモード時の画面幅");                              // #23510 2010.10.31 yyagi add\r
1018                         sw.WriteLine("; A width size in the window mode.");                     //\r
1019                         sw.WriteLine("WindowWidth={0}", this.nウインドウwidth);            //\r
1020                         sw.WriteLine();                                                                                         //\r
1021                         sw.WriteLine("; ウインドウモード時の画面高さ");                           //\r
1022                         sw.WriteLine("; A height size in the window mode.");            //\r
1023                         sw.WriteLine("WindowHeight={0}", this.nウインドウheight);  //\r
1024                         sw.WriteLine();                                                                                         //\r
1025 \r
1026                         sw.WriteLine("; 垂直帰線同期(0:OFF,1:ON)");\r
1027                         sw.WriteLine( "VSyncWait={0}", this.b垂直帰線待ちを行う ? 1 : 0 );\r
1028             sw.WriteLine();\r
1029 \r
1030             sw.WriteLine("; 非フォーカス時のsleep値[ms]");                                 // #23568 2011.11.04 ikanick add\r
1031                         sw.WriteLine("; A sleep time[ms] while the window is inactive.");       //\r
1032                         sw.WriteLine("BackSleep={0}", this.n非フォーカス時スリープms);               // そのまま引用(苦笑)\r
1033             sw.WriteLine();                                                                                                     //\r
1034 \r
1035                         sw.WriteLine( "; ギター/ベース有効(0:OFF,1:ON)" );\r
1036                         sw.WriteLine( "Guitar={0}", this.bGuitar有効 ? 1 : 0 );\r
1037                         sw.WriteLine();\r
1038                         sw.WriteLine( "; ドラム有効(0:OFF,1:ON)" );\r
1039                         sw.WriteLine( "Drums={0}", this.bDrums有効 ? 1 : 0 );\r
1040                         sw.WriteLine();\r
1041                         sw.WriteLine( "; 背景画像の半透明割合(0:透明~255:不透明)" );\r
1042                         sw.WriteLine( "BGAlpha={0}", this.nBGAlpha );\r
1043                         sw.WriteLine();\r
1044                         sw.WriteLine( "; Missヒット時のゲージ減少割合(0:少, 1:普通, 2:大)" );\r
1045                         sw.WriteLine( "DamageLevel={0}", (int) this.eダメージレベル );\r
1046                         sw.WriteLine();\r
1047                         sw.WriteLine( "; LC/HHC/HHO 打ち分けモード(0:LC|HHC|HHO, 1:LC&(HHC|HHO), 2:LC&HHC&HHO)" );\r
1048                         sw.WriteLine( "HHGroup={0}", (int) this.eHHGroup );\r
1049                         sw.WriteLine();\r
1050                         sw.WriteLine( "; LT/FT 打ち分けモード(0:LT|FT, 1:LT&FT)" );\r
1051                         sw.WriteLine( "FTGroup={0}", (int) this.eFTGroup );\r
1052                         sw.WriteLine();\r
1053                         sw.WriteLine( "; CY/RD 打ち分けモード(0:CY|RD, 1:CY&RD)" );\r
1054                         sw.WriteLine( "CYGroup={0}", (int) this.eCYGroup );\r
1055                         sw.WriteLine();\r
1056                         sw.WriteLine( "; 打ち分け時の再生音の優先順位(HHGroup)(0:Chip>Pad, 1:Pad>Chip)" );\r
1057                         sw.WriteLine( "HitSoundPriorityHH={0}", (int) this.eHitSoundPriorityHH );\r
1058                         sw.WriteLine();\r
1059                         sw.WriteLine( "; 打ち分け時の再生音の優先順位(FTGroup)(0:Chip>Pad, 1:Pad>Chip)" );\r
1060                         sw.WriteLine( "HitSoundPriorityFT={0}", (int) this.eHitSoundPriorityFT );\r
1061                         sw.WriteLine();\r
1062                         sw.WriteLine( "; 打ち分け時の再生音の優先順位(CYGroup)(0:Chip>Pad, 1:Pad>Chip)" );\r
1063                         sw.WriteLine( "HitSoundPriorityCY={0}", (int) this.eHitSoundPriorityCY );\r
1064                         sw.WriteLine();\r
1065                         sw.WriteLine( "; ゲージゼロでSTAGE FAILED (0:OFF, 1:ON)" );\r
1066                         sw.WriteLine( "StageFailed={0}", this.bSTAGEFAILED有効 ? 1 : 0 );\r
1067                         sw.WriteLine();\r
1068                         sw.WriteLine( "; AVIの表示(0:OFF, 1:ON)" );\r
1069                         sw.WriteLine( "AVI={0}", this.bAVI有効 ? 1 : 0 );\r
1070                         sw.WriteLine();\r
1071                         sw.WriteLine( "; BGAの表示(0:OFF, 1:ON)" );\r
1072                         sw.WriteLine( "BGA={0}", this.bBGA有効 ? 1 : 0 );\r
1073                         sw.WriteLine();\r
1074                         sw.WriteLine( "; フィルイン効果(0:OFF, 1:ON)" );\r
1075                         sw.WriteLine( "FillInEffect={0}", this.bフィルイン有効 ? 1 : 0 );\r
1076                         sw.WriteLine();\r
1077                         sw.WriteLine( "; 曲選択からプレビュー音の再生までのウェイト[ms]" );\r
1078                         sw.WriteLine( "PreviewSoundWait={0}", this.n曲が選択されてからプレビュー音が鳴るまでのウェイトms );\r
1079                         sw.WriteLine();\r
1080                         sw.WriteLine( "; 曲選択からプレビュー画像表示までのウェイト[ms]" );\r
1081                         sw.WriteLine( "PreviewImageWait={0}", this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms );\r
1082                         sw.WriteLine();\r
1083                         sw.WriteLine( "; Waveの再生位置自動補正(0:OFF, 1:ON)" );\r
1084                         sw.WriteLine( "AdjustWaves={0}", this.bWave再生位置自動調整機能有効 ? 1 : 0 );\r
1085                         sw.WriteLine();\r
1086                         sw.WriteLine( "; BGM の再生(0:OFF, 1:ON)" );\r
1087                         sw.WriteLine( "BGMSound={0}", this.bBGM音を発声する ? 1 : 0 );\r
1088                         sw.WriteLine();\r
1089                         sw.WriteLine( "; ドラム打音の再生(0:OFF, 1:ON)" );\r
1090                         sw.WriteLine( "HitSound={0}", this.bドラム打音を発声する ? 1 : 0 );\r
1091                         sw.WriteLine();\r
1092                         sw.WriteLine( "; フィルイン達成時の歓声の再生(0:OFF, 1:ON)" );\r
1093                         sw.WriteLine( "AudienceSound={0}", this.b歓声を発声する ? 1 : 0 );\r
1094                         sw.WriteLine();\r
1095                         sw.WriteLine( "; 演奏記録(~.score.ini)の出力 (0:OFF, 1:ON)" );\r
1096                         sw.WriteLine( "SaveScoreIni={0}", this.bScoreIniを出力する ? 1 : 0 );\r
1097                         sw.WriteLine();\r
1098                         sw.WriteLine( "; RANDOM SELECT で子BOXを検索対象に含める (0:OFF, 1:ON)" );\r
1099                         sw.WriteLine( "RandomFromSubBox={0}", this.bランダムセレクトで子BOXを検索対象とする ? 1 : 0 );\r
1100                         sw.WriteLine();\r
1101                         sw.WriteLine( "; ドラム演奏時にドラム音を強調する (0:OFF, 1:ON)" );\r
1102                         sw.WriteLine( "SoundMonitorDrums={0}", this.b演奏音を強調する.Drums ? 1 : 0 );\r
1103                         sw.WriteLine();\r
1104                         sw.WriteLine( "; ギター演奏時にギター音を強調する (0:OFF, 1:ON)" );\r
1105                         sw.WriteLine( "SoundMonitorGuitar={0}", this.b演奏音を強調する.Guitar ? 1 : 0 );\r
1106                         sw.WriteLine();\r
1107                         sw.WriteLine( "; ベース演奏時にベース音を強調する (0:OFF, 1:ON)" );\r
1108                         sw.WriteLine( "SoundMonitorBass={0}", this.b演奏音を強調する.Bass ? 1 : 0 );\r
1109                         sw.WriteLine();\r
1110                         sw.WriteLine( "; ドラムの表示可能な最小コンボ数(1~99999)" );\r
1111                         sw.WriteLine( "MinComboDrums={0}", this.n表示可能な最小コンボ数.Drums );\r
1112                         sw.WriteLine();\r
1113                         sw.WriteLine( "; ギターの表示可能な最小コンボ数(1~99999)" );\r
1114                         sw.WriteLine( "MinComboGuitar={0}", this.n表示可能な最小コンボ数.Guitar );\r
1115                         sw.WriteLine();\r
1116                         sw.WriteLine( "; ベースの表示可能な最小コンボ数(1~99999)" );\r
1117                         sw.WriteLine( "MinComboBass={0}", this.n表示可能な最小コンボ数.Bass );\r
1118                         sw.WriteLine();\r
1119                         sw.WriteLine( "; 演奏情報を表示する (0:OFF, 1:ON)" );\r
1120                         sw.WriteLine( "ShowDebugStatus={0}", this.b演奏情報を表示する ? 1 : 0 );\r
1121                         sw.WriteLine();\r
1122                         sw.WriteLine( "; 選曲リストのフォント名" );\r
1123                         sw.WriteLine( "SelectListFontName={0}", this.str選曲リストフォント );\r
1124                         sw.WriteLine();\r
1125                         sw.WriteLine( "; 選曲リストのフォントのサイズ[dot]" );\r
1126                         sw.WriteLine( "SelectListFontSize={0}", this.n選曲リストフォントのサイズdot );\r
1127                         sw.WriteLine();\r
1128                         sw.WriteLine( "; 選曲リストのフォントを斜体にする (0:OFF, 1:ON)" );\r
1129                         sw.WriteLine( "SelectListFontItalic={0}", this.b選曲リストフォントを斜体にする ? 1 : 0 );\r
1130                         sw.WriteLine();\r
1131                         sw.WriteLine( "; 選曲リストのフォントを太字にする (0:OFF, 1:ON)" );\r
1132                         sw.WriteLine( "SelectListFontBold={0}", this.b選曲リストフォントを太字にする ? 1 : 0 );\r
1133                         sw.WriteLine();\r
1134                         sw.WriteLine( "; 打音の音量(0~100%)" );\r
1135                         sw.WriteLine( "ChipVolume={0}", this.n手動再生音量 );\r
1136                         sw.WriteLine();\r
1137                         sw.WriteLine( "; 自動再生音の音量(0~100%)" );\r
1138                         sw.WriteLine( "AutoChipVolume={0}", this.n自動再生音量 );\r
1139                         sw.WriteLine();\r
1140                         sw.WriteLine( "; ストイックモード(0:OFF, 1:ON)" );\r
1141                         sw.WriteLine( "StoicMode={0}", this.bストイックモード ? 1 : 0 );\r
1142                         sw.WriteLine();\r
1143                         sw.WriteLine( "; シンバルフリーモード(0:OFF, 1:ON)" );\r
1144                         sw.WriteLine( "CymbalFree={0}", this.bシンバルフリー ? 1 : 0 );\r
1145                         sw.WriteLine();\r
1146                         sw.WriteLine( "; バッファ入力モード(0:OFF, 1:ON)" );\r
1147                         sw.WriteLine( "BufferedInput={0}", this.bバッファ入力を行う ? 1 : 0 );\r
1148                         sw.WriteLine();\r
1149                         sw.WriteLine("; 判定タイミング調整(ドラム, ギター, ベース)(-99~0)[ms]");            // #23580 2011.1.3 yyagi\r
1150                         sw.WriteLine("; Revision value to adjust judgement timing for the drums, guitar and bass.");    //\r
1151                         sw.WriteLine("InputAdjustTimeDrums={0}", this.nInputAdjustTimeMs.Drums);                //\r
1152                         sw.WriteLine("InputAdjustTimeGuitar={0}", this.nInputAdjustTimeMs.Guitar);              //\r
1153                         sw.WriteLine("InputAdjustTimeBass={0}", this.nInputAdjustTimeMs.Bass);                  //\r
1154                         sw.WriteLine();\r
1155                         sw.WriteLine( "; LC, HH, SD,...の入力切り捨て下限Velocity値(0~127)" );                      // #23857 2011.1.31 yyagi\r
1156                         sw.WriteLine( "; Minimum velocity value for LC, HH, SD, ... to accept." );              //\r
1157                         sw.WriteLine( "LCVelocityMin={0}", this.nVelocityMin.LC );                                              //\r
1158                         sw.WriteLine("HHVelocityMin={0}", this.nVelocityMin.HH );                                               //\r
1159 //                      sw.WriteLine("; ハイハット以外の入力切り捨て下限Velocity値(0~127)");                 // #23857 2010.12.12 yyagi\r
1160 //                      sw.WriteLine("; Minimum velocity value to accept. (except HiHat)");                             //\r
1161 //                      sw.WriteLine("VelocityMin={0}", this.n切り捨て下限Velocity);                                      //\r
1162 //                      sw.WriteLine();                                                                                                                                 //\r
1163                         sw.WriteLine( "SDVelocityMin={0}", this.nVelocityMin.SD );                                              //\r
1164                         sw.WriteLine( "BDVelocityMin={0}", this.nVelocityMin.BD );                                              //\r
1165                         sw.WriteLine( "HTVelocityMin={0}", this.nVelocityMin.HT );                                              //\r
1166                         sw.WriteLine( "LTVelocityMin={0}", this.nVelocityMin.LT );                                              //\r
1167                         sw.WriteLine( "FTVelocityMin={0}", this.nVelocityMin.FT );                                              //\r
1168                         sw.WriteLine( "CYVelocityMin={0}", this.nVelocityMin.CY );                                              //\r
1169                         sw.WriteLine( "RDVelocityMin={0}", this.nVelocityMin.RD );                                              //\r
1170                         sw.WriteLine();                                                                                                                                 //\r
1171                         sw.WriteLine( ";-------------------" );\r
1172                         sw.WriteLine( "[Log]" );\r
1173                         sw.WriteLine();\r
1174                         sw.WriteLine( "; Log出力(0:OFF, 1:ON)" );\r
1175                         sw.WriteLine( "OutputLog={0}", this.bログ出力 ? 1 : 0 );\r
1176                         sw.WriteLine();\r
1177                         sw.WriteLine( "; 曲データ検索に関するLog出力(0:OFF, 1:ON)" );\r
1178                         sw.WriteLine( "TraceSongSearch={0}", this.bLog曲検索ログ出力 ? 1 : 0 );\r
1179                         sw.WriteLine();\r
1180                         sw.WriteLine( "; 画像やサウンドの作成・解放に関するLog出力(0:OFF, 1:ON)" );\r
1181                         sw.WriteLine( "TraceCreatedDisposed={0}", this.bLog作成解放ログ出力 ? 1 : 0 );\r
1182                         sw.WriteLine();\r
1183                         sw.WriteLine( "; DTX読み込み詳細に関するLog出力(0:OFF, 1:ON)" );\r
1184                         sw.WriteLine( "TraceDTXDetails={0}", this.bLogDTX詳細ログ出力 ? 1 : 0 );\r
1185                         sw.WriteLine();\r
1186                         sw.WriteLine( ";-------------------" );\r
1187                         sw.WriteLine( "[PlayOption]" );\r
1188                         sw.WriteLine();\r
1189                         sw.WriteLine( "; DARKモード(0:OFF, 1:HALF, 2:FULL)" );\r
1190                         sw.WriteLine( "Dark={0}", (int) this.eDark );\r
1191                         sw.WriteLine();\r
1192                         sw.WriteLine( "; ドラムSUDDENモード(0:OFF, 1:ON)" );\r
1193                         sw.WriteLine( "DrumsSudden={0}", this.bSudden.Drums ? 1 : 0 );\r
1194                         sw.WriteLine();\r
1195                         sw.WriteLine( "; ギターSUDDENモード(0:OFF, 1:ON)" );\r
1196                         sw.WriteLine( "GuitarSudden={0}", this.bSudden.Guitar ? 1 : 0 );\r
1197                         sw.WriteLine();\r
1198                         sw.WriteLine( "; ベースSUDDENモード(0:OFF, 1:ON)" );\r
1199                         sw.WriteLine( "BassSudden={0}", this.bSudden.Bass ? 1 : 0 );\r
1200                         sw.WriteLine();\r
1201                         sw.WriteLine( "; ドラムHIDDENモード(0:OFF, 1:ON)" );\r
1202                         sw.WriteLine( "DrumsHidden={0}", this.bHidden.Drums ? 1 : 0 );\r
1203                         sw.WriteLine();\r
1204                         sw.WriteLine( "; ギターHIDDENモード(0:OFF, 1:ON)" );\r
1205                         sw.WriteLine( "GuitarHidden={0}", this.bHidden.Guitar ? 1 : 0 );\r
1206                         sw.WriteLine();\r
1207                         sw.WriteLine( "; ベースHIDDENモード(0:OFF, 1:ON)" );\r
1208                         sw.WriteLine( "BassHidden={0}", this.bHidden.Bass ? 1 : 0 );\r
1209                         sw.WriteLine();\r
1210                         sw.WriteLine( "; ドラムREVERSEモード(0:OFF, 1:ON)" );\r
1211                         sw.WriteLine( "DrumsReverse={0}", this.bReverse.Drums ? 1 : 0 );\r
1212                         sw.WriteLine();\r
1213                         sw.WriteLine( "; ギターREVERSEモード(0:OFF, 1:ON)" );\r
1214                         sw.WriteLine( "GuitarReverse={0}", this.bReverse.Guitar ? 1 : 0 );\r
1215                         sw.WriteLine();\r
1216                         sw.WriteLine( "; ベースREVERSEモード(0:OFF, 1:ON)" );\r
1217                         sw.WriteLine( "BassReverse={0}", this.bReverse.Bass ? 1 : 0 );\r
1218                         sw.WriteLine();\r
1219                         sw.WriteLine( "; ギターRANDOMモード(0:OFF, 1:Random, 2:SuperRandom, 3:HyperRandom)" );\r
1220                         sw.WriteLine( "GuitarRandom={0}", (int) this.eRandom.Guitar );\r
1221                         sw.WriteLine();\r
1222                         sw.WriteLine( "; ベースRANDOMモード(0:OFF, 1:Random, 2:SuperRandom, 3:HyperRandom)" );\r
1223                         sw.WriteLine( "BassRandom={0}", (int) this.eRandom.Bass );\r
1224                         sw.WriteLine();\r
1225                         sw.WriteLine( "; ギターLIGHTモード(0:OFF, 1:ON)" );\r
1226                         sw.WriteLine( "GuitarLight={0}", this.bLight.Guitar ? 1 : 0 );\r
1227                         sw.WriteLine();\r
1228                         sw.WriteLine( "; ベースLIGHTモード(0:OFF, 1:ON)" );\r
1229                         sw.WriteLine( "BassLight={0}", this.bLight.Bass ? 1 : 0 );\r
1230                         sw.WriteLine();\r
1231                         sw.WriteLine( "; ギターLEFTモード(0:OFF, 1:ON)" );\r
1232                         sw.WriteLine( "GuitarLeft={0}", this.bLeft.Guitar ? 1 : 0 );\r
1233                         sw.WriteLine();\r
1234                         sw.WriteLine( "; ベースLEFTモード(0:OFF, 1:ON)" );\r
1235                         sw.WriteLine( "BassLeft={0}", this.bLeft.Bass ? 1 : 0 );\r
1236                         sw.WriteLine();\r
1237                         sw.WriteLine( "; ドラム判定文字表示位置(0:レーン上,1:判定ライン上,2:表示OFF)" );\r
1238                         sw.WriteLine( "DrumsPosition={0}", (int) this.判定文字表示位置.Drums );\r
1239                         sw.WriteLine();\r
1240                         sw.WriteLine( "; ギター判定文字表示位置(0:レーン上,1:判定ライン横,2:表示OFF)" );\r
1241                         sw.WriteLine( "GuitarPosition={0}", (int) this.判定文字表示位置.Guitar );\r
1242                         sw.WriteLine();\r
1243                         sw.WriteLine( "; ベース判定文字表示位置(0:レーン上,1:判定ライン横,2:表示OFF)" );\r
1244                         sw.WriteLine( "BassPosition={0}", (int) this.判定文字表示位置.Bass );\r
1245                         sw.WriteLine();\r
1246                         sw.WriteLine( "; ドラム譜面スクロール速度(0:x0.5, 1:x1.0, 2:x1.5,…,1999:x1000.0)" );\r
1247                         sw.WriteLine( "DrumsScrollSpeed={0}", this.n譜面スクロール速度.Drums );\r
1248                         sw.WriteLine();\r
1249                         sw.WriteLine( "; ギター譜面スクロール速度(0:x0.5, 1:x1.0, 2:x1.5,…,1999:x1000.0)" );\r
1250                         sw.WriteLine( "GuitarScrollSpeed={0}", this.n譜面スクロール速度.Guitar );\r
1251                         sw.WriteLine();\r
1252                         sw.WriteLine( "; ベース譜面スクロール速度(0:x0.5, 1:x1.0, 2:x1.5,…,1999:x1000.0)" );\r
1253                         sw.WriteLine( "BassScrollSpeed={0}", this.n譜面スクロール速度.Bass );\r
1254                         sw.WriteLine();\r
1255                         sw.WriteLine( "; 演奏速度(5~40)(→x5/20~x40/20)" );\r
1256                         sw.WriteLine( "PlaySpeed={0}", this.n演奏速度 );\r
1257                         sw.WriteLine();\r
1258                         sw.WriteLine( "; ドラムCOMBO文字表示位置(0:左, 1:中, 2:右, 3:OFF)" );\r
1259                         sw.WriteLine( "ComboPosition={0}", (int) this.ドラムコンボ文字の表示位置 );\r
1260                         sw.WriteLine();\r
1261 \r
1262             // #24074 2011.01.23 add ikanick\r
1263                         sw.WriteLine( "; ドラムグラフ表示(0:OFF, 1:ON)" );\r
1264                         sw.WriteLine( "DrumsGraph={0}", this.bGraph.Drums ? 1 : 0 );\r
1265                         sw.WriteLine();\r
1266 \r
1267                         sw.WriteLine( ";-------------------" );\r
1268                         sw.WriteLine( "[AutoPlay]" );\r
1269                         sw.WriteLine();\r
1270                         sw.WriteLine( "; 自動演奏(0:OFF, 1:ON)" );\r
1271                         sw.WriteLine();\r
1272                         sw.WriteLine( "; Drums" );\r
1273                         sw.WriteLine( "LC={0}", this.bAutoPlay.LC ? 1 : 0 );\r
1274                         sw.WriteLine( "HH={0}", this.bAutoPlay.HH ? 1 : 0 );\r
1275                         sw.WriteLine( "SD={0}", this.bAutoPlay.SD ? 1 : 0 );\r
1276                         sw.WriteLine( "BD={0}", this.bAutoPlay.BD ? 1 : 0 );\r
1277                         sw.WriteLine( "HT={0}", this.bAutoPlay.HT ? 1 : 0 );\r
1278                         sw.WriteLine( "LT={0}", this.bAutoPlay.LT ? 1 : 0 );\r
1279                         sw.WriteLine( "FT={0}", this.bAutoPlay.FT ? 1 : 0 );\r
1280                         sw.WriteLine( "CY={0}", this.bAutoPlay.CY ? 1 : 0 );\r
1281                         sw.WriteLine();\r
1282                         sw.WriteLine( "; Guitar" );\r
1283                         sw.WriteLine( "Guitar={0}", this.bAutoPlay.Guitar ? 1 : 0 );\r
1284                         sw.WriteLine();\r
1285                         sw.WriteLine( "; Bass" );\r
1286                         sw.WriteLine( "Bass={0}", this.bAutoPlay.Bass ? 1 : 0 );\r
1287                         sw.WriteLine();\r
1288                         sw.WriteLine( ";-------------------" );\r
1289                         sw.WriteLine( "[HitRange]" );\r
1290                         sw.WriteLine();\r
1291                         sw.WriteLine( "; Perfect~Poor とみなされる範囲[ms]" );\r
1292                         sw.WriteLine( "Perfect={0}", this.nヒット範囲ms.Perfect );\r
1293                         sw.WriteLine( "Great={0}", this.nヒット範囲ms.Great );\r
1294                         sw.WriteLine( "Good={0}", this.nヒット範囲ms.Good );\r
1295                         sw.WriteLine( "Poor={0}", this.nヒット範囲ms.Poor );\r
1296                         sw.WriteLine();\r
1297                         sw.WriteLine( ";-------------------" );\r
1298                         sw.WriteLine( "[GUID]" );\r
1299                         sw.WriteLine();\r
1300                         foreach( KeyValuePair<int, string> pair in this.dicJoystick )\r
1301                         {\r
1302                                 sw.WriteLine( "JoystickID={0},{1}", pair.Key, pair.Value );\r
1303                         }\r
1304                         sw.WriteLine();\r
1305                         sw.WriteLine( ";-------------------" );\r
1306                         sw.WriteLine( "; キーアサイン" );\r
1307                         sw.WriteLine( ";   項 目:Keyboard → 'K'+'0'+キーコード(10進数)" );\r
1308                         sw.WriteLine( ";           Mouse    → 'N'+'0'+ボタン番号(0~7)" );\r
1309                         sw.WriteLine( ";           MIDI In  → 'M'+デバイス番号1桁(0~9,A~Z)+ノート番号(10進数)" );\r
1310                         sw.WriteLine( ";           Joystick → 'J'+デバイス番号1桁(0~9,A~Z)+ 0 ...... X減少(左)ボタン" );\r
1311                         sw.WriteLine( ";                                                         1 ...... X増加(右)ボタン" );\r
1312                         sw.WriteLine( ";                                                         2 ...... Y減少(上)ボタン" );\r
1313                         sw.WriteLine( ";                                                         3 ...... Y増加(下)ボタン" );\r
1314                         sw.WriteLine( ";                                                         4 ...... Z減少(前)ボタン" );\r
1315                         sw.WriteLine( ";                                                         5 ...... Z増加(後)ボタン" );\r
1316                         sw.WriteLine( ";                                                         6~133.. ボタン1~128" );\r
1317                         sw.WriteLine( ";           これらの項目を 16 個まで指定可能(',' で区切って記述)。" );\r
1318                         sw.WriteLine( ";" );\r
1319                         sw.WriteLine( ";   表記例:HH=K044,M042,J16" );\r
1320                         sw.WriteLine( ";           → HiHat を Keyboard の 44 ('Z'), MidiIn#0 の 42, JoyPad#1 の 6(ボタン1) に割当て" );\r
1321                         sw.WriteLine( ";" );\r
1322                         sw.WriteLine( ";   ※Joystick のデバイス番号とデバイスとの関係は [GUID] セクションに記してあるものが有効。" );\r
1323                         sw.WriteLine( ";" );\r
1324                         sw.WriteLine();\r
1325                         sw.WriteLine( "[DrumsKeyAssign]" );\r
1326                         sw.WriteLine();\r
1327                         sw.Write( "HH=" );\r
1328                         this.tキーの書き出し( sw, this.KeyAssign.Drums.HH );\r
1329                         sw.WriteLine();\r
1330                         sw.Write( "SD=" );\r
1331                         this.tキーの書き出し( sw, this.KeyAssign.Drums.SD );\r
1332                         sw.WriteLine();\r
1333                         sw.Write( "BD=" );\r
1334                         this.tキーの書き出し( sw, this.KeyAssign.Drums.BD );\r
1335                         sw.WriteLine();\r
1336                         sw.Write( "HT=" );\r
1337                         this.tキーの書き出し( sw, this.KeyAssign.Drums.HT );\r
1338                         sw.WriteLine();\r
1339                         sw.Write( "LT=" );\r
1340                         this.tキーの書き出し( sw, this.KeyAssign.Drums.LT );\r
1341                         sw.WriteLine();\r
1342                         sw.Write( "FT=" );\r
1343                         this.tキーの書き出し( sw, this.KeyAssign.Drums.FT );\r
1344                         sw.WriteLine();\r
1345                         sw.Write( "CY=" );\r
1346                         this.tキーの書き出し( sw, this.KeyAssign.Drums.CY );\r
1347                         sw.WriteLine();\r
1348                         sw.Write( "HO=" );\r
1349                         this.tキーの書き出し( sw, this.KeyAssign.Drums.HHO );\r
1350                         sw.WriteLine();\r
1351                         sw.Write( "RD=" );\r
1352                         this.tキーの書き出し( sw, this.KeyAssign.Drums.RD );\r
1353                         sw.WriteLine();\r
1354                         sw.Write( "LC=" );\r
1355                         this.tキーの書き出し( sw, this.KeyAssign.Drums.LC );\r
1356                         sw.WriteLine();\r
1357                         sw.WriteLine();\r
1358                         sw.WriteLine( "[GuitarKeyAssign]" );\r
1359                         sw.WriteLine();\r
1360                         sw.Write( "R=" );\r
1361                         this.tキーの書き出し( sw, this.KeyAssign.Guitar.R );\r
1362                         sw.WriteLine();\r
1363                         sw.Write( "G=" );\r
1364                         this.tキーの書き出し( sw, this.KeyAssign.Guitar.G );\r
1365                         sw.WriteLine();\r
1366                         sw.Write( "B=" );\r
1367                         this.tキーの書き出し( sw, this.KeyAssign.Guitar.B );\r
1368                         sw.WriteLine();\r
1369                         sw.Write( "Pick=" );\r
1370                         this.tキーの書き出し( sw, this.KeyAssign.Guitar.Pick );\r
1371                         sw.WriteLine();\r
1372                         sw.Write( "Wail=" );\r
1373                         this.tキーの書き出し( sw, this.KeyAssign.Guitar.Wail );\r
1374                         sw.WriteLine();\r
1375                         sw.Write( "Decide=" );\r
1376                         this.tキーの書き出し( sw, this.KeyAssign.Guitar.Decide );\r
1377                         sw.WriteLine();\r
1378                         sw.Write( "Cancel=" );\r
1379                         this.tキーの書き出し( sw, this.KeyAssign.Guitar.Cancel );\r
1380                         sw.WriteLine();\r
1381                         sw.WriteLine();\r
1382                         sw.WriteLine( "[BassKeyAssign]" );\r
1383                         sw.WriteLine();\r
1384                         sw.Write( "R=" );\r
1385                         this.tキーの書き出し( sw, this.KeyAssign.Bass.R );\r
1386                         sw.WriteLine();\r
1387                         sw.Write( "G=" );\r
1388                         this.tキーの書き出し( sw, this.KeyAssign.Bass.G );\r
1389                         sw.WriteLine();\r
1390                         sw.Write( "B=" );\r
1391                         this.tキーの書き出し( sw, this.KeyAssign.Bass.B );\r
1392                         sw.WriteLine();\r
1393                         sw.Write( "Pick=" );\r
1394                         this.tキーの書き出し( sw, this.KeyAssign.Bass.Pick );\r
1395                         sw.WriteLine();\r
1396                         sw.Write( "Wail=" );\r
1397                         this.tキーの書き出し( sw, this.KeyAssign.Bass.Wail );\r
1398                         sw.WriteLine();\r
1399                         sw.Write( "Decide=" );\r
1400                         this.tキーの書き出し( sw, this.KeyAssign.Bass.Decide );\r
1401                         sw.WriteLine();\r
1402                         sw.Write( "Cancel=" );\r
1403                         this.tキーの書き出し( sw, this.KeyAssign.Bass.Cancel );\r
1404                         sw.WriteLine();\r
1405                         sw.WriteLine();\r
1406                         sw.Close();\r
1407                 }\r
1408                 public void t読み込み( string iniファイル名 )\r
1409                 {\r
1410                         this.ConfigIniファイル名 = iniファイル名;\r
1411                         this.bConfigIniが存在している = File.Exists( this.ConfigIniファイル名 );\r
1412                         if( this.bConfigIniが存在している )\r
1413                         {\r
1414                                 string str;\r
1415                                 this.tキーアサインを全部クリアする();\r
1416                                 Eセクション種別 unknown = Eセクション種別.Unknown;\r
1417                                 StreamReader reader = new StreamReader( this.ConfigIniファイル名, Encoding.GetEncoding( "shift-jis" ) );\r
1418                                 while( ( str = reader.ReadLine() ) != null )\r
1419                                 {\r
1420                                         str = str.Replace( '\t', ' ' ).TrimStart( new char[] { '\t', ' ' } );\r
1421                                         if( ( str.Length != 0 ) && ( str[ 0 ] != ';' ) )\r
1422                                         {\r
1423                                                 try\r
1424                                                 {\r
1425                                                         string str3;\r
1426                                                         string str4;\r
1427                                                         if( str[ 0 ] == '[' )\r
1428                                                         {\r
1429                                                                 #region [ セクションの変更 ]\r
1430                                                                 //-----------------------------\r
1431                                                                 StringBuilder builder = new StringBuilder( 0x20 );\r
1432                                                                 int num = 1;\r
1433                                                                 while( ( num < str.Length ) && ( str[ num ] != ']' ) )\r
1434                                                                 {\r
1435                                                                         builder.Append( str[ num++ ] );\r
1436                                                                 }\r
1437                                                                 string str2 = builder.ToString();\r
1438                                                                 if( str2.Equals( "System" ) )\r
1439                                                                 {\r
1440                                                                         unknown = Eセクション種別.System;\r
1441                                                                 }\r
1442                                                                 else if( str2.Equals( "Log" ) )\r
1443                                                                 {\r
1444                                                                         unknown = Eセクション種別.Log;\r
1445                                                                 }\r
1446                                                                 else if( str2.Equals( "PlayOption" ) )\r
1447                                                                 {\r
1448                                                                         unknown = Eセクション種別.PlayOption;\r
1449                                                                 }\r
1450                                                                 else if( str2.Equals( "AutoPlay" ) )\r
1451                                                                 {\r
1452                                                                         unknown = Eセクション種別.AutoPlay;\r
1453                                                                 }\r
1454                                                                 else if( str2.Equals( "HitRange" ) )\r
1455                                                                 {\r
1456                                                                         unknown = Eセクション種別.HitRange;\r
1457                                                                 }\r
1458                                                                 else if( str2.Equals( "GUID" ) )\r
1459                                                                 {\r
1460                                                                         unknown = Eセクション種別.GUID;\r
1461                                                                 }\r
1462                                                                 else if( str2.Equals( "DrumsKeyAssign" ) )\r
1463                                                                 {\r
1464                                                                         unknown = Eセクション種別.DrumsKeyAssign;\r
1465                                                                 }\r
1466                                                                 else if( str2.Equals( "GuitarKeyAssign" ) )\r
1467                                                                 {\r
1468                                                                         unknown = Eセクション種別.GuitarKeyAssign;\r
1469                                                                 }\r
1470                                                                 else if( str2.Equals( "BassKeyAssign" ) )\r
1471                                                                 {\r
1472                                                                         unknown = Eセクション種別.BassKeyAssign;\r
1473                                                                 }\r
1474                                                                 else\r
1475                                                                 {\r
1476                                                                         unknown = Eセクション種別.Unknown;\r
1477                                                                 }\r
1478                                                                 //-----------------------------\r
1479                                                                 #endregion\r
1480                                                         }\r
1481                                                         else\r
1482                                                         {\r
1483                                                                 string[] strArray = str.Split( new char[] { '=' } );\r
1484                                                                 if( strArray.Length == 2 )\r
1485                                                                 {\r
1486                                                                         str3 = strArray[ 0 ].Trim();\r
1487                                                                         str4 = strArray[ 1 ].Trim();\r
1488                                                                         switch( unknown )\r
1489                                                                         {\r
1490                                                                                 #region [ [System] ]\r
1491                                                                                 //-----------------------------\r
1492                                                                                 case Eセクション種別.System:\r
1493                                                                                         {\r
1494 #if false               // #23625 2011.1.11 Config.iniからダメージ/回復値の定数変更を行う場合はここを有効にする 087リリースに合わせ機能無効化\r
1495                                                                                 //----------------------------------------\r
1496                                                                                                 if (str3.Equals("GaugeFactorD"))\r
1497                                                                                                 {\r
1498                                                                                                         int p = 0;\r
1499                                                                                                         string[] splittedFactor = str4.Split(',');\r
1500                                                                                                         foreach (string s in splittedFactor) {\r
1501                                                                                                                 this.fGaugeFactor[p++, 0] = Convert.ToSingle(s);\r
1502                                                                                                         }\r
1503                                                                                                 } else\r
1504                                                                                                 if (str3.Equals("GaugeFactorG"))\r
1505                                                                                                 {\r
1506                                                                                                         int p = 0;\r
1507                                                                                                         string[] splittedFactor = str4.Split(',');\r
1508                                                                                                         foreach (string s in splittedFactor)\r
1509                                                                                                         {\r
1510                                                                                                                 this.fGaugeFactor[p++, 1] = Convert.ToSingle(s);\r
1511                                                                                                         }\r
1512                                                                                                 }\r
1513                                                                                                 else\r
1514                                                                                                 if (str3.Equals("DamageFactor"))\r
1515                                                                                                 {\r
1516                                                                                                         int p = 0;\r
1517                                                                                                         string[] splittedFactor = str4.Split(',');\r
1518                                                                                                         foreach (string s in splittedFactor)\r
1519                                                                                                         {\r
1520                                                                                                                 this.fDamageLevelFactor[p++] = Convert.ToSingle(s);\r
1521                                                                                                         }\r
1522                                                                                                 }\r
1523                                                                                                 else\r
1524                                                                                 //----------------------------------------\r
1525 #endif\r
1526                                                                                                 if( str3.Equals( "Version" ) )\r
1527                                                                                                 {\r
1528                                                                                                         this.strDTXManiaのバージョン = str4;\r
1529                                                                                                 }\r
1530                                                                                                 else if( str3.Equals( "DTXPath" ) )\r
1531                                                                                                 {\r
1532                                                                                                         this.str曲データ検索パス = str4;\r
1533                                                                                                 }\r
1534                                                                                                 else if( str3.Equals( "FullScreen" ) )\r
1535                                                                                                 {\r
1536                                                                                                         this.b全画面モード = C変換.bONorOFF( str4[ 0 ] );\r
1537                                                                                                 }\r
1538                                                                                                 else if (str3.Equals("WindowWidth"))            // #23510 2010.10.31 yyagi add\r
1539                                                                                                 {\r
1540                                                                                                         this.nウインドウwidth = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 1, 65535, this.nウインドウwidth);\r
1541                                                                                                         if (this.nウインドウwidth <= 0)\r
1542                                                                                                         {\r
1543                                                                                                                 this.nウインドウwidth = 640;\r
1544                                                                                                         }\r
1545                                                                                                 }\r
1546                                                                                                 else if (str3.Equals("WindowHeight"))           // #23510 2010.10.31 yyagi add\r
1547                                                                                                 {\r
1548                                                                                                         this.nウインドウheight = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 1, 65535, this.nウインドウheight);\r
1549                                                                                                         if (this.nウインドウheight <= 0)\r
1550                                                                                                         {\r
1551                                                                                                                 this.nウインドウheight = 480;\r
1552                                                                                                         }\r
1553                                                                                                 }\r
1554                                                                                                 else if (str3.Equals("VSyncWait"))\r
1555                                                                                                 {\r
1556                                                                                                         this.b垂直帰線待ちを行う = C変換.bONorOFF( str4[ 0 ] );\r
1557                                                 }\r
1558                                                 else if (str3.Equals("BackSleep"))              // #23568 2010.11.04 ikanick add\r
1559                                                 {\r
1560                                                     this.n非フォーカス時スリープms = C変換.n値を文字列から取得して範囲内にちゃんと丸めて返す(str4, 0, 50, this.n非フォーカス時スリープms);\r
1561                                                 }\r
1562                                                                                                 else if( str3.Equals( "Guitar" ) )\r
1563                                                                                                 {\r
1564                                                                                                         this.bGuitar有効 = C変換.bONorOFF( str4[ 0 ] );\r
1565                                                                                                 }\r
1566                                                                                                 else if( str3.Equals( "Drums" ) )\r
1567                                                                                                 {\r
1568                                                                                                         this.bDrums有効 = C変換.bONorOFF( str4[ 0 ] );\r
1569                                                                                                 }\r
1570                                                                                                 else if( str3.Equals( "BGAlpha" ) )\r
1571                                                                                                 {\r
1572                                                                                                         this.n背景の透過度 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0xff, this.n背景の透過度 );\r
1573                                                                                                 }\r
1574                                                                                                 else if( str3.Equals( "DamageLevel" ) )\r
1575                                                                                                 {\r
1576                                                                                                         this.eダメージレベル = (Eダメージレベル) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eダメージレベル );\r
1577                                                                                                 }\r
1578                                                                                                 else if( str3.Equals( "HHGroup" ) )\r
1579                                                                                                 {\r
1580                                                                                                         this.eHHGroup = (EHHGroup) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.eHHGroup );\r
1581                                                                                                 }\r
1582                                                                                                 else if( str3.Equals( "FTGroup" ) )\r
1583                                                                                                 {\r
1584                                                                                                         this.eFTGroup = (EFTGroup) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eFTGroup );\r
1585                                                                                                 }\r
1586                                                                                                 else if( str3.Equals( "CYGroup" ) )\r
1587                                                                                                 {\r
1588                                                                                                         this.eCYGroup = (ECYGroup) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eCYGroup );\r
1589                                                                                                 }\r
1590                                                                                                 else if( str3.Equals( "HitSoundPriorityHH" ) )\r
1591                                                                                                 {\r
1592                                                                                                         this.eHitSoundPriorityHH = (E打ち分け時の再生の優先順位) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, (int) this.eHitSoundPriorityHH );\r
1593                                                                                                 }\r
1594                                                                                                 else if( str3.Equals( "HitSoundPriorityFT" ) )\r
1595                                                                                                 {\r
1596                                                                                                         this.eHitSoundPriorityFT = (E打ち分け時の再生の優先順位) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, (int) this.eHitSoundPriorityFT );\r
1597                                                                                                 }\r
1598                                                                                                 else if( str3.Equals( "HitSoundPriorityCY" ) )\r
1599                                                                                                 {\r
1600                                                                                                         this.eHitSoundPriorityCY = (E打ち分け時の再生の優先順位) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 1, (int) this.eHitSoundPriorityCY );\r
1601                                                                                                 }\r
1602                                                                                                 else if( str3.Equals( "StageFailed" ) )\r
1603                                                                                                 {\r
1604                                                                                                         this.bSTAGEFAILED有効 = C変換.bONorOFF( str4[ 0 ] );\r
1605                                                                                                 }\r
1606                                                                                                 else if( str3.Equals( "AVI" ) )\r
1607                                                                                                 {\r
1608                                                                                                         this.bAVI有効 = C変換.bONorOFF( str4[ 0 ] );\r
1609                                                                                                 }\r
1610                                                                                                 else if( str3.Equals( "BGA" ) )\r
1611                                                                                                 {\r
1612                                                                                                         this.bBGA有効 = C変換.bONorOFF( str4[ 0 ] );\r
1613                                                                                                 }\r
1614                                                                                                 else if( str3.Equals( "FillInEffect" ) )\r
1615                                                                                                 {\r
1616                                                                                                         this.bフィルイン有効 = C変換.bONorOFF( str4[ 0 ] );\r
1617                                                                                                 }\r
1618                                                                                                 else if( str3.Equals( "PreviewSoundWait" ) )\r
1619                                                                                                 {\r
1620                                                                                                         this.n曲が選択されてからプレビュー音が鳴るまでのウェイトms = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, this.n曲が選択されてからプレビュー音が鳴るまでのウェイトms );\r
1621                                                                                                 }\r
1622                                                                                                 else if( str3.Equals( "PreviewImageWait" ) )\r
1623                                                                                                 {\r
1624                                                                                                         this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x5f5e0ff, this.n曲が選択されてからプレビュー画像が表示開始されるまでのウェイトms );\r
1625                                                                                                 }\r
1626                                                                                                 else if( str3.Equals( "AdjustWaves" ) )\r
1627                                                                                                 {\r
1628                                                                                                         this.bWave再生位置自動調整機能有効 = C変換.bONorOFF( str4[ 0 ] );\r
1629                                                                                                 }\r
1630                                                                                                 else if( str3.Equals( "BGMSound" ) )\r
1631                                                                                                 {\r
1632                                                                                                         this.bBGM音を発声する = C変換.bONorOFF( str4[ 0 ] );\r
1633                                                                                                 }\r
1634                                                                                                 else if( str3.Equals( "HitSound" ) )\r
1635                                                                                                 {\r
1636                                                                                                         this.bドラム打音を発声する = C変換.bONorOFF( str4[ 0 ] );\r
1637                                                                                                 }\r
1638                                                                                                 else if( str3.Equals( "AudienceSound" ) )\r
1639                                                                                                 {\r
1640                                                                                                         this.b歓声を発声する = C変換.bONorOFF( str4[ 0 ] );\r
1641                                                                                                 }\r
1642                                                                                                 else if( str3.Equals( "SaveScoreIni" ) )\r
1643                                                                                                 {\r
1644                                                                                                         this.bScoreIniを出力する = C変換.bONorOFF( str4[ 0 ] );\r
1645                                                                                                 }\r
1646                                                                                                 else if( str3.Equals( "RandomFromSubBox" ) )\r
1647                                                                                                 {\r
1648                                                                                                         this.bランダムセレクトで子BOXを検索対象とする = C変換.bONorOFF( str4[ 0 ] );\r
1649                                                                                                 }\r
1650                                                                                                 else if( str3.Equals( "SoundMonitorDrums" ) )\r
1651                                                                                                 {\r
1652                                                                                                         this.b演奏音を強調する.Drums = C変換.bONorOFF( str4[ 0 ] );\r
1653                                                                                                 }\r
1654                                                                                                 else if( str3.Equals( "SoundMonitorGuitar" ) )\r
1655                                                                                                 {\r
1656                                                                                                         this.b演奏音を強調する.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
1657                                                                                                 }\r
1658                                                                                                 else if( str3.Equals( "SoundMonitorBass" ) )\r
1659                                                                                                 {\r
1660                                                                                                         this.b演奏音を強調する.Bass = C変換.bONorOFF( str4[ 0 ] );\r
1661                                                                                                 }\r
1662                                                                                                 else if( str3.Equals( "MinComboDrums" ) )\r
1663                                                                                                 {\r
1664                                                                                                         this.n表示可能な最小コンボ数.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x1869f, this.n表示可能な最小コンボ数.Drums );\r
1665                                                                                                 }\r
1666                                                                                                 else if( str3.Equals( "MinComboGuitar" ) )\r
1667                                                                                                 {\r
1668                                                                                                         this.n表示可能な最小コンボ数.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x1869f, this.n表示可能な最小コンボ数.Guitar );\r
1669                                                                                                 }\r
1670                                                                                                 else if( str3.Equals( "MinComboBass" ) )\r
1671                                                                                                 {\r
1672                                                                                                         this.n表示可能な最小コンボ数.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x1869f, this.n表示可能な最小コンボ数.Bass );\r
1673                                                                                                 }\r
1674                                                                                                 else if( str3.Equals( "ShowDebugStatus" ) )\r
1675                                                                                                 {\r
1676                                                                                                         this.b演奏情報を表示する = C変換.bONorOFF( str4[ 0 ] );\r
1677                                                                                                 }\r
1678                                                                                                 else if( str3.Equals( "SelectListFontName" ) )\r
1679                                                                                                 {\r
1680                                                                                                         this.str選曲リストフォント = str4;\r
1681                                                                                                 }\r
1682                                                                                                 else if( str3.Equals( "SelectListFontSize" ) )\r
1683                                                                                                 {\r
1684                                                                                                         this.n選曲リストフォントのサイズdot = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 1, 0x3e7, this.n選曲リストフォントのサイズdot );\r
1685                                                                                                 }\r
1686                                                                                                 else if( str3.Equals( "SelectListFontItalic" ) )\r
1687                                                                                                 {\r
1688                                                                                                         this.b選曲リストフォントを斜体にする = C変換.bONorOFF( str4[ 0 ] );\r
1689                                                                                                 }\r
1690                                                                                                 else if( str3.Equals( "SelectListFontBold" ) )\r
1691                                                                                                 {\r
1692                                                                                                         this.b選曲リストフォントを太字にする = C変換.bONorOFF( str4[ 0 ] );\r
1693                                                                                                 }\r
1694                                                                                                 else if( str3.Equals( "ChipVolume" ) )\r
1695                                                                                                 {\r
1696                                                                                                         this.n手動再生音量 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 100, this.n手動再生音量 );\r
1697                                                                                                 }\r
1698                                                                                                 else if( str3.Equals( "AutoChipVolume" ) )\r
1699                                                                                                 {\r
1700                                                                                                         this.n自動再生音量 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 100, this.n自動再生音量 );\r
1701                                                                                                 }\r
1702                                                                                                 else if( str3.Equals( "StoicMode" ) )\r
1703                                                                                                 {\r
1704                                                                                                         this.bストイックモード = C変換.bONorOFF( str4[ 0 ] );\r
1705                                                                                                 }\r
1706                                                                                                 else if( str3.Equals( "CymbalFree" ) )\r
1707                                                                                                 {\r
1708                                                                                                         this.bシンバルフリー = C変換.bONorOFF( str4[ 0 ] );\r
1709                                                                                                 }\r
1710                                                                                                 else if ( str3.Equals("InputAdjustTimeDrums") )         // #23580 2011.1.3 yyagi\r
1711                                                                                                 {\r
1712                                                                                                         this.nInputAdjustTimeMs.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, -99, 0, this.nInputAdjustTimeMs.Drums);\r
1713                                                                                                 }\r
1714                                                                                                 else if ( str3.Equals("InputAdjustTimeGuitar") )        // #23580 2011.1.3 yyagi\r
1715                                                                                                 {\r
1716                                                                                                         this.nInputAdjustTimeMs.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, -99, 0, this.nInputAdjustTimeMs.Guitar);\r
1717                                                                                                 }\r
1718                                                                                                 else if ( str3.Equals("InputAdjustTimeBass") )          // #23580 2011.1.3 yyagi\r
1719                                                                                                 {\r
1720                                                                                                         this.nInputAdjustTimeMs.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, -99, 0, this.nInputAdjustTimeMs.Bass);\r
1721                                                                                                 }\r
1722                                                                                                 else if ( str3.Equals("BufferedInput") ) {\r
1723                                                                                                         this.bバッファ入力を行う = C変換.bONorOFF(str4[0]);\r
1724                                                                                                 }\r
1725                                                                                                 else if ( str3.Equals( "LCVelocityMin" ) )                      // #23857 2010.12.12 yyagi\r
1726                                                                                                 {\r
1727                                                                                                         this.nVelocityMin.LC = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.LC );\r
1728                                                                                                 }\r
1729                                                                                                 else if ( str3.Equals( "HHVelocityMin" ) )\r
1730                                                                                                 {\r
1731                                                                                                         this.nVelocityMin.HH = C変換.n値を文字列から取得して範囲内に丸めて返す(str4, 0, 127, this.nVelocityMin.HH);\r
1732                                                                                                 }\r
1733                                                                                                 else if ( str3.Equals( "SDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
1734                                                                                                 {\r
1735                                                                                                         this.nVelocityMin.SD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.SD );\r
1736                                                                                                 }\r
1737                                                                                                 else if ( str3.Equals( "BDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
1738                                                                                                 {\r
1739                                                                                                         this.nVelocityMin.BD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.BD );\r
1740                                                                                                 }\r
1741                                                                                                 else if ( str3.Equals( "HTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
1742                                                                                                 {\r
1743                                                                                                         this.nVelocityMin.HT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.HT );\r
1744                                                                                                 }\r
1745                                                                                                 else if ( str3.Equals( "LTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
1746                                                                                                 {\r
1747                                                                                                         this.nVelocityMin.LT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.LT );\r
1748                                                                                                 }\r
1749                                                                                                 else if ( str3.Equals( "FTVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
1750                                                                                                 {\r
1751                                                                                                         this.nVelocityMin.FT = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.FT );\r
1752                                                                                                 }\r
1753                                                                                                 else if ( str3.Equals( "CYVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
1754                                                                                                 {\r
1755                                                                                                         this.nVelocityMin.CY = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.CY );\r
1756                                                                                                 }\r
1757                                                                                                 else if ( str3.Equals( "RDVelocityMin" ) )                      // #23857 2011.1.31 yyagi\r
1758                                                                                                 {\r
1759                                                                                                         this.nVelocityMin.RD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.RD );\r
1760                                                                                                 }\r
1761                                                                                                 continue;\r
1762                                                                                         }\r
1763                                                                                 //-----------------------------\r
1764                                                                                 #endregion\r
1765 \r
1766                                                                                 #region [ [Log] ]\r
1767                                                                                 //-----------------------------\r
1768                                                                                 case Eセクション種別.Log:\r
1769                                                                                         {\r
1770                                                                                                 if( str3.Equals( "OutputLog" ) )\r
1771                                                                                                 {\r
1772                                                                                                         this.bログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
1773                                                                                                 }\r
1774                                                                                                 else if( str3.Equals( "TraceCreatedDisposed" ) )\r
1775                                                                                                 {\r
1776                                                                                                         this.bLog作成解放ログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
1777                                                                                                 }\r
1778                                                                                                 else if( str3.Equals( "TraceDTXDetails" ) )\r
1779                                                                                                 {\r
1780                                                                                                         this.bLogDTX詳細ログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
1781                                                                                                 }\r
1782                                                                                                 else if( str3.Equals( "TraceSongSearch" ) )\r
1783                                                                                                 {\r
1784                                                                                                         this.bLog曲検索ログ出力 = C変換.bONorOFF( str4[ 0 ] );\r
1785                                                                                                 }\r
1786                                                                                                 continue;\r
1787                                                                                         }\r
1788                                                                                 //-----------------------------\r
1789                                                                                 #endregion\r
1790 \r
1791                                                                                 #region [ [PlayOption] ]\r
1792                                                                                 //-----------------------------\r
1793                                                                                 case Eセクション種別.PlayOption:\r
1794                                                                                         {\r
1795                                                                                                 if( str3.Equals( "Dark" ) )\r
1796                                                                                                 {\r
1797                                                                                                         this.eDark = (Eダークモード) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.eDark );\r
1798                                                                                                 }\r
1799                                                                                                 else if( str3.Equals( "DrumsTight" ) )\r
1800                                                                                                 {\r
1801                                                                                                         this.bTight = C変換.bONorOFF( str4[ 0 ] );\r
1802                                                                                                 }\r
1803                                                                                                 else if( str3.Equals( "DrumsGraph" ) )  // #24074 2011.01.23 addikanick\r
1804                                                                                                 {\r
1805                                                                                                         this.bGraph.Drums = C変換.bONorOFF( str4[ 0 ] );\r
1806                                                                                                 }\r
1807                                                                                                 else if( str3.Equals( "DrumsSudden" ) )\r
1808                                                                                                 {\r
1809                                                                                                         this.bSudden.Drums = C変換.bONorOFF( str4[ 0 ] );\r
1810                                                                                                 }\r
1811                                                                                                 else if( str3.Equals( "GuitarSudden" ) )\r
1812                                                                                                 {\r
1813                                                                                                         this.bSudden.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
1814                                                                                                 }\r
1815                                                                                                 else if( str3.Equals( "BassSudden" ) )\r
1816                                                                                                 {\r
1817                                                                                                         this.bSudden.Bass = C変換.bONorOFF( str4[ 0 ] );\r
1818                                                                                                 }\r
1819                                                                                                 else if( str3.Equals( "DrumsHidden" ) )\r
1820                                                                                                 {\r
1821                                                                                                         this.bHidden.Drums = C変換.bONorOFF( str4[ 0 ] );\r
1822                                                                                                 }\r
1823                                                                                                 else if( str3.Equals( "GuitarHidden" ) )\r
1824                                                                                                 {\r
1825                                                                                                         this.bHidden.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
1826                                                                                                 }\r
1827                                                                                                 else if( str3.Equals( "BassHidden" ) )\r
1828                                                                                                 {\r
1829                                                                                                         this.bHidden.Bass = C変換.bONorOFF( str4[ 0 ] );\r
1830                                                                                                 }\r
1831                                                                                                 else if( str3.Equals( "DrumsReverse" ) )\r
1832                                                                                                 {\r
1833                                                                                                         this.bReverse.Drums = C変換.bONorOFF( str4[ 0 ] );\r
1834                                                                                                 }\r
1835                                                                                                 else if( str3.Equals( "GuitarReverse" ) )\r
1836                                                                                                 {\r
1837                                                                                                         this.bReverse.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
1838                                                                                                 }\r
1839                                                                                                 else if( str3.Equals( "BassReverse" ) )\r
1840                                                                                                 {\r
1841                                                                                                         this.bReverse.Bass = C変換.bONorOFF( str4[ 0 ] );\r
1842                                                                                                 }\r
1843                                                                                                 else if( str3.Equals( "GuitarRandom" ) )\r
1844                                                                                                 {\r
1845                                                                                                         this.eRandom.Guitar = (Eランダムモード) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.eRandom.Guitar );\r
1846                                                                                                 }\r
1847                                                                                                 else if( str3.Equals( "BassRandom" ) )\r
1848                                                                                                 {\r
1849                                                                                                         this.eRandom.Bass = (Eランダムモード) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.eRandom.Bass );\r
1850                                                                                                 }\r
1851                                                                                                 else if( str3.Equals( "GuitarLight" ) )\r
1852                                                                                                 {\r
1853                                                                                                         this.bLight.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
1854                                                                                                 }\r
1855                                                                                                 else if( str3.Equals( "BassLight" ) )\r
1856                                                                                                 {\r
1857                                                                                                         this.bLight.Bass = C変換.bONorOFF( str4[ 0 ] );\r
1858                                                                                                 }\r
1859                                                                                                 else if( str3.Equals( "GuitarLeft" ) )\r
1860                                                                                                 {\r
1861                                                                                                         this.bLeft.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
1862                                                                                                 }\r
1863                                                                                                 else if( str3.Equals( "BassLeft" ) )\r
1864                                                                                                 {\r
1865                                                                                                         this.bLeft.Bass = C変換.bONorOFF( str4[ 0 ] );\r
1866                                                                                                 }\r
1867                                                                                                 else if( str3.Equals( "DrumsPosition" ) )\r
1868                                                                                                 {\r
1869                                                                                                         this.判定文字表示位置.Drums = (E判定文字表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.判定文字表示位置.Drums );\r
1870                                                                                                 }\r
1871                                                                                                 else if( str3.Equals( "GuitarPosition" ) )\r
1872                                                                                                 {\r
1873                                                                                                         this.判定文字表示位置.Guitar = (E判定文字表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.判定文字表示位置.Guitar );\r
1874                                                                                                 }\r
1875                                                                                                 else if( str3.Equals( "BassPosition" ) )\r
1876                                                                                                 {\r
1877                                                                                                         this.判定文字表示位置.Bass = (E判定文字表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 2, (int) this.判定文字表示位置.Bass );\r
1878                                                                                                 }\r
1879                                                                                                 else if( str3.Equals( "DrumsScrollSpeed" ) )\r
1880                                                                                                 {\r
1881                                                                                                         this.n譜面スクロール速度.Drums = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x7cf, this.n譜面スクロール速度.Drums );\r
1882                                                                                                 }\r
1883                                                                                                 else if( str3.Equals( "GuitarScrollSpeed" ) )\r
1884                                                                                                 {\r
1885                                                                                                         this.n譜面スクロール速度.Guitar = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x7cf, this.n譜面スクロール速度.Guitar );\r
1886                                                                                                 }\r
1887                                                                                                 else if( str3.Equals( "BassScrollSpeed" ) )\r
1888                                                                                                 {\r
1889                                                                                                         this.n譜面スクロール速度.Bass = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x7cf, this.n譜面スクロール速度.Bass );\r
1890                                                                                                 }\r
1891                                                                                                 else if( str3.Equals( "PlaySpeed" ) )\r
1892                                                                                                 {\r
1893                                                                                                         this.n演奏速度 = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 5, 40, this.n演奏速度 );\r
1894                                                                                                 }\r
1895                                                                                                 else if( str3.Equals( "ComboPosition" ) )\r
1896                                                                                                 {\r
1897                                                                                                         this.ドラムコンボ文字の表示位置 = (Eドラムコンボ文字の表示位置) C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 3, (int) this.ドラムコンボ文字の表示位置 );\r
1898                                                                                                 }\r
1899                                                                                                 continue;\r
1900                                                                                         }\r
1901                                                                                 //-----------------------------\r
1902                                                                                 #endregion\r
1903 \r
1904                                                                                 #region [ [AutoPlay] ]\r
1905                                                                                 //-----------------------------\r
1906                                                                                 case Eセクション種別.AutoPlay:\r
1907                                                                                         {\r
1908                                                                                                 if( str3.Equals( "LC" ) )\r
1909                                                                                                 {\r
1910                                                                                                         this.bAutoPlay.LC = C変換.bONorOFF( str4[ 0 ] );\r
1911                                                                                                 }\r
1912                                                                                                 if( str3.Equals( "HH" ) )\r
1913                                                                                                 {\r
1914                                                                                                         this.bAutoPlay.HH = C変換.bONorOFF( str4[ 0 ] );\r
1915                                                                                                 }\r
1916                                                                                                 else if( str3.Equals( "SD" ) )\r
1917                                                                                                 {\r
1918                                                                                                         this.bAutoPlay.SD = C変換.bONorOFF( str4[ 0 ] );\r
1919                                                                                                 }\r
1920                                                                                                 else if( str3.Equals( "BD" ) )\r
1921                                                                                                 {\r
1922                                                                                                         this.bAutoPlay.BD = C変換.bONorOFF( str4[ 0 ] );\r
1923                                                                                                 }\r
1924                                                                                                 else if( str3.Equals( "HT" ) )\r
1925                                                                                                 {\r
1926                                                                                                         this.bAutoPlay.HT = C変換.bONorOFF( str4[ 0 ] );\r
1927                                                                                                 }\r
1928                                                                                                 else if( str3.Equals( "LT" ) )\r
1929                                                                                                 {\r
1930                                                                                                         this.bAutoPlay.LT = C変換.bONorOFF( str4[ 0 ] );\r
1931                                                                                                 }\r
1932                                                                                                 else if( str3.Equals( "FT" ) )\r
1933                                                                                                 {\r
1934                                                                                                         this.bAutoPlay.FT = C変換.bONorOFF( str4[ 0 ] );\r
1935                                                                                                 }\r
1936                                                                                                 else if( str3.Equals( "CY" ) )\r
1937                                                                                                 {\r
1938                                                                                                         this.bAutoPlay.CY = C変換.bONorOFF( str4[ 0 ] );\r
1939                                                                                                 }\r
1940                                                                                                 else if( str3.Equals( "Guitar" ) )\r
1941                                                                                                 {\r
1942                                                                                                         this.bAutoPlay.Guitar = C変換.bONorOFF( str4[ 0 ] );\r
1943                                                                                                 }\r
1944                                                                                                 else if( str3.Equals( "Bass" ) )\r
1945                                                                                                 {\r
1946                                                                                                         this.bAutoPlay.Bass = C変換.bONorOFF( str4[ 0 ] );\r
1947                                                                                                 }\r
1948                                                                                                 continue;\r
1949                                                                                         }\r
1950                                                                                 //-----------------------------\r
1951                                                                                 #endregion\r
1952 \r
1953                                                                                 #region [ [HitRange] ]\r
1954                                                                                 //-----------------------------\r
1955                                                                                 case Eセクション種別.HitRange:\r
1956                                                                                         {\r
1957                                                                                                 if( str3.Equals( "Perfect" ) )\r
1958                                                                                                 {\r
1959                                                                                                         this.nヒット範囲ms.Perfect = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Perfect );\r
1960                                                                                                 }\r
1961                                                                                                 else if( str3.Equals( "Great" ) )\r
1962                                                                                                 {\r
1963                                                                                                         this.nヒット範囲ms.Great = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Great );\r
1964                                                                                                 }\r
1965                                                                                                 else if( str3.Equals( "Good" ) )\r
1966                                                                                                 {\r
1967                                                                                                         this.nヒット範囲ms.Good = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Good );\r
1968                                                                                                 }\r
1969                                                                                                 else if( str3.Equals( "Poor" ) )\r
1970                                                                                                 {\r
1971                                                                                                         this.nヒット範囲ms.Poor = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 0x3e7, this.nヒット範囲ms.Poor );\r
1972                                                                                                 }\r
1973                                                                                                 continue;\r
1974                                                                                         }\r
1975                                                                                 //-----------------------------\r
1976                                                                                 #endregion\r
1977 \r
1978                                                                                 #region [ [GUID] ]\r
1979                                                                                 //-----------------------------\r
1980                                                                                 case Eセクション種別.GUID:\r
1981                                                                                         {\r
1982                                                                                                 if( str3.Equals( "JoystickID" ) )\r
1983                                                                                                 {\r
1984                                                                                                         this.tJoystickIDの取得( str4 );\r
1985                                                                                                 }\r
1986                                                                                                 continue;\r
1987                                                                                         }\r
1988                                                                                 //-----------------------------\r
1989                                                                                 #endregion\r
1990 \r
1991                                                                                 #region [ [DrumsKeyAssign] ]\r
1992                                                                                 //-----------------------------\r
1993                                                                                 case Eセクション種別.DrumsKeyAssign:\r
1994                                                                                         {\r
1995                                                                                                 if( str3.Equals( "HH" ) )\r
1996                                                                                                 {\r
1997                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.HH );\r
1998                                                                                                 }\r
1999                                                                                                 else if( str3.Equals( "SD" ) )\r
2000                                                                                                 {\r
2001                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.SD );\r
2002                                                                                                 }\r
2003                                                                                                 else if( str3.Equals( "BD" ) )\r
2004                                                                                                 {\r
2005                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.BD );\r
2006                                                                                                 }\r
2007                                                                                                 else if( str3.Equals( "HT" ) )\r
2008                                                                                                 {\r
2009                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.HT );\r
2010                                                                                                 }\r
2011                                                                                                 else if( str3.Equals( "LT" ) )\r
2012                                                                                                 {\r
2013                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.LT );\r
2014                                                                                                 }\r
2015                                                                                                 else if( str3.Equals( "FT" ) )\r
2016                                                                                                 {\r
2017                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.FT );\r
2018                                                                                                 }\r
2019                                                                                                 else if( str3.Equals( "CY" ) )\r
2020                                                                                                 {\r
2021                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.CY );\r
2022                                                                                                 }\r
2023                                                                                                 else if( str3.Equals( "HO" ) )\r
2024                                                                                                 {\r
2025                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.HHO );\r
2026                                                                                                 }\r
2027                                                                                                 else if( str3.Equals( "RD" ) )\r
2028                                                                                                 {\r
2029                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.RD );\r
2030                                                                                                 }\r
2031                                                                                                 else if( str3.Equals( "LC" ) )\r
2032                                                                                                 {\r
2033                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Drums.LC );\r
2034                                                                                                 }\r
2035                                                                                                 continue;\r
2036                                                                                         }\r
2037                                                                                 //-----------------------------\r
2038                                                                                 #endregion\r
2039 \r
2040                                                                                 #region [ GuitarKeyAssign ]\r
2041                                                                                 //-----------------------------\r
2042                                                                                 case Eセクション種別.GuitarKeyAssign:\r
2043                                                                                         {\r
2044                                                                                                 if( str3.Equals( "R" ) )\r
2045                                                                                                 {\r
2046                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.R );\r
2047                                                                                                 }\r
2048                                                                                                 else if( str3.Equals( "G" ) )\r
2049                                                                                                 {\r
2050                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.G );\r
2051                                                                                                 }\r
2052                                                                                                 else if( str3.Equals( "B" ) )\r
2053                                                                                                 {\r
2054                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.B );\r
2055                                                                                                 }\r
2056                                                                                                 else if( str3.Equals( "Pick" ) )\r
2057                                                                                                 {\r
2058                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Pick );\r
2059                                                                                                 }\r
2060                                                                                                 else if( str3.Equals( "Wail" ) )\r
2061                                                                                                 {\r
2062                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Wail );\r
2063                                                                                                 }\r
2064                                                                                                 else if( str3.Equals( "Decide" ) )\r
2065                                                                                                 {\r
2066                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Decide );\r
2067                                                                                                 }\r
2068                                                                                                 else if( str3.Equals( "Cancel" ) )\r
2069                                                                                                 {\r
2070                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Guitar.Cancel );\r
2071                                                                                                 }\r
2072                                                                                                 continue;\r
2073                                                                                         }\r
2074                                                                                 //-----------------------------\r
2075                                                                                 #endregion\r
2076 \r
2077                                                                                 #region [ [BassKeyAssign ]\r
2078                                                                                 //-----------------------------\r
2079                                                                                 case Eセクション種別.BassKeyAssign:\r
2080                                                                                         {\r
2081                                                                                                 if( str3.Equals( "R" ) )\r
2082                                                                                                 {\r
2083                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.R );\r
2084                                                                                                 }\r
2085                                                                                                 else if( str3.Equals( "G" ) )\r
2086                                                                                                 {\r
2087                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.G );\r
2088                                                                                                 }\r
2089                                                                                                 else if( str3.Equals( "B" ) )\r
2090                                                                                                 {\r
2091                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.B );\r
2092                                                                                                 }\r
2093                                                                                                 else if( str3.Equals( "Pick" ) )\r
2094                                                                                                 {\r
2095                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Pick );\r
2096                                                                                                 }\r
2097                                                                                                 else if( str3.Equals( "Wail" ) )\r
2098                                                                                                 {\r
2099                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Wail );\r
2100                                                                                                 }\r
2101                                                                                                 else if( str3.Equals( "Decide" ) )\r
2102                                                                                                 {\r
2103                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Decide );\r
2104                                                                                                 }\r
2105                                                                                                 else if( str3.Equals( "Cancel" ) )\r
2106                                                                                                 {\r
2107                                                                                                         this.tキーの読み出しと設定( str4, this.KeyAssign.Bass.Cancel );\r
2108                                                                                                 }\r
2109                                                                                                 continue;\r
2110                                                                                         }\r
2111                                                                                 //-----------------------------\r
2112                                                                                 #endregion\r
2113                                                                         }\r
2114                                                                 }\r
2115                                                         }\r
2116                                                         continue;\r
2117                                                 }\r
2118                                                 catch( Exception exception )\r
2119                                                 {\r
2120                                                         Trace.TraceError( exception.Message );\r
2121                                                         continue;\r
2122                                                 }\r
2123                                         }\r
2124                                 }\r
2125                                 CDTXVersion version = new CDTXVersion( this.strDTXManiaのバージョン );\r
2126                                 if( version.n整数部 <= 69 )\r
2127                                 {\r
2128                                         this.tデフォルトのキーアサインに設定する();\r
2129                                 }\r
2130                         }\r
2131                 }\r
2132 \r
2133                 /// <summary>\r
2134                 /// ギターとベースのキーアサイン入れ替え\r
2135                 /// </summary>\r
2136                 public void SwapGuitarBassKeyAssign()           // #24063 2011.1.16 yyagi\r
2137                 {\r
2138                         for ( int j = 0; j < 10; j++ )\r
2139                         {\r
2140                                 CKeyAssign.STKEYASSIGN t; //= new CConfigIni.CKeyAssign.STKEYASSIGN();\r
2141                                 for ( int k = 0; k < 16; k++ )\r
2142                                 {\r
2143                                         t = this.KeyAssign[ 1 ][ j ][ k ];\r
2144                                         this.KeyAssign[ 1 ][ j ][ k ] = this.KeyAssign[ 2 ][ j ][ k ];\r
2145                                         this.KeyAssign[ 2 ][ j ][ k ] = t;\r
2146                                 }\r
2147                         }\r
2148                         this.bIsSwappedGuitarBass = !bIsSwappedGuitarBass;\r
2149                 }\r
2150 \r
2151 \r
2152                 // その他\r
2153 \r
2154                 #region [ private ]\r
2155                 //-----------------\r
2156                 private enum Eセクション種別\r
2157                 {\r
2158                         Unknown,\r
2159                         System,\r
2160                         Log,\r
2161                         PlayOption,\r
2162                         AutoPlay,\r
2163                         HitRange,\r
2164                         GUID,\r
2165                         DrumsKeyAssign,\r
2166                         GuitarKeyAssign,\r
2167                         BassKeyAssign\r
2168                 }\r
2169 \r
2170                 private bool _bDrums有効;\r
2171                 private bool _bGuitar有効;\r
2172                 private bool bConfigIniが存在している;\r
2173                 private string ConfigIniファイル名;\r
2174 \r
2175                 private void tJoystickIDの取得( string strキー記述 )\r
2176                 {\r
2177                         string[] strArray = strキー記述.Split( new char[] { ',' } );\r
2178                         if( strArray.Length >= 2 )\r
2179                         {\r
2180                                 int result = 0;\r
2181                                 if( ( int.TryParse( strArray[ 0 ], out result ) && ( result >= 0 ) ) && ( result <= 9 ) )\r
2182                                 {\r
2183                                         if( this.dicJoystick.ContainsKey( result ) )\r
2184                                         {\r
2185                                                 this.dicJoystick.Remove( result );\r
2186                                         }\r
2187                                         this.dicJoystick.Add( result, strArray[ 1 ] );\r
2188                                 }\r
2189                         }\r
2190                 }\r
2191                 private void tキーアサインを全部クリアする()\r
2192                 {\r
2193                         this.KeyAssign = new CKeyAssign();\r
2194                         for( int i = 0; i < 3; i++ )\r
2195                         {\r
2196                                 for( int j = 0; j < 10; j++ )\r
2197                                 {\r
2198                                         this.KeyAssign[ i ][ j ] = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2199                                         for( int k = 0; k < 0x10; k++ )\r
2200                                         {\r
2201                                                 this.KeyAssign[ i ][ j ][ k ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2202                                         }\r
2203                                 }\r
2204                         }\r
2205                 }\r
2206                 private void tキーの書き出し( StreamWriter sw, CKeyAssign.STKEYASSIGN[] assign )\r
2207                 {\r
2208                         bool flag = true;\r
2209                         for( int i = 0; i < 0x10; i++ )\r
2210                         {\r
2211                                 if( assign[ i ].入力デバイス == E入力デバイス.不明 )\r
2212                                 {\r
2213                                         continue;\r
2214                                 }\r
2215                                 if( !flag )\r
2216                                 {\r
2217                                         sw.Write( ',' );\r
2218                                 }\r
2219                                 flag = false;\r
2220                                 switch( assign[ i ].入力デバイス )\r
2221                                 {\r
2222                                         case E入力デバイス.キーボード:\r
2223                                                 sw.Write( 'K' );\r
2224                                                 break;\r
2225 \r
2226                                         case E入力デバイス.MIDI入力:\r
2227                                                 sw.Write( 'M' );\r
2228                                                 break;\r
2229 \r
2230                                         case E入力デバイス.ジョイパッド:\r
2231                                                 sw.Write( 'J' );\r
2232                                                 break;\r
2233 \r
2234                                         case E入力デバイス.マウス:\r
2235                                                 sw.Write( 'N' );\r
2236                                                 break;\r
2237                                 }\r
2238                                 sw.Write( "{0}{1}", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".Substring( assign[ i ].ID, 1 ), assign[ i ].コード );     // #24166 2011.1.15 yyagi: to support ID > 10, change 2nd character from Decimal to 36-numeral system. (e.g. J1023 -> JA23)\r
2239                         }\r
2240                 }\r
2241                 private void tキーの読み出しと設定( string strキー記述, CKeyAssign.STKEYASSIGN[] assign )\r
2242                 {\r
2243                         string[] strArray = strキー記述.Split( new char[] { ',' } );\r
2244                         for( int i = 0; ( i < strArray.Length ) && ( i < 0x10 ); i++ )\r
2245                         {\r
2246                                 E入力デバイス e入力デバイス;\r
2247                                 int id;\r
2248                                 int code;\r
2249                                 string str = strArray[ i ].Trim().ToUpper();\r
2250                                 if ( str.Length >= 3 )\r
2251                                 {\r
2252                                         e入力デバイス = E入力デバイス.不明;\r
2253                                         switch ( str[ 0 ] )\r
2254                                         {\r
2255                                                 case 'J':\r
2256                                                         e入力デバイス = E入力デバイス.ジョイパッド;\r
2257                                                         break;\r
2258 \r
2259                                                 case 'K':\r
2260                                                         e入力デバイス = E入力デバイス.キーボード;\r
2261                                                         break;\r
2262 \r
2263                                                 case 'L':\r
2264                                                         continue;\r
2265 \r
2266                                                 case 'M':\r
2267                                                         e入力デバイス = E入力デバイス.MIDI入力;\r
2268                                                         break;\r
2269 \r
2270                                                 case 'N':\r
2271                                                         e入力デバイス = E入力デバイス.マウス;\r
2272                                                         break;\r
2273                                         }\r
2274                                 }\r
2275                                 else\r
2276                                 {\r
2277                                         continue;\r
2278                                 }\r
2279                                 id = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".IndexOf( str[ 1 ] );        // #24166 2011.1.15 yyagi: to support ID > 10, change 2nd character from Decimal to 36-numeral system. (e.g. J1023 -> JA23)\r
2280                                 if( ( ( id >= 0 ) && int.TryParse( str.Substring( 2 ), out code ) ) && ( ( code >= 0 ) && ( code <= 0xff ) ) )\r
2281                                 {\r
2282                                         this.t指定した入力が既にアサイン済みである場合はそれを全削除する( e入力デバイス, id, code );\r
2283                                         assign[ i ].入力デバイス = e入力デバイス;\r
2284                                         assign[ i ].ID = id;\r
2285                                         assign[ i ].コード = code;\r
2286                                 }\r
2287                         }\r
2288                 }\r
2289                 private void tデフォルトのキーアサインに設定する()\r
2290                 {\r
2291                         this.tキーアサインを全部クリアする();\r
2292                         CKeyAssign.STKEYASSIGN[] stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2293                         CKeyAssign.STKEYASSIGN stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2294                         CKeyAssign.STKEYASSIGN stkeyassign = stkeyassign63;\r
2295                         stkeyassign.入力デバイス = E入力デバイス.キーボード;\r
2296                         stkeyassign.ID = 0;\r
2297                         stkeyassign.コード = 0x23;\r
2298                         stkeyassignArray[ 0 ] = stkeyassign;\r
2299                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2300                         CKeyAssign.STKEYASSIGN stkeyassign2 = stkeyassign63;\r
2301                         stkeyassign2.入力デバイス = E入力デバイス.MIDI入力;\r
2302                         stkeyassign2.ID = 0;\r
2303                         stkeyassign2.コード = 0x2a;\r
2304                         stkeyassignArray[ 1 ] = stkeyassign2;\r
2305                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2306                         CKeyAssign.STKEYASSIGN stkeyassign3 = stkeyassign63;\r
2307                         stkeyassign3.入力デバイス = E入力デバイス.MIDI入力;\r
2308                         stkeyassign3.ID = 0;\r
2309                         stkeyassign3.コード = 0x5d;\r
2310                         stkeyassignArray[ 2 ] = stkeyassign3;\r
2311                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2312                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2313                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2314                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2315                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2316                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2317                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2318                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2319                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2320                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2321                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2322                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2323                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2324                         this.KeyAssign.Drums.HH = stkeyassignArray;\r
2325                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2326                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2327                         CKeyAssign.STKEYASSIGN stkeyassign4 = stkeyassign63;\r
2328                         stkeyassign4.入力デバイス = E入力デバイス.キーボード;\r
2329                         stkeyassign4.ID = 0;\r
2330                         stkeyassign4.コード = 0x21;\r
2331                         stkeyassignArray[ 0 ] = stkeyassign4;\r
2332                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2333                         CKeyAssign.STKEYASSIGN stkeyassign5 = stkeyassign63;\r
2334                         stkeyassign5.入力デバイス = E入力デバイス.MIDI入力;\r
2335                         stkeyassign5.ID = 0;\r
2336                         stkeyassign5.コード = 0x19;\r
2337                         stkeyassignArray[ 1 ] = stkeyassign5;\r
2338                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2339                         CKeyAssign.STKEYASSIGN stkeyassign6 = stkeyassign63;\r
2340                         stkeyassign6.入力デバイス = E入力デバイス.MIDI入力;\r
2341                         stkeyassign6.ID = 0;\r
2342                         stkeyassign6.コード = 0x1a;\r
2343                         stkeyassignArray[ 2 ] = stkeyassign6;\r
2344                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2345                         CKeyAssign.STKEYASSIGN stkeyassign7 = stkeyassign63;\r
2346                         stkeyassign7.入力デバイス = E入力デバイス.MIDI入力;\r
2347                         stkeyassign7.ID = 0;\r
2348                         stkeyassign7.コード = 0x1b;\r
2349                         stkeyassignArray[ 3 ] = stkeyassign7;\r
2350                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2351                         CKeyAssign.STKEYASSIGN stkeyassign8 = stkeyassign63;\r
2352                         stkeyassign8.入力デバイス = E入力デバイス.MIDI入力;\r
2353                         stkeyassign8.ID = 0;\r
2354                         stkeyassign8.コード = 0x1c;\r
2355                         stkeyassignArray[ 4 ] = stkeyassign8;\r
2356                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2357                         CKeyAssign.STKEYASSIGN stkeyassign9 = stkeyassign63;\r
2358                         stkeyassign9.入力デバイス = E入力デバイス.MIDI入力;\r
2359                         stkeyassign9.ID = 0;\r
2360                         stkeyassign9.コード = 0x1d;\r
2361                         stkeyassignArray[ 5 ] = stkeyassign9;\r
2362                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2363                         CKeyAssign.STKEYASSIGN stkeyassign10 = stkeyassign63;\r
2364                         stkeyassign10.入力デバイス = E入力デバイス.MIDI入力;\r
2365                         stkeyassign10.ID = 0;\r
2366                         stkeyassign10.コード = 0x1f;\r
2367                         stkeyassignArray[ 6 ] = stkeyassign10;\r
2368                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2369                         CKeyAssign.STKEYASSIGN stkeyassign11 = stkeyassign63;\r
2370                         stkeyassign11.入力デバイス = E入力デバイス.MIDI入力;\r
2371                         stkeyassign11.ID = 0;\r
2372                         stkeyassign11.コード = 0x20;\r
2373                         stkeyassignArray[ 7 ] = stkeyassign11;\r
2374                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2375                         CKeyAssign.STKEYASSIGN stkeyassign12 = stkeyassign63;\r
2376                         stkeyassign12.入力デバイス = E入力デバイス.MIDI入力;\r
2377                         stkeyassign12.ID = 0;\r
2378                         stkeyassign12.コード = 0x22;\r
2379                         stkeyassignArray[ 8 ] = stkeyassign12;\r
2380                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2381                         CKeyAssign.STKEYASSIGN stkeyassign13 = stkeyassign63;\r
2382                         stkeyassign13.入力デバイス = E入力デバイス.MIDI入力;\r
2383                         stkeyassign13.ID = 0;\r
2384                         stkeyassign13.コード = 0x25;\r
2385                         stkeyassignArray[ 9 ] = stkeyassign13;\r
2386                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2387                         CKeyAssign.STKEYASSIGN stkeyassign14 = stkeyassign63;\r
2388                         stkeyassign14.入力デバイス = E入力デバイス.MIDI入力;\r
2389                         stkeyassign14.ID = 0;\r
2390                         stkeyassign14.コード = 0x26;\r
2391                         stkeyassignArray[ 10 ] = stkeyassign14;\r
2392                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2393                         CKeyAssign.STKEYASSIGN stkeyassign15 = stkeyassign63;\r
2394                         stkeyassign15.入力デバイス = E入力デバイス.MIDI入力;\r
2395                         stkeyassign15.ID = 0;\r
2396                         stkeyassign15.コード = 40;\r
2397                         stkeyassignArray[ 11 ] = stkeyassign15;\r
2398                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2399                         CKeyAssign.STKEYASSIGN stkeyassign16 = stkeyassign63;\r
2400                         stkeyassign16.入力デバイス = E入力デバイス.MIDI入力;\r
2401                         stkeyassign16.ID = 0;\r
2402                         stkeyassign16.コード = 0x71;\r
2403                         stkeyassignArray[ 12 ] = stkeyassign16;\r
2404                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2405                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2406                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2407                         this.KeyAssign.Drums.SD = stkeyassignArray;\r
2408                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2409                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2410                         CKeyAssign.STKEYASSIGN stkeyassign17 = stkeyassign63;\r
2411                         stkeyassign17.入力デバイス = E入力デバイス.キーボード;\r
2412                         stkeyassign17.ID = 0;\r
2413                         stkeyassign17.コード = 12;\r
2414                         stkeyassignArray[ 0 ] = stkeyassign17;\r
2415                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2416                         CKeyAssign.STKEYASSIGN stkeyassign18 = stkeyassign63;\r
2417                         stkeyassign18.入力デバイス = E入力デバイス.キーボード;\r
2418                         stkeyassign18.ID = 0;\r
2419                         stkeyassign18.コード = 0x7e;\r
2420                         stkeyassignArray[ 1 ] = stkeyassign18;\r
2421                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2422                         CKeyAssign.STKEYASSIGN stkeyassign19 = stkeyassign63;\r
2423                         stkeyassign19.入力デバイス = E入力デバイス.MIDI入力;\r
2424                         stkeyassign19.ID = 0;\r
2425                         stkeyassign19.コード = 0x21;\r
2426                         stkeyassignArray[ 2 ] = stkeyassign19;\r
2427                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2428                         CKeyAssign.STKEYASSIGN stkeyassign20 = stkeyassign63;\r
2429                         stkeyassign20.入力デバイス = E入力デバイス.MIDI入力;\r
2430                         stkeyassign20.ID = 0;\r
2431                         stkeyassign20.コード = 0x23;\r
2432                         stkeyassignArray[ 3 ] = stkeyassign20;\r
2433                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2434                         CKeyAssign.STKEYASSIGN stkeyassign21 = stkeyassign63;\r
2435                         stkeyassign21.入力デバイス = E入力デバイス.MIDI入力;\r
2436                         stkeyassign21.ID = 0;\r
2437                         stkeyassign21.コード = 0x24;\r
2438                         stkeyassignArray[ 4 ] = stkeyassign21;\r
2439                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2440                         CKeyAssign.STKEYASSIGN stkeyassign22 = stkeyassign63;\r
2441                         stkeyassign22.入力デバイス = E入力デバイス.MIDI入力;\r
2442                         stkeyassign22.ID = 0;\r
2443                         stkeyassign22.コード = 0x70;\r
2444                         stkeyassignArray[ 5 ] = stkeyassign22;\r
2445                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2446                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2447                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2448                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2449                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2450                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2451                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2452                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2453                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2454                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2455                         this.KeyAssign.Drums.BD = stkeyassignArray;\r
2456                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2457                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2458                         CKeyAssign.STKEYASSIGN stkeyassign23 = stkeyassign63;\r
2459                         stkeyassign23.入力デバイス = E入力デバイス.キーボード;\r
2460                         stkeyassign23.ID = 0;\r
2461                         stkeyassign23.コード = 0x1f;\r
2462                         stkeyassignArray[ 0 ] = stkeyassign23;\r
2463                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2464                         CKeyAssign.STKEYASSIGN stkeyassign24 = stkeyassign63;\r
2465                         stkeyassign24.入力デバイス = E入力デバイス.MIDI入力;\r
2466                         stkeyassign24.ID = 0;\r
2467                         stkeyassign24.コード = 0x30;\r
2468                         stkeyassignArray[ 1 ] = stkeyassign24;\r
2469                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2470                         CKeyAssign.STKEYASSIGN stkeyassign25 = stkeyassign63;\r
2471                         stkeyassign25.入力デバイス = E入力デバイス.MIDI入力;\r
2472                         stkeyassign25.ID = 0;\r
2473                         stkeyassign25.コード = 50;\r
2474                         stkeyassignArray[ 2 ] = stkeyassign25;\r
2475                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2476                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2477                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2478                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2479                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2480                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2481                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2482                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2483                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2484                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2485                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2486                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2487                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2488                         this.KeyAssign.Drums.HT = stkeyassignArray;\r
2489                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2490                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2491                         CKeyAssign.STKEYASSIGN stkeyassign26 = stkeyassign63;\r
2492                         stkeyassign26.入力デバイス = E入力デバイス.キーボード;\r
2493                         stkeyassign26.ID = 0;\r
2494                         stkeyassign26.コード = 11;\r
2495                         stkeyassignArray[ 0 ] = stkeyassign26;\r
2496                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2497                         CKeyAssign.STKEYASSIGN stkeyassign27 = stkeyassign63;\r
2498                         stkeyassign27.入力デバイス = E入力デバイス.MIDI入力;\r
2499                         stkeyassign27.ID = 0;\r
2500                         stkeyassign27.コード = 0x2f;\r
2501                         stkeyassignArray[ 1 ] = stkeyassign27;\r
2502                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2503                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2504                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2505                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2506                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2507                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2508                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2509                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2510                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2511                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2512                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2513                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2514                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2515                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2516                         this.KeyAssign.Drums.LT = stkeyassignArray;\r
2517                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2518                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2519                         CKeyAssign.STKEYASSIGN stkeyassign28 = stkeyassign63;\r
2520                         stkeyassign28.入力デバイス = E入力デバイス.キーボード;\r
2521                         stkeyassign28.ID = 0;\r
2522                         stkeyassign28.コード = 0x17;\r
2523                         stkeyassignArray[ 0 ] = stkeyassign28;\r
2524                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2525                         CKeyAssign.STKEYASSIGN stkeyassign29 = stkeyassign63;\r
2526                         stkeyassign29.入力デバイス = E入力デバイス.MIDI入力;\r
2527                         stkeyassign29.ID = 0;\r
2528                         stkeyassign29.コード = 0x29;\r
2529                         stkeyassignArray[ 1 ] = stkeyassign29;\r
2530                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2531                         CKeyAssign.STKEYASSIGN stkeyassign30 = stkeyassign63;\r
2532                         stkeyassign30.入力デバイス = E入力デバイス.MIDI入力;\r
2533                         stkeyassign30.ID = 0;\r
2534                         stkeyassign30.コード = 0x2b;\r
2535                         stkeyassignArray[ 2 ] = stkeyassign30;\r
2536                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2537                         CKeyAssign.STKEYASSIGN stkeyassign31 = stkeyassign63;\r
2538                         stkeyassign31.入力デバイス = E入力デバイス.MIDI入力;\r
2539                         stkeyassign31.ID = 0;\r
2540                         stkeyassign31.コード = 0x2d;\r
2541                         stkeyassignArray[ 3 ] = stkeyassign31;\r
2542                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2543                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2544                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2545                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2546                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2547                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2548                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2549                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2550                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2551                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2552                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2553                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2554                         this.KeyAssign.Drums.FT = stkeyassignArray;\r
2555                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2556                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2557                         CKeyAssign.STKEYASSIGN stkeyassign32 = stkeyassign63;\r
2558                         stkeyassign32.入力デバイス = E入力デバイス.キーボード;\r
2559                         stkeyassign32.ID = 0;\r
2560                         stkeyassign32.コード = 0x16;\r
2561                         stkeyassignArray[ 0 ] = stkeyassign32;\r
2562                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2563                         CKeyAssign.STKEYASSIGN stkeyassign33 = stkeyassign63;\r
2564                         stkeyassign33.入力デバイス = E入力デバイス.MIDI入力;\r
2565                         stkeyassign33.ID = 0;\r
2566                         stkeyassign33.コード = 0x31;\r
2567                         stkeyassignArray[ 1 ] = stkeyassign33;\r
2568                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2569                         CKeyAssign.STKEYASSIGN stkeyassign34 = stkeyassign63;\r
2570                         stkeyassign34.入力デバイス = E入力デバイス.MIDI入力;\r
2571                         stkeyassign34.ID = 0;\r
2572                         stkeyassign34.コード = 0x34;\r
2573                         stkeyassignArray[ 2 ] = stkeyassign34;\r
2574                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2575                         CKeyAssign.STKEYASSIGN stkeyassign35 = stkeyassign63;\r
2576                         stkeyassign35.入力デバイス = E入力デバイス.MIDI入力;\r
2577                         stkeyassign35.ID = 0;\r
2578                         stkeyassign35.コード = 0x37;\r
2579                         stkeyassignArray[ 3 ] = stkeyassign35;\r
2580                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2581                         CKeyAssign.STKEYASSIGN stkeyassign36 = stkeyassign63;\r
2582                         stkeyassign36.入力デバイス = E入力デバイス.MIDI入力;\r
2583                         stkeyassign36.ID = 0;\r
2584                         stkeyassign36.コード = 0x39;\r
2585                         stkeyassignArray[ 4 ] = stkeyassign36;\r
2586                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2587                         CKeyAssign.STKEYASSIGN stkeyassign37 = stkeyassign63;\r
2588                         stkeyassign37.入力デバイス = E入力デバイス.MIDI入力;\r
2589                         stkeyassign37.ID = 0;\r
2590                         stkeyassign37.コード = 0x5b;\r
2591                         stkeyassignArray[ 5 ] = stkeyassign37;\r
2592                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2593                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2594                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2595                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2596                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2597                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2598                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2599                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2600                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2601                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2602                         this.KeyAssign.Drums.CY = stkeyassignArray;\r
2603                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2604                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2605                         CKeyAssign.STKEYASSIGN stkeyassign38 = stkeyassign63;\r
2606                         stkeyassign38.入力デバイス = E入力デバイス.キーボード;\r
2607                         stkeyassign38.ID = 0;\r
2608                         stkeyassign38.コード = 10;\r
2609                         stkeyassignArray[ 0 ] = stkeyassign38;\r
2610                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2611                         CKeyAssign.STKEYASSIGN stkeyassign39 = stkeyassign63;\r
2612                         stkeyassign39.入力デバイス = E入力デバイス.MIDI入力;\r
2613                         stkeyassign39.ID = 0;\r
2614                         stkeyassign39.コード = 0x2e;\r
2615                         stkeyassignArray[ 1 ] = stkeyassign39;\r
2616                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2617                         CKeyAssign.STKEYASSIGN stkeyassign40 = stkeyassign63;\r
2618                         stkeyassign40.入力デバイス = E入力デバイス.MIDI入力;\r
2619                         stkeyassign40.ID = 0;\r
2620                         stkeyassign40.コード = 0x5c;\r
2621                         stkeyassignArray[ 2 ] = stkeyassign40;\r
2622                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2623                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2624                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2625                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2626                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2627                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2628                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2629                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2630                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2631                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2632                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2633                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2634                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2635                         this.KeyAssign.Drums.HHO = stkeyassignArray;\r
2636                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2637                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2638                         CKeyAssign.STKEYASSIGN stkeyassign41 = stkeyassign63;\r
2639                         stkeyassign41.入力デバイス = E入力デバイス.キーボード;\r
2640                         stkeyassign41.ID = 0;\r
2641                         stkeyassign41.コード = 20;\r
2642                         stkeyassignArray[ 0 ] = stkeyassign41;\r
2643                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2644                         CKeyAssign.STKEYASSIGN stkeyassign42 = stkeyassign63;\r
2645                         stkeyassign42.入力デバイス = E入力デバイス.MIDI入力;\r
2646                         stkeyassign42.ID = 0;\r
2647                         stkeyassign42.コード = 0x33;\r
2648                         stkeyassignArray[ 1 ] = stkeyassign42;\r
2649                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2650                         CKeyAssign.STKEYASSIGN stkeyassign43 = stkeyassign63;\r
2651                         stkeyassign43.入力デバイス = E入力デバイス.MIDI入力;\r
2652                         stkeyassign43.ID = 0;\r
2653                         stkeyassign43.コード = 0x35;\r
2654                         stkeyassignArray[ 2 ] = stkeyassign43;\r
2655                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2656                         CKeyAssign.STKEYASSIGN stkeyassign44 = stkeyassign63;\r
2657                         stkeyassign44.入力デバイス = E入力デバイス.MIDI入力;\r
2658                         stkeyassign44.ID = 0;\r
2659                         stkeyassign44.コード = 0x3b;\r
2660                         stkeyassignArray[ 3 ] = stkeyassign44;\r
2661                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2662                         CKeyAssign.STKEYASSIGN stkeyassign45 = stkeyassign63;\r
2663                         stkeyassign45.入力デバイス = E入力デバイス.MIDI入力;\r
2664                         stkeyassign45.ID = 0;\r
2665                         stkeyassign45.コード = 0x59;\r
2666                         stkeyassignArray[ 4 ] = stkeyassign45;\r
2667                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2668                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2669                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2670                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2671                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2672                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2673                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2674                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2675                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2676                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2677                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2678                         this.KeyAssign.Drums.RD = stkeyassignArray;\r
2679                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2680                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2681                         CKeyAssign.STKEYASSIGN stkeyassign46 = stkeyassign63;\r
2682                         stkeyassign46.入力デバイス = E入力デバイス.キーボード;\r
2683                         stkeyassign46.ID = 0;\r
2684                         stkeyassign46.コード = 0x1a;\r
2685                         stkeyassignArray[ 0 ] = stkeyassign46;\r
2686                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2687                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2688                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2689                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2690                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2691                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2692                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2693                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2694                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2695                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2696                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2697                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2698                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2699                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2700                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2701                         this.KeyAssign.Drums.LC = stkeyassignArray;\r
2702                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2703                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2704                         CKeyAssign.STKEYASSIGN stkeyassign47 = stkeyassign63;\r
2705                         stkeyassign47.入力デバイス = E入力デバイス.キーボード;\r
2706                         stkeyassign47.ID = 0;\r
2707                         stkeyassign47.コード = 0x37;\r
2708                         stkeyassignArray[ 0 ] = stkeyassign47;\r
2709                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2710                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2711                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2712                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2713                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2714                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2715                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2716                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2717                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2718                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2719                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2720                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2721                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2722                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2723                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2724                         this.KeyAssign.Guitar.R = stkeyassignArray;\r
2725                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2726                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2727                         CKeyAssign.STKEYASSIGN stkeyassign48 = stkeyassign63;\r
2728                         stkeyassign48.入力デバイス = E入力デバイス.キーボード;\r
2729                         stkeyassign48.ID = 0;\r
2730                         stkeyassign48.コード = 0x38;\r
2731                         stkeyassignArray[ 0 ] = stkeyassign48;\r
2732                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2733                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2734                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2735                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2736                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2737                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2738                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2739                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2740                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2741                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2742                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2743                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2744                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2745                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2746                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2747                         this.KeyAssign.Guitar.G = stkeyassignArray;\r
2748                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2749                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2750                         CKeyAssign.STKEYASSIGN stkeyassign49 = stkeyassign63;\r
2751                         stkeyassign49.入力デバイス = E入力デバイス.キーボード;\r
2752                         stkeyassign49.ID = 0;\r
2753                         stkeyassign49.コード = 0x39;\r
2754                         stkeyassignArray[ 0 ] = stkeyassign49;\r
2755                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2756                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2757                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2758                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2759                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2760                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2761                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2762                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2763                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2764                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2765                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2766                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2767                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2768                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2769                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2770                         this.KeyAssign.Guitar.B = stkeyassignArray;\r
2771                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2772                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2773                         CKeyAssign.STKEYASSIGN stkeyassign50 = stkeyassign63;\r
2774                         stkeyassign50.入力デバイス = E入力デバイス.キーボード;\r
2775                         stkeyassign50.ID = 0;\r
2776                         stkeyassign50.コード = 0x73;\r
2777                         stkeyassignArray[ 0 ] = stkeyassign50;\r
2778                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2779                         CKeyAssign.STKEYASSIGN stkeyassign51 = stkeyassign63;\r
2780                         stkeyassign51.入力デバイス = E入力デバイス.キーボード;\r
2781                         stkeyassign51.ID = 0;\r
2782                         stkeyassign51.コード = 0x2e;\r
2783                         stkeyassignArray[ 1 ] = stkeyassign51;\r
2784                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2785                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2786                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2787                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2788                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2789                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2790                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2791                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2792                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2793                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2794                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2795                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2796                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2797                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2798                         this.KeyAssign.Guitar.Pick = stkeyassignArray;\r
2799                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2800                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2801                         CKeyAssign.STKEYASSIGN stkeyassign52 = stkeyassign63;\r
2802                         stkeyassign52.入力デバイス = E入力デバイス.キーボード;\r
2803                         stkeyassign52.ID = 0;\r
2804                         stkeyassign52.コード = 0x74;\r
2805                         stkeyassignArray[ 0 ] = stkeyassign52;\r
2806                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2807                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2808                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2809                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2810                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2811                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2812                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2813                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2814                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2815                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2816                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2817                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2818                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2819                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2820                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2821                         this.KeyAssign.Guitar.Wail = stkeyassignArray;\r
2822                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2823                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2824                         CKeyAssign.STKEYASSIGN stkeyassign53 = stkeyassign63;\r
2825                         stkeyassign53.入力デバイス = E入力デバイス.キーボード;\r
2826                         stkeyassign53.ID = 0;\r
2827                         stkeyassign53.コード = 0x3d;\r
2828                         stkeyassignArray[ 0 ] = stkeyassign53;\r
2829                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2830                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2831                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2832                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2833                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2834                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2835                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2836                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2837                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2838                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2839                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2840                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2841                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2842                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2843                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2844                         this.KeyAssign.Guitar.Cancel = stkeyassignArray;\r
2845                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2846                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2847                         CKeyAssign.STKEYASSIGN stkeyassign54 = stkeyassign63;\r
2848                         stkeyassign54.入力デバイス = E入力デバイス.キーボード;\r
2849                         stkeyassign54.ID = 0;\r
2850                         stkeyassign54.コード = 60;\r
2851                         stkeyassignArray[ 0 ] = stkeyassign54;\r
2852                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2853                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2854                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2855                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2856                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2857                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2858                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2859                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2860                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2861                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2862                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2863                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2864                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2865                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2866                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2867                         this.KeyAssign.Guitar.Decide = stkeyassignArray;\r
2868                         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
2869                         this.KeyAssign.Guitar[ 7 ] = stkeyassignArray;\r
2870                         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
2871                         this.KeyAssign.Guitar[ 8 ] = stkeyassignArray;\r
2872                         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
2873                         this.KeyAssign.Guitar[ 9 ] = stkeyassignArray;\r
2874                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2875                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2876                         CKeyAssign.STKEYASSIGN stkeyassign55 = stkeyassign63;\r
2877                         stkeyassign55.入力デバイス = E入力デバイス.キーボード;\r
2878                         stkeyassign55.ID = 0;\r
2879                         stkeyassign55.コード = 90;\r
2880                         stkeyassignArray[ 0 ] = stkeyassign55;\r
2881                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2882                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2883                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2884                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2885                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2886                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2887                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2888                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2889                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2890                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2891                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2892                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2893                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2894                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2895                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2896                         this.KeyAssign.Bass.R = stkeyassignArray;\r
2897                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2898                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2899                         CKeyAssign.STKEYASSIGN stkeyassign56 = stkeyassign63;\r
2900                         stkeyassign56.入力デバイス = E入力デバイス.キーボード;\r
2901                         stkeyassign56.ID = 0;\r
2902                         stkeyassign56.コード = 0x5b;\r
2903                         stkeyassignArray[ 0 ] = stkeyassign56;\r
2904                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2905                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2906                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2907                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2908                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2909                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2910                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2911                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2912                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2913                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2914                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2915                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2916                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2917                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2918                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2919                         this.KeyAssign.Bass.G = stkeyassignArray;\r
2920                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2921                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2922                         CKeyAssign.STKEYASSIGN stkeyassign57 = stkeyassign63;\r
2923                         stkeyassign57.入力デバイス = E入力デバイス.キーボード;\r
2924                         stkeyassign57.ID = 0;\r
2925                         stkeyassign57.コード = 0x5c;\r
2926                         stkeyassignArray[ 0 ] = stkeyassign57;\r
2927                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2928                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2929                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2930                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2931                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2932                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2933                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2934                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2935                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2936                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2937                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2938                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2939                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2940                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2941                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2942                         this.KeyAssign.Bass.B = stkeyassignArray;\r
2943                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2944                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2945                         CKeyAssign.STKEYASSIGN stkeyassign58 = stkeyassign63;\r
2946                         stkeyassign58.入力デバイス = E入力デバイス.キーボード;\r
2947                         stkeyassign58.ID = 0;\r
2948                         stkeyassign58.コード = 0x67;\r
2949                         stkeyassignArray[ 0 ] = stkeyassign58;\r
2950                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2951                         CKeyAssign.STKEYASSIGN stkeyassign59 = stkeyassign63;\r
2952                         stkeyassign59.入力デバイス = E入力デバイス.キーボード;\r
2953                         stkeyassign59.ID = 0;\r
2954                         stkeyassign59.コード = 100;\r
2955                         stkeyassignArray[ 1 ] = stkeyassign59;\r
2956                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2957                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2958                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2959                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2960                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2961                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2962                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2963                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2964                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2965                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2966                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2967                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2968                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2969                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2970                         this.KeyAssign.Bass.Pick = stkeyassignArray;\r
2971                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2972                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2973                         CKeyAssign.STKEYASSIGN stkeyassign60 = stkeyassign63;\r
2974                         stkeyassign60.入力デバイス = E入力デバイス.キーボード;\r
2975                         stkeyassign60.ID = 0;\r
2976                         stkeyassign60.コード = 0x59;\r
2977                         stkeyassignArray[ 0 ] = stkeyassign60;\r
2978                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2979                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2980                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2981                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2982                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2983                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2984                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2985                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2986                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2987                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2988                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2989                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2990                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2991                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2992                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
2993                         this.KeyAssign.Bass.Wail = stkeyassignArray;\r
2994                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
2995                         stkeyassign63 = new CKeyAssign.STKEYASSIGN();\r
2996                         CKeyAssign.STKEYASSIGN stkeyassign61 = stkeyassign63;\r
2997                         stkeyassign61.入力デバイス = E入力デバイス.キーボード;\r
2998                         stkeyassign61.ID = 0;\r
2999                         stkeyassign61.コード = 0x61;\r
3000                         stkeyassignArray[ 0 ] = stkeyassign61;\r
3001                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3002                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3003                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3004                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3005                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3006                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3007                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3008                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3009                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3010                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3011                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3012                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3013                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3014                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3015                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3016                         this.KeyAssign.Bass.Cancel = stkeyassignArray;\r
3017                         stkeyassignArray = new CKeyAssign.STKEYASSIGN[ 0x10 ];\r
3018                         CKeyAssign.STKEYASSIGN stkeyassign62 = new CKeyAssign.STKEYASSIGN();\r
3019                         stkeyassign62.入力デバイス = E入力デバイス.キーボード;\r
3020                         stkeyassign62.ID = 0;\r
3021                         stkeyassign62.コード = 0x60;\r
3022                         stkeyassignArray[ 0 ] = stkeyassign62;\r
3023                         stkeyassignArray[ 1 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3024                         stkeyassignArray[ 2 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3025                         stkeyassignArray[ 3 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3026                         stkeyassignArray[ 4 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3027                         stkeyassignArray[ 5 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3028                         stkeyassignArray[ 6 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3029                         stkeyassignArray[ 7 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3030                         stkeyassignArray[ 8 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3031                         stkeyassignArray[ 9 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3032                         stkeyassignArray[ 10 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3033                         stkeyassignArray[ 11 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3034                         stkeyassignArray[ 12 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3035                         stkeyassignArray[ 13 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3036                         stkeyassignArray[ 14 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3037                         stkeyassignArray[ 15 ] = new CKeyAssign.STKEYASSIGN( E入力デバイス.不明, 0, 0 );\r
3038                         this.KeyAssign.Bass.Decide = stkeyassignArray;\r
3039                         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
3040                         this.KeyAssign.Bass[ 7 ] = stkeyassignArray;\r
3041                         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
3042                         this.KeyAssign.Bass[ 8 ] = stkeyassignArray;\r
3043                         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
3044                         this.KeyAssign.Bass[ 9 ] = stkeyassignArray;\r
3045                 }\r
3046                 //-----------------\r
3047                 #endregion\r
3048         }\r
3049 }\r