KsStudio - ピンとノード
このトピックでは、 KSStudio ユーティリティを使用してピン ファクトリとピンのインスタンス化を表示する方法について説明します。
ピン ファクトリ
オーディオ フィルターのピン ファクトリは、フィルターがインスタンス化できるすべてのピンを記述します。 一般に、KS フィルターは 1 つ以上のピン ファクトリをホストします。 詳細については、ピン ファクトリを参照してください。
KSStudio ユーティリティのオブジェクト トポロジ ビューでは、データフローが左から右に描画されるように、ピン ファクトリがフィルター上に配置されます。 さまざまなピンの種類とその表現を次に示します。
通信フローとデータ フロー
インスタンス化をピン留めする
KSStudio でピンをインスタンス化するには、いくつかの方法があります。
- 手動インスタンス化。 この方法は、ピンの形式を制御する場合に便利です。 ピン ファクトリを右クリックし、ポップアップ メニューから [インスタンス化] を選択します。 これにより、パラメーター ダイアログが
KSPIN_CONNECT
生成されます。
このダイアログには、ピンのインスタンス化に使用される適切な構造 (KSPIN_CONNECT
に基づいて) が表示されます。 次に示す構造は、フィルターデータ範囲交差ハンドラーの呼び出しの結果です。 構造体とサブ構造のメンバーは、そのメンバーをダブルクリックして変更できます。 PinToHandle メンバーを設定するには、からピン インスタンスを選択しますダイアログの下部にある .ConnectTo ツリー。 ダイアログが確認されると、KSPIN_CONNECT構造体がパラメーターとして KsCreatePin に渡されます。
自動インスタンス化。 この方法は、ピンを接続するために使用されます。 手動インスタンス化よりもはるかに簡単ですが、ピン形式を制御することは許可されません。 代わりに、ピン自体の形式のネゴシエーション メカニズムに依存します。 ピン ファクトリをピン インスタンスまたは別のピンにドラッグするだけです。 ネゴシエーション メカニズムは、エンドポイントの組み合わせによって異なります。
通信ソースピン ファクトリ A を通信シンク ピン インスタンス B にドラッグします。ここでのフォーマット ネゴシエーションは、インスタンス化されたピン (B) の形式が既に設定されているため、簡単です。 ピン ファクトリ (A) は、インスタンス化されたピン (B) のハンドルを PinConnectTo パラメーターとして指定し、インスタンス化されたピン (B) の形式をデータ形式として指定するだけでインスタンス化されます。 ピン ファクトリにピン インスタンスをドラッグすることは、同じ結果を得るこの方法の小さなバリエーションです。
通信ソース ピン ファクトリ A を通信シンク ピン ファクトリ B にドラッグします。ここでの形式のネゴシエーションは、DataRange 交差メカニズムを使用して実現されます。 ソース ピン ファクトリ (A) の DataRange は、シンク ピン ファクトリ (B) の DataRange 交差ハンドラーに送信されます。 この呼び出しが成功した場合、ピン ファクトリ B はこの形式でインスタンス化されます。 その後、ファクトリ A のピン留めは、同じ形式でインスタンス化され、現在の Pin Instance (B) のハンドルが
PinHandleTo
メンバーとして使用されます。 通信シンク ピン ファクトリを通信ソース ピンにドラッグすることは、同じ結果を得るこの方法の小さなバリエーションです。
上記の方法を使用してインスタンス化された各ピンについて、ピン インスタンスの表現がオブジェクト トポロジ ビューとオブジェクト詳細ビューの両方に追加されます。
Nodes
ノードは、フィルターを介してデータ フローのパスを記述するために使用されます。 これらは、「ノードのプロパティとイベント」で後述するように、プロパティ呼び出しの結果の効果の範囲を宣言するためにも使用されます。
グラフ ビューでフィルターのノードを表示するには、フィルターを右クリックし、[ノードの表示] を選択します。
グラフ ビューでノードをクリックすると、次の UI アクションが呼び出されます。
選択したノード内のすべてのパスがフィルターで強調表示されます
ツリー ビュー内のノードの対応する表現が選択されている
孤立したノード (接続のないノード) は、フィルターのグラフィカル 操作の左上隅に描画されることに注意してくださいメイン。
ノードのプロパティとイベント
プロパティとイベントの呼び出しは、通信ターゲット (フィルターとピン) を介して行われます。 これらのプロパティとイベント呼び出しのパラメーターとして、ノード序数を指定できます。 この意味で、プロパティ呼び出しは、ノード 上 ピンまたはフィルタ を通じて であると言われます。
KSStudio は、 オブジェクト トポロジ ビュー と オブジェクト詳細ビュー の両方でこれらの関係を視覚的に表します。
ピンがインスタンス化されると、ノードは、 オブジェクトの詳細ビューでピン インスタンスの子項目として追加されます。 これらのノードのプロパティは、ピンを介してノードで照会されます。 ノード上のほとんどのプロパティは、ピンまたはフィルターを介してのみ意味がありますが、両方を経由しないことに注意してください。