\hypertarget{a02373}{}\doxysection{AAX\+\_\+\+VHost\+Processor\+Delegate Class Reference}
\label{a02373}\index{AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}}


{\ttfamily \#include $<$AAX\+\_\+\+VHost\+Processor\+Delegate.\+h$>$}



Inheritance diagram for AAX\+\_\+\+VHost\+Processor\+Delegate\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=233pt]{a02372}
\end{center}
\end{figure}


Collaboration diagram for AAX\+\_\+\+VHost\+Processor\+Delegate\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=233pt]{a02371}
\end{center}
\end{figure}


\doxysubsection{Description}
Version-\/managed concrete \mbox{\hyperlink{a02257}{Host Processor delegate}} class. 

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a02373_ab50f9b08bc0d0ab6696ad3081aa790d8}{AAX\+\_\+\+VHost\+Processor\+Delegate}} (\mbox{\hyperlink{a01757}{IACFUnknown}} $\ast$p\+Unknown)
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02373_ab0d993a9b5f73d8fd82171da25e21018}{Get\+Audio}} (const float $\ast$const in\+Audio\+Ins\mbox{[}$\,$\mbox{]}, int32\+\_\+t in\+Audio\+In\+Count, int64\+\_\+t in\+Location, int32\+\_\+t $\ast$io\+Num\+Samples) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Randomly access audio from the timeline.   \end{DoxyCompactList}\item 
int32\+\_\+t \mbox{\hyperlink{a02373_a31d793b6a43eb642446f6149621bcdf9}{Get\+Side\+Chain\+Input\+Num}} () \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Returns the index of the side chain input buffer.   \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02373_aeb3eb18f1c9562a31173d600dad9b251}{Force\+Analyze}} () \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Request an analysis pass.   \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02373_a5e72699c0dafb133a2dfabf63ba8f56a}{Force\+Process}} () \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Request a process pass.   \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a02257}{AAX\+\_\+\+IHost\+Processor\+Delegate}}}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a02257_ad3a419f006b4a5dda335d5c3aa0f8d9f}{$\sim$\+AAX\+\_\+\+IHost\+Processor\+Delegate}} ()
\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02257_aa7d5eb30282956a40ed34acc5881298c}{Get\+Audio}} (const float $\ast$const in\+Audio\+Ins\mbox{[}$\,$\mbox{]}, int32\+\_\+t in\+Audio\+In\+Count, int64\+\_\+t in\+Location, int32\+\_\+t $\ast$io\+Num\+Samples)=0
\begin{DoxyCompactList}\small\item\em CALL\+: Randomly access audio from the timeline. \end{DoxyCompactList}\item 
virtual int32\+\_\+t \mbox{\hyperlink{a02257_aaf6821f08105fd949aa9e78f3a1f7f50}{Get\+Side\+Chain\+Input\+Num}} ()=0
\begin{DoxyCompactList}\small\item\em CALL\+: Returns the index of the side chain input buffer. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02257_a8ab521c8f0902707a8e8d67d7886d4f4}{Force\+Analyze}} ()=0
\begin{DoxyCompactList}\small\item\em CALL\+: Request an analysis pass. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02257_a09793675802a25886bc050cee4b9f843}{Force\+Process}} ()=0
\begin{DoxyCompactList}\small\item\em CALL\+: Request a process pass. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a02373_ab50f9b08bc0d0ab6696ad3081aa790d8}\label{a02373_ab50f9b08bc0d0ab6696ad3081aa790d8}} 
\index{AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}!AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}}
\index{AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}!AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}}
\doxysubsubsection{\texorpdfstring{AAX\_VHostProcessorDelegate()}{AAX\_VHostProcessorDelegate()}}
{\footnotesize\ttfamily AAX\+\_\+\+VHost\+Processor\+Delegate\+::\+AAX\+\_\+\+VHost\+Processor\+Delegate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a01757}{IACFUnknown}} $\ast$}]{p\+Unknown }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a02373_ab0d993a9b5f73d8fd82171da25e21018}\label{a02373_ab0d993a9b5f73d8fd82171da25e21018}} 
\index{AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}!GetAudio@{GetAudio}}
\index{GetAudio@{GetAudio}!AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}}
\doxysubsubsection{\texorpdfstring{GetAudio()}{GetAudio()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+VHost\+Processor\+Delegate\+::\+Get\+Audio (\begin{DoxyParamCaption}\item[{const float $\ast$const}]{in\+Audio\+Ins\mbox{[}$\,$\mbox{]},  }\item[{int32\+\_\+t}]{in\+Audio\+In\+Count,  }\item[{int64\+\_\+t}]{in\+Location,  }\item[{int32\+\_\+t $\ast$}]{io\+Num\+Samples }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Randomly access audio from the timeline.   

Called from within \mbox{\hyperlink{a02073_a8ede94912e89621bf6951042687c3c4a}{AAX\+\_\+\+IHost\+Processor\+::\+Render\+Audio()}}, this method fills a buffer of samples with randomly-\/accessed data from the current input processing region on the timeline, including any extra samples such as processing \char`\"{}handles\char`\"{}.

\begin{DoxyNote}{Note}
Plug-\/ins that use this feature must set \mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0dab0bbaabe0a03b37e5a69f04a6f306076}{AAX\+\_\+e\+Property\+\_\+\+Uses\+Random\+Access}} to {\ttfamily true} 

It is not possible to retrieve samples from outside of the current input processing region 

Always check the return value of this method before using the randomly-\/accessed samples
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Audio\+Ins} & Timeline audio buffer(s). This must be set to {\ttfamily in\+Audio\+Ins} from \mbox{\hyperlink{a02073_a8ede94912e89621bf6951042687c3c4a}{AAX\+\_\+\+IHost\+Processor\+::\+Render\+Audio()}}\\
\hline
\mbox{\texttt{ in}}  & {\em in\+Audio\+In\+Count} & Number of buffers in {\ttfamily in\+Audio\+Ins}. This must be set to {\ttfamily in\+Audio\+In\+Count} from \mbox{\hyperlink{a02073_a8ede94912e89621bf6951042687c3c4a}{AAX\+\_\+\+IHost\+Processor\+::\+Render\+Audio()}}\\
\hline
\mbox{\texttt{ in}}  & {\em in\+Location} & A sample location relative to the beginning of the currently processed region, e.\+g. a value of 0 corresponds to the timeline location returned by \mbox{\hyperlink{a01841_aec4fa455a4e8ecccc245ce30b596c7b4}{AAX\+\_\+\+CHost\+Processor\+::\+Get\+Src\+Start()}} \\
\hline
\mbox{\texttt{ in,out}}  & {\em io\+Num\+Samples} & \begin{DoxyItemize}
\item Input\+: The maximum number of samples to read. \item Output\+: The actual number of samples that were read from the timeline   \end{DoxyItemize}
\\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02257_aa7d5eb30282956a40ed34acc5881298c}{AAX\+\_\+\+IHost\+Processor\+Delegate}}.

