OSDN Git Service

インストーラでインストールした SSTFEditor を起動するとメッセージが規定(英語)になるミスを修正。
[strokestylet/CsWin10Desktop3.git] / StrokeStyleT / ステージ / 演奏 / ドラムサウンド.cs
index afb14ce..7e67ea5 100644 (file)
@@ -13,29 +13,32 @@ namespace SST.ステージ.演奏
                public ドラムサウンド()
                {
                }
+
                protected override void On活性化( デバイスリソース dr )
                {
-                       this.KitXmlを読み込む();
+                       this._KitXmlを読み込む();
                }
+
                protected override void On非活性化( デバイスリソース dr )
                {
-                       this.すべてのコンテキストを初期化する();
+                       this._すべてのコンテキストを初期化する();
                }
+
                public void 発声する( SSTFormat.チップ種別 chipType, float 音量0to1 )
                {
-                       lock( this.スレッド間同期 )
+                       lock( this._スレッド間同期 )
                        {
-                               if( false == this.チップtoコンテキスト.ContainsKey( chipType ) )
+                               if( false == this._チップtoコンテキスト.ContainsKey( chipType ) )
                                        return; // コンテキスト未登録のチップなら何もしない。
-                               var context = this.チップtoコンテキスト[ chipType ];
+                               var context = this._チップtoコンテキスト[ chipType ];
 
                                // 現在発声中のサウンドを全部止めるチップ種別の場合は止める。
                                if( 0 != chipType.排他発声グループID() ) // ID = 0 は対象外。
                                {
-                                       // 同じ排他発声グループIDを持つコンテキストの Sounds[] を select する。
+                                       // 消音対象のコンテキストの Sounds[] を select する。
                                        var 停止するサウンド群 =
-                                               from kvp in this.チップtoコンテキスト
-                                               where ( kvp.Key.排他発声グループID() == chipType.排他発声グループID() )
+                                               from kvp in this._チップtoコンテキスト
+                                               where ( chipType.直前のチップを消音する( kvp.Key ) )
                                                select kvp.Value.Sounds;
 
                                        // 集めた Sounds[] をすべて停止する。
@@ -53,16 +56,16 @@ namespace SST.ステージ.演奏
 
                                // サウンドローテーション。
                                context.次に再生するSound番号++;
-                               if( context.次に再生するSound番号 >= ドラムサウンド.多重度 )
+                               if( context.次に再生するSound番号 >= ドラムサウンド._多重度 )
                                        context.次に再生するSound番号 = 0;
                        }
                }
 
-               protected const int 多重度 = 2;
-               protected readonly string KitXmlファイルパス = @"$(Static)\sounds\Kit.xml";
-               protected class Cコンテキスト : IDisposable
+               private const int _多重度 = 2;
+
+               private class Cコンテキスト : IDisposable
                {
-                       public FDK.メディア.サウンド.WASAPI.Sound[] Sounds = new FDK.メディア.サウンド.WASAPI.Sound[ ドラムサウンド.多重度 ];
+                       public FDK.メディア.サウンド.WASAPI.Sound[] Sounds = new FDK.メディア.サウンド.WASAPI.Sound[ ドラムサウンド._多重度 ];
                        public int 次に再生するSound番号 = 0;
 
                        public void Dispose()
@@ -77,29 +80,35 @@ namespace SST.ステージ.演奏
                                }
                        }
                };
-               protected Dictionary<SSTFormat.チップ種別, Cコンテキスト> チップtoコンテキスト = null;
 
-               private void すべてのコンテキストを初期化する()
+               private Dictionary<SSTFormat.チップ種別, Cコンテキスト> _チップtoコンテキスト = null;
+
+               private readonly string _KitXmlファイルパス = @"$(Static)\sounds\Kit.xml";
+
+               private readonly object _スレッド間同期 = new object();
+
+               private void _すべてのコンテキストを初期化する()
                {
                        // すでに存在しているなら解放する。
-                       if( null != this.チップtoコンテキスト )
+                       if( null != this._チップtoコンテキスト )
                        {
-                               foreach( var kvp in this.チップtoコンテキスト )
+                               foreach( var kvp in this._チップtoコンテキスト )
                                        ( (Cコンテキスト) kvp.Value ).Dispose();
                        }
 
                        // 生成する。
-                       this.チップtoコンテキスト = new Dictionary<SSTFormat.チップ種別, Cコンテキスト>();
+                       this._チップtoコンテキスト = new Dictionary<SSTFormat.チップ種別, Cコンテキスト>();
                }
