AAX SDK 2.8.0
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
AAX_VEffectDescriptor.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2017, 2019, 2023-2024 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * This file is part of the Avid AAX SDK.
8 *
9 * The AAX SDK is subject to commercial or open-source licensing.
10 *
11 * By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
12 * Agreement and Avid Privacy Policy.
13 *
14 * AAX SDK License: https://developer.avid.com/aax
15 * Privacy Policy: https://www.avid.com/legal/privacy-policy-statement
16 *
17 * Or: You may also use this code under the terms of the GPL v3 (see
18 * www.gnu.org/licenses).
19 *
20 * THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
21 * EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
22 * DISCLAIMED.
23 *
24 */
25
32/*================================================================================================*/
33
34#ifndef AAX_VEFFECTDESCRIPTOR_H
35#define AAX_VEFFECTDESCRIPTOR_H
36
37#include "AAX.h"
40#include "acfunknown.h"
41#include "ACFPtr.h"
42
43#include <set>
44#include <map>
45
49class IACFUnknown;
50
56{
57public:
60
67 AAX_Result AddName ( const char * inPlugInName ) AAX_OVERRIDE;
68 AAX_Result AddCategory ( uint32_t inCategory ) AAX_OVERRIDE;
70 AAX_Result AddProcPtr ( void * inProcPtr, AAX_CProcPtrID inProcID ) AAX_OVERRIDE;
77 AAX_Result AddResourceInfo ( AAX_EResourceType inResourceType, const char * inInfo ) AAX_OVERRIDE;
78 AAX_Result AddMeterDescription( AAX_CTypeID inMeterID, const char * inMeterName, AAX_IPropertyMap * inProperties ) AAX_OVERRIDE;
79 AAX_Result AddControlMIDINode ( AAX_CTypeID inNodeID, AAX_EMIDINodeType inNodeType, const char inNodeName[], uint32_t inChannelMask ) AAX_OVERRIDE;
80
82
83private:
84 ACFPtr<IACFUnknown> mUnkHost;
85 ACFPtr<AAX_IACFEffectDescriptor> mIACFEffectDescriptor;
86 ACFPtr<AAX_IACFEffectDescriptor_V2> mIACFEffectDescriptorV2;
87 std::set<AAX_IComponentDescriptor *> mComponentDescriptors;
88 std::set<AAX_IPropertyMap *> mPropertyMaps;
89
90};
91
92#endif // AAX_VEFFECTDESCRIPTOR_H
Versioned interface for an AAX_IEffectDescriptor.
AAX_EMIDINodeType
MIDI node types.
Definition: AAX_Enums.h:1026
AAX_EResourceType
Types of resources that can be added to an Effect's description.
Definition: AAX_Enums.h:455
Various utility definitions for AAX.
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:362
int32_t AAX_Result
Definition: AAX.h:347
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:164
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:346
AAX_CProcPtrID
Definition: AAX_Callbacks.h:44
Description interface for an effect's (plug-in type's) components.
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
Versioned interface for an AAX_IEffectDescriptor.
Definition: AAX_IACFEffectDescriptor.h:52
Versioned interface for an AAX_IEffectDescriptor.
Definition: AAX_IACFEffectDescriptor.h:70
Description interface for an AAX plug-in component.
Definition: AAX_IComponentDescriptor.h:57
Description interface for an effect's (plug-in type's) components.
Definition: AAX_IEffectDescriptor.h:60
Generic plug-in description property map.
Definition: AAX_IPropertyMap.h:69
Version-managed concrete AAX_IEffectDescriptor class.
Definition: AAX_VEffectDescriptor.h:56
AAX_VEffectDescriptor(IACFUnknown *pUnkHost)
IACFUnknown * GetIUnknown(void) const
AAX_IPropertyMap * NewPropertyMap() AAX_OVERRIDE
Create a new property map.
AAX_IComponentDescriptor * NewComponentDescriptor() AAX_OVERRIDE
Create an instance of a component descriptor.
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_VEffectDescriptor() AAX_OVERRIDE
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.