ASPiK SDK
AAXPluginDescribe.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ASPiK AAX Shell File: aaxplugindescribe.h
3 //
19 // -----------------------------------------------------------------------------
20 #include "AAX.h"
21 #include "AAXPluginParameters.h"
22 
38 const AAX_CTypeID kPluginCore_PlugInID_Native_Mono = 'PCMR';
40 const AAX_CTypeID kPluginCore_PlugInID_Native_Stereo = 'PCST';
41 const AAX_CTypeID kPluginCore_PlugInID_Native_LCR = 'PCcR';
42 const AAX_CTypeID kPluginCore_PlugInID_Native_QUAD = 'PCQa';
43 const AAX_CTypeID kPluginCore_PlugInID_Native_LCRS = 'PCRs';
44 const AAX_CTypeID kPluginCore_PlugInID_Native_5_0 = 'PC50';
45 const AAX_CTypeID kPluginCore_PlugInID_Native_5_1 = 'PC51';
46 const AAX_CTypeID kPluginCore_PlugInID_Native_6_0 = 'PC60';
47 const AAX_CTypeID kPluginCore_PlugInID_Native_6_1 = 'PC61';
48 const AAX_CTypeID kPluginCore_PlugInID_Native_7_0_SDDS = 'PC0R';
49 const AAX_CTypeID kPluginCore_PlugInID_Native_7_1_SDDS = 'PC1R';
50 const AAX_CTypeID kPluginCore_PlugInID_Native_7_0_DTS = 'PC0r';
51 const AAX_CTypeID kPluginCore_PlugInID_Native_7_1_DTS = 'PC1r';
52 const AAX_CTypeID kPluginCore_PlugInID_Native_7_1_2 = 'PC12';
53 
54 
55 
56 class AAX_ICollection;
57 class AAX_IEffectDescriptor;
58 class AAX_IComponentDescriptor;
59 
67 void DescribeAlgComponent(AAX_EStemFormat inStemFormat, AAX_IComponentDescriptor& outDesc, AAX_EStemFormat outStemFormat, PluginCore* plugin);
68 
76 AAX_Result GetASPiKPlugInDescription(AAX_IEffectDescriptor & outDescriptor, PluginCore* plugin);
77 
85 AAX_Result GetEffectDescriptions(AAX_ICollection * outDescriptions);
86 
97 inline AAX_EStemFormat getAAXStemFormatForChannelFormat(uint32_t format)
98 {
99  switch(format)
100  {
101  case kCFNone: {
102  return AAX_eStemFormat_None; }
103 
104  case kCFMono: {
105  return AAX_eStemFormat_Mono; }
106 
107  case kCFStereo: {
108  return AAX_eStemFormat_Stereo; }
109 
110  case kCFLCR: {
111  return AAX_eStemFormat_LCR; }
112 
113  case kCFLCRS: {
114  return AAX_eStemFormat_LCRS; }
115 
116  case kCFQuad: {
117  return AAX_eStemFormat_Quad; }
118 
119  case kCF5p0: {
120  return AAX_eStemFormat_5_0; }
121 
122  case kCF5p1: {
123  return AAX_eStemFormat_5_1; }
124 
125  case kCF6p0: {
126  return AAX_eStemFormat_6_0; }
127 
128  case kCF6p1: {
129  return AAX_eStemFormat_6_1; }
130 
131  case kCF7p0Sony: {
132  return AAX_eStemFormat_7_0_SDDS; }
133 
134  case kCF7p0DTS: {
135  return AAX_eStemFormat_7_0_DTS; }
136 
137  case kCF7p1Sony: {
138  return AAX_eStemFormat_7_1_SDDS; }
139 
140  case kCF7p1DTS: {
141  return AAX_eStemFormat_7_1_DTS; }
142 
143  case kCF7p1Proximity: {
144  return AAX_eStemFormat_7_1_2; }
145 
146  default: {
147  return AAX_eStemFormat_None; }
148  }
149  return AAX_eStemFormat_None;
150 }
const AAX_CTypeID kPluginCore_PlugInID_Native_7_0_DTS
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:50
const AAX_CTypeID kPluginCore_PlugInID_Native_5_1
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:45
const AAX_CTypeID kPluginCore_PlugInID_Native_Stereo
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:40
const AAX_CTypeID kPluginCore_PlugInID_Native_LCRS
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:43
AAX_EStemFormat getAAXStemFormatForChannelFormat(uint32_t format)
convert an ASPiK channel format enumeration into an AAX_EStemFormat version
Definition: AAXPluginDescribe.h:97
AAX_Result GetASPiKPlugInDescription(AAX_IEffectDescriptor &outDescriptor, PluginCore *plugin)
setup channel I/O algorithms and other core-specific stuff
Definition: AAXPluginDescribe.cpp:214
const AAX_CTypeID kPluginCore_PlugInID_Native_7_1_2
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:52
const AAX_CTypeID kPluginCore_PlugInID_Native_5_0
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:44
const AAX_CTypeID kPluginCore_PlugInID_Native_6_0
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:46
const AAX_CTypeID kPluginCore_PlugInID_Native_LCR
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:41
const AAX_CTypeID kPluginCore_PlugInID_Native_QUAD
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:42
const AAX_CTypeID kPluginCore_PlugInID_Native_7_0_SDDS
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:48
const AAX_CTypeID kPluginCore_PlugInID_Native_MonoIn_StereoOut
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:39
const AAX_CTypeID kPluginCore_PlugInID_Native_6_1
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:47
void DescribeAlgComponent(AAX_EStemFormat inStemFormat, AAX_IComponentDescriptor &outDesc, AAX_EStemFormat outStemFormat, PluginCore *plugin)
one of two parts of the static AAX Parameters declaration; this is detailed in the book source below...
Definition: AAXPluginDescribe.cpp:43
The PluginCore object is the default PluginBase derived object for ASPiK projects. Note that you are fre to change the name of this object (as long as you change it in the compiler settings, etc...)
Definition: plugincore.h:43
const AAX_CTypeID kPluginCore_PlugInID_Native_7_1_SDDS
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:49
const AAX_CTypeID kPluginCore_PlugInID_Native_7_1_DTS
AAX_CTypeID channel I/O constant.
Definition: AAXPluginDescribe.h:51
const AAX_CTypeID kPluginCore_PlugInID_Native_Mono
AAX_CTypeID constants for channel enumerations.
Definition: AAXPluginDescribe.h:38
AAX_Result GetEffectDescriptions(AAX_ICollection *outDescriptions)
one of two parts of the static AAX Parameters declaration; this is detailed in the book source below...
Definition: AAXPluginDescribe.cpp:278
interface file for the AAXPluginParameters object; this code is based heavily off of the monolithic p...