OSDN Git Service

進行と描画を分離していた箇所のうち、高速進行が不要なものは進行描画メソッドに移行。
[strokestylet/CsWin10Desktop3.git] / StrokeStyleT / ステージ / 曲読込 / 曲読込ステージ.cs
index 957053d..2a76bd3 100644 (file)
@@ -28,9 +28,9 @@ namespace SST.ステージ.曲読込
                {
                }
 
-               protected override void Onæ´»æ\80§å\8c\96( ã\83\87ã\83\90ã\82¤ã\82¹ã\83ªã\82½ã\83¼ã\82¹ dr )
+               protected override void Onæ´»æ\80§å\8c\96( ã\82°ã\83©ã\83\95ã\82£ã\83\83ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ gd )
                {
-                       using( Log.Block( Utilities.現在のメソッド名 ) )
+                       using( Log.Block( FDKUtilities.現在のメソッド名 ) )
                        {
                                if( App.ビュアーモードではない )
                                        Trace.Assert( App.ユーザ管理.選択されているユーザ.曲ツリー.フォーカスノード is MusicNode );
@@ -39,47 +39,57 @@ namespace SST.ステージ.曲読込
                        }
                }
 
-               protected override void Oné\9d\9eæ´»æ\80§å\8c\96( ã\83\87ã\83\90ã\82¤ã\82¹ã\83ªã\82½ã\83¼ã\82¹ dr )
+               protected override void Oné\9d\9eæ´»æ\80§å\8c\96( ã\82°ã\83©ã\83\95ã\82£ã\83\83ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ gd )
                {
-                       using( Log.Block( Utilities.現在のメソッド名 ) )
+                       using( Log.Block( FDKUtilities.現在のメソッド名 ) )
                        {
                        }
                }
 
-               public override void é\80²è¡\8cæ\8f\8fç\94»ã\81\99ã\82\8b( ã\83\87ã\83\90ã\82¤ã\82¹ã\83ªã\82½ã\83¼ã\82¹ dr )
+               public override void é\80²è¡\8cæ\8f\8fç\94»ã\81\99ã\82\8b( ã\82°ã\83©ã\83\95ã\82£ã\83\83ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ gd )
                {
                        Debug.Assert( this.活性化している );
-                       Debug.Assert( null != dr );
 
-                       if( this.現在のフェーズ != フェーズ.開始 )
-                               return;
-
-                       var node = ( App.ビュアーモードではない ) ?
-                               (MusicNode) App.ユーザ管理.選択されているユーザ.曲ツリー.フォーカスノード :        // (A) 通常モード
-                               App.ビュアー用ノード;                                                        // (B) ビュアーモード時
-
-                       string 選択曲ファイルパス = node.曲ファイルパス;
-                       Trace.Assert( 選択曲ファイルパス.Nullでも空でもない() );
-
-                       // スコアを読み込む。
-                       using( Log.Block( "曲の読み込み" ) )
+                       switch( this.現在のフェーズ )
                        {
-                               App.演奏スコア = new スコア( SST.IO.Folder.絶対パスに含まれるフォルダ変数を展開して返す( 選択曲ファイルパス ) );
-
-                               // サウンドデバイス遅延を取得し、全チップの発声時刻へ反映する。
-                               float 作成時遅延ms = App.演奏スコア.Header.サウンドデバイス遅延ms;
-                               if( 0 < 作成時遅延ms )
-                               {
-                                       float 再生時遅延ms = (float) ( App.サウンドデバイス.遅延sec * 1000.0 );
-                                       long 加算分ms = (long) ( 作成時遅延ms - 再生時遅延ms );  // 例: 作成時遅延 7ms, 再生時遅延 10ms の場合、発声時刻に 7-10 = -3ms 加算する(3ms 早く発声させる)。
-
-                                       Log.Info( $"作成時遅延={作成時遅延ms}ms, 再生時遅延={再生時遅延ms}ms => 加算分 = {加算分ms}ms" );
-
-                                       foreach( var chip in App.演奏スコア.チップリスト )
-                                               chip.発声時刻ms += 加算分ms;
-                               }
-
-                               this.現在のフェーズ = フェーズ.完了;
+                               case フェーズ.開始:
+                                       #region " *** "
+                                       //----------------
+                                       {
+                                               var node = ( App.ビュアーモードではない ) ?
+                                                       (MusicNode) App.ユーザ管理.選択されているユーザ.曲ツリー.フォーカスノード :        // (A) 通常モード
+                                                       App.ビュアー用ノード;                                                        // (B) ビュアーモード時
+
+                                               string 選択曲ファイルパス = node.曲ファイルパス;
+                                               Trace.Assert( 選択曲ファイルパス.Nullでも空でもない() );
+
+                                               // スコアを読み込む。
+                                               using( Log.Block( "曲の読み込み" ) )
+                                               {
+                                                       App.演奏スコア = new スコア( SST.IO.Folder.絶対パスに含まれるフォルダ変数を展開して返す( 選択曲ファイルパス ) );
+
+                                                       // サウンドデバイス遅延を取得し、全チップの発声時刻へ反映する。
+                                                       float 作成時遅延ms = App.演奏スコア.Header.サウンドデバイス遅延ms;
+                                                       if( 0 < 作成時遅延ms )
+                                                       {
+                                                               float 再生時遅延ms = (float) ( App.サウンドデバイス.遅延sec * 1000.0 );
+                                                               long 加算分ms = (long) ( 作成時遅延ms - 再生時遅延ms );  // 例: 作成時遅延 7ms, 再生時遅延 10ms の場合、発声時刻に 7-10 = -3ms 加算する(3ms 早く発声させる)。
+
+                                                               Log.Info( $"作成時遅延={作成時遅延ms}ms, 再生時遅延={再生時遅延ms}ms => 加算分 = {加算分ms}ms" );
+
+                                                               foreach( var chip in App.演奏スコア.チップリスト )
+                                                                       chip.発声時刻ms += 加算分ms;
+                                                       }
+
+                                                       this.現在のフェーズ = フェーズ.完了;
+                                               }
+                                       }
+                                       //----------------
+                                       #endregion
+                                       break;
+
+                               case フェーズ.完了:
+                                       break;
                        }
                }
        }