\hypertarget{a02018}{}\doxysection{AAX\+\_\+\+IACFComponent\+Descriptor\+\_\+\+V2 Class Reference}
\label{a02018}\index{AAX\_IACFComponentDescriptor\_V2@{AAX\_IACFComponentDescriptor\_V2}}


{\ttfamily \#include $<$AAX\+\_\+\+IACFComponent\+Descriptor.\+h$>$}



Inheritance diagram for AAX\+\_\+\+IACFComponent\+Descriptor\+\_\+\+V2\+:
% FIG 0


Collaboration diagram for AAX\+\_\+\+IACFComponent\+Descriptor\+\_\+\+V2\+:
% FIG 1


\doxysubsection{Description}
Versioned description interface for an AAX plug-\/in algorithm callback. \doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02018_acbd4eb771c30fad8cf7a821941a7490e}{Add\+Temporary\+Data}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, uint32\+\_\+t in\+Data\+Element\+Size)=0
\begin{DoxyCompactList}\small\item\em Adds a block of data to a context that is not saved between callbacks and is scaled by the system buffer size.   \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a02014}{AAX\+\_\+\+IACFComponent\+Descriptor}}}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_ab93e4b968f3239326ac1046b64eab2f5}{Clear}} ()=0
\begin{DoxyCompactList}\small\item\em Clears the descriptor.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_aa81ce274471a76742e71d02bc3442253}{Add\+Reserved\+Field}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, uint32\+\_\+t in\+Field\+Type)=0
\begin{DoxyCompactList}\small\item\em Subscribes a context field to host-\/provided services or information.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_a81370dad377b30b3c5dec9ba0e9ad310}{Add\+Audio\+In}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index)=0
\begin{DoxyCompactList}\small\item\em Subscribes an audio input context field.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_a70e7e5c55208bcafd6b402eebf12aeb7}{Add\+Audio\+Out}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index)=0
\begin{DoxyCompactList}\small\item\em Subscribes an audio output context field.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_a38c2683ca133ca0863e4645afd27ab9f}{Add\+Audio\+Buffer\+Length}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index)=0
\begin{DoxyCompactList}\small\item\em Subscribes a buffer length context field.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_aa59e93b261ae1f4951ed84b55b70742e}{Add\+Sample\+Rate}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index)=0
\begin{DoxyCompactList}\small\item\em Subscribes a sample rate context field.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_af9864953ec953720b844e9ad57a2da14}{Add\+Clock}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index)=0
\begin{DoxyCompactList}\small\item\em Subscribes a clock context field.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_ac88f0100827278c2f9bfae2f74ae103f}{Add\+Side\+Chain\+In}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index)=0
\begin{DoxyCompactList}\small\item\em Subscribes a side-\/chain input context field.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_af15ea360a7e581ac796b95b473057dad}{Add\+Data\+In\+Port}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, uint32\+\_\+t in\+Packet\+Size, \mbox{\hyperlink{a00446_ab5677b173ad8647c24d34d28272d11fc}{AAX\+\_\+\+EData\+In\+Port\+Type}} in\+Port\+Type)=0
\begin{DoxyCompactList}\small\item\em Adds a custom data port to the algorithm context.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_a9207476186fa1b1fb361dd36b242e567}{Add\+Aux\+Output\+Stem}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, int32\+\_\+t in\+Stem\+Format, const char in\+Name\+UTF8\mbox{[}$\,$\mbox{]})=0
\begin{DoxyCompactList}\small\item\em Adds an auxiliary output stem for a plug-\/in.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_aaec556edd58fea7d4b6c404f7ce1f95c}{Add\+Private\+Data}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, int32\+\_\+t in\+Data\+Size, uint32\+\_\+t in\+Options=\mbox{\hyperlink{a00446_a9f1ef2cb64daf30eaf145dfbb8cd0d00a59458e9bf18919c51e59eb2fd6e84a9a}{AAX\+\_\+e\+Private\+Data\+Options\+\_\+\+Default\+Options}})=0
\begin{DoxyCompactList}\small\item\em Adds a private data port to the algorithm context.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_aed4d0748c59e03fe18b79b924f7dbaab}{Add\+Dma\+Instance}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, \mbox{\hyperlink{a02250_af8d0f19f2896dd6dbd126b919b24e39b}{AAX\+\_\+\+IDma\+::\+EMode}} in\+Dma\+Mode)=0
\begin{DoxyCompactList}\small\item\em Adds a DMA field to the plug-\/in\textquotesingle{}s context.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_a72b9908f5bbef7d5fb3d259b76861a82}{Add\+MIDINode}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, \mbox{\hyperlink{a00446_a5e1dffce35d05990dbbad651702678e4}{AAX\+\_\+\+EMIDINode\+Type}} in\+Node\+Type, const char in\+Node\+Name\mbox{[}$\,$\mbox{]}, uint32\+\_\+t channel\+Mask)=0
\begin{DoxyCompactList}\small\item\em Adds a MIDI node field to the plug-\/in\textquotesingle{}s context.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_a4acfd619cfbd35ffd0ff20ca67bda305}{Add\+Process\+Proc\+\_\+\+Native}} (\mbox{\hyperlink{a00779_ad6dd5e1aa5bd2f8462966685e3b26a6e}{AAX\+\_\+\+CProcess\+Proc}} in\+Process\+Proc, \mbox{\hyperlink{a01770}{IACFUnknown}} $\ast$in\+Properties, \mbox{\hyperlink{a00779_a3963a850079d3186e08c97a1a4d0ef1c}{AAX\+\_\+\+CInstance\+Init\+Proc}} in\+Instance\+Init\+Proc, \mbox{\hyperlink{a00779_aa64561d963284a3124a0821e7dc79c9a}{AAX\+\_\+\+CBackground\+Proc}} in\+Background\+Proc, \mbox{\hyperlink{a00542_aeaf9b387f902c50a8360ff423f4a1f23}{AAX\+\_\+\+CSelector}} $\ast$out\+Proc\+ID)=0
\begin{DoxyCompactList}\small\item\em Registers an algorithm processing entrypoint (process procedure) for the native architecture.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_adf549e7f348c670b79bdb5f283798db2}{Add\+Process\+Proc\+\_\+\+TI}} (const char in\+DLLFile\+Name\+UTF8\mbox{[}$\,$\mbox{]}, const char in\+Process\+Proc\+Symbol\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{a01770}{IACFUnknown}} $\ast$in\+Properties, const char in\+Instance\+Init\+Proc\+Symbol\mbox{[}$\,$\mbox{]}, const char in\+Background\+Proc\+Symbol\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{a00542_aeaf9b387f902c50a8360ff423f4a1f23}{AAX\+\_\+\+CSelector}} $\ast$out\+Proc\+ID)=0
\begin{DoxyCompactList}\small\item\em Registers an algorithm processing entrypoint (process procedure) for the native architecture.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02014_a6b7aec8153fb7243d62284ea504c5681}{Add\+Meters}} (\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, const \mbox{\hyperlink{a00542_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} $\ast$in\+Meter\+IDs, const uint32\+\_\+t in\+Meter\+Count)=0
\begin{DoxyCompactList}\small\item\em Adds a meter field to the plug-\/in\textquotesingle{}s context.   \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a01770}{IACFUnknown}}}
\begin{DoxyCompactItemize}
\item 
virtual BEGIN\+\_\+\+ACFINTERFACE ACFRESULT ACFMETHODCALLTYPE \mbox{\hyperlink{a01770_a8b7f0ae9c78d007ca76aa462ebe53135}{Query\+Interface}} (const \mbox{\hyperlink{a00308_a59df0b41744eee7a066787aaedf97f67}{acf\+IID}} \&iid, void $\ast$$\ast$pp\+Out)=0
\begin{DoxyCompactList}\small\item\em Returns pointers to supported interfaces. \end{DoxyCompactList}\item 
virtual acf\+UInt32 ACFMETHODCALLTYPE \mbox{\hyperlink{a01770_aa9c7a5b9dff341092b7b86bb9b3a58fb}{Add\+Ref}} (void)=0
\begin{DoxyCompactList}\small\item\em Increments reference count. \end{DoxyCompactList}\item 
virtual acf\+UInt32 ACFMETHODCALLTYPE \mbox{\hyperlink{a01770_afabd38cec0a9ed37f1d3e8644a70ac41}{Release}} (void)=0
\begin{DoxyCompactList}\small\item\em Decrements reference count. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a02018_acbd4eb771c30fad8cf7a821941a7490e}\label{a02018_acbd4eb771c30fad8cf7a821941a7490e}} 
\index{AAX\_IACFComponentDescriptor\_V2@{AAX\_IACFComponentDescriptor\_V2}!AddTemporaryData@{AddTemporaryData}}
\index{AddTemporaryData@{AddTemporaryData}!AAX\_IACFComponentDescriptor\_V2@{AAX\_IACFComponentDescriptor\_V2}}
\doxysubsubsection{\texorpdfstring{AddTemporaryData()}{AddTemporaryData()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFComponent\+Descriptor\+\_\+\+V2\+::\+Add\+Temporary\+Data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00542_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}}}]{in\+Field\+Index,  }\item[{uint32\+\_\+t}]{in\+Data\+Element\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Adds a block of data to a context that is not saved between callbacks and is scaled by the system buffer size.   

This can be very useful if you use block processing and need to store intermediate results. Just specify your base element size and the system will scale the overall block size by the buffer size. For example, to create a buffer of floats that is the length of the block, specify 4 bytes as the elementsize.

This data block does not retain state across callback and can also be reused across instances on memory contrained systems.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Field\+Index} & Unique identifier for the port, generated using \mbox{\hyperlink{a00542_acf807247ecd6e5899dc9dc31644e9a1d}{AAX\+\_\+\+FIELD\+\_\+\+INDEX}} \\
\hline
\mbox{\texttt{ in}}  & {\em in\+Data\+Element\+Size} & The size of a single piece of data in the block. This number will be multipied by the processing block size to determine total block size.   \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00632}{AAX\+\_\+\+IACFComponent\+Descriptor.\+h}}\end{DoxyCompactItemize}
