\hypertarget{a00596_source}{}\doxysection{AAX\+\_\+\+CHost\+Processor.\+h}
\label{a00596_source}\index{AAX\_CHostProcessor.h@{AAX\_CHostProcessor.h}}
\mbox{\hyperlink{a00596}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00002\ \textcolor{comment}{/*}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *\ \ Copyright\ 2013-\/2017,\ 2019,\ 2023\ Avid\ Technology,\ Inc.}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *\ \ All\ rights\ reserved.}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ \ }}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ \ CONFIDENTIAL:\ this\ document\ contains\ confidential\ information\ of\ Avid.\ Do}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *\ \ not\ disclose\ to\ any\ third\ party.\ Use\ of\ the\ information\ contained\ in\ this}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *\ \ document\ is\ subject\ to\ an\ Avid\ SDK\ license.}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00011\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00012\ }
\DoxyCodeLine{00019\ \textcolor{comment}{/*================================================================================================*/}}
\DoxyCodeLine{00020\ }
\DoxyCodeLine{00021\ }
\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#ifndef\ AAX\_CHOSTPROCESSOR\_H}}
\DoxyCodeLine{00023\ \textcolor{preprocessor}{\#define\ AAX\_CHOSTPROCESSOR\_H}}
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00025\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00494}{AAX\_IEffectParameters.h}}"{}}}
\DoxyCodeLine{00026\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{a00431}{AAX\_IHostProcessor.h}}"{}}}
\DoxyCodeLine{00027\ \textcolor{preprocessor}{\#include\ "{}ACFPtr.h"{}}}
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00029\ }
\DoxyCodeLine{00030\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02257}{AAX\_IHostProcessorDelegate}};}
\DoxyCodeLine{00031\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02201}{AAX\_IController}};}
\DoxyCodeLine{00032\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a02245}{AAX\_IEffectParameters}};}
\DoxyCodeLine{00033\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01757}{IACFUnknown}};}
\DoxyCodeLine{00034\ }
\DoxyCodeLine{00054\ \textcolor{keyword}{class\ }\mbox{\hyperlink{a01841}{AAX\_CHostProcessor}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{a02253}{AAX\_IHostProcessor}}}
\DoxyCodeLine{00055\ \{}
\DoxyCodeLine{00056\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00057\ \ \ \ \ \textcolor{comment}{/*\ default\ constructor\ */}\ \ \ \mbox{\hyperlink{a01841_ab9c80cadc9eee6d44713eac97d0a4e09}{AAX\_CHostProcessor}}\ (\textcolor{keywordtype}{void});}
\DoxyCodeLine{00058\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{comment}{/*\ destructor\ */}\ \ \ \ \mbox{\hyperlink{a01841_a292b055693eace03d45b3a550dbefa50}{\string~AAX\_CHostProcessor}}\ ();}
\DoxyCodeLine{00059\ \ \ \ \ }
\DoxyCodeLine{00069\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_afa9d83145a510fb3e37a4831b0f2b3c6}{Initialize}}(\mbox{\hyperlink{a01757}{IACFUnknown}}*\ iController)\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00072\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a0152f823c0f40fb55230ee4cde0dac68}{Uninitialize}}()\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00074\ \ \ \ \ }
\DoxyCodeLine{00117\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a8beff35a046a1b3c780b1ecc1ded7e6e}{InitOutputBounds}}\ (\ int64\_t\ iSrcStart,\ int64\_t\ iSrcEnd,\ int64\_t\ *\ oDstStart,\ int64\_t\ *\ oDstEnd\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00118\ \ \ \ \ }
\DoxyCodeLine{00132\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a35430586fa6800db61b6db563b73a6b1}{SetLocation}}\ (\ int64\_t\ iSample\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00133\ }
\DoxyCodeLine{00153\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_ac0db2ad67d5fc29dab0b548f937c079a}{RenderAudio}}\ (\ const\ \textcolor{keywordtype}{float}\ *\ const\ inAudioIns\ [],\ int32\_t\ inAudioInCount,\ \textcolor{keywordtype}{float}\ *\ const\ iAudioOuts\ [],\ int32\_t\ iAudioOutCount,\ int32\_t\ *\ ioWindowSize\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00154\ \ \ \ \ }
\DoxyCodeLine{00170\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a20a99c657e4d12f446e965c567fdd711}{PreRender}}\ (\ int32\_t\ inAudioInCount,\ int32\_t\ iAudioOutCount,\ int32\_t\ iWindowSize\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00171\ \ \ \ \ }
\DoxyCodeLine{00179\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a3421c97eb8c3fb4c1287021d688b4871}{PostRender}}\ ()\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00180\ }
\DoxyCodeLine{00198\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a2da61261e2d09dbafe37fa94ca39da07}{AnalyzeAudio}}\ (\ const\ \textcolor{keywordtype}{float}\ *\ const\ inAudioIns\ [],\ int32\_t\ inAudioInCount,\ int32\_t\ *\ ioWindowSize\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00199\ \ \ \ \ }
\DoxyCodeLine{00212\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a2d897ab355798ae80a8974f19fb454b4}{PreAnalyze}}\ (\ int32\_t\ inAudioInCount,\ int32\_t\ iWindowSize\ )\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00213\ \ \ \ \ }
\DoxyCodeLine{00223\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_afe000adf46a85258652a1da8e9cdf822}{PostAnalyze}}\ ()\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00236\ \ \ \ \ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a860f8ccf1035fff24513c20c206fc2c5}{GetClipNameSuffix}}\ (\ int32\_t\ inMaxLength,\ \mbox{\hyperlink{a02305}{AAX\_IString}}*\ outString\ )\ const\ \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\_OVERRIDE}};}
\DoxyCodeLine{00238\ \ \ \ \ }
\DoxyCodeLine{00239\ \ \ \ \ }
\DoxyCodeLine{00243\ \ \ \ \ \mbox{\hyperlink{a02245}{AAX\_IEffectParameters}}\ *\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a36d9c9cbd3cc034c6bacc0f8c2a6211c}{GetEffectParameters}}\ ()\ \{\ \textcolor{keywordflow}{return}\ mEffectParameters;\ \}}
\DoxyCodeLine{00244\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a02245}{AAX\_IEffectParameters}}\ *\ \ \ \ \ \ \mbox{\hyperlink{a01841_ada5abb46105bfa0e2376849b1f606621}{GetEffectParameters}}\ ()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mEffectParameters;\ \}}
\DoxyCodeLine{00245\ \ \ \ \ \mbox{\hyperlink{a02257}{AAX\_IHostProcessorDelegate}}*\ \ \ \ \ \ \ \mbox{\hyperlink{a01841_af5b20afdd7325c3bc4c19e5da6493dbc}{GetHostProcessorDelegate}}\ ()\ \{\ \textcolor{keywordflow}{return}\ mHostProcessingDelegate;\ \}}
\DoxyCodeLine{00246\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a02257}{AAX\_IHostProcessorDelegate}}*\ \ \ \ \ \mbox{\hyperlink{a01841_ae124e73164794002e9917cb1b37a0fbd}{GetHostProcessorDelegate}}\ ()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mHostProcessingDelegate;\ \}}
\DoxyCodeLine{00247\ \ \ \ \ }
\DoxyCodeLine{00256\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a8d554bfd981a41e180530bef2ebbf9e3}{GetLocation}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mLocation;\ \}}
\DoxyCodeLine{00257\ \ \ \ \ }
\DoxyCodeLine{00260\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a2b93d94600b7d356bba14e070b8b40a3}{GetInputRange}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ (mSrcEnd\ -\/\ mSrcStart);\ \}}
\DoxyCodeLine{00263\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a921f63ec72c167cb673582ca92f934b6}{GetOutputRange}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ (mDstEnd\ -\/\ mDstStart);\ \}}
\DoxyCodeLine{00267\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_aec4fa455a4e8ecccc245ce30b596c7b4}{GetSrcStart}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mSrcStart;\ \}}
\DoxyCodeLine{00271\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a455276e8b5eb54b8547e7e20fc9b19b8}{GetSrcEnd}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mSrcEnd;\ \}}
\DoxyCodeLine{00278\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_adaec35b42e103cf06f14b1b3e60cb47e}{GetDstStart}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mDstStart;\ \}}
\DoxyCodeLine{00285\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a282b1b5c2be4f4149458f1ec92950a32}{GetDstEnd}}()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mDstEnd;\ \}}
\DoxyCodeLine{00287\ \ \ \ \ }
\DoxyCodeLine{00288\ \textcolor{keyword}{protected}:}
\DoxyCodeLine{00311\ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a4d793e60071069e6f98c4d841d37ac96}{TranslateOutputBounds}}\ (\ int64\_t\ iSrcStart,\ int64\_t\ iSrcEnd,\ int64\_t\&\ oDstStart,\ int64\_t\&\ oDstEnd\ );}
\DoxyCodeLine{00312\ }
\DoxyCodeLine{00330\ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\_Result}}\ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a44b4889c96aeced88596cfbb9863eabe}{GetAudio}}\ (\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{float}\ *\ \textcolor{keyword}{const}\ inAudioIns\ [],\ int32\_t\ inAudioInCount,\ int64\_t\ inLocation,\ int32\_t\ *\ ioNumSamples\ );}
\DoxyCodeLine{00331\ }
\DoxyCodeLine{00336\ \ \ \ \ \textcolor{keyword}{virtual}\ int32\_t\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a55aeb268e1312ddba1989e37cace823f}{GetSideChainInputNum}}\ ();}
\DoxyCodeLine{00337\ \ \ \ \ }
\DoxyCodeLine{00338\ \ \ \ \ \textcolor{comment}{//\ Exterior\ Object\ Access}}
\DoxyCodeLine{00339\ \ \ \ \ \mbox{\hyperlink{a02201}{AAX\_IController}}*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_aaabded59d5053370e76ce8133cab4712}{Controller}}()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{\ \textcolor{keywordflow}{return}\ mController;\ \}}
\DoxyCodeLine{00340\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a02201}{AAX\_IController}}*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_aa3a7cece5c7d8e48998bfcd87976a1ca}{Controller}}()\textcolor{keyword}{\ const\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\{\ \textcolor{keywordflow}{return}\ mController;\ \}}
\DoxyCodeLine{00341\ \ \ \ \ \mbox{\hyperlink{a02257}{AAX\_IHostProcessorDelegate}}*\ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_acb65fc7fc00daa91e0b5d0c728fe3a56}{HostProcessorDelegate}}()\ \ \ \ \ \ \ \ \ \ \ \ \{\ \textcolor{keywordflow}{return}\ mHostProcessingDelegate;\ \}}
\DoxyCodeLine{00342\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a02257}{AAX\_IHostProcessorDelegate}}*\ \mbox{\hyperlink{a01841_a8b4dc5ec54319a70d3f6726edc7c4dad}{HostProcessorDelegate}}()\textcolor{keyword}{\ const\ \ }\{\ \textcolor{keywordflow}{return}\ mHostProcessingDelegate;\ \}}
\DoxyCodeLine{00343\ \ \ \ \ \mbox{\hyperlink{a02245}{AAX\_IEffectParameters}}*\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{a01841_ae2da7939d4e59e8e87e26a81a10b69c1}{EffectParameters}}()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \{\ \textcolor{keywordflow}{return}\ mEffectParameters;\ \}}
\DoxyCodeLine{00344\ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{a02245}{AAX\_IEffectParameters}}*\ \ \ \ \ \ \ \mbox{\hyperlink{a01841_a8d297db68193d86b45409bb459cb6718}{EffectParameters}}()\textcolor{keyword}{\ const\ \ \ \ \ \ \ \ }\{\ \textcolor{keywordflow}{return}\ mEffectParameters;\ \}}
\DoxyCodeLine{00346\ }
\DoxyCodeLine{00347\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00348\ \ \ \ \ \mbox{\hyperlink{a02201}{AAX\_IController}}*\ \ \ \ \ \ \ \ \ \ \ \ \ mController;}
\DoxyCodeLine{00349\ \ \ \ \ \mbox{\hyperlink{a02257}{AAX\_IHostProcessorDelegate}}*\ \ \ \ \ \ \ mHostProcessingDelegate;}
\DoxyCodeLine{00350\ \ \ \ \ \mbox{\hyperlink{a02245}{AAX\_IEffectParameters}}*\ \ \ \ \ \ \ \ \ mEffectParameters;}
\DoxyCodeLine{00351\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mSrcStart;}
\DoxyCodeLine{00352\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mSrcEnd;}
\DoxyCodeLine{00353\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mDstStart;}
\DoxyCodeLine{00354\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mDstEnd;\ \ \ \ }
\DoxyCodeLine{00355\ \ \ \ \ int64\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mLocation;\ }
\DoxyCodeLine{00356\ \ \ \ \ }
\DoxyCodeLine{00357\ \};}
\DoxyCodeLine{00358\ }
\DoxyCodeLine{00359\ }
\DoxyCodeLine{00360\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
