\hypertarget{a02009}{}\doxysection{AAX\+\_\+\+IACFController Class Reference}
\label{a02009}\index{AAX\_IACFController@{AAX\_IACFController}}


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



Inheritance diagram for AAX\+\_\+\+IACFController\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=205pt]{a02008}
\end{center}
\end{figure}


Collaboration diagram for AAX\+\_\+\+IACFController\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=187pt]{a02007}
\end{center}
\end{figure}


\doxysubsection{Description}
Interface for the AAX host\textquotesingle{}s view of a single instance of an effect. Used by both clients of the AAXHost and by effect components. \doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_ae1ccab17cf8b38ab415a7f097cb7d683}{Get\+Effect\+ID}} (\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$out\+Effect\+ID) const =0
\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_a434883281a90e7bfa7cfe20d941bfa9a}{Get\+Sample\+Rate}} (\mbox{\hyperlink{a00533_a3d9eea08f47e0b0a23432e15baa4e885}{AAX\+\_\+\+CSample\+Rate}} $\ast$out\+Sample\+Rate) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Returns the current literal sample rate.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_ae2bdea915b0d7165afd000deb9d4defc}{Get\+Input\+Stem\+Format}} (\mbox{\hyperlink{a00443_ad8af5ef008b2bd478add9a0acb0a1d85}{AAX\+\_\+\+EStem\+Format}} $\ast$out\+Stem\+Format) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Returns the plug-\/in\textquotesingle{}s input stem format.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_a7d2a011577cf27d9e79f7537aa279bcb}{Get\+Output\+Stem\+Format}} (\mbox{\hyperlink{a00443_ad8af5ef008b2bd478add9a0acb0a1d85}{AAX\+\_\+\+EStem\+Format}} $\ast$out\+Stem\+Format) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Returns the plug-\/in\textquotesingle{}s output stem format.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_ae4a19f971e0884aee6802ef0b3e0a020}{Get\+Signal\+Latency}} (int32\+\_\+t $\ast$out\+Samples) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Returns the most recent signal (algorithmic) latency that has been published by the plug-\/in.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_a37c235cb6a27eab95686a009edeffabe}{Get\+Cycle\+Count}} (\mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0d}{AAX\+\_\+\+EProperty}} in\+Which\+Cycle\+Count, \mbox{\hyperlink{a00533_ab247c0d8686c14e05cbb567ef276f249}{AAX\+\_\+\+CProperty\+Value}} $\ast$out\+Num\+Cycles) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: returns the plug-\/in\textquotesingle{}s current real-\/time DSP cycle count.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_af34fa72c0e4043d5746adcf54e2299d7}{Get\+TODLocation}} (\mbox{\hyperlink{a00533_a46542a1dcccdcc3b4260a9926edf8a2a}{AAX\+\_\+\+CTime\+Of\+Day}} $\ast$out\+TODLocation) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Returns the current Time Of Day (TOD) of the system.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_aee931a52f15789d1b6a4e78cfd4f4961}{Set\+Signal\+Latency}} (int32\+\_\+t in\+Num\+Samples)=0
\begin{DoxyCompactList}\small\item\em CALL\+: Submits a request to change the delay compensation value that the host uses to account for the plug-\/in\textquotesingle{}s signal (algorithmic) latency.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_a452f047d471518a0ff5221887fd387df}{Set\+Cycle\+Count}} (\mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0d}{AAX\+\_\+\+EProperty}} $\ast$in\+Which\+Cycle\+Counts, \mbox{\hyperlink{a00533_ab247c0d8686c14e05cbb567ef276f249}{AAX\+\_\+\+CProperty\+Value}} $\ast$i\+Values, int32\+\_\+t num\+Values)=0
\begin{DoxyCompactList}\small\item\em CALL\+: Indicates a change in the plug-\/in\textquotesingle{}s real-\/time DSP cycle count.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_a5bb3178980788c00cc2fe17729b5bf7b}{Post\+Packet}} (\mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, const void $\ast$in\+PayloadP, uint32\+\_\+t in\+Payload\+Size)=0
\begin{DoxyCompactList}\small\item\em CALL\+: Posts a data packet to the host for routing between plug-\/in components.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_a2010fae8eb08f24156ae2fc4a3698c9a}{Get\+Current\+Meter\+Value}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} in\+Meter\+ID, float $\ast$out\+Meter\+Value) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the current value of a host-\/managed plug-\/in meter.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_aec42969d56720ac54290250bc45f89fb}{Get\+Meter\+Peak\+Value}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} in\+Meter\+ID, float $\ast$out\+Meter\+Peak\+Value) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the currently held peak value of a host-\/managed plug-\/in meter.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_ae2bc5026d16796a8cb4294f1805302bc}{Clear\+Meter\+Peak\+Value}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} in\+Meter\+ID) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Clears the peak value from a host-\/managed plug-\/in meter.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_a69fa28a0887223cce230d8380945ecb5}{Get\+Meter\+Clipped}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} in\+Meter\+ID, \mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} $\ast$out\+Clipped) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the clipped flag from a host-\/managed plug-\/in meter.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_a93d824d7415416028b2a7d5561deab58}{Clear\+Meter\+Clipped}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} in\+Meter\+ID) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Clears the clipped flag from a host-\/managed plug-\/in meter.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_aaf316786f9f280cd5711848eeeec3d99}{Get\+Meter\+Count}} (uint32\+\_\+t $\ast$out\+Meter\+Count) const =0
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the number of host-\/managed meters registered by a plug-\/in.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02009_a6a5c0cdfbe314476bdfd15caaee8d010}{Get\+Next\+MIDIPacket}} (\mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} $\ast$out\+Port, \mbox{\hyperlink{a01777}{AAX\+\_\+\+CMidi\+Packet}} $\ast$out\+Packet)=0
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves MIDI packets for described MIDI nodes.   \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a01757}{IACFUnknown}}}
\begin{DoxyCompactItemize}
\item 
virtual BEGIN\+\_\+\+ACFINTERFACE ACFRESULT ACFMETHODCALLTYPE \mbox{\hyperlink{a01757_a8b7f0ae9c78d007ca76aa462ebe53135}{Query\+Interface}} (const \mbox{\hyperlink{a00305_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{a01757_aa9c7a5b9dff341092b7b86bb9b3a58fb}{Add\+Ref}} (void)=0
\begin{DoxyCompactList}\small\item\em Increments reference count. \end{DoxyCompactList}\item 
virtual acf\+UInt32 ACFMETHODCALLTYPE \mbox{\hyperlink{a01757_afabd38cec0a9ed37f1d3e8644a70ac41}{Release}} (void)=0
\begin{DoxyCompactList}\small\item\em Decrements reference count. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a02009_ae1ccab17cf8b38ab415a7f097cb7d683}\label{a02009_ae1ccab17cf8b38ab415a7f097cb7d683}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetEffectID@{GetEffectID}}
\index{GetEffectID@{GetEffectID}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetEffectID()}{GetEffectID()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Effect\+ID (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$}]{out\+Effect\+ID }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}





