OSDN Git Service

#28821 障害調査用に、再生開始直後の出力ログを強化した。(問題解決次第、このログ出力は削除予定)
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Wed, 7 May 2014 16:38:49 +0000 (16:38 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Wed, 7 May 2014 16:38:49 +0000 (16:38 +0000)
#28821 DTXVモードとして動作しているときの、DTXManiaのログ出力パスを、DTXデータがあるパスではなく、DTXManiaGR本体があるパスとした。また、障害調査用に、ログを追記出力するようにした。
#28821 DTXVモード時は、MIDI-INの処理を行わないようにした。MIDI-Yoke使用時、終了に時間がかかるため。(MIDI-Yokeは仮想MIDI-INを8ポート持っており、MIDI-INを1つ開放するのに1秒ずつかかる)

git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/branches/140113(DTXMania098%20with%2028821%20DTXVmode)@716 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs
DTXManiaプロジェクト/コード/ステージ/CDTXVmode.cs
DTXManiaプロジェクト/コード/全体/CDTXMania.cs
FDK17プロジェクト/コード/02.入力/CInput管理.cs
実行時フォルダ(DTXCreator)/dll/FDK.dll
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/dll/FDK.dll

index 1d5c23f..17cb5a0 100644 (file)
@@ -159,12 +159,16 @@ namespace DTXMania
                                        base.eフェーズID = CStage.Eフェーズ.共通_フェードイン;\r
                                        this.actFI.tフェードイン開始();\r
 \r
+Trace.TraceInformation( "n現在のトップChip=" + this.n現在のトップChip + ", Total Chips=" + CDTXMania.DTX.listChip.Count );\r
+Trace.TraceInformation( "rc演奏用タイマ.n現在時刻=" + CSound管理.rc演奏用タイマ.n現在時刻 );\r
                                        if ( CDTXMania.DTXVmode.Enabled )                       // DTXVモードなら\r
                                        {\r
                                                #region [ DTXV用の再生設定にする(全AUTOなど) ]\r
                                                tDTXV用の設定();\r
                                                #endregion\r
                                                t演奏位置の変更( CDTXMania.DTXVmode.nStartBar );\r
+Trace.TraceInformation( "n現在のトップChip(DTXV)=" + this.n現在のトップChip + ", StartTime=" + CDTXMania.DTX.listChip[ this.n現在のトップChip ].n発声時刻ms );\r
+Trace.TraceInformation( "rc演奏用タイマ.n現在時刻=" + CSound管理.rc演奏用タイマ.n現在時刻 );\r
                                        }\r
 \r
                                        CDTXMania.Sound管理.tDisableUpdateBufferAutomatically();\r
index ba24f97..a8fa6cd 100644 (file)
@@ -368,6 +368,8 @@ namespace DTXMania
                                        }\r
                                }\r
                        }\r
+string[] s = { "Stop", "Play", "Preview" };\r
+Trace.TraceInformation( "Command: " + s[ (int) this.Command ] );\r
                        return ret;\r
                }\r
 \r
