Procédure : Ajouter la prise en charge de paramètre d’exécution à un XAPO

Vous pouvez ajouter la prise en charge des paramètres d’exécution à un XAPO en implémentant l’interface IXAPOParameters . La prise en charge des paramètres d’exécution permet à un XAPO de modifier son comportement en fonction des paramètres qui lui sont passés au moment de l’exécution.

  1. Suivez les étapes décrites dans Guide pratique pour créer un objet XAPO.

  2. Modifiez le XAPO pour dériver de CXAPOParametersBase et CXAPOBase.

  3. Ajoutez des appels aux méthodes CXAPOParametersBase::BeginProcess et CXAPOParametersBase::EndProcess à l’implémentation de IXAPO::P rocess.

    Notes

    L’ajout de ces méthodes à IXAPO::P rocess permet à CXAPOParametersBase de conserver ses copies des paramètres d’effet dans un état thread-safe. Appelez CXAPOParametersBase::BeginProcess au début de IXAPO::P rocess, et CXAPOParametersBase::EndProcess à la fin de IXAPO::P rocess.

     

  4. Ajoutez du code à l’implémentation IXAPO::P rocess pour modifier son comportement en fonction des valeurs stockées par la méthode SetParameters .

    Notes

    L’ajout de code à la méthode IXAPO::P rocess pour utiliser les paramètres spécifiés par SetParameters permet de modifier le comportement du XAPO tout au long de sa vie.

     

  5. Lorsque vous créez une instance de l’effet, allouez une mémoire tampon de trois des structures qui représenteront les paramètres de l’effet et passez-la au constructeur CXAPOParametersBase.

    Notes

    Le instance CXAPOParametersBase utilise en interne cette mémoire tampon pour gérer les paramètres d’effet qui lui sont transmis lorsque vous appelez SetParameters. Vous devez initialiser tous les blocs de paramètres de processus dans pParameterBlocks avec la même valeur par défaut avant d’appeler les méthodes IXAPO::P rocess, IXAPOParameters::GetParameters et IXAPOParameters::SetParameters . En règle générale, cette initialisation est gérée dans IXAPO::Initialize ou dans IXAPO::LockForProcess.

     

Effets audio

Vue d’ensemble de XAPO