\mbox{\Hypertarget{a02009_a434883281a90e7bfa7cfe20d941bfa9a}\label{a02009_a434883281a90e7bfa7cfe20d941bfa9a}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetSampleRate@{GetSampleRate}}
\index{GetSampleRate@{GetSampleRate}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetSampleRate()}{GetSampleRate()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Sample\+Rate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a3d9eea08f47e0b0a23432e15baa4e885}{AAX\+\_\+\+CSample\+Rate}} $\ast$}]{out\+Sample\+Rate }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Returns the current literal sample rate.   


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out\+Sample\+Rate} & The current sample rate   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_ae2bdea915b0d7165afd000deb9d4defc}\label{a02009_ae2bdea915b0d7165afd000deb9d4defc}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetInputStemFormat@{GetInputStemFormat}}
\index{GetInputStemFormat@{GetInputStemFormat}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetInputStemFormat()}{GetInputStemFormat()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Input\+Stem\+Format (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00443_ad8af5ef008b2bd478add9a0acb0a1d85}{AAX\+\_\+\+EStem\+Format}} $\ast$}]{out\+Stem\+Format }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Returns the plug-\/in\textquotesingle{}s input stem format.   


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out\+Stem\+Format} & The current input stem format   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_a7d2a011577cf27d9e79f7537aa279bcb}\label{a02009_a7d2a011577cf27d9e79f7537aa279bcb}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetOutputStemFormat@{GetOutputStemFormat}}
\index{GetOutputStemFormat@{GetOutputStemFormat}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetOutputStemFormat()}{GetOutputStemFormat()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Output\+Stem\+Format (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00443_ad8af5ef008b2bd478add9a0acb0a1d85}{AAX\+\_\+\+EStem\+Format}} $\ast$}]{out\+Stem\+Format }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Returns the plug-\/in\textquotesingle{}s output stem format.   


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out\+Stem\+Format} & The current output stem format   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_ae4a19f971e0884aee6802ef0b3e0a020}\label{a02009_ae4a19f971e0884aee6802ef0b3e0a020}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetSignalLatency@{GetSignalLatency}}
\index{GetSignalLatency@{GetSignalLatency}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetSignalLatency()}{GetSignalLatency()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Signal\+Latency (\begin{DoxyParamCaption}\item[{int32\+\_\+t $\ast$}]{out\+Samples }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Returns the most recent signal (algorithmic) latency that has been published by the plug-\/in.   

This method provides the most recently published signal latency. The host may not have updated its delay compensation to match this signal latency yet, so plug-\/ins that dynamically change their latency using \mbox{\hyperlink{a02201_af2c648879419d94971c1308d8698601f}{Set\+Signal\+Latency()}} should always wait for an \mbox{\hyperlink{a00443_afab5ea2cfd731fc8f163b6caa685406ea06ab4b075ecb523d0dde3ec19b76a756}{AAX\+\_\+e\+Notification\+Event\+\_\+\+Signal\+Latency\+Changed}} notification before updating its algorithm to incur this latency.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a02201_af2c648879419d94971c1308d8698601f}{Set\+Signal\+Latency()}}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out\+Samples} & The number of samples of signal delay published by the plug-\/in   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_a37c235cb6a27eab95686a009edeffabe}\label{a02009_a37c235cb6a27eab95686a009edeffabe}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetCycleCount@{GetCycleCount}}
\index{GetCycleCount@{GetCycleCount}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetCycleCount()}{GetCycleCount()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Cycle\+Count (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0d}{AAX\+\_\+\+EProperty}}}]{in\+Which\+Cycle\+Count,  }\item[{\mbox{\hyperlink{a00533_ab247c0d8686c14e05cbb567ef276f249}{AAX\+\_\+\+CProperty\+Value}} $\ast$}]{out\+Num\+Cycles }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: returns the plug-\/in\textquotesingle{}s current real-\/time DSP cycle count.   

