for ( int i = 0; i < this.nPovState.Length; i++ )\r
this.nPovState[ i ] = -1;\r
\r
- this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
+ //this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
\r
this.list入力イベント = new List<STInputEvent>( 32 );\r
}\r
{\r
if ( data.IsPressed( i ) )\r
{\r
- STInputEvent e = new STInputEvent();\r
- e.nKey = 6 + i;\r
- e.b押された = true;\r
- e.b離された = false;\r
- e.nTimeStamp = data.TimeStamp;\r
- e.nVelocity = CInput管理.n通常音量;\r
+ STInputEvent e = new STInputEvent()\r
+ {\r
+ nKey = 6 + i,\r
+ b押された = true,\r
+ b離された = false,\r
+ nTimeStamp = data.TimeStamp,\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
this.list入力イベント.Add( e );\r
\r
this.bButtonState[ 6 + i ] = true;\r
{\r
if( this.bButtonState[ 0 ] == false )\r
{\r
- STInputEvent event4 = new STInputEvent();\r
- event4.nKey = 0;\r
- event4.b押された = true;\r
- event4.nTimeStamp = this.timer.nシステム時刻;\r
- event4.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event4 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 0,\r
+ b押された = true,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 0 ] = true;\r
this.bButtonPushDown[ 0 ] = true;\r
{\r
if( this.bButtonState[ 0 ] == true )\r
{\r
- STInputEvent event5 = new STInputEvent();\r
- event5.nKey = 0;\r
- event5.b押された = false;\r
- event5.nTimeStamp = this.timer.nシステム時刻;\r
- event5.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event5 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 0,\r
+ b押された = false,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 0 ] = false;\r
this.bButtonPullUp[ 0 ] = true;\r
{\r
if( this.bButtonState[ 1 ] == false )\r
{\r
- STInputEvent event6 = new STInputEvent();\r
- event6.nKey = 1;\r
- event6.b押された = true;\r
- event6.nTimeStamp = this.timer.nシステム時刻;\r
- event6.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event6 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 1,\r
+ b押された = true,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 1 ] = true;\r
this.bButtonPushDown[ 1 ] = true;\r
{\r
if( this.bButtonState[ 1 ] == true )\r
{\r
- STInputEvent event7 = new STInputEvent();\r
- event7.nKey = 1;\r
- event7.b押された = false;\r
- event7.nTimeStamp = this.timer.nシステム時刻;\r
- event7.nVelocity = CInput管理.n通常音量;\r
+ STInputEvent event7 = new STInputEvent()\r
+ {\r
+ nKey = 1,\r
+ b押された = false,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
this.list入力イベント.Add( event7 );\r
\r
this.bButtonState[ 1 ] = false;\r
{\r
if( this.bButtonState[ 2 ] == false )\r
{\r
- STInputEvent event8 = new STInputEvent();\r
- event8.nKey = 2;\r
- event8.b押された = true;\r
- event8.nTimeStamp = this.timer.nシステム時刻;\r
- event8.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event8 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 2,\r
+ b押された = true,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 2 ] = true;\r
this.bButtonPushDown[ 2 ] = true;\r
{\r
if( this.bButtonState[ 2 ] == true )\r
{\r
- STInputEvent event9 = new STInputEvent();\r
- event9.nKey = 2;\r
- event9.b押された = false;\r
- event9.nTimeStamp = this.timer.nシステム時刻;\r
- event9.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event9 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 2,\r
+ b押された = false,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 2 ] = false;\r
this.bButtonPullUp[ 2 ] = true;\r
{\r
if( this.bButtonState[ 3 ] == false )\r
{\r
- STInputEvent event10 = new STInputEvent();\r
- event10.nKey = 3;\r
- event10.b押された = true;\r
- event10.nTimeStamp = this.timer.nシステム時刻;\r
- event10.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event10 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 3,\r
+ b押された = true,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 3 ] = true;\r
this.bButtonPushDown[ 3 ] = true;\r
{\r
if( this.bButtonState[ 3 ] == true )\r
{\r
- STInputEvent event11 = new STInputEvent();\r
- event11.nKey = 3;\r
- event11.b押された = false;\r
- event11.nTimeStamp = this.timer.nシステム時刻;\r
- event11.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event11 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 3,\r
+ b押された = false,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 3 ] = false;\r
this.bButtonPullUp[ 3 ] = true;\r
{\r
if( this.bButtonState[ 4 ] == false )\r
{\r
- STInputEvent event12 = new STInputEvent();\r
- event12.nKey = 4;\r
- event12.b押された = true;\r
- event12.nTimeStamp = this.timer.nシステム時刻;\r
- event12.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event12 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 4,\r
+ b押された = true,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 4 ] = true;\r
this.bButtonPushDown[ 4 ] = true;\r
{\r
if( this.bButtonState[ 4 ] == true )\r
{\r
- STInputEvent event13 = new STInputEvent();\r
- event13.nKey = 4;\r
- event13.b押された = false;\r
- event13.nTimeStamp = this.timer.nシステム時刻;\r
- event13.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event13 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 4,\r
+ b押された = false,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 4 ] = false;\r
this.bButtonPullUp[ 4 ] = true;\r
{\r
if( this.bButtonState[ 5 ] == false )\r
{\r
- STInputEvent event14 = new STInputEvent();\r
- event14.nKey = 5;\r
- event14.b押された = true;\r
- event14.nTimeStamp = this.timer.nシステム時刻;\r
- event14.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event14 );\r
+ STInputEvent ev = new STInputEvent()\r
+ {\r
+ nKey = 5,\r
+ b押された = true,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( ev );\r
\r
this.bButtonState[ 5 ] = true;\r
this.bButtonPushDown[ 5 ] = true;\r
{\r
if( this.bButtonState[ 5 ] == true )\r
{\r
- STInputEvent event15 = new STInputEvent();\r
- event15.nKey = 5;\r
- event15.b押された = false;\r
- event15.nTimeStamp = this.timer.nシステム時刻;\r
- event15.nVelocity = CInput管理.n通常音量;\r
+ STInputEvent event15 = new STInputEvent()\r
+ {\r
+ nKey = 5,\r
+ b押された = false,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
this.list入力イベント.Add( event15 );\r
\r
this.bButtonState[ 5 ] = false;\r
{\r
if( this.bButtonState[ 6 + j ] == false && buttons[ j ] )\r
{\r
- STInputEvent item = new STInputEvent();\r
- item.nKey = 6 + j;\r
- item.b押された = true;\r
- item.nTimeStamp = this.timer.nシステム時刻;\r
- item.nVelocity = CInput管理.n通常音量;\r
+ STInputEvent item = new STInputEvent()\r
+ {\r
+ nKey = 6 + j,\r
+ b押された = true,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
this.list入力イベント.Add( item );\r
\r
this.bButtonState[ 6 + j ] = true;\r
}\r
else if( this.bButtonState[ 6 + j ] == true && !buttons[ j ] )\r
{\r
- STInputEvent event3 = new STInputEvent();\r
- event3.nKey = 6 + j;\r
- event3.b押された = false;\r
- event3.nTimeStamp = this.timer.nシステム時刻;\r
- event3.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event3 );\r
+ STInputEvent item = new STInputEvent()\r
+ {\r
+ nKey = 6 + j,\r
+ b押された = false,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( item );\r
\r
this.bButtonState[ 6 + j ] = false;\r
this.bButtonPullUp[ 6 + j ] = true;\r
\r
if ( this.bButtonState[ 6 + 128 + nWay ] == false )\r
{\r
- STInputEvent stevent = new STInputEvent();\r
- stevent.nKey = 6 + 128 + nWay;\r
- //Debug.WriteLine( "POVS:" + povs[ 0 ].ToString( CultureInfo.CurrentCulture ) + ", " +stevent.nKey );\r
- stevent.b押された = true;\r
- stevent.nTimeStamp = currentState.TimeStamp;\r
- stevent.nVelocity = CInput管理.n通常音量;\r
+ STInputEvent stevent = new STInputEvent()\r
+ {\r
+ nKey = 6 + 128 + nWay,\r
+ //Debug.WriteLine( "POVS:" + povs[ 0 ].ToString( CultureInfo.CurrentCulture ) + ", " +stevent.nKey );\r
+ b押された = true,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
this.list入力イベント.Add( stevent );\r
\r
this.bButtonState[ stevent.nKey ] = true;\r
}\r
if ( nWay != 0 )\r
{\r
- STInputEvent stevent = new STInputEvent();\r
- stevent.nKey = nWay;\r
- stevent.b押された = false;\r
- stevent.nTimeStamp = currentState.TimeStamp;\r
- stevent.nVelocity = 0;\r
+ STInputEvent stevent = new STInputEvent()\r
+ {\r
+ nKey = nWay,\r
+ b押された = false,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
+ nVelocity = 0\r
+ };\r
this.list入力イベント.Add( stevent );\r
\r
this.bButtonState[ nWay ] = false;\r
this.devJoystick.Dispose();\r
this.devJoystick = null;\r
}\r
- if( this.timer != null )\r
- {\r
- this.timer.Dispose();\r
- this.timer = null;\r
- }\r
+ //if( this.timer != null )\r
+ //{\r
+ // this.timer.Dispose();\r
+ // this.timer = null;\r
+ //}\r
if ( this.list入力イベント != null )\r
{\r
this.list入力イベント = null;\r
private int[] nPovState = new int[ 4 ]; // POVの現在値を保持\r
private bool bDispose完了済み;\r
private Joystick devJoystick;\r
- private CTimer timer;\r
+ //private CTimer timer;\r
\r
private void bButtonUpDown( JoystickState data, int axisdata, int target, int contrary ) // #26871 2011.12.3 軸の反転に対応するためにリファクタ\r
{\r
{\r
if ( this.bButtonState[ target ] == lastMode )\r
{\r
- STInputEvent e = new STInputEvent();\r
- e.nKey = target;\r
- e.b押された = !lastMode;\r
- e.nTimeStamp = data.TimeStamp;\r
- e.nVelocity = ( lastMode ) ? 0 : CInput管理.n通常音量;\r
+ STInputEvent e = new STInputEvent()\r
+ {\r
+ nKey = target,\r
+ b押された = !lastMode,\r
+ nTimeStamp = data.TimeStamp,\r
+ nVelocity = ( lastMode ) ? 0 : CInput管理.n通常音量\r
+ };\r
this.list入力イベント.Add( e );\r
\r
this.bButtonState[ target ] = !lastMode;\r
for( int i = 0; i < this.bKeyState.Length; i++ )\r
this.bKeyState[ i ] = false;\r
\r
- this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
+ //this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
this.list入力イベント = new List<STInputEvent>( 32 );\r
}\r
\r
{\r
foreach ( Key key in data.PressedKeys )\r
{\r
- STInputEvent item = new STInputEvent();\r
- item.nKey = (int) key;\r
- item.b押された = true;\r
- item.b離された = false;\r
- item.nTimeStamp = data.TimeStamp;\r
- item.nVelocity = CInput管理.n通常音量;\r
+ STInputEvent item = new STInputEvent()\r
+ {\r
+ nKey = (int) key,\r
+ b押された = true,\r
+ b離された = false,\r
+ nTimeStamp = data.TimeStamp,\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
this.list入力イベント.Add( item );\r
\r
this.bKeyState[ (int) key ] = true;\r
}\r
foreach ( Key key in data.ReleasedKeys )\r
{\r
- STInputEvent event3 = new STInputEvent();\r
- event3.nKey = (int) key;\r
- event3.b押された = false;\r
- event3.b離された = true;\r
- event3.nTimeStamp = data.TimeStamp;\r
- event3.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event3 );\r
+ STInputEvent item = new STInputEvent()\r
+ {\r
+ nKey = (int) key,\r
+ b押された = false,\r
+ b離された = true,\r
+ nTimeStamp = data.TimeStamp,\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( item );\r
\r
this.bKeyState[ (int) key ] = false;\r
this.bKeyPullUp[ (int) key ] = true;\r
nKey = (int) key,\r
b押された = true,\r
b離された = false,\r
- nTimeStamp = this.timer.nシステム時刻,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
nVelocity = CInput管理.n通常音量,\r
};\r
this.list入力イベント.Add( ev );\r
nKey = (int) key,\r
b押された = false,\r
b離された = true,\r
- nTimeStamp = this.timer.nシステム時刻,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
nVelocity = CInput管理.n通常音量,\r
};\r
this.list入力イベント.Add( ev );\r
this.devKeyboard.Dispose();\r
this.devKeyboard = null;\r
}\r
- if( this.timer != null )\r
- {\r
- this.timer.Dispose();\r
- this.timer = null;\r
- }\r
+ //if( this.timer != null )\r
+ //{\r
+ // this.timer.Dispose();\r
+ // this.timer = null;\r
+ //}\r
if ( this.list入力イベント != null )\r
{\r
this.list入力イベント = null;\r
private bool[] bKeyPushDown = new bool[ 0x100 ];\r
private bool[] bKeyState = new bool[ 0x100 ];\r
private Keyboard devKeyboard;\r
- private CTimer timer;\r
+ //private CTimer timer;\r
//-----------------\r
#endregion\r
}\r
for( int i = 0; i < this.bMouseState.Length; i++ )\r
this.bMouseState[ i ] = false;\r
\r
- this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
+ //this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
this.list入力イベント = new List<STInputEvent>( 32 );\r
}\r
\r
{\r
if( data.IsPressed( k ) )\r
{\r
- STInputEvent event4 = new STInputEvent();\r
- STInputEvent item = event4;\r
- item.nKey = k;\r
- item.b押された = true;\r
- item.b離された = false;\r
- item.nTimeStamp = data.TimeStamp;\r
- item.nVelocity = CInput管理.n通常音量;\r
+ STInputEvent item = new STInputEvent()\r
+ {\r
+ nKey = k,\r
+ b押された = true,\r
+ b離された = false,\r
+ nTimeStamp = data.TimeStamp,\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
this.list入力イベント.Add( item );\r
\r
this.bMouseState[ k ] = true;\r
}\r
else if( data.IsReleased( k ) )\r
{\r
- STInputEvent event5 = new STInputEvent();\r
- STInputEvent event3 = event5;\r
- event3.nKey = k;\r
- event3.b押された = false;\r
- event3.b離された = true;\r
- event3.nTimeStamp = data.TimeStamp;\r
- event3.nVelocity = CInput管理.n通常音量;\r
- this.list入力イベント.Add( event3 );\r
+ STInputEvent item = new STInputEvent()\r
+ {\r
+ nKey = k,\r
+ b押された = false,\r
+ b離された = true,\r
+ nTimeStamp = data.TimeStamp,\r
+ nVelocity = CInput管理.n通常音量\r
+ };\r
+ this.list入力イベント.Add( item );\r
\r
this.bMouseState[ k ] = false;\r
this.bMousePullUp[ k ] = true;\r
nKey = j,\r
b押された = true,\r
b離された = false,\r
- nTimeStamp = this.timer.nシステム時刻,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
nVelocity = CInput管理.n通常音量,\r
};\r
this.list入力イベント.Add( ev );\r
nKey = j,\r
b押された = false,\r
b離された = true,\r
- nTimeStamp = this.timer.nシステム時刻,\r
+ nTimeStamp = CSound管理.rc演奏用タイマ.nシステム時刻, // 演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
nVelocity = CInput管理.n通常音量,\r
};\r
this.list入力イベント.Add( ev );\r
this.devMouse.Dispose();\r
this.devMouse = null;\r
}\r
- if( this.timer != null )\r
- {\r
- this.timer.Dispose();\r
- this.timer = null;\r
- }\r
+ //if( this.timer != null )\r
+ //{\r
+ // this.timer.Dispose();\r
+ // this.timer = null;\r
+ //}\r
if ( this.list入力イベント != null )\r
{\r
this.list入力イベント = null;\r
private bool[] bMousePushDown = new bool[ 8 ];\r
private bool[] bMouseState = new bool[ 8 ];\r
private Mouse devMouse;\r
- private CTimer timer;\r
+ //private CTimer timer;\r
//-----------------\r
#endregion\r
}\r
public CInput管理( IntPtr hWnd )\r
{\r
this.directInput = new DirectInput();\r
- this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
+ // this.timer = new CTimer( CTimer.E種別.MultiMedia );\r
\r
this.list入力デバイス = new List<IInputDevice>( 10 );\r
this.list入力デバイス.Add( new CInputKeyboard( hWnd, directInput ) );\r
this.list入力デバイス.Add( new CInputJoystick( hWnd, instance, directInput ) );\r
}\r
this.proc = new CWin32.MidiInProc( this.MidiInCallback );\r
- uint num = CWin32.midiInGetNumDevs();\r
- Trace.TraceInformation( "MIDI入力デバイス数: {0}", new object[] { num } );\r
- for( uint i = 0; i < num; i++ )\r
+ uint nMidiDevices = CWin32.midiInGetNumDevs();\r
+ Trace.TraceInformation( "MIDI入力デバイス数: {0}", nMidiDevices );\r
+ for( uint i = 0; i < nMidiDevices; i++ )\r
{\r
CInputMIDI item = new CInputMIDI( i );\r
this.list入力デバイス.Add( item );\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}: ", new object[] { i, num3 } );\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}\" の入力受付を開始しました。", new object[] { i, lpMidiInCaps.szPname } );\r
+ Trace.TraceInformation( "MIDI In: [{0}] \"{1}\" の入力受付を開始しました。", i, lpMidiInCaps.szPname );\r
}\r
else\r
{\r
- Trace.TraceError( "MIDI In: [{0}] \"{1}\" の入力受付の開始に失敗しました。", new object[] { i, lpMidiInCaps.szPname } );\r
+ Trace.TraceError( "MIDI In: [{0}] \"{1}\" の入力受付の開始に失敗しました。", i, lpMidiInCaps.szPname );\r
}\r
}\r
}\r
\r
this.directInput.Dispose();\r
\r
- if( this.timer != null )\r
- {\r
- this.timer.Dispose();\r
- this.timer = null;\r
- }\r
+ //if( this.timer != null )\r
+ //{\r
+ // this.timer.Dispose();\r
+ // this.timer = null;\r
+ //}\r
}\r
this.bDisposed済み = true;\r
}\r
private List<uint> listHMIDIIN = new List<uint>( 8 );\r
private object objMidiIn排他用 = new object();\r
private CWin32.MidiInProc proc;\r
- private CTimer timer;\r
+// private CTimer timer;\r
\r
private void MidiInCallback( uint hMidiIn, uint wMsg, int dwInstance, int dwParam1, int dwParam2 )\r
{\r
if( wMsg != CWin32.MIM_DATA || ( p != 0x80 && p != 0x90 ) )\r
return;\r
\r
- long time = CSound管理.rc演奏用タイマ.nシステム時刻; // lock前に取得\r
+ long time = CSound管理.rc演奏用タイマ.nシステム時刻; // lock前に取得。演奏用タイマと同じタイマを使うことで、BGMと譜面、入力ずれを防ぐ。\r
\r
lock( this.objMidiIn排他用 )\r
{\r