{
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[] をすべて停止する。
// サウンドローテーション。
context.次に再生するSound番号++;
- if( context.次に再生するSound番号 >= ドラムサウンド.多重度 )
+ if( context.次に再生するSound番号 >= ドラムサウンド._多重度 )
context.次に再生するSound番号 = 0;
}
}
- protected const int 多重度 = 2;
+ private const int _多重度 = 2;
- protected class Cコンテキスト : IDisposable
+ 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()
}
};
- protected Dictionary<SSTFormat.チップ種別, Cコンテキスト> チップtoコンテキスト = null;
+ 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を読み込む()
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,
};
context.Sounds[ i ] = StrokeStyleT.サウンドデバイス.CreateSound( サウンドファイルパス );
// コンテキストを辞書に追加する。
- this.チップtoコンテキスト.Add( チップ種別, context );
+ this._チップtoコンテキスト.Add( チップ種別, context );
}
else
{