This method provides the number of cycles that the AAX host expects the DSP plug-\/in to consume. The host uses this value when allocating DSP resources for the plug-\/in.

\begin{DoxyNote}{Note}
A plug-\/in should never apply a DSP algorithm with more demanding resource requirements than what is currently accounted for by the host. To set a higher cycle count value, a plug-\/in must call \mbox{\hyperlink{a02201_a1a654f682357d48bafd506cbbea2ae25}{AAX\+\_\+\+IController\+::\+Set\+Cycle\+Count()}}, then poll \mbox{\hyperlink{a02201_a26e009667f9cd6c3cccd45b862108bf4}{AAX\+\_\+\+IController\+::\+Get\+Cycle\+Count()}} until the new value has been applied. Once the host has recognized the new cycle count value, the plug-\/in may apply the more demanding algorithm.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Which\+Cycle\+Count} & Selector for the requested cycle count metric. One of\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0da3e5b289333ba49f5a33de40d89fa4ade}{AAX\+\_\+e\+Property\+\_\+\+TI\+\_\+\+Shared\+Cycle\+Count}} \item \mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0da5d8e5be9f3698a9c67a578c29da66405}{AAX\+\_\+e\+Property\+\_\+\+TI\+\_\+\+Instance\+Cycle\+Count}} \item \mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0da5b85e213113b7f0f7ee4bac4f5eaa59d}{AAX\+\_\+e\+Property\+\_\+\+TI\+\_\+\+Max\+Instances\+Per\+Chip}} \end{DoxyItemize}
\\
\hline
\mbox{\texttt{ in}}  & {\em out\+Num\+Cycles} & The current value of the selected cycle count metric\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000046}{Todo}}]PLACEHOLDER -\/ NOT CURRENTLY IMPLEMENTED IN HOST \end{DoxyRefDesc}
\mbox{\Hypertarget{a02009_af34fa72c0e4043d5746adcf54e2299d7}\label{a02009_af34fa72c0e4043d5746adcf54e2299d7}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetTODLocation@{GetTODLocation}}
\index{GetTODLocation@{GetTODLocation}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetTODLocation()}{GetTODLocation()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+TODLocation (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a46542a1dcccdcc3b4260a9926edf8a2a}{AAX\+\_\+\+CTime\+Of\+Day}} $\ast$}]{out\+TODLocation }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Returns the current Time Of Day (TOD) of the system.   

