AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AAX_IACFEffectDescriptor.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright 2013 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 Technolgy, INC.
13  *
14  */
15 
22 /*================================================================================================*/
23 
24 
25 #ifndef AAX_IACFEFFECTDESCRIPTOR_H
26 #define AAX_IACFEFFECTDESCRIPTOR_H
27 
28 #include "AAX.h"
29 #include "AAX_Callbacks.h"
30 
31 #ifdef __clang__
32 #pragma clang diagnostic push
33 #pragma clang diagnostic ignored "-Wnon-virtual-dtor"
34 #endif
35 
36 #include "acfunknown.h"
37 
38 
42 {
43 public:
44 
45  virtual AAX_Result AddComponent ( IACFUnknown* iComponentDescriptor ) = 0;
46  virtual AAX_Result AddName ( const char *iPlugInName ) = 0;
47  virtual AAX_Result AddCategory ( uint32_t iCategory ) = 0;
48  virtual AAX_Result AddCategoryBypassParameter ( uint32_t iCategory, AAX_CParamID iParamID ) = 0;
49  virtual AAX_Result AddProcPtr ( void * iProcPtr, AAX_CProcPtrID iProcID ) = 0;
50  virtual AAX_Result SetProperties ( IACFUnknown * iProperties ) = 0;
51  virtual AAX_Result AddResourceInfo ( AAX_EResourceType iResourceType, const char * iInfo ) = 0;
52  virtual AAX_Result AddMeterDescription( AAX_CTypeID iMeterID, const char * iMeterName, IACFUnknown * iProperties ) = 0;
53 };
54 
60 {
61 public:
62  virtual AAX_Result AddControlMIDINode ( AAX_CTypeID iNodeID, AAX_EMIDINodeType iNodeType, const char iNodeName[], uint32_t iChannelMask ) = 0;
63 };
64 
65 #ifdef __clang__
66 #pragma clang diagnostic pop
67 #endif
68 
69 #endif // AAX_IACFEFFECTDESCRIPTOR_H
AAX_EMIDINodeType
MIDI node types.
Definition: AAX_Enums.h:613
Various utility definitions for AAX.
virtual AAX_Result AddProcPtr(void *iProcPtr, AAX_CProcPtrID iProcID)=0
Add a process pointer.
virtual AAX_Result AddName(const char *iPlugInName)=0
Add a name to the Effect.
Versioned interface for an AAX_IEffectDescriptor.
Definition: AAX_IACFEffectDescriptor.h:41
virtual AAX_Result AddComponent(IACFUnknown *iComponentDescriptor)=0
Add a component to an instance of a component descriptor.
virtual AAX_Result AddResourceInfo(AAX_EResourceType iResourceType, const char *iInfo)=0
Set resource file info.
AAX_CProcPtrID
Definition: AAX_Callbacks.h:32
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:117
virtual AAX_Result AddCategory(uint32_t iCategory)=0
Add a category to your plug-in. See AAX_EPlugInCategory.
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.dox:231
AAX_EResourceType
Types of resources that can be added to an Effect's description.
Definition: AAX_Enums.h:368
int32_t AAX_Result
Definition: AAX.h:118
AAX callback prototypes and ProcPtr definitions.
virtual AAX_Result AddControlMIDINode(AAX_CTypeID iNodeID, AAX_EMIDINodeType iNodeType, const char iNodeName[], uint32_t iChannelMask)=0
Add control MIDI node.
virtual AAX_Result AddMeterDescription(AAX_CTypeID iMeterID, const char *iMeterName, IACFUnknown *iProperties)=0
Add name and property map to meter with given ID.
virtual AAX_Result SetProperties(IACFUnknown *iProperties)=0
Set the properties of a new property map.
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:128
Versioned interface for an AAX_IEffectDescriptor.
Definition: AAX_IACFEffectDescriptor.h:59
virtual AAX_Result AddCategoryBypassParameter(uint32_t iCategory, AAX_CParamID iParamID)=0
Add a category to your plug-in. See AAX_EPlugInCategory.