index 3571434..87ea4c7 100644 (file)
@@ -1704,7 +1704,7 @@ for (int i = 0; i < 3; i++) {
                        {\r
                                try\r
                                {\r
-                                       Trace.Listeners.Add( new CTraceLogListener( new StreamWriter( "DTXManiaLog.txt", false, Encoding.GetEncoding( "Shift_JIS" ) ) ) );\r
+                                       Trace.Listeners.Add( new CTraceLogListener( new StreamWriter( System.IO.Path.Combine( strEXEのあるフォルダ, "DTXManiaLog.txt" ), true, Encoding.GetEncoding( "Shift_JIS" ) ) ) );\r
                                }\r
                                catch ( System.UnauthorizedAccessException )                    // #24481 2011.2.20 yyagi\r
                                {\r
@@ -1976,7 +1976,8 @@ for (int i = 0; i < 3; i++) {
                        Trace.Indent();\r
                        try\r
                        {\r
-                               Input管理 = new CInput管理( base.Window.Handle );\r
+                               bool bUseMIDIIn = !DTXVmode.Enabled;\r
+                               Input管理 = new CInput管理( base.Window.Handle, bUseMIDIIn );\r
                                foreach( IInputDevice device in Input管理.list入力デバイス )\r
                                {\r
                                        if( ( device.e入力デバイス種別 == E入力デバイス種別.Joystick ) && !ConfigIni.dicJoystick.ContainsValue( device.GUID ) )\r
index 215c8fd..c7d3ba9 100644 (file)
@@ -63,9 +63,17 @@ namespace FDK
 \r
 \r
                // コンストラクタ\r
-\r
                public CInput管理( IntPtr hWnd )\r
                {\r
+                       CInput管理初期化( hWnd, true );\r
+               }\r
+               public CInput管理( IntPtr hWnd, bool bUseMidiIn )\r
+               {\r
+                       CInput管理初期化( hWnd, bUseMidiIn );\r
+               }\r
+\r
+               public void CInput管理初期化( IntPtr hWnd, bool bUseMidiIn )\r
+               {\r
                        this.directInput = new DirectInput();\r
                        // this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
 \r
@@ -76,29 +84,37 @@ namespace FDK
                        {\r
                                this.list入力デバイス.Add( new CInputJoystick( hWnd, instance, directInput ) );\r
                        }\r
-                       this.proc = new CWin32.MidiInProc( this.MidiInCallback );\r
-                       uint nMidiDevices = CWin32.midiInGetNumDevs();\r
-                       Trace.TraceInformation( "MIDI入力デバイス数: {0}", nMidiDevices );\r
-                       for( uint i = 0; i < nMidiDevices; i++ )\r
+\r
+                       if ( bUseMidiIn )\r
                        {\r
-                               CInputMIDI item = new CInputMIDI( i );\r
-                               this.list入力デバイス.Add( item );\r
-                               CWin32.MIDIINCAPS lpMidiInCaps = new CWin32.MIDIINCAPS();\r
-                               uint num3 = CWin32.midiInGetDevCaps( i, ref lpMidiInCaps, (uint) Marshal.SizeOf( lpMidiInCaps ) );\r
-                               if( num3 != 0 )\r
+                               this.proc = new CWin32.MidiInProc( this.MidiInCallback );\r
+                               uint nMidiDevices = CWin32.midiInGetNumDevs();\r
+                               Trace.TraceInformation( "MIDI入力デバイス数: {0}", nMidiDevices );\r
+                               for ( uint i = 0; i < nMidiDevices; i++ )\r
                                {\r
-                                       Trace.TraceError( "MIDI In: Device{0}: midiInDevCaps(): {1:X2}: ", i, num3 );\r
-                               }\r
-                               else if( ( CWin32.midiInOpen( ref item.hMidiIn, i, this.proc, 0, 0x30000 ) == 0 ) && ( item.hMidiIn != 0 ) )\r
-                               {\r
-                                       CWin32.midiInStart( item.hMidiIn );\r
-                                       Trace.TraceInformation( "MIDI In: [{0}] \"{1}\" の入力受付を開始しました。", i, lpMidiInCaps.szPname );\r
-                               }\r
-                               else\r
-                               {\r
-                                       Trace.TraceError( "MIDI In: [{0}] \"{1}\" の入力受付の開始に失敗しました。", i, lpMidiInCaps.szPname );\r
+                                       CInputMIDI item = new CInputMIDI( i );\r
+                                       this.list入力デバイス.Add( item );\r
+                                       CWin32.MIDIINCAPS lpMidiInCaps = new CWin32.MIDIINCAPS();\r
+                                       uint num3 = CWin32.midiInGetDevCaps( i, ref lpMidiInCaps, (uint) Marshal.SizeOf( lpMidiInCaps ) );\r
+                                       if ( num3 != 0 )\r
+                                       {\r
+                                               Trace.TraceError( "MIDI In: Device{0}: midiInDevCaps(): {1:X2}: ", i, num3 );\r
+                                       }\r
+                                       else if ( ( CWin32.midiInOpen( ref item.hMidiIn, i, this.proc, 0, 0x30000 ) == 0 ) && ( item.hMidiIn != 0 ) )\r
+                                       {\r
+                                               CWin32.midiInStart( item.hMidiIn );\r
+                                               Trace.TraceInformation( "MIDI In: [{0}] \"{1}\" の入力受付を開始しました。", i, lpMidiInCaps.szPname );\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               Trace.TraceError( "MIDI In: [{0}] \"{1}\" の入力受付の開始に失敗しました。", i, lpMidiInCaps.szPname );\r
+                                       }\r
                                }\r
                        }\r
+                       else\r
+                       {\r
+                               Trace.TraceInformation( "DTXVモードのため、MIDI入力は使用しません。" );\r
+                       }\r
                }\r
                \r
                \r
index 797bc6b..02ed4a7 100644 (file)
Binary files a/実行時フォルダ(DTXCreator)/dll/FDK.dll and b/実行時フォルダ(DTXCreator)/dll/FDK.dll differ
index 4fcabf6..f7b08c4 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ
index 797bc6b..02ed4a7 100644 (file)
Binary files a/実行時フォルダ/dll/FDK.dll and b/実行時フォルダ/dll/FDK.dll differ