KsStudio – Pins und Knoten

In diesem Thema wird beschrieben, wie Pin-Factorys und Pin-Instanziierung mit dem KSStudio-Hilfsprogramm angezeigt werden können.

Pin Factories

Die Pin-Factorys eines Audiofilters beschreiben alle Pins, die der Filter instanziieren kann. Im Allgemeinen hosten KS-Filter eine oder mehrere Pin-Factorys. Weitere Informationen finden Sie unter Pin-Factorys.

In der Objekttopologieansicht des KSStudio-Hilfsprogramms befinden sich Pin-Factorys auf einem Filter, sodass der Dataflow von links nach rechts gezeichnet wird. Die verschiedenen Pin-Typen und ihre Darstellungen sind unten dargestellt.

Kommunikationsfluss und Datenfluss

Diagramm mit verschiedenen Pin-Typen und deren Darstellungen in KsStudio.

Pin-Instanziierung

Es gibt verschiedene Möglichkeiten, einen Pin in KSStudio zu instanziieren.

  • Manuelle Instanziierung. Diese Methode ist nützlich, wenn Sie das Format des Pins steuern möchten. Klicken Sie mit der rechten Maustaste auf eine Pin-Factory, und wählen Sie im Popupmenü „Instanziieren“ aus. Dadurch wird das Dialogfeld KSPIN_CONNECT-Parameter erzeugt.

Dieses Dialogfeld zeigt eine geeignete Struktur (basierend auf KSPIN_CONNECT) zum Instanziieren eines Pins. Die angezeigte Struktur ist das Ergebnis eines Aufrufs des Data Range Intersection-Handlers des Filters. Die Elemente der Struktur und Unterstrukturen können durch Doppelklick geändert werden. Das PinToHandle-Element kann durch Auswahl einer Pin-Instanz aus der .ConnectTo-Struktur unten im Dialogfeld gefüllt werden. Bei Bestätigung des Dialogs wird die Struktur KSPIN_CONNECT als Parameter an KsCreatePin übergeben.

  • Automatische Instanziierung. Diese Methode wird verwendet, um Pins miteinander zu verbinden. Es ist viel einfacher als die manuelle Instanziierung, ermöglicht jedoch keine Kontrolle über das Pin-Format. Stattdessen beruht es auf den Formataushandlungsmechanismen der Pins selbst. Ziehen Sie einfach eine Pin-Factory auf eine Pin-Instanz oder einen anderen Pin. Der Aushandlungsmechanismus unterscheidet sich für verschiedene Kombinationen von Endpunkten:

    • Pin-Factory der Kommunikationsquelle A auf die Pin-Instanz der Kommunikationssenke B ziehen. Die Formataushandlung ist hier trivial, da das Format des instanziierten Pins (B) bereits festgelegt ist. Die Pin-Factory (A) wird einfach instanziiert, indem das Handle des instanziierten Pins (B) als PinConnectTo-Parameter und das Format des instanziierten Pins (B) als Datenformat angegeben werden. Das Ziehen einer Pin-Instanz auf eine Pin-Factory ist eine kleinere Variante dieser Methode, die dasselbe Ergebnis erreicht.

    • Die Pin-Factory der Kommunikationsquelle A auf die Pin-Factory der Kommunikationssenke B ziehen. Die Formataushandlung erfolgt hier mithilfe des DataRange Intersection-Mechanismus. Der DataRange der Quell-Pin-Factory (A) wird an den DataRange Intersection-Handler der Pin-Factory der Senke (B) übermittelt. Wenn dieser Aufruf erfolgreich ist, wird Pin-Factory B mit diesem Format instanziiert. Pin-Factory A wird dann mit demselben Format instanziiert und mit dem Handle der nun Pin-Instanz (B) als PinHandleTo-Element instanziiert. Das Ziehen einer Pin-Factory einer Kommunikationssenke auf einen Pin der Kommunikationsquelle ist eine kleinere Variante dieser Methode, die dasselbe Ergebnis erreicht.

Für jeden Pin, der mithilfe der oben genannten Methoden instanziiert wird, werden Darstellungen der Pin-Instanz sowohl der Objekttopologieansicht als auch der Objektdetailansicht hinzugefügt.

Nodes

Knoten werden verwendet, um den Pfad des Datenflusses durch einen Filter zu beschreiben. Sie werden auch verwendet, um den Wirkungsbereich zu deklarieren, der sich aus einem Eigenschaftsaufruf ergibt, wie unten unter „Eigenschaften und Ereignisse auf Knoten“ beschrieben.

Um die Knoten eines Filters in der Diagrammansicht anzuzeigen, klicken Sie mit der rechten Maustaste auf den Filter und wählen Sie „Knoten anzeigen“ aus.

Wenn Sie in der Diagrammansicht auf einen Knoten klicken, werden die folgenden UI-Aktionen aufgerufen:

  • Jeder Pfad durch den ausgewählten Knoten wird im Filter hervorgehoben.

  • Die entsprechende Darstellung des Knotens in der Strukturansicht ist ausgewählt.

Beachten Sie, dass verwaiste Knoten (Knoten ohne Verbindungen) in der oberen linken Ecke der grafischen Domäne des Filters gezeichnet werden.

Eigenschaften und Ereignisse auf Knoten

Eigenschaften- und Ereignisaufrufe werden über Kommunikationsziele (Filter und Pins) getätigt. Als Parameter für diese Eigenschafts- und Ereignisaufrufe kann eine Knoten-Ordnungszahl angegeben werden. In diesem Sinne spricht man von einem Eigenschaftsaufruf, der auf einem Knoten über einen Pin oder Filter erfolgt.

KSStudio stellt diese Beziehungen sowohl in der Objekttopologieansicht als auch in der Objektdetailseite visuell dar.

Wenn ein Pin instanziiert wird, werden Knoten als untergeordnete Elemente der Pin-Instanz in der Objektdetailansicht hinzugefügt. Eigenschaften auf diesen Knoten werden über den Pin auf den Knoten abgefragt. Beachten Sie, dass die meisten Eigenschaften auf Knoten nur über den Pin oder den Filter sinnvoll sind, nicht jedoch über beide.

Weitere Informationen

KSStudio-Hilfsprogramm

KSStudio – Filter und Filter Factories

KSStudio – KSProperties und Ereignisse

KSStudio – KS Monitor

KSStudio – Verwendungsbeispiele