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
{\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
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
\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
{\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