| AAX SDK 2.6.1 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

- File List
- File Members

Loading...
Searching...
No Matches
AAX_VEffectDescriptor.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2017, 2019, 2023 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * CONFIDENTIAL: this document contains confidential information of Avid. Do
8 * not disclose to any third party. Use of the information contained in this
9 * document is subject to an Avid SDK license.
10 *
11 */
12
19/*================================================================================================*/
20
21#ifndef AAX_VEFFECTDESCRIPTOR_H
22#define AAX_VEFFECTDESCRIPTOR_H
23
24#include "AAX.h"
25#include "AAX_IEffectDescriptor.h"
26#include "AAX_IACFEffectDescriptor.h"
27#include "acfunknown.h"
28#include "ACFPtr.h"
29
30#include <set>
31#include <map>
32
33 class AAX_IComponentDescriptor;
34 class AAX_IPropertyMap;
35 class AAX_IACFEffectDescriptor;
36 class IACFUnknown;
37
42 class AAX_VEffectDescriptor : public AAX_IEffectDescriptor
43{
44 public:
45 AAX_VEffectDescriptor ( IACFUnknown * pUnkHost );
46 ~AAX_VEffectDescriptor () AAX_OVERRIDE;
47
52 AAX_IComponentDescriptor * NewComponentDescriptor () AAX_OVERRIDE;
53 AAX_Result AddComponent ( AAX_IComponentDescriptor * inComponentDescriptor ) AAX_OVERRIDE;
54 AAX_Result AddName ( const char * inPlugInName ) AAX_OVERRIDE;
55 AAX_Result AddCategory ( uint32_t inCategory ) AAX_OVERRIDE;
56 AAX_Result AddCategoryBypassParameter ( uint32_t inCategory, AAX_CParamID inParamID ) AAX_OVERRIDE;
57 AAX_Result AddProcPtr ( void * inProcPtr, AAX_CProcPtrID inProcID ) AAX_OVERRIDE;
62 AAX_IPropertyMap * NewPropertyMap () AAX_OVERRIDE;
63 AAX_Result SetProperties ( AAX_IPropertyMap * inProperties ) AAX_OVERRIDE;
64 AAX_Result AddResourceInfo ( AAX_EResourceType inResourceType, const char * inInfo ) AAX_OVERRIDE;
65 AAX_Result AddMeterDescription( AAX_CTypeID inMeterID, const char * inMeterName, AAX_IPropertyMap * inProperties ) AAX_OVERRIDE;
66 AAX_Result AddControlMIDINode ( AAX_CTypeID inNodeID, AAX_EMIDINodeType inNodeType, const char inNodeName[], uint32_t inChannelMask ) AAX_OVERRIDE;
67
68 IACFUnknown* GetIUnknown(void) const;
69
70private:
71 ACFPtr<IACFUnknown> mUnkHost;
72 ACFPtr<AAX_IACFEffectDescriptor> mIACFEffectDescriptor;
73 ACFPtr<AAX_IACFEffectDescriptor_V2> mIACFEffectDescriptorV2;
74 std::set<AAX_IComponentDescriptor *> mComponentDescriptors;
75 std::set<AAX_IPropertyMap *> mPropertyMaps;
76
77};
78
79#endif // AAX_VEFFECTDESCRIPTOR_H
AAX_IACFEffectDescriptor.h
Versioned interface for an AAX_IEffectDescriptor.
AAX_EMIDINodeType
AAX_EMIDINodeType
MIDI node types.
Definition: AAX_Enums.h:980
AAX_EResourceType
AAX_EResourceType
Types of resources that can be added to an Effect's description.
Definition: AAX_Enums.h:442
AAX.h
Various utility definitions for AAX.
AAX_CParamID
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:349
AAX_Result
int32_t AAX_Result
Definition: AAX.h:334
AAX_OVERRIDE
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:151
AAX_CTypeID
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:333
AAX_CProcPtrID
AAX_CProcPtrID
Definition: AAX_Callbacks.h:31
AAX_IEffectDescriptor.h
Description interface for an effect's (plug-in type's) components.
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:252
AAX_IACFEffectDescriptor
Versioned interface for an AAX_IEffectDescriptor.
Definition: AAX_IACFEffectDescriptor.h:39
AAX_IACFEffectDescriptor_V2
Versioned interface for an AAX_IEffectDescriptor.
Definition: AAX_IACFEffectDescriptor.h:57
AAX_IComponentDescriptor
Description interface for an AAX plug-in component.
Definition: AAX_IComponentDescriptor.h:44
AAX_IEffectDescriptor
Description interface for an effect's (plug-in type's) components.
Definition: AAX_IEffectDescriptor.h:47
AAX_IPropertyMap
Generic plug-in description property map.
Definition: AAX_IPropertyMap.h:56
AAX_VEffectDescriptor
Version-managed concrete AAX_IEffectDescriptor class.
Definition: AAX_VEffectDescriptor.h:43
AAX_VEffectDescriptor::AAX_VEffectDescriptor
AAX_VEffectDescriptor(IACFUnknown *pUnkHost)
AAX_VEffectDescriptor::GetIUnknown
IACFUnknown * GetIUnknown(void) const
AAX_VEffectDescriptor::NewPropertyMap
AAX_IPropertyMap * NewPropertyMap() AAX_OVERRIDE
Create a new property map.
AAX_VEffectDescriptor::NewComponentDescriptor
AAX_IComponentDescriptor * NewComponentDescriptor() AAX_OVERRIDE
Create an instance of a component descriptor.
AAX_VEffectDescriptor::AddMeterDescription
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_VEffectDescriptor::AddProcPtr
AAX_Result AddProcPtr(void *inProcPtr, AAX_CProcPtrID inProcID) AAX_OVERRIDE
Add a process pointer.
AAX_VEffectDescriptor::AddControlMIDINode
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_VEffectDescriptor::~AAX_VEffectDescriptor
~AAX_VEffectDescriptor() AAX_OVERRIDE
AAX_VEffectDescriptor::SetProperties
AAX_Result SetProperties(AAX_IPropertyMap *inProperties) AAX_OVERRIDE
Set the properties of a new property map.
AAX_VEffectDescriptor::AddCategoryBypassParameter
AAX_Result AddCategoryBypassParameter(uint32_t inCategory, AAX_CParamID inParamID) AAX_OVERRIDE
Add a category to your plug-in. See AAX_EPlugInCategory.
AAX_VEffectDescriptor::AddComponent
AAX_Result AddComponent(AAX_IComponentDescriptor *inComponentDescriptor) AAX_OVERRIDE
Add a component to an instance of a component descriptor.
AAX_VEffectDescriptor::AddName
AAX_Result AddName(const char *inPlugInName) AAX_OVERRIDE
Add a name to the Effect.
AAX_VEffectDescriptor::AddResourceInfo
AAX_Result AddResourceInfo(AAX_EResourceType inResourceType, const char *inInfo) AAX_OVERRIDE
Set resource file info.
AAX_VEffectDescriptor::AddCategory
AAX_Result AddCategory(uint32_t inCategory) AAX_OVERRIDE
Add a category to your plug-in. See AAX_EPlugInCategory.