This method provides a plug-\/in the TOD (in samples) of the current system. TOD is the number of samples that the playhead has traversed since the beginning of playback.

\begin{DoxyNote}{Note}
The TOD value is the immediate value of the audio engine playhead. This value is incremented within the audio engine\textquotesingle{}s real-\/time rendering context; it is not synchronized with non-\/real-\/time calls to plug-\/in interface methods.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out\+TODLocation} & The current Time Of Day as set by the host   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_aee931a52f15789d1b6a4e78cfd4f4961}\label{a02009_aee931a52f15789d1b6a4e78cfd4f4961}} 
\index{AAX\_IACFController@{AAX\_IACFController}!SetSignalLatency@{SetSignalLatency}}
\index{SetSignalLatency@{SetSignalLatency}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{SetSignalLatency()}{SetSignalLatency()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Set\+Signal\+Latency (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{in\+Num\+Samples }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Submits a request to change the delay compensation value that the host uses to account for the plug-\/in\textquotesingle{}s signal (algorithmic) latency.   

This method is used to request a change in the number of samples that the AAX host expects the plug-\/in to delay a signal.

The host is not guaranteed to immediately apply the new latency value. A plug-\/in should avoid incurring an actual algorithmic latency that is different than the latency accounted for by the host.

To set a new latency value, a plug-\/in must call \mbox{\hyperlink{a02201_af2c648879419d94971c1308d8698601f}{AAX\+\_\+\+IController\+::\+Set\+Signal\+Latency()}}, then wait for an \mbox{\hyperlink{a00443_afab5ea2cfd731fc8f163b6caa685406ea06ab4b075ecb523d0dde3ec19b76a756}{AAX\+\_\+e\+Notification\+Event\+\_\+\+Signal\+Latency\+Changed}} notification. Once this notification has been received, \mbox{\hyperlink{a02201_ad50aa6fd54e39623a58debd63d9551e1}{AAX\+\_\+\+IController\+::\+Get\+Signal\+Latency()}} will reflect the updated latency value and the plug-\/in should immediately apply any relevant algorithmic changes that alter its latency to this new value.

\begin{DoxyWarning}{Warning}
Parameters which affect the latency of a plug-\/in should not be made available for control through automation. This will result in audible glitches when delay compensation is adjusted while playing back automation for these parameters.
\end{DoxyWarning}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Num\+Samples} & The number of samples of signal delay that the plug-\/in requests to incur   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_a452f047d471518a0ff5221887fd387df}\label{a02009_a452f047d471518a0ff5221887fd387df}} 
\index{AAX\_IACFController@{AAX\_IACFController}!SetCycleCount@{SetCycleCount}}
\index{SetCycleCount@{SetCycleCount}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{SetCycleCount()}{SetCycleCount()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Set\+Cycle\+Count (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0d}{AAX\+\_\+\+EProperty}} $\ast$}]{in\+Which\+Cycle\+Counts,  }\item[{\mbox{\hyperlink{a00533_ab247c0d8686c14e05cbb567ef276f249}{AAX\+\_\+\+CProperty\+Value}} $\ast$}]{i\+Values,  }\item[{int32\+\_\+t}]{num\+Values }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Indicates a change in the plug-\/in\textquotesingle{}s real-\/time DSP cycle count.   

This method is used to request a change in the number of cycles that the AAX host expects the DSP plug-\/in to consume.

