OSDN Git Service

DTXManiaソリューション、DTXManiaプロジェクト、DTXCreatorプロジェクト、FDKプロジェクトについて英語化。
[dtxmania/dtxmania.git] / DTXCreatorプロジェクト / コード / 00.全体 / CDTX入出力.cs
diff --git a/DTXCreatorプロジェクト/コード/00.全体/CDTX入出力.cs b/DTXCreatorプロジェクト/コード/00.全体/CDTX入出力.cs
deleted file mode 100644 (file)
index 42cc6c0..0000000
+++ /dev/null
@@ -1,2421 +0,0 @@
-using System;\r
-using System.Collections;\r
-using System.Collections.Generic;\r
-using System.Globalization;\r
-using System.Text;\r
-using System.IO;\r
-using System.Windows.Forms;\r
-using System.Drawing;\r
-using DTXCreator.Properties;\r
-using DTXCreator.譜面;\r
-using DTXCreator.UndoRedo;\r
-using DTXCreator.WAV_BMP_AVI;\r
-using FDK;\r
-using System.Diagnostics;\r
-\r
-namespace DTXCreator\r
-{\r
-       internal class CDTX入出力\r
-       {\r
-               internal CDTX入出力( Cメインフォーム mf )\r
-               {\r
-                       this._Form = mf;\r
-               }\r
-               public void tDTX出力( StreamWriter sw )\r
-               {\r
-                       this.tDTX出力( sw, false );\r
-               }\r
-               public void tDTX出力( StreamWriter sw, bool bBGMのみ出力 )\r
-               {\r
-                       sw.WriteLine( "; Created by DTXCreator " + Resources.DTXC_VERSION );\r
-                       this.tDTX出力_タイトルと製作者とコメントその他( sw );\r
-                       this.tDTX出力_自由入力欄( sw );\r
-                       this.tDTX出力_WAVリスト( sw, bBGMのみ出力 );\r
-                       this.tDTX出力_BMPリスト( sw );\r
-                       this.tDTX出力_AVIリスト( sw );\r
-                       this.tDTX出力_小節長倍率( sw );\r
-                       this.tDTX出力_BPxリスト( sw );\r
-                       this.tDTX出力_BEATチップのf値( sw );\r
-                       this.tDTX出力_全チップ( sw );\r
-                       sw.WriteLine();\r
-                       this.tDTX出力_レーン割付チップ( sw );\r
-                       this.tDTX出力_WAVリスト色設定( sw );\r
-                       this.tDTX出力_BMPリスト色設定( sw );\r
-                       this.tDTX出力_AVIリスト色設定( sw );\r
-                       this.tDTX出力_チップパレット( sw );\r
-               }\r
-               public void tDTX入力( E種別 e種別, ref string str全入力文字列 )\r
-               {\r
-                       this.e種別 = e種別;\r
-                       if( str全入力文字列.Length != 0 )\r
-                       {\r
-                               this.dic小節長倍率 = new Dictionary<int, float>();\r
-                               this.dicBEATチップf値 = new Dictionary<int, float>();\r
-                               this.listチップパレット = new List<int>();\r
-                               this.listBGMWAV番号 = new List<int>();                                                                                        // #26775 2011.11.21 yyagi\r
-                               this.nLastBarConverted = -1;\r
-                               this.eDTXbgmChs = DTXbgmChs.GetEnumerator();\r
-                               this._Form.listViewWAVリスト.BeginUpdate();\r
-                               this._Form.listViewBMPリスト.BeginUpdate();\r
-                               this._Form.listViewAVIリスト.BeginUpdate();\r
-                               str全入力文字列 = str全入力文字列.Replace( Environment.NewLine, "\n" );\r
-                               str全入力文字列 = str全入力文字列.Replace( '\t', ' ' );\r
-                               StringBuilder builder = new StringBuilder();\r
-                               CharEnumerator ce = str全入力文字列.GetEnumerator();\r
-                               if( ce.MoveNext() )\r
-                               {\r
-                                       do\r
-                                       {\r
-                                               if( !this.tDTX入力_空白と改行をスキップする( ref ce ) )\r
-                                               {\r
-                                                       break;\r
-                                               }\r
-                                               if( ce.Current == '#' )\r
-                                               {\r
-                                                       if( ce.MoveNext() )\r
-                                                       {\r
-                                                               StringBuilder sbコマンド文字列 = new StringBuilder( 0x20 );\r
-                                                               if( this.tDTX入力_コマンド文字列を抜き出す( ref ce, ref sbコマンド文字列 ) )\r
-                                                               {\r
-                                                                       StringBuilder sbパラメータ文字列 = new StringBuilder( 0x400 );\r
-                                                                       if( this.tDTX入力_パラメータ文字列を抜き出す( ref ce, ref sbパラメータ文字列 ) )\r
-                                                                       {\r
-                                                                               StringBuilder sbコメント文字列 = new StringBuilder( 0x400 );\r
-                                                                               if( this.tDTX入力_コメント文字列を抜き出す( ref ce, ref sbコメント文字列 ) )\r
-                                                                               {\r
-                                                                                       if( !this.tDTX入力_行解析( ref sbコマンド文字列, ref sbパラメータ文字列, ref sbコメント文字列 ) )\r
-                                                                                       {\r
-                                                                                               builder.Append( string.Concat( "#", sbコマンド文字列, ": ", sbパラメータ文字列 ) );\r
-                                                                                               if( sbコメント文字列.Length > 0 )\r
-                                                                                               {\r
-                                                                                                       builder.Append( "\t;" + sbコメント文字列 );\r
-                                                                                               }\r
-                                                                                               builder.Append( Environment.NewLine );\r
-                                                                                       }\r
-                                                                                       continue;\r
-                                                                               }\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                                       break;\r
-                                               }\r
-                                       }\r
-                                       while( this.tDTX入力_コメントをスキップする( ref ce ) );\r
-                                       CUndoRedo管理.bUndoRedoした直後 = true;\r
-                                       this._Form.textBox自由入力欄.Text = this._Form.textBox自由入力欄.Text + builder.ToString();\r
-                                       this.tDTX入力_小節内のチップリストを発声位置でソートする();\r
-                                       this.tDTX入力_小節長倍率配列を昇順ソート済みの小節リストに適用する();\r
-                                       this.tDTX入力_BPMチップにBPx数値をバインドする();\r
-                                       this.tDTX入力_キャッシュからListViewを一括構築する();\r
-                                       this.tDTX入力_チップパレットのListViewを一括構築する();\r
-                                       //this.tDTX入力_BEATチップにf値をバインドする();\r
-                                       if ( this.listBGMWAV番号.Count > 0 )                                                  // #26775 2011.11.21 yyagi\r
-                                       {\r
-                                               foreach ( int nBGMWAV番号 in listBGMWAV番号 )                       // #26775 2011.11.21 yyagi\r
-                                               {\r
-                                                       this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す_なければ新規生成する( nBGMWAV番号 ).bBGMとして使用 = true;\r
-                                               }\r
-                                       }\r
-                                       this._Form.listViewWAVリスト.EndUpdate();\r
-                                       this._Form.listViewBMPリスト.EndUpdate();\r
-                                       this._Form.listViewAVIリスト.EndUpdate();\r
-                               }\r
-                       }\r
-               }\r
-\r
-               public enum E種別\r
-               {\r
-                       DTX,\r
-                       GDA,\r
-                       G2D,\r
-                       BMS,\r
-                       BME\r
-               }\r
-\r
-               #region [ private ]\r
-               //-----------------\r
-               private Cメインフォーム _Form;\r
-               private int[] arr素数リスト = new int[] {\r
-                       2, 3, 5, 7, 11, 13, 0x11, 0x13, 0x17, 0x1d, 0x1f, 0x25, 0x29, 0x2b, 0x2f, 0x35, \r
-                       0x3b, 0x3d, 0x43, 0x47, 0x49, 0x4f, 0x53, 0x59, 0x61, 0x65, 0x67, 0x6b, 0x6d, 0x71, 0x7f, 0x83, \r
-                       0x89, 0x8b, 0x95, 0x97, 0x9d, 0xa3, 0xa7, 0xad, 0xb3, 0xb5, 0xbf, 0xc1, 0xc5, 0xc7, 0xd3, 0xdf, \r
-                       0xe3, 0xe5, 0xe9, 0xef, 0xf1, 0xfb, 0x101, 0x107, 0x10d, 0x10f, 0x115, 0x119, 0x11b, 0x125, 0x133, 0x137, \r
-                       0x139, 0x13d, 0x14b, 0x151, 0x15b, 0x15d, 0x161, 0x167, 0x16f, 0x175, 0x17b, 0x17f\r
-               };\r
-#region [ #25990; for BMS/BME to DTX conversion ]\r
-               // #25990 2011.8.12 yyagi: DTXのBGM用ch群(正確には効果音用ch群)\r
-               private readonly int[] DTXbgmChs = new int[] {\r
-                             0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,\r
-                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,\r
-                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,\r
-                       0x90, 0x91, 0x92\r
-               };\r
-               // #25990 2011.8.12 yyagi: BMS/BME→DTX チャネル変換テーブル(BGMとキーを除いて、右から左にそのまま変換)\r
-               private readonly int[] BMSgeneralChToDTXgeneralCh = {\r
-                       0x00, -1,   0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,\r
-                       0x10, -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,\r
-                       0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,\r
-                       0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,\r
-                       0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,\r
-                       0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,\r
-                       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,\r
-                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,\r
-                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,\r
-                       0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F,\r
-                       0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,\r
-                       0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,\r
-                       0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,\r
-                       0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,\r
-                       0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,\r
-                       0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF\r
-               };\r
-               // #25990 2011.8.12 yyagi: BMS→DTXの、キー関係の変換表 (5鍵ならHH~LTとCYを使用)\r
-               private readonly int[] BMSkeyChToDTXdrumsCh = {\r
-               //      1key    2key,   3key,   4key,   5key,   scr,    free\r
-                       0x11,   0x12,   0x13,   0x14,   0x15,   0x16,   0x53\r
-               //      HC,             SD,             BD,             HT,             LT,             CY,             FI\r
-               };\r
-               // #25990 2011.8.12 yyagi: BME→DTXの、キー関係の変換表 (7鍵ならLC~FTとCYを使用)\r
-               private readonly int[] BMEkeyChToDTXdrumsCh = {\r
-               //      1key    2key,   3key,   4key,   5key,   scr,    free,   6key,   7key\r
-                       0x1A,   0x11,   0x12,   0x13,   0x14,   0x16,   0x53,   0x15,   0x17\r
-               //      LC,             HC,             SD,             BD,             HT,             CY,             FI,             LT,             FT\r
-               };\r
-               private int nLastBarConverted = -1;     // #25990 2011.8.12 yyagi BMS/BME→DTX変換用\r
-               private IEnumerator eDTXbgmChs;                 // #25990 2011.8.12 yyagi BMS/BME→DTX変換用\r
-#endregion\r
-               private Dictionary<int, float> dic小節長倍率;\r
-               private Dictionary<int, float> dicBEATチップf値;\r
-               private E種別 e種別;\r
-               private List<int> listチップパレット;\r
-               private List<int> listBGMWAV番号 = null;                      // #26775 2011.11.21 yyagi\r
-               \r
-               private void tDTX入力_BPMチップにBPx数値をバインドする()\r
-               {\r
-                       foreach( KeyValuePair<int, C小節> pair in this._Form.mgr譜面管理者.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair.Value;\r
-                               for( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                               {\r
-                                       Cチップ cチップ = c小節.listチップ[ i ];\r
-                                       float num2 = 0f;\r
-                                       if( ( cチップ.nチャンネル番号00toFF == 8 ) && this._Form.mgr譜面管理者.dicBPx.TryGetValue( cチップ.n値_整数1to1295, out num2 ) )\r
-                                       {\r
-                                               cチップ.f値_浮動小数 = num2;\r
-                                       }\r
-                                       if( cチップ.nチャンネル番号00toFF == 3 )\r
-                                       {\r
-                                               cチップ.nチャンネル番号00toFF = 8;\r
-                                               cチップ.f値_浮動小数 = cチップ.n値_整数1to1295;\r
-                                               cチップ.b裏 = false;\r
-                                               for( int j = 1; j <= 36 * 36 - 1; j++ )\r
-                                               {\r
-                                                       if( !this._Form.mgr譜面管理者.dicBPx.ContainsKey( j ) )\r
-                                                       {\r
-                                                               this._Form.mgr譜面管理者.dicBPx.Add( j, cチップ.f値_浮動小数);\r
-                                                               cチップ.n値_整数1to1295 = j;\r
-                                                               break;\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               //private void tDTX入力_BEATチップにf値をバインドする()\r
-               //{\r
-               //    foreach ( KeyValuePair<int, C小節> pair in this._Form.mgr譜面管理者.dic小節 )\r
-               //    {\r
-               //        C小節 c小節 = pair.Value;\r
-               //        for ( int i = 0; i < c小節.listチップ.Count; i++ )\r
-               //        {\r
-               //            Cチップ cチップ = c小節.listチップ[ i ];\r
-               //            float num2 = 0f;\r
-               //            if ( ( cチップ.nチャンネル番号00toFF == 0xF8 || cチップ.nチャンネル番号00toFF == 0xF3 )\r
-               //                && this._Form.mgr譜面管理者.dicBPx.TryGetValue( cチップ.n値・整数1to1295, out num2 ) )\r
-               //            {\r
-               //                cチップ.f値・浮動小数 = num2;\r
-               //            }\r
-               //            if ( cチップ.nチャンネル番号00toFF == 3 )\r
-               //            {\r
-               //                cチップ.nチャンネル番号00toFF = 8;\r
-               //                cチップ.f値・浮動小数 = cチップ.n値・整数1to1295;\r
-               //                cチップ.b裏 = false;\r
-               //                for ( int j = 1; j <= 36 * 36 - 1; j++ )\r
-               //                {\r
-               //                    if ( !this._Form.mgr譜面管理者.dicBPx.ContainsKey( j ) )\r
-               //                    {\r
-               //                        this._Form.mgr譜面管理者.dicBPx.Add( j, cチップ.f値・浮動小数 );\r
-               //                        cチップ.n値・整数1to1295 = j;\r
-               //                        break;\r
-               //                    }\r
-               //                }\r
-               //            }\r
-               //        }\r
-               //    }\r
-               //}\r
-\r
-               private void tDTX入力_キャッシュからListViewを一括構築する()\r
-               {\r
-                       for( int i = 1; i <= 36 * 36 - 1; i++ )\r
-                       {\r
-                               CWAV cwav = this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す( i );\r
-                               if( cwav != null )\r
-                               {\r
-                                       cwav.tコピーto( this._Form.listViewWAVリスト.Items[ i - 1 ] );\r
-                               }\r
-                               CBMP cbmp = this._Form.mgrBMPリスト管理者.tBMPをキャッシュから検索して返す( i );\r
-                               if( cbmp != null )\r
-                               {\r
-                                       cbmp.tコピーto( this._Form.listViewBMPリスト.Items[ i - 1 ] );\r
-                               }\r
-                               CAVI cavi = this._Form.mgrAVIリスト管理者.tAVIをキャッシュから検索して返す( i );\r
-                               if( cavi != null )\r
-                               {\r
-                                       cavi.tコピーto( this._Form.listViewAVIリスト.Items[ i - 1 ] );\r
-                               }\r
-                       }\r
-               }\r
-               private bool tDTX入力_コマンド文字列を抜き出す( ref CharEnumerator ce, ref StringBuilder sb文字列 )\r
-               {\r
-                       if( this.tDTX入力_空白をスキップする( ref ce ) )\r
-                       {\r
-                               while( ( ( ce.Current != ':' ) && ( ce.Current != ' ' ) ) && ( ( ce.Current != ';' ) && ( ce.Current != '\n' ) ) )\r
-                               {\r
-                                       sb文字列.Append( ce.Current );\r
-                                       if( !ce.MoveNext() )\r
-                                       {\r
-                                               return false;\r
-                                       }\r
-                               }\r
-                               if( ce.Current == ':' )\r
-                               {\r
-                                       if( !ce.MoveNext() )\r
-                                       {\r
-                                               return false;\r
-                                       }\r
-                                       if( !this.tDTX入力_空白をスキップする( ref ce ) )\r
-                                       {\r
-                                               return false;\r
-                                       }\r
-                               }\r
-                               return true;\r
-                       }\r
-                       return false;\r
-               }\r
-               private bool tDTX入力_コメントをスキップする( ref CharEnumerator ce )\r
-               {\r
-                       while( ce.Current != '\n' )\r
-                       {\r
-                               if( !ce.MoveNext() )\r
-                               {\r
-                                       return false;\r
-                               }\r
-                       }\r
-                       return ce.MoveNext();\r
-               }\r
-               private bool tDTX入力_コメント文字列を抜き出す( ref CharEnumerator ce, ref StringBuilder sb文字列 )\r
-               {\r
-                       if( ce.Current != ';' )\r
-                       {\r
-                               return true;\r
-                       }\r
-                       if( ce.MoveNext() )\r
-                       {\r
-                               while( ce.Current != '\n' )\r
-                               {\r
-                                       sb文字列.Append( ce.Current );\r
-                                       if( !ce.MoveNext() )\r
-                                       {\r
-                                               return false;\r
-                                       }\r
-                               }\r
-                               return true;\r
-                       }\r
-                       return false;\r
-               }\r
-               private void tDTX入力_チップパレットのListViewを一括構築する()\r
-               {\r
-                       for( int i = 0; i < ( this.listチップパレット.Count / 2 ); i += 2 )\r
-                       {\r
-                               int num2 = this.listチップパレット[ i * 2 ];\r
-                               int num3 = this.listチップパレット[ ( i * 2 ) + 1 ];\r
-                               string[] items = new string[ 3 ];\r
-                               switch( num2 )\r
-                               {\r
-                                       case 0:\r
-                                               {\r
-                                                       CWAV cwav = this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す( num3 );\r
-                                                       if( cwav != null )\r
-                                                       {\r
-                                                               items[ 0 ] = cwav.strラベル名;\r
-                                                               items[ 1 ] = C変換.str数値を36進数2桁に変換して返す( num3 );\r
-                                                               items[ 2 ] = cwav.strファイル名;\r
-                                                               ListViewItem item = new ListViewItem( items );\r
-                                                               item.ImageIndex = num2;\r
-                                                               item.ForeColor = cwav.col文字色;\r
-                                                               item.BackColor = cwav.col背景色;\r
-                                                               this._Form.dlgチップパレット.listViewチップリスト.Items.Add( item );\r
-                                                       }\r
-                                                       break;\r
-                                               }\r
-                                       case 1:\r
-                                               {\r
-                                                       CBMP cbmp = this._Form.mgrBMPリスト管理者.tBMPをキャッシュから検索して返す( num3 );\r
-                                                       if( cbmp != null )\r
-                                                       {\r
-                                                               items[ 0 ] = cbmp.strラベル名;\r
-                                                               items[ 1 ] = C変換.str数値を36進数2桁に変換して返す( num3 );\r
-                                                               items[ 2 ] = cbmp.strファイル名;\r
-                                                               ListViewItem item2 = new ListViewItem( items );\r
-                                                               item2.ImageIndex = num2;\r
-                                                               item2.ForeColor = cbmp.col文字色;\r
-                                                               item2.BackColor = cbmp.col背景色;\r
-                                                               this._Form.dlgチップパレット.listViewチップリスト.Items.Add( item2 );\r
-                                                       }\r
-                                                       break;\r
-                                               }\r
-                                       case 2:\r
-                                               {\r
-                                                       CAVI cavi = this._Form.mgrAVIリスト管理者.tAVIをキャッシュから検索して返す( num3 );\r
-                                                       if( cavi != null )\r
-                                                       {\r
-                                                               items[ 0 ] = cavi.strラベル名;\r
-                                                               items[ 1 ] = C変換.str数値を36進数2桁に変換して返す( num3 );\r
-                                                               items[ 2 ] = cavi.strファイル名;\r
-                                                               ListViewItem item3 = new ListViewItem( items );\r
-                                                               item3.ImageIndex = num2;\r
-                                                               item3.ForeColor = cavi.col文字色;\r
-                                                               item3.BackColor = cavi.col背景色;\r
-                                                               this._Form.dlgチップパレット.listViewチップリスト.Items.Add( item3 );\r
-                                                       }\r
-                                                       break;\r
-                                               }\r
-                               }\r
-                       }\r
-               }\r
-               private bool tDTX入力_パラメータ文字列を抜き出す( ref CharEnumerator ce, ref StringBuilder sb文字列 )\r
-               {\r
-                       if( this.tDTX入力_空白をスキップする( ref ce ) )\r
-                       {\r
-                               while( ( ce.Current != '\n' ) && ( ce.Current != ';' ) )\r
-                               {\r
-                                       sb文字列.Append( ce.Current );\r
-                                       if( !ce.MoveNext() )\r
-                                       {\r
-                                               return false;\r
-                                       }\r
-                               }\r
-                               return true;\r
-                       }\r
-                       return false;\r
-               }\r
-               private bool tDTX入力_空白と改行をスキップする( ref CharEnumerator ce )\r
-               {\r
-                       while( ( ce.Current == ' ' ) || ( ce.Current == '\n' ) )\r
-                       {\r
-                               if( !ce.MoveNext() )\r
-                               {\r
-                                       return false;\r
-                               }\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_空白をスキップする( ref CharEnumerator ce )\r
-               {\r
-                       while( ce.Current == ' ' )\r
-                       {\r
-                               if( !ce.MoveNext() )\r
-                               {\r
-                                       return false;\r
-                               }\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析( ref StringBuilder sbコマンド, ref StringBuilder sbパラメータ, ref StringBuilder sbコメント )\r
-               {\r
-                       string strコマンド = sbコマンド.ToString();\r
-                       string strパラメータ = sbパラメータ.ToString().Trim();\r
-                       string strコメント = sbコメント.ToString();\r
-                       return (\r
-                               this.tDTX入力_行解析_TITLE_ARTIST_COMMENT_その他( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_WAVVOL_VOLUME( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_WAVPAN_PAN( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_WAV( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_BGMWAV( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_BMPTEX( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_BMP( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_AVI_AVIPAN( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_BPx( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_DTXC_LANEBINDEDCHIP( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_DTXC_WAVFORECOLOR( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_DTXC_WAVBACKCOLOR( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_DTXC_BMPFORECOLOR( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_DTXC_BMPBACKCOLOR( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_DTXC_AVIFORECOLOR( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_DTXC_AVIBACKCOLOR( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_DTXC_CHIPPALETTE( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_BEATチップのf値( strコマンド, strパラメータ, strコメント ) ||\r
-                               this.tDTX入力_行解析_チャンネル( strコマンド, strパラメータ, strコメント )\r
-                       );\r
-               }\r
-               private bool tDTX入力_行解析_BEATチップのf値( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if ( strコマンド.StartsWith( "BEAT", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 4 );\r
-                       }\r
-                       else\r
-                       {\r
-                               return false;\r
-                       }\r
-                       int num = C変換.n値を文字列から取得して返す( strコマンド, 0 );\r
-                       if ( num < 0 )\r
-                       {\r
-                               return false;\r
-                       }\r
-\r
-                       // 小節番号, grid, f値\r
-                       string[] strParams = strパラメータ.Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries );\r
-\r
-                       #region [ パラメータ引数は全3個ないと無効。]\r
-                       //-----------------\r
-                       if ( strParams.Length < 3 )\r
-                       {\r
-                               //Trace.TraceError( "BEAT: 引数が足りません。[{0}: {1}行]", this.strファイル名の絶対パス, this.n現在の行数 );\r
-                               return false;\r
-                       }\r
-                       //-----------------\r
-                       #endregion\r
-\r
-                       int i = 0;\r
-\r
-                       #region [ 1. 小節番号 ]\r
-                       //-----------------\r
-                       if ( string.IsNullOrEmpty( strParams[ i ] ) )\r
-                       {\r
-                               //Trace.TraceError( "BGAPAN: {2}番目の数(BMP番号)が異常です。[{0}: {1}行]", this.strファイル名の絶対パス, this.n現在の行数, i + 1 );\r
-                               return false;\r
-                       }\r
-                       int n小節番号 = C変換.n値を文字列から取得して返す( strParams[ i ], 0 );\r
-                       if ( n小節番号 < 0 )\r
-                       {\r
-                               //Trace.TraceError( "BGAPAN: {2}番目の数(BMP番号)が異常です。[{0}: {1}行]", this.strファイル名の絶対パス, this.n現在の行数, i + 1 );\r
-                               return false;\r
-                       }\r
-                       i++;\r
-                       #endregion\r
-                       #region [ 2. Grid ]\r
-                       //-----------------\r
-                       if ( string.IsNullOrEmpty( strParams[ i ] ) )\r
-                       {\r
-                               //Trace.TraceError( "BGAPAN: {2}番目の数(BMP番号)が異常です。[{0}: {1}行]", this.strファイル名の絶対パス, this.n現在の行数, i + 1 );\r
-                               return false;\r
-                       }\r
-                       int nGrid = C変換.n値を文字列から取得して返す( strParams[ i ], 0 );\r
-                       if ( nGrid < 0 )\r
-                       {\r
-                               //Trace.TraceError( "BGAPAN: {2}番目の数(BMP番号)が異常です。[{0}: {1}行]", this.strファイル名の絶対パス, this.n現在の行数, i + 1 );\r
-                               return false;\r
-                       }\r
-                       i++;\r
-                       #endregion\r
-                       #region [ 3. f値 ]\r
-                       //-----------------\r
-                       if ( string.IsNullOrEmpty( strParams[ i ] ) )\r
-                       {\r
-                               //Trace.TraceError( "BGAPAN: {2}番目の数(BMP番号)が異常です。[{0}: {1}行]", this.strファイル名の絶対パス, this.n現在の行数, i + 1 );\r
-                               return false;\r
-                       }\r
-                       decimal f値 = 0;\r
-                       if ( ( !this.TryParse( strParams[ i ], out f値 ) || ( f値 < 0 ) ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       #endregion\r
-//Debug.WriteLine( "入力: n小節番号=" + n小節番号 + ", nGrid=" + nGrid + ", f値=" + f値 + ", strParam=" + strParams[i] );\r
-                       this.dicBEATチップf値.Add( n小節番号 * 192 + nGrid, (float) f値 );\r
-\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_AVI_AVIPAN( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if( !strコマンド.StartsWith( "AVIPAN", StringComparison.OrdinalIgnoreCase ) && strコマンド.StartsWith( "AVI", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 3 );\r
-                       }\r
-                       else\r
-                       {\r
-                               return false;\r
-                       }\r
-                       int num = C変換.n36進数2桁の文字列を数値に変換して返す( strコマンド.Substring( 0, 2 ) );\r
-                       if( ( num < 1 ) || ( num > 36 * 36 - 1 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       CAVI cavi = this._Form.mgrAVIリスト管理者.tAVIをキャッシュから検索して返す_なければ新規生成する( num );\r
-                       cavi.strラベル名 = strコメント;\r
-                       cavi.strファイル名 = strパラメータ;\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_BGMWAV( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if( strコマンド.StartsWith( "bgmwav", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 6 );\r
-                       }\r
-                       else\r
-                       {\r
-                               return false;\r
-                       }\r
-                       int num = C変換.n36進数2桁の文字列を数値に変換して返す( strパラメータ.Substring( 0, 2 ) );\r
-                       if( ( num < 1 ) || ( num > 36 * 36 - 1 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       this.listBGMWAV番号.Add( num );\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_BMP( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if( ( strコマンド.Length > 3 ) && strコマンド.StartsWith( "BMP", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 3 );\r
-                       }\r
-                       else\r
-                       {\r
-                               return false;\r
-                       }\r
-                       int num = C変換.n36進数2桁の文字列を数値に変換して返す( strコマンド.Substring( 0, 2 ) );\r
-                       if( ( num < 1 ) || ( num > 36 * 36 - 1 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       CBMP cbmp = this._Form.mgrBMPリスト管理者.tBMPをキャッシュから検索して返す_なければ新規生成する( num );\r
-                       cbmp.strラベル名 = strコメント;\r
-                       cbmp.strファイル名 = strパラメータ;\r
-                       cbmp.bテクスチャ = false;\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_BMPTEX( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if( strコマンド.StartsWith( "BMPTEX", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 6 );\r
-                       }\r
-                       else\r
-                       {\r
-                               return false;\r
-                       }\r
-                       int num = C変換.n36進数2桁の文字列を数値に変換して返す( strコマンド.Substring( 0, 2 ) );\r
-                       if( ( num < 1 ) || ( num > 36 * 36 - 1 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       CBMP cbmp = this._Form.mgrBMPリスト管理者.tBMPをキャッシュから検索して返す_なければ新規生成する( num );\r
-                       cbmp.strラベル名 = strコメント;\r
-                       cbmp.strファイル名 = strパラメータ;\r
-                       cbmp.bテクスチャ = true;\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_BPx( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if( strコマンド.StartsWith( "BPM", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 3 );\r
-                       }\r
-                       else\r
-                       {\r
-                               return false;\r
-                       }\r
-                       int key = C変換.n36進数2桁の文字列を数値に変換して返す( strコマンド.Substring( 0, 2 ) );\r
-                       if( ( key < 1 ) || ( key > 36 * 36 - 1 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       decimal result = 0;\r
-                       if( ( !this.TryParse( strパラメータ, out result ) || ( result < 0 ) ) || ( result > 1000 ) )               // #23880 2011.1.6 yyagi\r
-                       {\r
-                               return false;\r
-                       }\r
-                       this._Form.mgr譜面管理者.dicBPx.Add(key, (float)result);\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_DTXC_AVIBACKCOLOR( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       int nChipNo;\r
-                       if( !strコマンド.Equals( "DTXC_AVIBACKCOLOR", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       string[] strArray = strパラメータ.Split( new char[] { ' ', '\t' } );\r
-                       if( strArray.Length < 2 )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( !int.TryParse( strArray[ 0 ], out nChipNo ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( ( nChipNo < 0 ) || ( nChipNo > 36 * 36 - 2 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       Color color = ColorTranslator.FromHtml( strArray[ 1 ] );\r
-                       if( ( nChipNo >= 0 ) && ( nChipNo <= 36 * 36 - 2 ) )\r
-                       {\r
-                               this._Form.mgrAVIリスト管理者.tAVIをキャッシュから検索して返す_なければ新規生成する( nChipNo + 1 ).col背景色 = color;\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_DTXC_AVIFORECOLOR( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       int nChipNo;\r
-                       if( !strコマンド.Equals( "DTXC_AVIFORECOLOR", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       string[] strArray = strパラメータ.Split( new char[] { ' ', '\t' } );\r
-                       if( strArray.Length < 2 )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( !int.TryParse( strArray[ 0 ], out nChipNo ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( ( nChipNo < 0 ) || ( nChipNo > 36 * 36 - 2 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       Color color = ColorTranslator.FromHtml( strArray[ 1 ] );\r
-                       if( ( nChipNo >= 0 ) && ( nChipNo <= 36 * 36 - 2 ) )\r
-                       {\r
-                               this._Form.mgrAVIリスト管理者.tAVIをキャッシュから検索して返す_なければ新規生成する( nChipNo + 1 ).col文字色 = color;\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_DTXC_BMPBACKCOLOR( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       int nChipNo;\r
-                       if( !strコマンド.Equals( "DTXC_BMPBACKCOLOR", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       string[] strArray = strパラメータ.Split( new char[] { ' ', '\t' } );\r
-                       if( strArray.Length < 2 )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( !int.TryParse( strArray[ 0 ], out nChipNo ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( ( nChipNo < 0 ) || ( nChipNo > 36 * 36 - 2 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       Color color = ColorTranslator.FromHtml( strArray[ 1 ] );\r
-                       if( ( nChipNo >= 0 ) && ( nChipNo <= 36 * 36 - 2 ) )\r
-                       {\r
-                               this._Form.mgrBMPリスト管理者.tBMPをキャッシュから検索して返す_なければ新規生成する( nChipNo + 1 ).col背景色 = color;\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_DTXC_BMPFORECOLOR( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       int nChipNo;\r
-                       if( !strコマンド.Equals( "DTXC_BMPFORECOLOR", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       string[] strArray = strパラメータ.Split( new char[] { ' ', '\t' } );\r
-                       if( strArray.Length < 2 )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( !int.TryParse( strArray[ 0 ], out nChipNo ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( ( nChipNo < 0 ) || ( nChipNo > 36 * 36 - 2 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       Color color = ColorTranslator.FromHtml( strArray[ 1 ] );\r
-                       if( ( nChipNo >= 0 ) && ( nChipNo <= 36 * 36 - 2 ) )\r
-                       {\r
-                               this._Form.mgrBMPリスト管理者.tBMPをキャッシュから検索して返す_なければ新規生成する( nChipNo + 1 ).col文字色 = color;\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_DTXC_CHIPPALETTE( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if( !strコマンド.Equals( "DTXC_CHIPPALETTE", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       foreach( string str in strパラメータ.Split( new char[] { ' ' } ) )\r
-                       {\r
-                               int num;\r
-                               string[] strArray2 = str.Split( new char[] { ',' } );\r
-                               if( ( ( strArray2.Length == 2 ) && int.TryParse( strArray2[ 0 ], out num ) ) && ( ( num >= 0 ) && ( num <= 2 ) ) )\r
-                               {\r
-                                       int item = C変換.n36進数2桁の文字列を数値に変換して返す( strArray2[ 1 ] );\r
-                                       if( ( item >= 1 ) && ( item <= 36 * 36 - 1 ) )\r
-                                       {\r
-                                               this.listチップパレット.Add( num );\r
-                                               this.listチップパレット.Add( item );\r
-                                       }\r
-                               }\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_DTXC_LANEBINDEDCHIP( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if( strコマンド.Equals( "DTXC_LANEBINDEDCHIP", StringComparison.OrdinalIgnoreCase ) && ( strパラメータ.Length == 8 ) )\r
-                       {\r
-                               int nLaneNo;\r
-                               if( !int.TryParse( strパラメータ.Substring( 0, 2 ), out nLaneNo ) )\r
-                               {\r
-                                       return false;\r
-                               }\r
-                               int nChipNoFore = C変換.n36進数2桁の文字列を数値に変換して返す( strパラメータ.Substring( 3, 2 ) );\r
-                               if( ( nChipNoFore < 0 ) || ( nChipNoFore > 36 * 36 - 1 ) )\r
-                               {\r
-                                       return false;\r
-                               }\r
-                               int nChipNoBack = C変換.n36進数2桁の文字列を数値に変換して返す( strパラメータ.Substring( 6, 2 ) );\r
-                               if( ( nChipNoBack < 0 ) || ( nChipNoBack > 36 * 36 - 1 ) )\r
-                               {\r
-                                       return false;\r
-                               }\r
-                               if( ( nLaneNo >= 0 ) && ( nLaneNo < this._Form.mgr譜面管理者.listレーン.Count ) )\r
-                               {\r
-                                       if( nChipNoFore != 0 )\r
-                                       {\r
-                                               this._Form.mgr譜面管理者.listレーン[ nLaneNo ].nレーン割付チップ_表0or1to1295 = nChipNoFore;\r
-                                       }\r
-                                       if( nChipNoBack != 0 )\r
-                                       {\r
-                                               this._Form.mgr譜面管理者.listレーン[ nLaneNo ].nレーン割付チップ_裏0or1to1295 = nChipNoBack;\r
-                                       }\r
-                                       return true;\r
-                               }\r
-                       }\r
-                       return false;\r
-               }\r
-               private bool tDTX入力_行解析_DTXC_WAVBACKCOLOR( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       int nChipNo;\r
-                       if( !strコマンド.Equals( "DTXC_WAVBACKCOLOR", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       string[] strArray = strパラメータ.Split( new char[] { ' ', '\t' } );\r
-                       if( strArray.Length < 2 )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( !int.TryParse( strArray[ 0 ], out nChipNo ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( ( nChipNo < 0 ) || ( nChipNo > 36 * 36 - 2 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       Color color = ColorTranslator.FromHtml( strArray[ 1 ] );\r
-                       if( ( nChipNo >= 0 ) && ( nChipNo <= 36 * 36 - 2 ) )\r
-                       {\r
-                               this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す_なければ新規生成する( nChipNo ).col背景色 = color;\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_DTXC_WAVFORECOLOR( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       int nChipNo;\r
-                       if( !strコマンド.Equals( "DTXC_WAVFORECOLOR", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       string[] strArray = strパラメータ.Split( new char[] { ' ', '\t' } );\r
-                       if( strArray.Length < 2 )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( !int.TryParse( strArray[ 0 ], out nChipNo ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( ( nChipNo < 0 ) || ( nChipNo > 36 * 36 - 2 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       Color color = ColorTranslator.FromHtml( strArray[ 1 ] );\r
-                       if( ( nChipNo >= 0 ) && ( nChipNo <= 36 * 36 - 2 ) )\r
-                       {\r
-                               this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す_なければ新規生成する( nChipNo ).col文字色 = color;\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_TITLE_ARTIST_COMMENT_その他( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if( strコマンド.Equals( "TITLE", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBox曲名.Text = strパラメータ.Trim();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "ARTIST", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBox製作者.Text = strパラメータ.Trim();\r
-                               return true;\r
-                       }\r
-                       if ( strコマンド.Equals( "GENRE", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxGenre.Text = strパラメータ.Trim();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "USE556X710BGAAVI", StringComparison.OrdinalIgnoreCase) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.check556x710BGAAVI.Checked = strパラメータ.Trim() == "1" ? true : false;\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "COMMENT", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxコメント.Text = strパラメータ.Trim();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "PANEL", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               int dummyResult;                                                                // #23885, #26007 2011.8.13 yyagi: not to confuse "#PANEL strings (panel)" and "#PANEL int (panpot of EL)"\r
-                               if ( !int.TryParse( strパラメータ, out dummyResult ) )     // 数値じゃないならPANELとみなす\r
-                               {\r
-                                       CUndoRedo管理.bUndoRedoした直後 = true;\r
-                                       this._Form.textBoxパネル.Text = strパラメータ.Trim();\r
-                                       return true;\r
-                               }                                                                                               // 数値なら、ここでは何もせず、後で#PANに拾ってもらう (PAN ELとみなす)\r
-                       }\r
-                       if( strコマンド.Equals( "PREVIEW", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxPREVIEW.Text = strパラメータ.Trim();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "PREIMAGE", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxPREIMAGE.Text = strパラメータ.Trim();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "STAGEFILE", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxSTAGEFILE.Text = strパラメータ.Trim();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "BACKGROUND", StringComparison.OrdinalIgnoreCase ) || strコマンド.Equals( "WALL", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxBACKGROUND.Text = strパラメータ.Trim();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "RESULTIMAGE", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxRESULTIMAGE.Text = strパラメータ.Trim();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "BPM", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               decimal dBpm;\r
-                               if( !this.TryParse( strパラメータ, out dBpm ) )            // #23880 2011.1.6 yyagi\r
-                               {\r
-                                       dBpm = 120.0M;\r
-                               }\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.numericUpDownBPM.Value = dBpm;\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "DLEVEL", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               int nLevel;\r
-                               if( !int.TryParse( strパラメータ, out nLevel ) )\r
-                               {\r
-                                       nLevel = 0;\r
-                               }\r
-                               else if( nLevel < 0 )\r
-                               {\r
-                                       nLevel = 0;\r
-                               }\r
-                               else if( nLevel > 100 )\r
-                               {\r
-                                       nLevel = 100;\r
-                               }\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.hScrollBarDLEVEL.Value = nLevel;\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxDLEVEL.Text = nLevel.ToString();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "GLEVEL", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               int nLevel;\r
-                               if( !int.TryParse( strパラメータ, out nLevel ) )\r
-                               {\r
-                                       nLevel = 0;\r
-                               }\r
-                               else if( nLevel < 0 )\r
-                               {\r
-                                       nLevel = 0;\r
-                               }\r
-                               else if( nLevel > 100 )\r
-                               {\r
-                                       nLevel = 100;\r
-                               }\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.hScrollBarGLEVEL.Value = nLevel;\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxGLEVEL.Text = nLevel.ToString();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "BLEVEL", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               int nLevel;\r
-                               if( !int.TryParse( strパラメータ, out nLevel ) )\r
-                               {\r
-                                       nLevel = 0;\r
-                               }\r
-                               else if( nLevel < 0 )\r
-                               {\r
-                                       nLevel = 0;\r
-                               }\r
-                               else if( nLevel > 100 )\r
-                               {\r
-                                       nLevel = 100;\r
-                               }\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.hScrollBarBLEVEL.Value = nLevel;\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.textBoxBLEVEL.Text = nLevel.ToString();\r
-                               return true;\r
-                       }\r
-                       if( strコマンド.Equals( "DTXVPLAYSPEED", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               decimal dPlaySpeed;\r
-//                             if ( !this.TryParse( strパラメータ, out num5 ) )           // #24790 2011.4.8 yyagi\r
-                               if ( !decimal.TryParse( strパラメータ, out dPlaySpeed ) )          // #24790 2011.4.8 yyagi\r
-                               {\r
-                                       dPlaySpeed = 0M;\r
-                               }\r
-                               else if( dPlaySpeed < 0.5M )\r
-                               {\r
-                                       dPlaySpeed = 0.5M;\r
-                               }\r
-                               else if( dPlaySpeed > 1.5M )\r
-                               {\r
-                                       dPlaySpeed = 1.5M;\r
-                               }\r
-                               decimal dIndex = ( 1.5M - dPlaySpeed ) * 10M;\r
-                               int nIndex = (int) dIndex;\r
-                               if( nIndex < 0 )\r
-                               {\r
-                                       nIndex = 0;\r
-                               }\r
-                               else if( nIndex > 10 )\r
-                               {\r
-                                       nIndex = 10;\r
-                               }\r
-                               CUndoRedo管理.bUndoRedoした直後 = true;\r
-                               this._Form.toolStripComboBox演奏速度.SelectedIndex = nIndex;\r
-                               return true;\r
-                       } else {\r
-                               return false;\r
-                       }\r
-               }\r
-               private bool tDTX入力_行解析_WAV( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       if( strコマンド.StartsWith( "wav", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 3 );\r
-                       }\r
-                       else\r
-                       {\r
-                               return false;\r
-                       }\r
-                       int nChipNo = C変換.n36進数2桁の文字列を数値に変換して返す( strコマンド.Substring( 0, 2 ) );\r
-                       if( ( nChipNo < 1 ) || ( nChipNo > 36 * 36 - 1 ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       CWAV cwav = this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す_なければ新規生成する( nChipNo );\r
-                       cwav.strラベル名 = strコメント;\r
-                       cwav.strファイル名 = strパラメータ;\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_WAVPAN_PAN( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       int nPan;\r
-                       if( strコマンド.StartsWith( "WAVPAN", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 6 );\r
-                       }\r
-                       else if( strコマンド.StartsWith( "PAN", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 3 );\r
-                       }\r
-                       else\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( strコマンド.Length < 2 )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       int nChipNo = C変換.n36進数2桁の文字列を数値に変換して返す( strコマンド.Substring( 0, 2 ) );\r
-                       if( int.TryParse( strパラメータ, out nPan ) )\r
-                       {\r
-                               if( nPan < -100 )\r
-                               {\r
-                                       nPan = -100;\r
-                               }\r
-                               else if( nPan >= 100 )\r
-                               {\r
-                                       nPan = 100;\r
-                               }\r
-                               this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す_なければ新規生成する( nChipNo ).n位置_100to100 = nPan;\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_WAVVOL_VOLUME( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       int nVol;\r
-                       if( strコマンド.StartsWith( "WAVVOL", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 6 );\r
-                       }\r
-                       else if( strコマンド.StartsWith( "VOLUME", StringComparison.OrdinalIgnoreCase ) )\r
-                       {\r
-                               strコマンド = strコマンド.Substring( 6 );\r
-                       }\r
-                       else\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( strコマンド.Length < 2 )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       int nChipNo = C変換.n36進数2桁の文字列を数値に変換して返す( strコマンド.Substring( 0, 2 ) );\r
-                       if( int.TryParse( strパラメータ, out nVol ) )\r
-                       {\r
-                               if( nVol < 0 )\r
-                               {\r
-                                       nVol = 0;\r
-                               }\r
-                               else if( nVol >= 100 )\r
-                               {\r
-                                       nVol = 100;\r
-                               }\r
-                               this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す_なければ新規生成する( nChipNo ).n音量0to100 = nVol;\r
-                       }\r
-                       return true;\r
-               }\r
-               private bool tDTX入力_行解析_チャンネル( string strコマンド, string strパラメータ, string strコメント )\r
-               {\r
-                       int nBar, nCh;\r
-                       if( !this.tDTX入力_行解析_チャンネル_コマンドから小節番号とチャンネル番号を抜き出す( strコマンド, out nBar, out nCh ) )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       if( nCh == 2 )  // Bar Length\r
-                       {\r
-                               decimal dBarLength;\r
-                               if( !this.TryParse( strパラメータ, out dBarLength ) )      // #23880 2011.1.6 yyagi\r
-                               {\r
-                                       dBarLength = 1m;\r
-                               }\r
-                               this.dic小節長倍率.Add( nBar, (float)dBarLength );\r
-                               this.tDTX入力_行解析_チャンネル_小節番号に対応する小節を探すか新規に作って返す( nBar );        // #32609 2013.12.16 yyagi\r
-                               return true;\r
-                       }\r
-                       #region [ Guitar ]\r
-                       if ( ( nCh >= 0x20 ) && ( nCh <= 0x27 ) )\r
-                       {\r
-                               C小節 c小節 = this.tDTX入力_行解析_チャンネル_小節番号に対応する小節を探すか新規に作って返す( nBar );\r
-                               int startIndex = 0;\r
-                               while( ( startIndex = strパラメータ.IndexOf( '_' ) ) != -1 )\r
-                               {\r
-                                       strパラメータ = strパラメータ.Remove( startIndex, 1 );\r
-                               }\r
-                               int nChips = strパラメータ.Length / 2;\r
-                               for( int i = 0; i < nChips; i++ )\r
-                               {\r
-                                       int nChipNo = C変換.n36進数2桁の文字列を数値に変換して返す( strパラメータ.Substring( i * 2, 2 ) );\r
-                                       if( nChipNo != 0 )\r
-                                       {\r
-                                               int nLaneGtV = this._Form.mgr譜面管理者.nレーン名に対応するレーン番号を返す( "GtV" );\r
-                                               int nLaneGtR = this._Form.mgr譜面管理者.nレーン名に対応するレーン番号を返す( "GtR" );\r
-                                               int nLaneGtG = this._Form.mgr譜面管理者.nレーン名に対応するレーン番号を返す( "GtG" );\r
-                                               int nLaneGtB = this._Form.mgr譜面管理者.nレーン名に対応するレーン番号を返す( "GtB" );\r
-                                               Cチップ item = new Cチップ();\r
-                                               item.nレーン番号0to = nLaneGtV;\r
-                                               item.n位置grid = i;\r
-                                               item.n値_整数1to1295 = nChipNo;\r
-                                               item.n読み込み時の解像度 = nChips;\r
-                                               c小節.listチップ.Add( item );\r
-                                               switch( nCh )\r
-                                               {\r
-                                                       case 0x20:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 2;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0x21:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtB;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0x22:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtG;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0x23:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtG;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtB;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0x24:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0x25:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtB;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0x26:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtG;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0x27:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtG;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneGtB;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               return true;\r
-                       }\r
-                       #endregion\r
-                       #region [ Bass ]\r
-                       if ( ( nCh >= 0xa0 ) && ( nCh <= 0xa7 ) )\r
-                       {\r
-                               C小節 c小節 = this.tDTX入力_行解析_チャンネル_小節番号に対応する小節を探すか新規に作って返す( nBar );\r
-                               int startIndex = 0;\r
-                               while( ( startIndex = strパラメータ.IndexOf( '_' ) ) != -1 )\r
-                               {\r
-                                       strパラメータ = strパラメータ.Remove( startIndex, 1 );\r
-                               }\r
-                               int nChips = strパラメータ.Length / 2;\r
-                               for( int i = 0; i < nChips; i++ )\r
-                               {\r
-                                       int nChipNo = C変換.n36進数2桁の文字列を数値に変換して返す( strパラメータ.Substring( i * 2, 2 ) );\r
-                                       if( nChipNo != 0 )\r
-                                       {\r
-                                               int nLaneBsV = this._Form.mgr譜面管理者.nレーン名に対応するレーン番号を返す( "BsV" );\r
-                                               int nLaneBsR = this._Form.mgr譜面管理者.nレーン名に対応するレーン番号を返す( "BsR" );\r
-                                               int nLanrBsG = this._Form.mgr譜面管理者.nレーン名に対応するレーン番号を返す( "BsG" );\r
-                                               int nLaneBsB = this._Form.mgr譜面管理者.nレーン名に対応するレーン番号を返す( "BsB" );\r
-                                               Cチップ item = new Cチップ();\r
-                                               item.nレーン番号0to = nLaneBsV;\r
-                                               item.n位置grid = i;\r
-                                               item.n値_整数1to1295 = nChipNo;\r
-                                               item.n読み込み時の解像度 = nChips;\r
-                                               c小節.listチップ.Add( item );\r
-                                               switch( nCh )\r
-                                               {\r
-                                                       case 160:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneBsR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 2;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0xa1:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneBsB;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0xa2:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLanrBsG;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0xa3:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLanrBsG;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneBsB;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0xa4:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneBsR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0xa5:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneBsR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneBsB;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0xa6:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneBsR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLanrBsG;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-\r
-                                                       case 0xa7:\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneBsR;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLanrBsG;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               item = new Cチップ();\r
-                                                               item.nレーン番号0to = nLaneBsB;\r
-                                                               item.n位置grid = i;\r
-                                                               item.n値_整数1to1295 = 1;\r
-                                                               item.n読み込み時の解像度 = nChips;\r
-                                                               c小節.listチップ.Add( item );\r
-                                                               break;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               return true;\r
-                       }\r
-                       #endregion\r
-                       #region [ Other Channels ]\r
-                       int nレーン番号 = -1;\r
-                       bool flag = false;\r
-                       if( this.tDTX入力_行解析_チャンネル_チャンネルに該当するレーン番号を返す( nCh, out nレーン番号, out flag ) )\r
-                       {\r
-                               C小節 c小節 = this.tDTX入力_行解析_チャンネル_小節番号に対応する小節を探すか新規に作って返す( nBar );\r
-                               int nPosOf_ = 0;\r
-                               while( ( nPosOf_ = strパラメータ.IndexOf( '_' ) ) != -1 )\r
-                               {\r
-                                       strパラメータ = strパラメータ.Remove( nPosOf_, 1 );\r
-                               }\r
-                               int nChips = strパラメータ.Length / 2;\r
-                               for( int i = 0; i < nChips; i++ )\r
-                               {\r
-                                       int nChipNo = ( nCh == 3 ) ? C変換.n16進数2桁の文字列を数値に変換して返す( strパラメータ.Substring( i * 2, 2 ) ) : C変換.n36進数2桁の文字列を数値に変換して返す( strパラメータ.Substring( i * 2, 2 ) );\r
-                                       if( nChipNo > 0 )\r
-                                       {\r
-                                               Cチップ cチップ = new Cチップ();\r
-                                               cチップ.nチャンネル番号00toFF = nCh;\r
-                                               cチップ.nレーン番号0to = nレーン番号;\r
-                                               cチップ.n位置grid = i;\r
-                                               cチップ.n読み込み時の解像度 = nChips;\r
-                                               cチップ.n値_整数1to1295 = nChipNo;\r
-                                               cチップ.b裏 = flag;\r
-                                               float f;\r
-                                               if ( ( nCh == 0xF8 || nCh == 0xF3 ) &&                                                                                          // BEATチップの場合\r
-                                                       dicBEATチップf値.TryGetValue( nBar * 192 + (i * 192 / nChips ), out f ) )\r
-                                               {\r
-                                                       cチップ.f値_浮動小数 = f;\r
-//Debug.WriteLine( "f値: nBar=" + nBar + ", f値=" + f );\r
-                                               }\r
-                                               c小節.listチップ.Add( cチップ );\r
-                                       }\r
-                               }\r
-                               return true;\r
-                       }\r
-                       StringBuilder builder = new StringBuilder( 0x400 );\r
-                       builder.Append( "#" + C変換.str小節番号を文字列3桁に変換して返す( nBar ) + C変換.str数値を16進数2桁に変換して返す( nCh ) + ": " + strパラメータ );\r
-                       if( strコメント.Length > 0 )\r
-                       {\r
-                               builder.Append( " ;" + strコメント );\r
-                       }\r
-                       builder.Append( Environment.NewLine );\r
-                       CUndoRedo管理.bUndoRedoした直後 = true;\r
-                       this._Form.textBox自由入力欄.AppendText( builder.ToString() );\r
-                       return true;\r
-                       #endregion\r
-               }\r
-               private int tDTX入力_行解析_チャンネル_GDAチャンネル文字列2桁をチャンネル番号にして返す( string strチャンネル文字列2桁 )\r
-               {\r
-                       if( strチャンネル文字列2桁.Length == 2 )\r
-                       {\r
-                               switch( strチャンネル文字列2桁.ToUpper() )\r
-                               {\r
-                                       case "TC":\r
-                                               return 3;\r
-\r
-                                       case "BL":\r
-                                               return 2;\r
-\r
-                                       case "GS":\r
-                                               return 0x29;\r
-\r
-                                       case "DS":\r
-                                               return 0x30;\r
-\r
-                                       case "FI":\r
-                                               return 0x53;\r
-\r
-                                       case "HH":\r
-                                               return 0x11;\r
-\r
-                                       case "SD":\r
-                                               return 0x12;\r
-\r
-                                       case "BD":\r
-                                               return 0x13;\r
-\r
-                                       case "HT":\r
-                                               return 0x14;\r
-\r
-                                       case "LT":\r
-                                               return 0x15;\r
-\r
-                                       case "CY":\r
-                                               return 0x16;\r
-\r
-                                       case "G1":\r
-                                               return 0x21;\r
-\r
-                                       case "G2":\r
-                                               return 0x22;\r
-\r
-                                       case "G3":\r
-                                               return 0x23;\r
-\r
-                                       case "G4":\r
-                                               return 0x24;\r
-\r
-                                       case "G5":\r
-                                               return 0x25;\r
-\r
-                                       case "G6":\r
-                                               return 0x26;\r
-\r
-                                       case "G7":\r
-                                               return 0x27;\r
-\r
-                                       case "GW":\r
-                                               return 0x28;\r
-\r
-                                       case "01":\r
-                                               return 0x61;\r
-\r
-                                       case "02":\r
-                                               return 0x62;\r
-\r
-                                       case "03":\r
-                                               return 0x63;\r
-\r
-                                       case "04":\r
-                                               return 0x64;\r
-\r
-                                       case "05":\r
-                                               return 0x65;\r
-\r
-                                       case "06":\r
-                                               return 0x66;\r
-\r
-                                       case "07":\r
-                                               return 0x67;\r
-\r
-                                       case "08":\r
-                                               return 0x68;\r
-\r
-                                       case "09":\r
-                                               return 0x69;\r
-\r
-                                       case "0A":\r
-                                               return 0x70;\r
-\r
-                                       case "0B":\r
-                                               return 0x71;\r
-\r
-                                       case "0C":\r
-                                               return 0x72;\r
-\r
-                                       case "0D":\r
-                                               return 0x73;\r
-\r
-                                       case "0E":\r
-                                               return 0x74;\r
-\r
-                                       case "0F":\r
-                                               return 0x75;\r
-\r
-                                       case "10":\r
-                                               return 0x76;\r
-\r
-                                       case "11":\r
-                                               return 0x77;\r
-\r
-                                       case "12":\r
-                                               return 0x78;\r
-\r
-                                       case "13":\r
-                                               return 0x79;\r
-\r
-                                       case "14":\r
-                                               return 0x80;\r
-\r
-                                       case "15":\r
-                                               return 0x81;\r
-\r
-                                       case "16":\r
-                                               return 0x82;\r
-\r
-                                       case "17":\r
-                                               return 0x83;\r
-\r
-                                       case "18":\r
-                                               return 0x84;\r
-\r
-                                       case "19":\r
-                                               return 0x85;\r
-\r
-                                       case "1A":\r
-                                               return 0x86;\r
-\r
-                                       case "1B":\r
-                                               return 0x87;\r
-\r
-                                       case "1C":\r
-                                               return 0x88;\r
-\r
-                                       case "1D":\r
-                                               return 0x89;\r
-\r
-                                       case "1E":\r
-                                               return 0x90;\r
-\r
-                                       case "1F":\r
-                                               return 0x91;\r
-\r
-                                       case "20":\r
-                                               return 0x92;\r
-\r
-                                       case "B1":\r
-                                               return 0xa1;\r
-\r
-                                       case "B2":\r
-                                               return 0xa2;\r
-\r
-                                       case "B3":\r
-                                               return 0xa3;\r
-\r
-                                       case "B4":\r
-                                               return 0xa4;\r
-\r
-                                       case "B5":\r
-                                               return 0xa5;\r
-\r
-                                       case "B6":\r
-                                               return 0xa6;\r
-\r
-                                       case "B7":\r
-                                               return 0xa7;\r
-\r
-                                       case "BW":\r
-                                               return 0xa8;\r
-\r
-                                       case "G0":\r
-                                               return 0x20;\r
-\r
-                                       case "B0":\r
-                                               return 0xa0;\r
-                               }\r
-                       }\r
-                       return -1;\r
-               }\r
-\r
-               // #25990 2011.8.12 yyagi BMS/BME→DTX変換メイン\r
-               private int tDTX入力_行解析_チャンネル_BMSチャンネル文字列2桁をチャンネル番号にして返す( string strチャンネル文字列2桁, int bar, E種別 eType )\r
-               {\r
-                       if ( bar >= 0 &&  strチャンネル文字列2桁.Length == 2 )\r
-                       {\r
-                               if ( nLastBarConverted != bar )                 // 小節が変わったら、BGM用に使うch群\r
-                               {\r
-                                       nLastBarConverted = bar;\r
-                                       eDTXbgmChs.Reset();\r
-                               }\r
-\r
-                               int bmsCh = Convert.ToInt32( strチャンネル文字列2桁, 16 );\r
-                               if ( bmsCh == 0x01 )                                            // BGMなら\r
-                               {\r
-                                       if ( !eDTXbgmChs.MoveNext() )                   // BGM用に使うSEチャネルの空きがもう無い\r
-                                       {\r
-                                               return -1;\r
-                                       }\r
-                                       return (int) eDTXbgmChs.Current;\r
-                               }\r
-                               else if ( 0x11 <= bmsCh && bmsCh <= 0x19 )      // 鍵盤なら\r
-                               {\r
-                                       return ( eType == E種別.BMS ) ? BMSkeyChToDTXdrumsCh[ bmsCh - 0x11 ] : BMEkeyChToDTXdrumsCh[ bmsCh - 0x11 ];\r
-                               }\r
-                               else                                                                            // それ以外なら\r
-                               {\r
-                                       return BMSgeneralChToDTXgeneralCh[ bmsCh ];\r
-                               }\r
-                       }\r
-                       return -1;\r
-               }\r
-               private bool tDTX入力_行解析_チャンネル_コマンドから小節番号とチャンネル番号を抜き出す( string strコマンド, out int n小節番号, out int nチャンネル番号 )\r
-               {\r
-                       if( strコマンド.Length >= 5 )\r
-                       {\r
-                               n小節番号 = C変換.n小節番号の文字列3桁を数値に変換して返す( strコマンド.Substring( 0, 3 ) );\r
-                               if( ( this.e種別 == E種別.GDA ) || ( this.e種別 == E種別.G2D ) )\r
-                               {\r
-                                       nチャンネル番号 = this.tDTX入力_行解析_チャンネル_GDAチャンネル文字列2桁をチャンネル番号にして返す( strコマンド.Substring( 3, 2 ) );\r
-                               }\r
-                               else if( ( this.e種別 == E種別.BMS ) || ( this.e種別 == E種別.BME ) )   // #25990 2011.8.12 yyagi\r
-                               {\r
-                                       nチャンネル番号 = this.tDTX入力_行解析_チャンネル_BMSチャンネル文字列2桁をチャンネル番号にして返す( strコマンド.Substring( 3, 2 ), n小節番号, this.e種別 );\r
-                               }\r
-                               else\r
-                               {\r
-                                       nチャンネル番号 = C変換.n16進数2桁の文字列を数値に変換して返す( strコマンド.Substring( 3, 2 ) );\r
-                               }\r
-                               return ( ( n小節番号 >= 0 ) && ( nチャンネル番号 > 0 ) );\r
-                       }\r
-                       n小節番号 = -1;\r
-                       nチャンネル番号 = -1;\r
-                       return false;\r
-               }\r
-               private bool tDTX入力_行解析_チャンネル_チャンネルに該当するレーン番号を返す( int nチャンネル番号, out int nレーン番号, out bool b裏 )\r
-               {\r
-                       nレーン番号 = -1;\r
-                       b裏 = false;\r
-                       for( int i = 0; i < this._Form.mgr譜面管理者.listレーン.Count; i++ )\r
-                       {\r
-                               Cレーン cレーン = this._Form.mgr譜面管理者.listレーン[ i ];\r
-                               if( cレーン.nチャンネル番号_表00toFF == nチャンネル番号 )\r
-                               {\r
-                                       nレーン番号 = i;\r
-                                       b裏 = false;\r
-                                       return true;\r
-                               }\r
-                               if( cレーン.nチャンネル番号_裏00toFF == nチャンネル番号 )\r
-                               {\r
-                                       nレーン番号 = i;\r
-                                       b裏 = true;\r
-                                       return true;\r
-                               }\r
-                       }\r
-                       return false;\r
-               }\r
-               private C小節 tDTX入力_行解析_チャンネル_小節番号に対応する小節を探すか新規に作って返す( int n小節番号 )\r
-               {\r
-                       C小節 c小節 = this._Form.mgr譜面管理者.p小節を返す( n小節番号 );\r
-                       if( c小節 == null )\r
-                       {\r
-                               if( n小節番号 > this._Form.mgr譜面管理者.n現在の最大の小節番号を返す() )\r
-                               {\r
-                                       for( int i = this._Form.mgr譜面管理者.n現在の最大の小節番号を返す() + 1; i <= n小節番号; i++ )\r
-                                       {\r
-                                               c小節 = new C小節( i );\r
-                                               this._Form.mgr譜面管理者.dic小節.Add( i, c小節 );\r
-                                       }\r
-                                       return c小節;\r
-                               }\r
-                               c小節 = new C小節( n小節番号 );\r
-                               this._Form.mgr譜面管理者.dic小節.Add( n小節番号, c小節 );\r
-                       }\r
-                       return c小節;\r
-               }\r
-               private void tDTX入力_小節長倍率配列を昇順ソート済みの小節リストに適用する()\r
-               {\r
-                       float num = 1f;\r
-                       for( int i = 0; i < this._Form.mgr譜面管理者.dic小節.Count; i++ )\r
-                       {\r
-                               C小節 c小節 = this._Form.mgr譜面管理者.dic小節[ i ];\r
-                               foreach( KeyValuePair<int, float> pair in this.dic小節長倍率 )\r
-                               {\r
-                                       if( c小節.n小節番号0to3599 == pair.Key )\r
-                                       {\r
-                                               num = pair.Value;\r
-                                       }\r
-                               }\r
-                               c小節.f小節長倍率 = num;\r
-                               for( int j = 0; j < c小節.listチップ.Count; j++ )\r
-                               {\r
-                                       c小節.listチップ[ j ].n位置grid = ( c小節.listチップ[ j ].n位置grid * c小節.n小節長倍率を考慮した現在の小節の高さgrid ) / c小節.listチップ[ j ].n読み込み時の解像度;\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX入力_小節内のチップリストを発声位置でソートする()\r
-               {\r
-                       foreach( KeyValuePair<int, C小節> pair in this._Form.mgr譜面管理者.dic小節 )\r
-                       {\r
-                               pair.Value.listチップ.Sort();\r
-                       }\r
-               }\r
-\r
-               private void tDTX出力_AVIリスト( StreamWriter sw )\r
-               {\r
-                       sw.WriteLine();\r
-                       for( int i = 1; i <= 36 * 36 - 1; i++ )\r
-                       {\r
-                               CAVI cavi = this._Form.mgrAVIリスト管理者.tAVIをキャッシュから検索して返す( i );\r
-                               if( ( cavi != null ) && ( cavi.strファイル名.Length > 0 ) )\r
-                               {\r
-                                       string str = C変換.str数値を36進数2桁に変換して返す( cavi.nAVI番号1to1295 );\r
-                                       sw.Write( "#AVI{0}: {1}", str, cavi.strファイル名 );\r
-                                       if( cavi.strラベル名.Length > 0 )\r
-                                       {\r
-                                               sw.Write( "\t;{0}", cavi.strラベル名 );\r
-                                       }\r
-                                       sw.WriteLine();\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX出力_AVIリスト色設定( StreamWriter sw )\r
-               {\r
-                       Color color = ColorTranslator.FromHtml( "window" );\r
-                       Color color2 = ColorTranslator.FromHtml( "windowtext" );\r
-                       for( int i = 1; i <= 36 * 36 - 1; i++ )\r
-                       {\r
-                               CAVI cavi = this._Form.mgrAVIリスト管理者.tAVIをキャッシュから検索して返す( i );\r
-                               if( cavi != null )\r
-                               {\r
-                                       if( cavi.col文字色 != color2 )\r
-                                       {\r
-                                               sw.WriteLine( "#DTXC_AVIFORECOLOR: {0} {1}", i, ColorTranslator.ToHtml( cavi.col文字色 ) );\r
-                                       }\r
-                                       if( cavi.col背景色 != color )\r
-                                       {\r
-                                               sw.WriteLine( "#DTXC_AVIBACKCOLOR: {0} {1}", i, ColorTranslator.ToHtml( cavi.col背景色 ) );\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX出力_BMPリスト( StreamWriter sw )\r
-               {\r
-                       sw.WriteLine();\r
-                       for( int i = 1; i <= 36 * 36 - 1; i++ )\r
-                       {\r
-                               CBMP cbmp = this._Form.mgrBMPリスト管理者.tBMPをキャッシュから検索して返す( i );\r
-                               if( ( cbmp != null ) && ( cbmp.strファイル名.Length > 0 ) )\r
-                               {\r
-                                       string str = C変換.str数値を36進数2桁に変換して返す( cbmp.nBMP番号1to1295 );\r
-                                       if( !cbmp.bテクスチャ )\r
-                                       {\r
-                                               sw.Write( "#BMP{0}: {1}", str, cbmp.strファイル名 );\r
-                                               if( cbmp.strラベル名.Length > 0 )\r
-                                               {\r
-                                                       sw.Write( "\t;{0}", cbmp.strラベル名 );\r
-                                               }\r
-                                               sw.WriteLine();\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               sw.Write( "#BMPTEX{0}: {1}", str, cbmp.strファイル名 );\r
-                                               if( cbmp.strラベル名.Length > 0 )\r
-                                               {\r
-                                                       sw.Write( "\t;{0}", cbmp.strラベル名 );\r
-                                               }\r
-                                               sw.WriteLine();\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX出力_BMPリスト色設定( StreamWriter sw )\r
-               {\r
-                       Color color = ColorTranslator.FromHtml( "window" );\r
-                       Color color2 = ColorTranslator.FromHtml( "windowtext" );\r
-                       for( int i = 1; i <= 36 * 36 - 1; i++ )\r
-                       {\r
-                               CBMP cbmp = this._Form.mgrBMPリスト管理者.tBMPをキャッシュから検索して返す( i );\r
-                               if( cbmp != null )\r
-                               {\r
-                                       if( cbmp.col文字色 != color2 )\r
-                                       {\r
-                                               sw.WriteLine( "#DTXC_BMPFORECOLOR: {0} {1}", i, ColorTranslator.ToHtml( cbmp.col文字色 ) );\r
-                                       }\r
-                                       if( cbmp.col背景色 != color )\r
-                                       {\r
-                                               sw.WriteLine( "#DTXC_BMPBACKCOLOR: {0} {1}", i, ColorTranslator.ToHtml( cbmp.col背景色 ) );\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX出力_BPxリスト( StreamWriter sw )\r
-               {\r
-                       sw.WriteLine();\r
-                       foreach( KeyValuePair<int, float> pair in this._Form.mgr譜面管理者.dicBPx )\r
-                       {\r
-                               sw.WriteLine( "#BPM{0}: {1}", C変換.str数値を36進数2桁に変換して返す( pair.Key ), pair.Value );\r
-                       }\r
-               }\r
-               private void tDTX出力_WAVリスト( StreamWriter sw, bool bBGMのみ出力 )\r
-               {\r
-                       sw.WriteLine();\r
-                       for( int i = 1; i <= 36 * 36 - 1; i++ )\r
-                       {\r
-                               CWAV cwav = this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す( i );\r
-                               if( ( ( cwav != null ) && ( cwav.strファイル名.Length > 0 ) ) && ( !bBGMのみ出力 || cwav.bBGMとして使用 ) )\r
-                               {\r
-                                       string str = C変換.str数値を36進数2桁に変換して返す( cwav.nWAV番号1to1295 );\r
-                                       sw.Write( "#WAV{0}: {1}", str, cwav.strファイル名 );\r
-                                       if( cwav.strラベル名.Length > 0 )\r
-                                       {\r
-                                               sw.Write( "\t;{0}", cwav.strラベル名 );\r
-                                       }\r
-                                       sw.WriteLine();\r
-                                       if( cwav.n音量0to100 != 100 )\r
-                                       {\r
-                                               sw.WriteLine( "#VOLUME{0}: {1}", str, cwav.n音量0to100.ToString() );\r
-                                       }\r
-                                       if( cwav.n位置_100to100 != 0 )\r
-                                       {\r
-                                               sw.WriteLine( "#PAN{0}: {1}", str, cwav.n位置_100to100.ToString() );\r
-                                       }\r
-                                       if( cwav.bBGMとして使用 )\r
-                                       {\r
-                                               sw.WriteLine( "#BGMWAV: {0}", str );\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX出力_WAVリスト色設定( StreamWriter sw )\r
-               {\r
-                       Color color = ColorTranslator.FromHtml( "window" );\r
-                       Color color2 = ColorTranslator.FromHtml( "windowtext" );\r
-                       for( int i = 1; i <= 36 * 36 - 1; i++ )\r
-                       {\r
-                               CWAV cwav = this._Form.mgrWAVリスト管理者.tWAVをキャッシュから検索して返す( i );\r
-                               if( cwav != null )\r
-                               {\r
-                                       if( cwav.col文字色 != color2 )\r
-                                       {\r
-                                               sw.WriteLine( "#DTXC_WAVFORECOLOR: {0} {1}", i, ColorTranslator.ToHtml( cwav.col文字色 ) );\r
-                                       }\r
-                                       if( cwav.col背景色 != color )\r
-                                       {\r
-                                               sw.WriteLine( "#DTXC_WAVBACKCOLOR: {0} {1}", i, ColorTranslator.ToHtml( cwav.col背景色 ) );\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX出力_タイトルと製作者とコメントその他( StreamWriter sw )\r
-               {\r
-                       sw.WriteLine();\r
-                       if( this._Form.textBox曲名.Text.Length == 0 )\r
-                       {\r
-                               sw.WriteLine( "#TITLE: (no title)" );\r
-                       }\r
-                       else\r
-                       {\r
-                               sw.WriteLine( "#TITLE: " + this._Form.textBox曲名.Text );\r
-                       }\r
-                       if( this._Form.textBox製作者.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine( "#ARTIST: " + this._Form.textBox製作者.Text );\r
-                       }\r
-                       if( this._Form.textBoxGenre.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine( "#GENRE: " + this._Form.textBoxGenre.Text );\r
-                       }\r
-                       if( this._Form.check556x710BGAAVI.Checked )\r
-                       {\r
-                               sw.WriteLine("#USE556X710BGAAVI: 1");\r
-                       }\r
-                       if( this._Form.textBoxコメント.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine( "#COMMENT: " + this._Form.textBoxコメント.Text );\r
-                       }\r
-                       if( this._Form.textBoxパネル.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine( "#PANEL: " + this._Form.textBoxパネル.Text );\r
-                       }\r
-                       if( this._Form.textBoxPREVIEW.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine( "#PREVIEW: " + this._Form.textBoxPREVIEW.Text );\r
-                       }\r
-                       if( this._Form.textBoxPREIMAGE.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine( "#PREIMAGE: " + this._Form.textBoxPREIMAGE.Text );\r
-                       }\r
-                       if( this._Form.textBoxSTAGEFILE.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine( "#STAGEFILE: " + this._Form.textBoxSTAGEFILE.Text );\r
-                       }\r
-                       if( this._Form.textBoxBACKGROUND.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine( "#BACKGROUND: " + this._Form.textBoxBACKGROUND.Text );\r
-                       }\r
-                       if( this._Form.textBoxRESULTIMAGE.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine( "#RESULTIMAGE: " + this._Form.textBoxRESULTIMAGE.Text );\r
-                       }\r
-                       if( this._Form.numericUpDownBPM.Value != 0M )\r
-                       {\r
-                               sw.WriteLine( "#BPM: " + this._Form.numericUpDownBPM.Value );\r
-                       }\r
-                       // if( this._Form.hScrollBarDLEVEL.Value != 0 )\r
-                       {\r
-                               sw.WriteLine( "#DLEVEL: " + this._Form.hScrollBarDLEVEL.Value );\r
-                       }\r
-                       // if( this._Form.hScrollBarGLEVEL.Value != 0 )\r
-                       {\r
-                               sw.WriteLine( "#GLEVEL: " + this._Form.hScrollBarGLEVEL.Value );\r
-                       }\r
-                       // if( this._Form.hScrollBarBLEVEL.Value != 0 )\r
-                       {\r
-                               sw.WriteLine( "#BLEVEL: " + this._Form.hScrollBarBLEVEL.Value );\r
-                       }\r
-                       if( this._Form.mgr譜面管理者.strPATH_WAV.Length != 0 )\r
-                       {\r
-                               sw.WriteLine( "#PATH_WAV: " + this._Form.mgr譜面管理者.strPATH_WAV );\r
-                       }\r
-                       if( this._Form.toolStripComboBox演奏速度.SelectedIndex != 5 )\r
-                       {\r
-                               sw.WriteLine( "#DTXVPLAYSPEED: " + ( 1.5f - ( this._Form.toolStripComboBox演奏速度.SelectedIndex * 0.1f ) ) );\r
-                       }\r
-               }\r
-               private void tDTX出力_チップパレット( StreamWriter sw )\r
-               {\r
-                       sw.Write( "#DTXC_CHIPPALETTE: " );\r
-                       foreach( ListViewItem item in this._Form.dlgチップパレット.listViewチップリスト.Items )\r
-                       {\r
-                               sw.Write( " {0},{1}", item.ImageIndex, item.SubItems[ 1 ].Text );\r
-                       }\r
-                       sw.WriteLine();\r
-               }\r
-               private void tDTX出力_レーン割付チップ( StreamWriter sw )\r
-               {\r
-                       sw.WriteLine();\r
-                       for( int i = 0; i < this._Form.mgr譜面管理者.listレーン.Count; i++ )\r
-                       {\r
-                               Cレーン cレーン = this._Form.mgr譜面管理者.listレーン[ i ];\r
-                               if( ( cレーン.nレーン割付チップ_表0or1to1295 > 0 ) || ( cレーン.nレーン割付チップ_裏0or1to1295 > 0 ) )\r
-                               {\r
-                                       sw.WriteLine( "#DTXC_LANEBINDEDCHIP: {0} {1} {2}", i.ToString( "00" ), C変換.str数値を36進数2桁に変換して返す( cレーン.nレーン割付チップ_表0or1to1295), C変換.str数値を36進数2桁に変換して返す( cレーン.nレーン割付チップ_裏0or1to1295) );\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX出力_自由入力欄( StreamWriter sw )\r
-               {\r
-                       sw.WriteLine();\r
-                       if( this._Form.textBox自由入力欄.Text.Length > 0 )\r
-                       {\r
-                               sw.WriteLine();\r
-                               sw.Write( this._Form.textBox自由入力欄.Text );\r
-                               sw.WriteLine();\r
-                       }\r
-               }\r
-               private void tDTX出力_小節長倍率( StreamWriter sw )\r
-               {\r
-                       sw.WriteLine();\r
-                       float num = 1f;\r
-                       for( int i = 0; i < this._Form.mgr譜面管理者.dic小節.Count; i++ )\r
-                       {\r
-                               C小節 c小節 = this._Form.mgr譜面管理者.dic小節[ i ];\r
-                               if( c小節.f小節長倍率 != num )\r
-                               {\r
-                                       num = c小節.f小節長倍率;\r
-                                       sw.WriteLine( "#{0}02: {1}", C変換.str小節番号を文字列3桁に変換して返す( c小節.n小節番号0to3599 ), num );\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX出力_BEATチップのf値( StreamWriter sw )\r
-               {\r
-                       sw.WriteLine();\r
-                       int laneBEAT = this._Form.mgr譜面管理者.nレーン名に対応するレーン番号を返す( "BEAT" );\r
-// Debug.WriteLine( "laneBEAT=" + laneBEAT );\r
-                       int c = 0;\r
-                       foreach ( KeyValuePair<int, C小節> pair in this._Form.mgr譜面管理者.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair.Value;\r
-                               for ( int index = 0; index < c小節.listチップ.Count; index++ )\r
-                               {\r
-                                       if ( c小節.listチップ[ index ].nレーン番号0to == laneBEAT )\r
-                                       {\r
-// int n小節番号 = c小節.n小節番号0to3599;\r
-// Debug.WriteLine( "n小節番号=" + c小節.n小節番号0to3599 + ", 小節内Grid=" + c小節.listチップ[ index ].n位置grid + ",lane=" + c小節.listチップ[ index ].nレーン番号0to + ", f値=" + c小節.listチップ[ index ].f値・浮動小数 );\r
-                                               //string str = C変換.str数値を36進数2桁に変換して返す( c );\r
-                                               sw.WriteLine( "#BEAT{0}: {1}, {2}, {3}", c++, c小節.n小節番号0to3599, c小節.listチップ[ index ].n位置grid, c小節.listチップ[ index ].f値_浮動小数);\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               private void tDTX出力_全チップ( StreamWriter sw )\r
-               {\r
-                       sw.WriteLine();\r
-                       foreach( KeyValuePair<int, C小節> pair in this._Form.mgr譜面管理者.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair.Value;\r
-                               List<int> list = new List<int>();\r
-                               foreach( Cチップ cチップ in c小節.listチップ )\r
-                               {\r
-                                       if( list.IndexOf( cチップ.nチャンネル番号00toFF ) < 0 )\r
-                                       {\r
-                                               list.Add( cチップ.nチャンネル番号00toFF );\r
-                                       }\r
-                               }\r
-                               int[,] numArray = new int[ c小節.n小節長倍率を考慮した現在の小節の高さgrid, 2 ];\r
-                               foreach( int num in list )\r
-                               {\r
-                                       if( num != 0 )\r
-                                       {\r
-                                               for( int num2 = 0; num2 < c小節.n小節長倍率を考慮した現在の小節の高さgrid; num2++ )\r
-                                               {\r
-                                                       numArray[ num2, 0 ] = numArray[ num2, 1 ] = 0;\r
-                                               }\r
-                                               foreach( Cチップ cチップ2 in c小節.listチップ )\r
-                                               {\r
-                                                       if( cチップ2.nチャンネル番号00toFF == num )\r
-                                                       {\r
-                                                               numArray[ cチップ2.n位置grid, 0 ] = cチップ2.n値_整数1to1295;\r
-                                                       }\r
-                                               }\r
-                                               int num3 = 0;\r
-                                               for( int num4 = 0; num4 < c小節.n小節長倍率を考慮した現在の小節の高さgrid; num4++ )\r
-                                               {\r
-                                                       num3 += numArray[ num4, 0 ];\r
-                                               }\r
-                                               if( num3 != 0 )\r
-                                               {\r
-                                                       int num5 = c小節.n小節長倍率を考慮した現在の小節の高さgrid;\r
-                                                       foreach( int num6 in this.arr素数リスト )\r
-                                                       {\r
-                                                               while( this.tDTX出力_全チップ_解像度をN分の1にできる( num6, ref numArray, num5 ) )\r
-                                                               {\r
-                                                                       num5 /= num6;\r
-                                                                       for( int num7 = 0; num7 < num5; num7++ )\r
-                                                                       {\r
-                                                                               numArray[ num7, 0 ] = numArray[ num7 * num6, 0 ];\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                                       StringBuilder builder = new StringBuilder();\r
-                                                       for( int num8 = 0; num8 < num5; num8++ )\r
-                                                       {\r
-                                                               if( num == 3 )\r
-                                                               {\r
-                                                                       builder.Append( C変換.str数値を16進数2桁に変換して返す( numArray[ num8, 0 ] ) );\r
-                                                               }\r
-                                                               else\r
-                                                               {\r
-                                                                       builder.Append( C変換.str数値を36進数2桁に変換して返す( numArray[ num8, 0 ] ) );\r
-                                                               }\r
-                                                       }\r
-                                                       sw.WriteLine( "#{0}{1}: {2}", C変換.str小節番号を文字列3桁に変換して返す( c小節.n小節番号0to3599 ), C変換.str数値を16進数2桁に変換して返す( num ), builder.ToString() );\r
-                                               }\r
-                                       }\r
-                               }\r
-                               for( int i = 0; i < c小節.n小節長倍率を考慮した現在の小節の高さgrid; i++ )\r
-                               {\r
-                                       numArray[ i, 0 ] = numArray[ i, 1 ] = 0;\r
-                               }\r
-                               foreach( Cチップ cチップ3 in c小節.listチップ )\r
-                               {\r
-                                       Cレーン cレーン = this._Form.mgr譜面管理者.listレーン[ cチップ3.nレーン番号0to ];\r
-                                       switch( cレーン.eレーン種別 )\r
-                                       {\r
-                                               case Cレーン.E種別.GtV:\r
-                                                       {\r
-                                                               numArray[ cチップ3.n位置grid, 0 ] = cチップ3.n値_整数1to1295;\r
-                                                               continue;\r
-                                                       }\r
-                                               case Cレーン.E種別.GtR:\r
-                                                       {\r
-                                                               numArray[ cチップ3.n位置grid, 1 ] |= ( cチップ3.n値_整数1to1295 == 1 ) ? 0x04 : 0xFF; // OPEN = 0xFF\r
-                                                               continue;\r
-                                                       }\r
-                                               case Cレーン.E種別.GtG:\r
-                                                       {\r
-                                                               numArray[ cチップ3.n位置grid, 1 ] |= 0x02;\r
-                                                               continue;\r
-                                                       }\r
-                                               case Cレーン.E種別.GtB:\r
-                                                       {\r
-                                                               numArray[ cチップ3.n位置grid, 1 ] |= 0x01;\r
-                                                               continue;\r
-                                                       }\r
-                                       }\r
-                               }\r
-                               for( int j = 0; j < c小節.n小節長倍率を考慮した現在の小節の高さgrid; j++ )\r
-                               {\r
-                                       if( ( numArray[ j, 0 ] == 0 ) || ( numArray[ j, 1 ] == 0 ) )\r
-                                       {\r
-                                               numArray[ j, 0 ] = 0;\r
-                                               numArray[ j, 1 ] = 0;\r
-                                       }\r
-                               }\r
-                               int num11 = c小節.n小節長倍率を考慮した現在の小節の高さgrid;\r
-                               foreach( int num12 in this.arr素数リスト )\r
-                               {\r
-                                       while( this.tDTX出力_全チップ_解像度をN分の1にできる( num12, ref numArray, num11 ) )\r
-                                       {\r
-                                               num11 /= num12;\r
-                                               for( int num13 = 0; num13 < num11; num13++ )\r
-                                               {\r
-                                                       numArray[ num13, 0 ] = numArray[ num13 * num12, 0 ];\r
-                                                       numArray[ num13, 1 ] = numArray[ num13 * num12, 1 ];\r
-                                               }\r
-                                       }\r
-                               }\r
-                               bool[] flagArray = new bool[ 8 ];\r
-                               for( int k = 0; k < 8; k++ )\r
-                               {\r
-                                       flagArray[ k ] = false;\r
-                               }\r
-                               for( int m = 0; m < num11; m++ )\r
-                               {\r
-                                       if( numArray[ m, 1 ] == 0xff )\r
-                                       {\r
-                                               flagArray[ 0 ] = true;\r
-                                       }\r
-                                       else if( numArray[ m, 1 ] != 0 )\r
-                                       {\r
-                                               flagArray[ numArray[ m, 1 ] ] = true;\r
-                                       }\r
-                               }\r
-                               StringBuilder[] builderArray = new StringBuilder[ 8 ];\r
-                               for( int n = 0; n < 8; n++ )\r
-                               {\r
-                                       builderArray[ n ] = new StringBuilder();\r
-                               }\r
-                               for( int num17 = 0; num17 < num11; num17++ )\r
-                               {\r
-                                       int num18 = ( numArray[ num17, 1 ] == 0xff ) ? 0x20 : ( numArray[ num17, 1 ] + 0x20 );\r
-                                       for( int num19 = 0; num19 < 8; num19++ )\r
-                                       {\r
-                                               if( flagArray[ num19 ] )\r
-                                               {\r
-                                                       if( num19 == ( num18 - 0x20 ) )\r
-                                                       {\r
-                                                               builderArray[ num19 ].Append( C変換.str数値を36進数2桁に変換して返す( numArray[ num17, 0 ] ) );\r
-                                                       }\r
-                                                       else\r
-                                                       {\r
-                                                               builderArray[ num19 ].Append( "00" );\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                               for( int num20 = 0; num20 < 8; num20++ )\r
-                               {\r
-                                       if( builderArray[ num20 ].Length != 0 )\r
-                                       {\r
-                                               sw.WriteLine( "#{0}{1}: {2}", C変換.str小節番号を文字列3桁に変換して返す( c小節.n小節番号0to3599 ), C変換.str数値を16進数2桁に変換して返す( 0x20 + num20 ), builderArray[ num20 ].ToString() );\r
-                                       }\r
-                               }\r
-                               for( int num21 = 0; num21 < c小節.n小節長倍率を考慮した現在の小節の高さgrid; num21++ )\r
-                               {\r
-                                       numArray[ num21, 0 ] = numArray[ num21, 1 ] = 0;\r
-                               }\r
-                               foreach( Cチップ cチップ4 in c小節.listチップ )\r
-                               {\r
-                                       Cレーン cレーン2 = this._Form.mgr譜面管理者.listレーン[ cチップ4.nレーン番号0to ];\r
-                                       switch( cレーン2.eレーン種別 )\r
-                                       {\r
-                                               case Cレーン.E種別.BsV:\r
-                                                       {\r
-                                                               numArray[ cチップ4.n位置grid, 0 ] = cチップ4.n値_整数1to1295;\r
-                                                               continue;\r
-                                                       }\r
-                                               case Cレーン.E種別.BsR:\r
-                                                       {\r
-                                                               numArray[ cチップ4.n位置grid, 1 ] |= ( cチップ4.n値_整数1to1295 == 1 ) ? 4 : 0xff;   // OPEN = 0xFF\r
-                                                               continue;\r
-                                                       }\r
-                                               case Cレーン.E種別.BsG:\r
-                                                       {\r
-                                                               numArray[ cチップ4.n位置grid, 1 ] |= 0x02;\r
-                                                               continue;\r
-                                                       }\r
-                                               case Cレーン.E種別.BsB:\r
-                                                       {\r
-                                                               numArray[ cチップ4.n位置grid, 1 ] |= 0x01;\r
-                                                               continue;\r
-                                                       }\r
-                                       }\r
-                               }\r
-                               for( int num22 = 0; num22 < c小節.n小節長倍率を考慮した現在の小節の高さgrid; num22++ )\r
-                               {\r
-                                       if( ( numArray[ num22, 0 ] == 0 ) || ( numArray[ num22, 1 ] == 0 ) )\r
-                                       {\r
-                                               numArray[ num22, 0 ] = 0;\r
-                                               numArray[ num22, 1 ] = 0;\r
-                                       }\r
-                               }\r
-                               int num23 = c小節.n小節長倍率を考慮した現在の小節の高さgrid;\r
-                               foreach( int num24 in this.arr素数リスト )\r
-                               {\r
-                                       while( this.tDTX出力_全チップ_解像度をN分の1にできる( num24, ref numArray, num23 ) )\r
-                                       {\r
-                                               num23 /= num24;\r
-                                               for( int num25 = 0; num25 < num23; num25++ )\r
-                                               {\r
-                                                       numArray[ num25, 0 ] = numArray[ num25 * num24, 0 ];\r
-                                                       numArray[ num25, 1 ] = numArray[ num25 * num24, 1 ];\r
-                                               }\r
-                                       }\r
-                               }\r
-                               bool[] flagArray2 = new bool[ 8 ];\r
-                               for( int num26 = 0; num26 < 8; num26++ )\r
-                               {\r
-                                       flagArray2[ num26 ] = false;\r
-                               }\r
-                               for( int num27 = 0; num27 < num23; num27++ )\r
-                               {\r
-                                       if( numArray[ num27, 1 ] == 0xff )\r
-                                       {\r
-                                               flagArray2[ 0 ] = true;\r
-                                       }\r
-                                       else if( numArray[ num27, 1 ] != 0 )\r
-                                       {\r
-                                               flagArray2[ numArray[ num27, 1 ] ] = true;\r
-                                       }\r
-                               }\r
-                               StringBuilder[] builderArray2 = new StringBuilder[ 8 ];\r
-                               for( int num28 = 0; num28 < 8; num28++ )\r
-                               {\r
-                                       builderArray2[ num28 ] = new StringBuilder();\r
-                               }\r
-                               for( int num29 = 0; num29 < num23; num29++ )\r
-                               {\r
-                                       int num30 = ( numArray[ num29, 1 ] == 0xff ) ? 160 : ( numArray[ num29, 1 ] + 160 );\r
-                                       for( int num31 = 0; num31 < 8; num31++ )\r
-                                       {\r
-                                               if( flagArray2[ num31 ] )\r
-                                               {\r
-                                                       if( num31 == ( num30 - 160 ) )\r
-                                                       {\r
-                                                               builderArray2[ num31 ].Append( C変換.str数値を36進数2桁に変換して返す( numArray[ num29, 0 ] ) );\r
-                                                       }\r
-                                                       else\r
-                                                       {\r
-                                                               builderArray2[ num31 ].Append( "00" );\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                               for( int num32 = 0; num32 < 8; num32++ )\r
-                               {\r
-                                       if( builderArray2[ num32 ].Length != 0 )\r
-                                       {\r
-                                               sw.WriteLine( "#{0}{1}: {2}", C変換.str小節番号を文字列3桁に変換して返す( c小節.n小節番号0to3599 ), C変換.str数値を16進数2桁に変換して返す( 160 + num32 ), builderArray2[ num32 ].ToString() );\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               private bool tDTX出力_全チップ_解像度をN分の1にできる( int N, ref int[ , ] arrチップ配列, int n現在の解像度 )\r
-               {\r
-                       if( ( n現在の解像度 % N ) != 0 )\r
-                       {\r
-                               return false;\r
-                       }\r
-                       for( int i = 0; i < ( n現在の解像度 / N ); i++ )\r
-                       {\r
-                               for( int j = 1; j < N; j++ )\r
-                               {\r
-                                       if( arrチップ配列[ ( i * N ) + j, 0 ] != 0 )\r
-                                       {\r
-                                               return false;\r
-                                       }\r
-                               }\r
-                       }\r
-                       return true;\r
-               }\r
-\r
-               #region [#23880 2010.12.30 yyagi: コンマとスペースの両方を小数点として扱うTryParse]\r
-               /// <summary>\r
-               /// 小数点としてコンマとピリオドの両方を受け付けるTryParse()\r
-               /// </summary>\r
-               /// <param name="s">strings convert to double</param>\r
-               /// <param name="result">parsed double value</param>\r
-               /// <returns>s が正常に変換された場合は true。それ以外の場合は false。</returns>\r
-               /// <exception cref="ArgumentException">style が NumberStyles 値でないか、style に NumberStyles.AllowHexSpecifier 値が含まれている</exception>\r
-               private bool TryParse(string s, out decimal result)\r
-               {       // #23880 2010.12.30 yyagi: alternative TryParse to permit both '.' and ',' for decimal point\r
-                       // EU諸国での #BPM 123,45 のような記述に対応するため、\r
-                       // 小数点の最終位置を検出して、それをlocaleにあった\r
-                       // 文字に置き換えてからTryParse()する\r
-                       // 桁区切りの文字はスキップする\r
-\r
-                       const string DecimalSeparators = ".,";                          // 小数点文字\r
-                       const string GroupSeparators = ".,' ";                          // 桁区切り文字\r
-                       const string NumberSymbols = "0123456789";                      // 数値文字\r
-\r
-                       int len = s.Length;                                                                     // 文字列長\r
-                       int decimalPosition = len;                                                      // 真の小数点の位置 最初は文字列終端位置に仮置きする\r
-\r
-                       for (int i = 0; i < len; i++)\r
-                       {                                                       // まず、真の小数点(一番最後に現れる小数点)の位置を求める\r
-                               char c = s[i];\r
-                               if (NumberSymbols.IndexOf(c) >= 0)\r
-                               {                               // 数値だったらスキップ\r
-                                       continue;\r
-                               }\r
-                               else if (DecimalSeparators.IndexOf(c) >= 0)\r
-                               {               // 小数点文字だったら、その都度位置を上書き記憶\r
-                                       decimalPosition = i;\r
-                               }\r
-                               else if (GroupSeparators.IndexOf(c) >= 0)\r
-                               {               // 桁区切り文字の場合もスキップ\r
-                                       continue;\r
-                               }\r
-                               else\r
-                               {                                                                                       // 数値・小数点・区切り文字以外がきたらループ終了\r
-                                       break;\r
-                               }\r
-                       }\r
-\r
-                       StringBuilder decimalStr = new StringBuilder(16);\r
-                       for (int i = 0; i < len; i++)\r
-                       {                                                       // 次に、localeにあった数値文字列を生成する\r
-                               char c = s[i];\r
-                               if (NumberSymbols.IndexOf(c) >= 0)\r
-                               {                               // 数値だったら\r
-                                       decimalStr.Append(c);                                                   // そのままコピー\r
-                               }\r
-                               else if (DecimalSeparators.IndexOf(c) >= 0)\r
-                               {               // 小数点文字だったら\r
-                                       if (i == decimalPosition)\r
-                                       {                                               // 最後に出現した小数点文字なら、localeに合った小数点を出力する\r
-                                               decimalStr.Append(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator);\r
-                                       }\r
-                               }\r
-                               else if (GroupSeparators.IndexOf(c) >= 0)\r
-                               {               // 桁区切り文字だったら\r
-                                       continue;                                                                               // 何もしない(スキップ)\r
-                               }\r
-                               else\r
-                               {\r
-                                       break;\r
-                               }\r
-                       }\r
-                       return decimal.TryParse(decimalStr.ToString(), out result);     // 最後に、自分のlocale向けの文字列に対してTryParse実行\r
-               }\r
-               #endregion\r
-               //-----------------\r
-               #endregion\r
-       }\r
-}\r