\mbox{\Hypertarget{a02373_a31d793b6a43eb642446f6149621bcdf9}\label{a02373_a31d793b6a43eb642446f6149621bcdf9}} 
\index{AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}!GetSideChainInputNum@{GetSideChainInputNum}}
\index{GetSideChainInputNum@{GetSideChainInputNum}!AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}}
\doxysubsubsection{\texorpdfstring{GetSideChainInputNum()}{GetSideChainInputNum()}}
{\footnotesize\ttfamily int32\+\_\+t AAX\+\_\+\+VHost\+Processor\+Delegate\+::\+Get\+Side\+Chain\+Input\+Num (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Returns the index of the side chain input buffer.   

Called from within \mbox{\hyperlink{a02073_a8ede94912e89621bf6951042687c3c4a}{AAX\+\_\+\+IHost\+Processor\+::\+Render\+Audio()}}, this method returns the index of the side chain input sample buffer within {\ttfamily in\+Audio\+Ins}.   

Implements \mbox{\hyperlink{a02257_aaf6821f08105fd949aa9e78f3a1f7f50}{AAX\+\_\+\+IHost\+Processor\+Delegate}}.

\mbox{\Hypertarget{a02373_aeb3eb18f1c9562a31173d600dad9b251}\label{a02373_aeb3eb18f1c9562a31173d600dad9b251}} 
\index{AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}!ForceAnalyze@{ForceAnalyze}}
\index{ForceAnalyze@{ForceAnalyze}!AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}}
\doxysubsubsection{\texorpdfstring{ForceAnalyze()}{ForceAnalyze()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+VHost\+Processor\+Delegate\+::\+Force\+Analyze (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Request an analysis pass.   

Call this method to request an analysis pass from within the plug-\/in. Most plug-\/ins should rely on the host to trigger analysis passes when appropriate. However, plug-\/ins that require an analysis pass a) outside of the context of host-\/driven render or analysis, or b) when internal plug-\/in data changes may need to call {\ttfamily \mbox{\hyperlink{a02373_aeb3eb18f1c9562a31173d600dad9b251}{Force\+Analyze()}}}.   

Implements \mbox{\hyperlink{a02257_a8ab521c8f0902707a8e8d67d7886d4f4}{AAX\+\_\+\+IHost\+Processor\+Delegate}}.

\mbox{\Hypertarget{a02373_a5e72699c0dafb133a2dfabf63ba8f56a}\label{a02373_a5e72699c0dafb133a2dfabf63ba8f56a}} 
\index{AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}!ForceProcess@{ForceProcess}}
\index{ForceProcess@{ForceProcess}!AAX\_VHostProcessorDelegate@{AAX\_VHostProcessorDelegate}}
\doxysubsubsection{\texorpdfstring{ForceProcess()}{ForceProcess()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+VHost\+Processor\+Delegate\+::\+Force\+Process (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Request a process pass.   

Call this method to request a process pass from within the plug-\/in. If \mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0da925c49bb79454b33bf1d5f4cb09d373f}{AAX\+\_\+e\+Property\+\_\+\+Requires\+Analysis}} is defined, the resulting process pass will be preceded by an analysis pass. This method should only be used in rare circumstances by plug-\/ins that must launch processing outside of the normal host Audio\+Suite workflow.   

Implements \mbox{\hyperlink{a02257_a09793675802a25886bc050cee4b9f843}{AAX\+\_\+\+IHost\+Processor\+Delegate}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00746}{AAX\+\_\+\+VHost\+Processor\+Delegate.\+h}}\end{DoxyCompactItemize}