\begin{DoxyNote}{Note}
A plug-\/in should never apply a DSP algorithm with more demanding resource requirements than what is currently accounted for by the host. To set a higher cycle count value, a plug-\/in must call \mbox{\hyperlink{a02201_a1a654f682357d48bafd506cbbea2ae25}{AAX\+\_\+\+IController\+::\+Set\+Cycle\+Count()}}, then poll \mbox{\hyperlink{a02201_a26e009667f9cd6c3cccd45b862108bf4}{AAX\+\_\+\+IController\+::\+Get\+Cycle\+Count()}} until the new value has been applied. Once the host has recognized the new cycle count value, the plug-\/in may apply the more demanding algorithm.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Which\+Cycle\+Counts} & Array of selectors indicating the specific cycle count metrics that should be set. Each selector must be one of\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0da3e5b289333ba49f5a33de40d89fa4ade}{AAX\+\_\+e\+Property\+\_\+\+TI\+\_\+\+Shared\+Cycle\+Count}} \item \mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0da5d8e5be9f3698a9c67a578c29da66405}{AAX\+\_\+e\+Property\+\_\+\+TI\+\_\+\+Instance\+Cycle\+Count}} \item \mbox{\hyperlink{a00599_a13e384f22825afd3db6d68395b79ce0da5b85e213113b7f0f7ee4bac4f5eaa59d}{AAX\+\_\+e\+Property\+\_\+\+TI\+\_\+\+Max\+Instances\+Per\+Chip}} \end{DoxyItemize}
\\
\hline
\mbox{\texttt{ in}}  & {\em i\+Values} & An array of values requested, one for each of the selected cycle count metrics. \\
\hline
\mbox{\texttt{ in}}  & {\em num\+Values} & The size of {\ttfamily i\+Values} \\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000047}{Todo}}]PLACEHOLDER -\/ NOT CURRENTLY IMPLEMENTED IN HOST \end{DoxyRefDesc}
\mbox{\Hypertarget{a02009_a5bb3178980788c00cc2fe17729b5bf7b}\label{a02009_a5bb3178980788c00cc2fe17729b5bf7b}} 
\index{AAX\_IACFController@{AAX\_IACFController}!PostPacket@{PostPacket}}
\index{PostPacket@{PostPacket}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{PostPacket()}{PostPacket()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Post\+Packet (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}}}]{in\+Field\+Index,  }\item[{const void $\ast$}]{in\+PayloadP,  }\item[{uint32\+\_\+t}]{in\+Payload\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Posts a data packet to the host for routing between plug-\/in components.   

The posted packet is identified with a \mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} packet index value, which is equivalent to the target data port\textquotesingle{}s identifier. The packet\textquotesingle{}s payload must have the expected size for the given packet index / data port, as defined when the port is created in \mbox{\hyperlink{a00877}{Describe}}. See \mbox{\hyperlink{a02193_a230293b9f6bb413626cd487ca501df75}{AAX\+\_\+\+IComponent\+Descriptor\+::\+Add\+Data\+In\+Port()}}.

