AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AAX_VEffectDescriptor.h
Go to the documentation of this file.
1 // **************************************************************************************
2 // FILE: AAX_VEffectDescriptor.h
3 //
4 // Copyright 2013 by Avid Technology, Inc.
5 // All rights reserved
6 //
7 // CONFIDENTIAL: This document contains confidential information.
8 // Do not disclose any information contained in this document to any
9 // third-party without the prior written consent of Avid Technology, Inc.
10 //
11 // **************************************************************************************
12 
13 #ifndef AAX_VEFFECTDESCRIPTOR_H
14 #define AAX_VEFFECTDESCRIPTOR_H
15 
16 #include "AAX.h"
17 #include "AAX_IEffectDescriptor.h"
19 #include "acfunknown.h"
20 #include "ACFPtr.h"
21 
22 #include <set>
23 #include <map>
24 
26 class AAX_IPropertyMap;
28 class IACFUnknown;
29 
35 {
36 public:
37  AAX_VEffectDescriptor ( IACFUnknown * pUnkHost );
38  virtual ~AAX_VEffectDescriptor ();
39 
45  virtual AAX_Result AddComponent ( AAX_IComponentDescriptor * inComponentDescriptor );
46  virtual AAX_Result AddName ( const char * inPlugInName );
47  virtual AAX_Result AddCategory ( uint32_t inCategory );
48  virtual AAX_Result AddCategoryBypassParameter ( uint32_t inCategory, AAX_CParamID inParamID );
49  virtual AAX_Result AddProcPtr ( void * inProcPtr, AAX_CProcPtrID inProcID );
54  virtual AAX_IPropertyMap * NewPropertyMap ();
55  virtual AAX_Result SetProperties ( AAX_IPropertyMap * inProperties );
56  virtual AAX_Result AddResourceInfo ( AAX_EResourceType inResourceType, const char * inInfo );
57  virtual AAX_Result AddMeterDescription( AAX_CTypeID inMeterID, const char * inMeterName, AAX_IPropertyMap * inProperties );
58  virtual AAX_Result AddControlMIDINode ( AAX_CTypeID iNodeID, AAX_EMIDINodeType iNodeType, const char iNodeName[], uint32_t channelMask );
59 
60  IACFUnknown* GetIUnknown(void) const;
61 
62 private:
63  ACFPtr<IACFUnknown> mUnkHost;
64  ACFPtr<AAX_IACFEffectDescriptor> mIACFEffectDescriptor;
65  ACFPtr<AAX_IACFEffectDescriptor_V2> mIACFEffectDescriptorV2;
66  std::set<AAX_IComponentDescriptor *> mComponentDescriptors;
67  std::set<AAX_IPropertyMap *> mPropertyMaps;
68 
69 };
70 
71 #endif // AAX_VEFFECTDESCRIPTOR_H
AAX_EMIDINodeType
MIDI node types.
Definition: AAX_Enums.h:613
Various utility definitions for AAX.
virtual AAX_IPropertyMap * NewPropertyMap()
Create a new property map.
Versioned interface for an AAX_IEffectDescriptor.
virtual ~AAX_VEffectDescriptor()
virtual AAX_Result AddMeterDescription(AAX_CTypeID inMeterID, const char *inMeterName, AAX_IPropertyMap *inProperties)
Add name and property map to meter with given ID.
Version-managed concrete AAX_IEffectDescriptor class.
Definition: AAX_VEffectDescriptor.h:34
Versioned interface for an AAX_IEffectDescriptor.
Definition: AAX_IACFEffectDescriptor.h:41
virtual AAX_Result AddProcPtr(void *inProcPtr, AAX_CProcPtrID inProcID)
Add a process pointer.
virtual AAX_IComponentDescriptor * NewComponentDescriptor()
Create an instance of a component descriptor.
virtual AAX_Result AddName(const char *inPlugInName)
Add a name to the Effect.
AAX_CProcPtrID
Definition: AAX_Callbacks.h:32
Generic plug-in description property map.
Definition: AAX_IPropertyMap.h:56
AAX_VEffectDescriptor(IACFUnknown *pUnkHost)
virtual AAX_Result AddCategory(uint32_t inCategory)
Add a category to your plug-in. See AAX_EPlugInCategory.
virtual AAX_Result AddResourceInfo(AAX_EResourceType inResourceType, const char *inInfo)
Set resource file info.
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:117
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.dox:231
AAX_EResourceType
Types of resources that can be added to an Effect&#39;s description.
Definition: AAX_Enums.h:368
IACFUnknown * GetIUnknown(void) const
virtual AAX_Result AddComponent(AAX_IComponentDescriptor *inComponentDescriptor)
Add a component to an instance of a component descriptor.
int32_t AAX_Result
Definition: AAX.h:118
virtual AAX_Result SetProperties(AAX_IPropertyMap *inProperties)
Set the properties of a new property map.
virtual AAX_Result AddCategoryBypassParameter(uint32_t inCategory, AAX_CParamID inParamID)
Add a category to your plug-in. See AAX_EPlugInCategory.
Description interface for an effect&#39;s (plug-in type&#39;s) components.
Description interface for an AAX plug-in component.
Definition: AAX_IComponentDescriptor.h:46
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:128
virtual AAX_Result AddControlMIDINode(AAX_CTypeID iNodeID, AAX_EMIDINodeType iNodeType, const char iNodeName[], uint32_t channelMask)
Add control MIDI node.
Description interface for an effect&#39;s (plug-in type&#39;s) components.
Definition: AAX_IEffectDescriptor.h:47