AAX SDK  2.4.1
Avid Audio Extensions Development Kit
AAX_VEffectDescriptor.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright 2013-2017, 2019 by Avid Technology, Inc.
5  * All rights reserved.
6  *
7  * CONFIDENTIAL: This document contains confidential information. Do not
8  * read or examine this document unless you are an Avid Technology employee
9  * or have signed a non-disclosure agreement with Avid Technology which protects
10  * the confidentiality of this document. DO NOT DISCLOSE ANY INFORMATION
11  * CONTAINED IN THIS DOCUMENT TO ANY THIRD-PARTY WITHOUT THE PRIOR WRITTEN CONSENT
12  * OF Avid Technology, INC.
13  *
14  */
15 
22 /*================================================================================================*/
23 
24 #ifndef AAX_VEFFECTDESCRIPTOR_H
25 #define AAX_VEFFECTDESCRIPTOR_H
26 
27 #include "AAX.h"
28 #include "AAX_IEffectDescriptor.h"
30 #include "acfunknown.h"
31 #include "ACFPtr.h"
32 
33 #include <set>
34 #include <map>
35 
37 class AAX_IPropertyMap;
39 class IACFUnknown;
40 
46 {
47 public:
50 
57  AAX_Result AddName ( const char * inPlugInName ) AAX_OVERRIDE;
58  AAX_Result AddCategory ( uint32_t inCategory ) AAX_OVERRIDE;
59  AAX_Result AddCategoryBypassParameter ( uint32_t inCategory, AAX_CParamID inParamID ) AAX_OVERRIDE;
60  AAX_Result AddProcPtr ( void * inProcPtr, AAX_CProcPtrID inProcID ) AAX_OVERRIDE;
67  AAX_Result AddResourceInfo ( AAX_EResourceType inResourceType, const char * inInfo ) AAX_OVERRIDE;
68  AAX_Result AddMeterDescription( AAX_CTypeID inMeterID, const char * inMeterName, AAX_IPropertyMap * inProperties ) AAX_OVERRIDE;
69  AAX_Result AddControlMIDINode ( AAX_CTypeID inNodeID, AAX_EMIDINodeType inNodeType, const char inNodeName[], uint32_t inChannelMask ) AAX_OVERRIDE;
70 
71  IACFUnknown* GetIUnknown(void) const;
72 
73 private:
74  ACFPtr<IACFUnknown> mUnkHost;
75  ACFPtr<AAX_IACFEffectDescriptor> mIACFEffectDescriptor;
76  ACFPtr<AAX_IACFEffectDescriptor_V2> mIACFEffectDescriptorV2;
77  std::set<AAX_IComponentDescriptor *> mComponentDescriptors;
78  std::set<AAX_IPropertyMap *> mPropertyMaps;
79 
80 };
81 
82 #endif // AAX_VEFFECTDESCRIPTOR_H
Various utility definitions for AAX.
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:352
int32_t AAX_Result
Definition: AAX.h:337
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:141
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:336
AAX_CProcPtrID
Definition: AAX_Callbacks.h:34
AAX_EMIDINodeType
MIDI node types.
Definition: AAX_Enums.h:961
AAX_EResourceType
Types of resources that can be added to an Effect's description.
Definition: AAX_Enums.h:430
Versioned interface for an AAX_IEffectDescriptor.
Description interface for an effect's (plug-in type's) components.
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:248
Versioned interface for an AAX_IEffectDescriptor.
Definition: AAX_IACFEffectDescriptor.h:42
Versioned interface for an AAX_IEffectDescriptor.
Definition: AAX_IACFEffectDescriptor.h:60
Description interface for an AAX plug-in component.
Definition: AAX_IComponentDescriptor.h:47
Description interface for an effect's (plug-in type's) components.
Definition: AAX_IEffectDescriptor.h:50
Generic plug-in description property map.
Definition: AAX_IPropertyMap.h:59
Version-managed concrete AAX_IEffectDescriptor class.
Definition: AAX_VEffectDescriptor.h:46
AAX_VEffectDescriptor(IACFUnknown *pUnkHost)
AAX_IPropertyMap * NewPropertyMap() AAX_OVERRIDE
Create a new property map.
AAX_Result AddMeterDescription(AAX_CTypeID inMeterID, const char *inMeterName, AAX_IPropertyMap *inProperties) AAX_OVERRIDE
Add name and property map to meter with given ID.
AAX_Result AddProcPtr(void *inProcPtr, AAX_CProcPtrID inProcID) AAX_OVERRIDE
Add a process pointer.
AAX_Result AddControlMIDINode(AAX_CTypeID inNodeID, AAX_EMIDINodeType inNodeType, const char inNodeName[], uint32_t inChannelMask) AAX_OVERRIDE
Add a control MIDI node to the plug-in data model.
AAX_IComponentDescriptor * NewComponentDescriptor() AAX_OVERRIDE
Create an instance of a component descriptor.
~AAX_VEffectDescriptor() AAX_OVERRIDE
IACFUnknown * GetIUnknown(void) const
AAX_Result SetProperties(AAX_IPropertyMap *inProperties) AAX_OVERRIDE
Set the properties of a new property map.
AAX_Result AddCategoryBypassParameter(uint32_t inCategory, AAX_CParamID inParamID) AAX_OVERRIDE
Add a category to your plug-in. See AAX_EPlugInCategory.
AAX_Result AddComponent(AAX_IComponentDescriptor *inComponentDescriptor) AAX_OVERRIDE
Add a component to an instance of a component descriptor.
AAX_Result AddName(const char *inPlugInName) AAX_OVERRIDE
Add a name to the Effect.
AAX_Result AddResourceInfo(AAX_EResourceType inResourceType, const char *inInfo) AAX_OVERRIDE
Set resource file info.
AAX_Result AddCategory(uint32_t inCategory) AAX_OVERRIDE
Add a category to your plug-in. See AAX_EPlugInCategory.