Freigeben über


So wird's gemacht: Hinzufügen der Laufzeitparameterunterstützung zu einem XAPO

Sie können laufzeitparameterunterstützung zu einem XAPO hinzufügen, indem Sie die IXAPOParameters-Schnittstelle implementieren. Die Unterstützung von Laufzeitparametern ermöglicht es einem XAPO, sein Verhalten basierend auf den Parametern zu ändern, die zur Laufzeit an ihn übergeben werden.

  1. Führen Sie die Schritte unter Vorgehensweise: Erstellen eines XAPO aus.

  2. Ändern Sie die XAPO so, dass sie von CXAPOParametersBase und CXAPOBase abgeleitet wird.

  3. Hinzufügen von Aufrufen der Methoden CXAPOParametersBase::BeginProcess und CXAPOParametersBase::EndProcess zur Implementierung von IXAPO::P rocess.

    Hinweis

    Durch das Hinzufügen dieser Methoden zu IXAPO::P rocess kann CXAPOParametersBase seine Kopien der Effektparameter in einem threadsicheren Zustand aufbewahren. Rufen Sie CXAPOParametersBase::BeginProcess am Anfang von IXAPO::P rocess und CXAPOParametersBase::EndProcess am Ende von IXAPO::P rocess auf.

     

  4. Fügen Sie der IXAPO::P rocess-Implementierung weiteren Code hinzu, um ihr Verhalten entsprechend den Werten zu ändern, die von der SetParameters-Methode gespeichert werden.

    Hinweis

    Das Hinzufügen von Code zur IXAPO::P rocess-Methode zur Verwendung der von SetParameters angegebenen Parameter ermöglicht es, das Verhalten des XAPO während seiner gesamten Lebensdauer zu ändern.

     

  5. Wenn Sie eine instance des Effekts erstellen, weisen Sie einen Puffer von drei der Strukturen zu, die die Parameter des Effekts darstellen, und übergeben Sie ihn an den CXAPOParametersBase-Konstruktor.

    Hinweis

    Der CXAPOParametersBase-instance verwendet diesen Puffer intern zum Verwalten von Effektparametern, die beim Aufrufen von SetParameters an ihn übergeben werden. Sie müssen alle Prozessparameterblöcke in pParameterBlocks mit demselben Standardwert initialisieren, bevor Sie eine der Methoden IXAPO::P rocess, IXAPOParameters::GetParameters und IXAPOParameters::SetParameters aufrufen. In der Regel wird diese Initialisierung in IXAPO::Initialize oder in IXAPO::LockForProcess behandelt.

     

Audioeffekte

Übersicht über XAPO