public static ViewerMessage 最後に取得したビュアーメッセージ { get; protected set; }
- public static void すべての入力デバイスをポーリングする()
+ public static void すべての入力デバイスをポーリングする( bool 入力履歴を記録する = true )
{
- StrokeStyleT.入力管理.すべての入力デバイスをポーリングする();
+ StrokeStyleT.入力管理.すべての入力デバイスをポーリングする( 入力履歴を記録する );
}
public MidiIn MIDI入力 { get; protected set; }
/// <summary>
- /// 入力履歴を使用したい場合は true をセットする。
- /// </summary>
- /// <remarks>
- /// 演奏ステージなど、入力履歴が不要なシーンではこれを false にすることで無駄を省く。
- /// </remarks>
- public bool 入力履歴を記録する
- {
- get { return this._入力履歴を記録する; }
- set
- {
- this._入力履歴を記録する = value;
-
- // true 時に履歴をリセット。
- if( value )
- {
- this._入力履歴.Clear();
- this._前回の履歴追加時刻sec = null;
- }
- }
- }
-
- /// <summary>
/// コンストラクタ。入力デバイスを生成する。
/// </summary>
/// <param name="windowHandle">
this.キーボード入力 = null;
}
- public void すべての入力デバイスをポーリングする()
+ public void すべての入力デバイスをポーリングする( bool 入力履歴を記録する = true )
{
+ // 履歴の記録が OFF → ON に変わった際には、履歴をクリアする。
+ if( 入力履歴を記録する && !this._入力履歴を記録中 )
+ {
+ this._入力履歴.Clear();
+ this._前回の履歴追加時刻sec = null;
+ }
+ this._入力履歴を記録中 = 入力履歴を記録する;
+
// 追加の入力デバイスクラスを実装したら、ここにポーリングコードを追加すること。
#region " キーボード入力 "
//----------------
this.キーボード入力?.ポーリングする();
- if( this._入力履歴を記録する )
+ if( 入力履歴を記録する )
{
for( int i = 0; i < 256; i++ )
{
//----------------
this.MIDI入力?.ポーリングする();
- if( this._入力履歴を記録する )
+ if( 入力履歴を記録する )
{
for( int i = 0; i < 256; i++ )
{
return false;
}
- private bool _入力履歴を記録する = true;
-
private キーバインディング _キーバインディング = null;
private string _KeyBindingsXmlファイルパス = @"$(AppData)\KeyBindings.xml";
private List<入力種別> _入力履歴 = null;
+ private bool _入力履歴を記録中 = true;
+
private double? _前回の履歴追加時刻sec = null;
/// <summary>