get;\r
set;\r
}\r
-\r
+ private static TimeCaps timecaps;\r
+ private bool bChangedtimePeriod = false;\r
+ // public static CTimer ct;\r
\r
// コンストラクタ\r
\r
CScoreIni scoreIni = null;\r
\r
#region [ 曲検索スレッドの起動/終了 ] // ここに"Enumerating Songs..."表示を集約\r
- actEnumSongs.On進行描画(); // "Enumerating Songs..."アイコンの描画\r
+ if ( !CDTXMania.bコンパクトモード )\r
+ {\r
+ actEnumSongs.On進行描画(); // "Enumerating Songs..."アイコンの描画\r
+ }\r
switch ( r現在のステージ.eステージID )\r
{\r
case CStage.Eステージ.タイトル:\r
}\r
//---------------------\r
#endregion\r
+ #region [ アプリケーションの最小タイマ分解能を設定する ]\r
+ //---------------------\r
+ Trace.TraceInformation( "アプリケーションの最小タイマ分解能を設定します。" );\r
+ Trace.Indent();\r
+ try\r
+ {\r
+ timecaps = new TimeCaps();\r
+ if ( timeGetDevCaps( out timecaps, (uint) Marshal.SizeOf( typeof( TimeCaps ) ) ) != 0 )\r
+ {\r
+ Trace.TraceInformation( "timeGetDevCaps()に失敗しました。タイマ分解能は変更せず続行します。" );\r
+ }\r
+ else\r
+ {\r
+ timeBeginPeriod( timecaps.wPeriodMin );\r
+ Trace.TraceInformation( "最小タイマ分解能指定を完了しました。" );\r
+ bChangedtimePeriod = true;\r
+ }\r
+ }\r
+ finally\r
+ {\r
+ Trace.Unindent();\r
+ }\r
+ #endregion\r
+// ct = new CTimer( CTimer.E種別.PerformanceCounter );\r
+ //-----------\r
#region [ Timer の初期化 ]\r
//---------------------\r
Trace.TraceInformation( "タイマの初期化を行います。" );\r
Trace.TraceInformation( "----------------------" );\r
Trace.TraceInformation( "■ 起動" );\r
\r
- r現在のステージ = stage起動;\r
+ if ( CDTXMania.bコンパクトモード )\r
+ {\r
+ r現在のステージ = stage曲読み込み;\r
+ }\r
+ else\r
+ {\r
+ r現在のステージ = stage起動;\r
+ }\r
r現在のステージ.On活性化();\r
//---------------------\r
#endregion\r
}\r
//---------------------\r
#endregion\r
+\r
+// ct.Dispose();\r
+\r
#region [ タイマの終了処理 ]\r
//---------------------\r
Trace.TraceInformation("タイマの終了処理を行います。");\r
}\r
//---------------------\r
#endregion\r
+ #region [ アプリケーションの最小タイマ分解能設定を解除する ]\r
+ //---------------------\r
+ if ( bChangedtimePeriod )\r
+ {\r
+ Trace.TraceInformation( "アプリケーションの最小タイマ分解能設定を解除します。" );\r
+ Trace.Indent();\r
+ try\r
+ {\r
+ timeEndPeriod( timecaps.wPeriodMin );\r
+ Trace.TraceInformation( "最小タイマ分解能設定を解除しました。" );\r
+ }\r
+ finally\r
+ {\r
+ Trace.Unindent();\r
+ }\r
+ }\r
+ //-----------\r
+ #endregion\r
+\r
#region [ Config.iniの出力 ]\r
//---------------------\r
Trace.TraceInformation("Config.ini を出力します。");\r
\r
//-----------------\r
#endregion\r
+\r
+ #region [ DllImport ]\r
+ //-----------------\r
+ [DllImport( "winmm.dll" )]\r
+ private static extern void timeBeginPeriod( uint x );\r
+ [DllImport( "winmm.dll" )]\r
+ private static extern void timeEndPeriod( uint x );\r
+ [DllImport( "winmm.dll" )]\r
+ private static extern uint timeGetDevCaps( out TimeCaps timeCaps, uint size );\r
+\r
+ [StructLayout( LayoutKind.Sequential )]\r
+ private struct TimeCaps\r
+ {\r
+ public uint wPeriodMin;\r
+ public uint wPeriodMax;\r
+ }\r
+ //-----------------\r
+ #endregion\r
+\r
}\r
}\r