\begin{DoxyWarning}{Warning}
Any data structures that will be passed between platforms (for example, sent to a TI DSP in an AAX DSP plug-\/in) must be properly data-\/aligned for compatibility across both platforms. See \mbox{\hyperlink{a00533_a8fbeac3c5db5ac694e85a021ed74dc9e}{AAX\+\_\+\+ALIGN\+\_\+\+FILE\+\_\+\+ALG}} for more information about guaranteeing cross-\/platform compatibility of data structures used for algorithm processing.
\end{DoxyWarning}
\begin{DoxyNote}{Note}
All calls to this method should be made within the scope of \mbox{\hyperlink{a02049_a083265b008921b6114ede387711694b7}{AAX\+\_\+\+IEffect\+Parameters\+::\+Generate\+Coefficients()}}. Calls from outside this method may result in packets not being delivered. See \mbox{\hyperlink{a00929_PT-206161}{PT-\/206161}}
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Field\+Index} & The packet\textquotesingle{}s destination port \\
\hline
\mbox{\texttt{ in}}  & {\em in\+PayloadP} & A pointer to the packet\textquotesingle{}s payload data \\
\hline
\mbox{\texttt{ in}}  & {\em in\+Payload\+Size} & The size, in bytes, of the payload data   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_a2010fae8eb08f24156ae2fc4a3698c9a}\label{a02009_a2010fae8eb08f24156ae2fc4a3698c9a}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetCurrentMeterValue@{GetCurrentMeterValue}}
\index{GetCurrentMeterValue@{GetCurrentMeterValue}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetCurrentMeterValue()}{GetCurrentMeterValue()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Current\+Meter\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{in\+Meter\+ID,  }\item[{float $\ast$}]{out\+Meter\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Retrieves the current value of a host-\/managed plug-\/in meter.   


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Meter\+ID} & ID of the meter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em out\+Meter\+Value} & The queried meter\textquotesingle{}s current value   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_aec42969d56720ac54290250bc45f89fb}\label{a02009_aec42969d56720ac54290250bc45f89fb}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetMeterPeakValue@{GetMeterPeakValue}}
\index{GetMeterPeakValue@{GetMeterPeakValue}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetMeterPeakValue()}{GetMeterPeakValue()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Meter\+Peak\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{in\+Meter\+ID,  }\item[{float $\ast$}]{out\+Meter\+Peak\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Retrieves the currently held peak value of a host-\/managed plug-\/in meter.   


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Meter\+ID} & ID of the meter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em out\+Meter\+Peak\+Value} & The queried meter\textquotesingle{}s currently held peak value   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_ae2bc5026d16796a8cb4294f1805302bc}\label{a02009_ae2bc5026d16796a8cb4294f1805302bc}} 
\index{AAX\_IACFController@{AAX\_IACFController}!ClearMeterPeakValue@{ClearMeterPeakValue}}
\index{ClearMeterPeakValue@{ClearMeterPeakValue}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{ClearMeterPeakValue()}{ClearMeterPeakValue()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Clear\+Meter\+Peak\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{in\+Meter\+ID }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Clears the peak value from a host-\/managed plug-\/in meter.   


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Meter\+ID} & ID of the meter that is being cleared   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_a69fa28a0887223cce230d8380945ecb5}\label{a02009_a69fa28a0887223cce230d8380945ecb5}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetMeterClipped@{GetMeterClipped}}
\index{GetMeterClipped@{GetMeterClipped}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetMeterClipped()}{GetMeterClipped()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Meter\+Clipped (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{in\+Meter\+ID,  }\item[{\mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} $\ast$}]{out\+Clipped }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Retrieves the clipped flag from a host-\/managed plug-\/in meter.   

See \mbox{\hyperlink{a02193_a5e4a61afa3d6510891e16d7179bdaa64}{AAX\+\_\+\+IComponent\+Descriptor\+::\+Add\+Meters()}}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Meter\+ID} & ID of the meter that is being queried. \\
\hline
\mbox{\texttt{ out}}  & {\em out\+Clipped} & The queried meter\textquotesingle{}s clipped flag.   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_a93d824d7415416028b2a7d5561deab58}\label{a02009_a93d824d7415416028b2a7d5561deab58}} 
\index{AAX\_IACFController@{AAX\_IACFController}!ClearMeterClipped@{ClearMeterClipped}}
\index{ClearMeterClipped@{ClearMeterClipped}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{ClearMeterClipped()}{ClearMeterClipped()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Clear\+Meter\+Clipped (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{in\+Meter\+ID }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Clears the clipped flag from a host-\/managed plug-\/in meter.   

See \mbox{\hyperlink{a02193_a5e4a61afa3d6510891e16d7179bdaa64}{AAX\+\_\+\+IComponent\+Descriptor\+::\+Add\+Meters()}}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Meter\+ID} & ID of the meter that is being cleared.   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_aaf316786f9f280cd5711848eeeec3d99}\label{a02009_aaf316786f9f280cd5711848eeeec3d99}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetMeterCount@{GetMeterCount}}
\index{GetMeterCount@{GetMeterCount}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetMeterCount()}{GetMeterCount()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Meter\+Count (\begin{DoxyParamCaption}\item[{uint32\+\_\+t $\ast$}]{out\+Meter\+Count }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Retrieves the number of host-\/managed meters registered by a plug-\/in.   

See \mbox{\hyperlink{a02193_a5e4a61afa3d6510891e16d7179bdaa64}{AAX\+\_\+\+IComponent\+Descriptor\+::\+Add\+Meters()}}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out\+Meter\+Count} & The number of registered plug-\/in meters.   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02009_a6a5c0cdfbe314476bdfd15caaee8d010}\label{a02009_a6a5c0cdfbe314476bdfd15caaee8d010}} 
\index{AAX\_IACFController@{AAX\_IACFController}!GetNextMIDIPacket@{GetNextMIDIPacket}}
\index{GetNextMIDIPacket@{GetNextMIDIPacket}!AAX\_IACFController@{AAX\_IACFController}}
\doxysubsubsection{\texorpdfstring{GetNextMIDIPacket()}{GetNextMIDIPacket()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFController\+::\+Get\+Next\+MIDIPacket (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} $\ast$}]{out\+Port,  }\item[{\mbox{\hyperlink{a01777}{AAX\+\_\+\+CMidi\+Packet}} $\ast$}]{out\+Packet }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



CALL\+: Retrieves MIDI packets for described MIDI nodes.   


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em out\+Port} & port ID of the MIDI node that has unhandled packet \\
\hline
\mbox{\texttt{ out}}  & {\em out\+Packet} & The MIDI packet   \\
\hline
\end{DoxyParams}


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