-               private void KitXmlを読み込む()
+
+               private void _KitXmlを読み込む()
                {
-                       this.すべてのコンテキストを初期化する();
+                       this._すべてのコンテキストを初期化する();
 
-                       string ファイルパス = FDK.フォルダ.絶対パスに含まれるフォルダ変数を展開して返す( this.KitXmlファイルパス );
+                       string ファイルパス = FDK.フォルダ.絶対パスに含まれるフォルダ変数を展開して返す( this._KitXmlファイルパス );
 
                        if( false == File.Exists( ファイルパス ) )
                        {
-                               FDK.Log.WARNING( $"Kit ファイルが存在しません。ドラムサウンドは生成されません。[{this.KitXmlファイルパス}]" );
+                               FDK.Log.WARNING( $"Kit ファイルが存在しません。ドラムサウンドは生成されません。[{this._KitXmlファイルパス}]" );
                                return;
                        }
 
@@ -133,15 +142,15 @@ namespace SST.ステージ.演奏
                                                                                if( File.Exists( サウンドファイルパス ) )
                                                                                {
                                                                                        // すでに辞書に存在してるなら、解放して削除する。
-                                                                                       if( this.チップtoコンテキスト.ContainsKey( チップ種別 ) )
+                                                                                       if( this._チップtoコンテキスト.ContainsKey( チップ種別 ) )
                                                                                        {
-                                                                                               this.チップtoコンテキスト[ チップ種別 ]?.Dispose();
-                                                                                               this.チップtoコンテキスト.Remove( チップ種別 );
+                                                                                               this._チップtoコンテキスト[ チップ種別 ]?.Dispose();
+                                                                                               this._チップtoコンテキスト.Remove( チップ種別 );
                                                                                        }
 
                                                                                        // コンテキストを作成する。
                                                                                        var context = new Cコンテキスト() {
-                                                                                               Sounds = new FDK.メディア.サウンド.WASAPI.Sound[ ドラムサウンド.多重度 ],
+                                                                                               Sounds = new FDK.メディア.サウンド.WASAPI.Sound[ ドラムサウンド._多重度 ],
                                                                                                次に再生するSound番号 = 0,
                                                                                        };
 
@@ -150,16 +159,16 @@ namespace SST.ステージ.演奏
                                                                                                context.Sounds[ i ] = StrokeStyleT.サウンドデバイス.CreateSound( サウンドファイルパス );
                                                                                        
                                                                                        // コンテキストを辞書に追加する。
-                                                                                       this.チップtoコンテキスト.Add( チップ種別, context );
+                                                                                       this._チップtoコンテキスト.Add( チップ種別, context );
                                                                                }
                                                                                else
                                                                                {
-                                                                                       FDK.Log.WARNING( $"サウンドファイル {FDK.フォルダ.絶対パスをフォルダ変数付き絶対パスに変換して返す( サウンドファイルパス )} が存在しません。[{this.KitXmlファイルパス}]" );
+                                                                                       FDK.Log.WARNING( $"サウンドファイル {FDK.フォルダ.絶対パスをフォルダ変数付き絶対パスに変換して返す( サウンドファイルパス )} が存在しません。[{this._KitXmlファイルパス}]" );
                                                                                }
                                                                        }
                                                                        else
                                                                        {
-                                                                               FDK.Log.WARNING( $"未知の要素 {Sound要素のName属性.Value} をスキップします。[{this.KitXmlファイルパス}]" );
+                                                                               FDK.Log.WARNING( $"未知の要素 {Sound要素のName属性.Value} をスキップします。[{this._KitXmlファイルパス}]" );
                                                                        }
                                                                        break;
                                                        }
@@ -171,10 +180,8 @@ namespace SST.ステージ.演奏
                        }
                        catch( Exception e )
                        {
-                               FDK.Log.ERROR( $"Kitファイルの読み込みに失敗しました。{e.Message}[{this.KitXmlファイルパス}]" );
+                               FDK.Log.ERROR( $"Kitファイルの読み込みに失敗しました。{e.Message}[{this._KitXmlファイルパス}]" );
                        }
                }
-
-               private readonly object スレッド間同期 = new object();
        }
 }