\hypertarget{a01837}{}\doxysection{AAX\+\_\+\+CEffect\+Parameters Class Reference}
\label{a01837}\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}}


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



Inheritance diagram for AAX\+\_\+\+CEffect\+Parameters\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=344pt]{a01836}
\end{center}
\end{figure}


Collaboration diagram for AAX\+\_\+\+CEffect\+Parameters\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a01835}
\end{center}
\end{figure}


\doxysubsection{Description}
Default implementation of the \mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}} interface. 

This class provides a default implementation of the \mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}} interface. In nearly all cases, your plug-\/in\textquotesingle{}s data model should inherit from this class and override only those functions that you wish to explicitly customize.

\begin{DoxyRefDesc}{Legacy Porting Notes}
\item[\mbox{\hyperlink{a00868__porting_notes000006}{Legacy Porting Notes}}]The default implementations in this class are mostly derived from their equivalent implementations in CProcess and CEffect\+Process. For additional CProcess-\/derived implementations, see \mbox{\hyperlink{a01833}{AAX\+\_\+\+CEffect\+GUI}}.\end{DoxyRefDesc}
\hypertarget{a01837_AAX_CEffectParameters_relclass}{}\doxysubsection{Related classes}\label{a01837_AAX_CEffectParameters_relclass}

\begin{DoxyImage}
\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{dot_aax_ieffectparams_related}
\doxyfigcaption{Classes related to AAX\+\_\+\+IEffect\+Parameters by inheritance or composition}
\end{DoxyImage}
 
\begin{DoxyImage}
\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{dot_aax_ieffectparams_contained}
\doxyfigcaption{Classes owned as member objects of AAX\+\_\+\+CEffect\+Parameters}
\end{DoxyImage}
 \doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a01837_a35be0a247836ce95e3c6d04a3d756a9f}{AAX\+\_\+\+CEffect\+Parameters}} (void)
\item 
\mbox{\hyperlink{a01837_aa291588613f55461932e9b696c91d2d3}{$\sim$\+AAX\+\_\+\+CEffect\+Parameters}} (void) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\item 
\mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} \& \mbox{\hyperlink{a01837_a929ef1d7fba288b4780e641b40552fee}{operator=}} (const \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} \&other)
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Initialization and uninitialization}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a245f235300b04f1c8b4c83831d296e22}{Initialize}} (\mbox{\hyperlink{a01757}{IACFUnknown}} $\ast$i\+Controller) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Main data model initialization. Called when plug-\/in instance is first instantiated.   \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_acd14ff2175a10759045674e8e14508b1}{Uninitialize}} (void) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Main data model uninitialization. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ AAX host and plug-\/in event notification}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_af18b23ec6d4e60e60e27c209c17e573a}{Notification\+Received}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} in\+Notification\+Type, const void $\ast$in\+Notification\+Data, uint32\+\_\+t in\+Notification\+Data\+Size) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Notification Hook. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Parameter information}\par
{\em These methods are used by the AAX host to retrieve information about the plug-\/in\textquotesingle{}s data model. For information about adding parameters to the plug-\/in and otherwise modifying the plug-\/in\textquotesingle{}s data model, see \mbox{\hyperlink{a01901}{AAX\+\_\+\+CParameter\+Manager}}. For information about parameters, see \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}}. }\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_ab22ac55f74401eddbe3f270435a74f70}{Get\+Number\+Of\+Parameters}} (int32\+\_\+t $\ast$o\+Num\+Controls) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the total number of plug-\/in parameters. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_afe1313da2e24225af2f224623dca6b95}{Get\+Master\+Bypass\+Parameter}} (\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$o\+IDString) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the ID of the plug-\/in\textquotesingle{}s Master Bypass parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a8a0890eacee81afbea6a5548592e1c8f}{Get\+Parameter\+Is\+Automatable}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} $\ast$o\+Automatable) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves information about a parameter\textquotesingle{}s automatable status. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a3a142f7b8bd3e09b522445c0b315c759}{Get\+Parameter\+Number\+Of\+Steps}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, int32\+\_\+t $\ast$o\+Num\+Steps) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the number of discrete steps for a parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_af618b324cdd013ffa322f798af30ca40}{Get\+Parameter\+Name}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$o\+Name) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the full name for a parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_af0bc3d6fb8f387f58a073f8902233bd3}{Get\+Parameter\+Name\+Of\+Length}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$o\+Name, int32\+\_\+t i\+Name\+Length) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves an abbreviated name for a parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_ae92a568c56bfff70eb4622c48db85bc0}{Get\+Parameter\+Default\+Normalized\+Value}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, double $\ast$o\+Value) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves default value of a parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_aafbafbc1b07c3f41c40b2ff9820557c8}{Set\+Parameter\+Default\+Normalized\+Value}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, double i\+Value) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Sets the default value of a parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a95c40a67ef6cd5e830e46826d1ccf5c4}{Get\+Parameter\+Type}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a00443_a4cd0f189daa9a60cf36883c56344bb2e}{AAX\+\_\+\+EParameter\+Type}} $\ast$o\+Parameter\+Type) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the type of a parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a8ddd81b155f01497508093d32f5545e7}{Get\+Parameter\+Orientation}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a00443_a52f91d1c14aa5dceedabfb9d2de31bf0}{AAX\+\_\+\+EParameter\+Orientation}} $\ast$o\+Parameter\+Orientation) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the orientation that should be applied to a parameter\textquotesingle{}s controls. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a0fc56336535ca545f1844a5497eecc64}{Get\+Parameter}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} $\ast$$\ast$o\+Parameter) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves an arbitrary setting within a parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a78485ad1079cf0da2843fce800afd5a8}{Get\+Parameter\+Index}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, int32\+\_\+t $\ast$o\+Control\+Index) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the index of a parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a569cc13f2937cd68b3a1588c684df606}{Get\+Parameter\+IDFrom\+Index}} (int32\+\_\+t i\+Control\+Index, \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$o\+Parameter\+IDString) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the ID of a parameter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a0d3436cb88b4a86fe82a663221a9cfef}{Get\+Parameter\+Value\+Info}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, int32\+\_\+t i\+Selector, int32\+\_\+t $\ast$o\+Value) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves a property of a parameter. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Parameter setters and getters}\par
{\em These methods are used by the AAX host and by the plug-\/in\textquotesingle{}s UI to retrieve and modify the values of the plug-\/in\textquotesingle{}s parameters.

\begin{DoxyNote}{Note}
The parameter setters in this section may generate asynchronous requests. 
\end{DoxyNote}
}\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_af52682d9ba47701be0e803d19eb057a7}{Get\+Parameter\+Value\+From\+String}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, double $\ast$o\+Value, const \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} \&i\+Value\+String) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Converts a value string to a value. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a4d92debb4785a84356960ac8c633bf12}{Get\+Parameter\+String\+From\+Value}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, double i\+Value, \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$o\+Value\+String, int32\+\_\+t i\+Max\+Length) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Converts a normalized parameter value into a string representing its corresponding real value. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a5ca62ebda52ddd423450eaa77f1d6968}{Get\+Parameter\+Value\+String}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$o\+Value\+String, int32\+\_\+t i\+Max\+Length) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves the value string associated with a parameter\textquotesingle{}s current value. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_ae2892335e4613cfd427fc636b483fceb}{Get\+Parameter\+Normalized\+Value}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, double $\ast$o\+Value\+Ptr) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Retrieves a parameter\textquotesingle{}s current value. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a8eabaa279c51e74b30d3d2ffa5c865cb}{Set\+Parameter\+Normalized\+Value}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, double i\+Value) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Sets the specified parameter to a new value. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a2191024666f779ea95e89e03fc76a7a8}{Set\+Parameter\+Normalized\+Relative}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, double i\+Value) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em CALL\+: Sets the specified parameter to a new value relative to its current value. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Automated parameter helpers}\par
{\em These methods are used to lock and unlock automation system \textquotesingle{}resources\textquotesingle{} when updating automatable parameters.

\begin{DoxyNote}{Note}
You should never need to override these methods to extend their behavior beyond what is provided in \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} and \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} 
\end{DoxyNote}
}\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a0c7e32833e98facec61b73ac25049b13}{Touch\+Parameter}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em \char`\"{}\+Touches\char`\"{} (locks) a parameter in the automation system to a particular control in preparation for updates \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a39c2085d444916000acec5da3797ca37}{Release\+Parameter}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Releases a parameter from a \char`\"{}touched\char`\"{} state. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a035778f6cccf8cf96a11b3a028efed6e}{Update\+Parameter\+Touch}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} i\+Touch\+State) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Sets a \char`\"{}touched\char`\"{} state on a parameter. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Asynchronous parameter update methods}\par
{\em These methods are called by the AAX host when parameter values have been updated. They are called by the host and can be triggered by other plug-\/in modules via calls to \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}}\textquotesingle{}s {\ttfamily Set\+Value} methods, e.\+g. \mbox{\hyperlink{a02277_a1d37b80bc3a9c4e53fc2c1684f47dfb7}{Set\+Value\+With\+Float()}}

These methods are responsible for updating parameter values.

Do not call these methods directly! To ensure proper synchronization and to avoid problematic dependency chains, other methods (e.\+g. \mbox{\hyperlink{a01837_a8eabaa279c51e74b30d3d2ffa5c865cb}{Set\+Parameter\+Normalized\+Value()}}) and components (e.\+g. \mbox{\hyperlink{a02241}{AAX\+\_\+\+IEffect\+GUI}}) should always call a {\ttfamily Set\+Value} method on \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} to update parameter values. The {\ttfamily Set\+Value} method will properly manage automation locks and other system resources. }\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_aeff79c1e5cc6b65c7ed21d9912f87caf}{Update\+Parameter\+Normalized\+Value}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, double i\+Value, \mbox{\hyperlink{a00443_a30be0398faf20c6b121239eb9399f3f7}{AAX\+\_\+\+EUpdate\+Source}} i\+Source) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Updates a single parameter\textquotesingle{}s state to its current value. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_aa2e14fdf26352f16f3b0c437bc0894cb}{Update\+Parameter\+Normalized\+Relative}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, double i\+Value) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Updates a single parameter\textquotesingle{}s state to its current value, as a difference with the parameter\textquotesingle{}s previous value. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a2ae4c7e4ed12f2763934da50aa5730f3}{Generate\+Coefficients}} (void) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Generates and dispatches new coefficient packets. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ State reset handlers}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a0dd675680a657de7f9d45d65d4b3bcfb}{Reset\+Field\+Data}} (\mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, void $\ast$o\+Data, uint32\+\_\+t in\+Data\+Size) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Called by the host to reset a private data field in the plug-\/in\textquotesingle{}s algorithm. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Chunk methods}\par
{\em These methods are used to save and restore collections of plug-\/in state information, known as chunks. Chunks are used by the host when saving or restoring presets and session settings and when providing \char`\"{}compare\char`\"{} functionality for plug-\/ins.

The default implementation of these methods in \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} supports a single chunk that includes state information for all of the plug-\/in\textquotesingle{}s registered parameters. Override all of these methods to add support for additional chunks in your plug-\/in, for example if your plug-\/ni contains any persistent state that is not encapsulated by its set of registered parameters.

For reference, see also\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{a01817}{AAX\+\_\+\+CChunk\+Data\+Parser}} \item \mbox{\hyperlink{a01769}{AAX\+\_\+\+SPlug\+In\+Chunk}} \end{DoxyItemize}
}\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a1b2e04986362ca076b862ceae18bbab7}{Get\+Number\+Of\+Chunks}} (int32\+\_\+t $\ast$o\+Num\+Chunks) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Retrieves the number of chunks used by this plug-\/in. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a493471529cb63af2e6b069f6c6a35d6f}{Get\+Chunk\+IDFrom\+Index}} (int32\+\_\+t i\+Index, \mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} $\ast$o\+Chunk\+ID) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Retrieves the ID associated with a chunk index. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_aade2d4ba2fcb8c302917caf4bfb0f8cf}{Get\+Chunk\+Size}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} i\+Chunk\+ID, uint32\+\_\+t $\ast$o\+Size) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Get the size of the data structure that can hold all of a chunk\textquotesingle{}s information. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_aeddfa6e0b92f9373836ae41491114c4d}{Get\+Chunk}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} i\+Chunk\+ID, \mbox{\hyperlink{a01769}{AAX\+\_\+\+SPlug\+In\+Chunk}} $\ast$o\+Chunk) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Fills a block of data with chunk information representing the plug-\/in\textquotesingle{}s current state. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a9908dd1d95995027bf6073c08f38b468}{Set\+Chunk}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} i\+Chunk\+ID, const \mbox{\hyperlink{a01769}{AAX\+\_\+\+SPlug\+In\+Chunk}} $\ast$i\+Chunk) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Restores a set of plug-\/in parameters based on chunk information. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a514644d855be6f58043ec165f6ce8ddb}{Compare\+Active\+Chunk}} (const \mbox{\hyperlink{a01769}{AAX\+\_\+\+SPlug\+In\+Chunk}} $\ast$i\+ChunkP, \mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} $\ast$o\+Is\+Equal) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Determine if a chunk represents settings that are equivalent to the plug-\/in\textquotesingle{}s current state. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a9c6e26d6b3e028fcb048e01caa155f65}{Get\+Number\+Of\+Changes}} (int32\+\_\+t $\ast$o\+Num\+Changes) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Retrieves the number of parameter changes made since the plug-\/in\textquotesingle{}s creation. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Threads}\par
{\em Threading functions }\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a4e1dc0e4b966fe80041d67814d13e03d}{Timer\+Wakeup}} () \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Periodic wakeup callback for idle-\/time operations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Auxiliary UI methods}\par
{\em Methods defining the presentation of the plug-\/in on auxiliary UIs such as control surfaces }\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a258910d59fee409213caa04e51ee68cf}{Get\+Curve\+Data}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} i\+Curve\+Type, const float $\ast$i\+Values, uint32\+\_\+t i\+Num\+Values, float $\ast$o\+Values) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Generate a set of output values based on a set of given input values. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_af9cd663956c0d903bbf0df349354e573}{Get\+Curve\+Data\+Meter\+Ids}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} i\+Curve\+Type, uint32\+\_\+t $\ast$o\+XMeter\+Id, uint32\+\_\+t $\ast$o\+YMeter\+Id) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Indicates which meters correspond to the X and Y axes of the EQ or Dynamics graph. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_af5a917a523f9117016a47227cc1a62f0}{Get\+Curve\+Data\+Display\+Range}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} i\+Curve\+Type, float $\ast$o\+XMin, float $\ast$o\+XMax, float $\ast$o\+YMin, float $\ast$o\+YMax) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Determines the range of the graph shown by the plug-\/in. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a6a2a5cfe04b343f6ac47becb0e77ba84}{Update\+Page\+Table}} (uint32\+\_\+t in\+Table\+Type, int32\+\_\+t in\+Table\+Page\+Size, \mbox{\hyperlink{a01757}{IACFUnknown}} $\ast$i\+Host\+Unknown, \mbox{\hyperlink{a01757}{IACFUnknown}} $\ast$io\+Page\+Table\+Unknown) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}} \mbox{\hyperlink{a00533_aa4da4a09e940c332a2205e34e0677f40}{AAX\+\_\+\+FINAL}}
\begin{DoxyCompactList}\small\item\em Allow the plug-\/in to update its page tables.   \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Custom Data Methods}\par
{\em These functions exist as a proxiable way to move data between different modules (e.\+g. \mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}} and \mbox{\hyperlink{a02241}{AAX\+\_\+\+IEffect\+GUI}}.) Using these, the GUI can query any data through \mbox{\hyperlink{a01837_afc82be9a9444bc8bc4a82e8ea370d88e}{Get\+Custom\+Data()}} with a plug-\/in defined {\ttfamily type\+ID}, {\ttfamily void$\ast$} and size. This has an advantage over just sharing memory in that this function can work as a remote proxy as we enable those sorts of features later in the platform. Likewise, the GUI can also set arbitrary data on the data model by using the \mbox{\hyperlink{a01837_a2905b5ec2ef715cd9000c8f1902e13d3}{Set\+Custom\+Data()}} function with the same idea.

\begin{DoxyNote}{Note}
These are plug-\/in internal only. They are not called from the host right now, or likely ever. 
\end{DoxyNote}
}\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_afc82be9a9444bc8bc4a82e8ea370d88e}{Get\+Custom\+Data}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} i\+Data\+Block\+ID, uint32\+\_\+t in\+Data\+Size, void $\ast$o\+Data, uint32\+\_\+t $\ast$o\+Data\+Written) const \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em An optional interface hook for getting custom data from another module. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a2905b5ec2ef715cd9000c8f1902e13d3}{Set\+Custom\+Data}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} i\+Data\+Block\+ID, uint32\+\_\+t in\+Data\+Size, const void $\ast$i\+Data) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em An optional interface hook for setting custom data for use by another module. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ MIDI methods}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_ae1076f7e181a6f66f0078bf31beb2cf1}{Do\+MIDITransfers}} () \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em MIDI update callback. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_aac6fa72278c0f46aa430cd79bdb2d767}{Update\+MIDINodes}} (\mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}} in\+Field\+Index, \mbox{\hyperlink{a01777}{AAX\+\_\+\+CMidi\+Packet}} \&i\+Packet) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em MIDI update callback. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_ac6720637afc7a87adfd391c4ef59126f}{Update\+Control\+MIDINodes}} (\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} node\+ID, \mbox{\hyperlink{a01777}{AAX\+\_\+\+CMidi\+Packet}} \&i\+Packet) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em MIDI update callback for control MIDI nodes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Hybrid audio methods}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a2b68c51ddd302b43c0df250fdd3ba239}{Render\+Audio\+\_\+\+Hybrid}} (\mbox{\hyperlink{a02053}{AAX\+\_\+\+SHybrid\+Render\+Info}} $\ast$io\+Render\+Info) \mbox{\hyperlink{a00533_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Hybrid audio render function. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Private data accessors}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a02201}{AAX\+\_\+\+IController}} $\ast$ \mbox{\hyperlink{a01837_aae8d8b008608224a6cffe41756295481}{Controller}} ()
\begin{DoxyCompactList}\small\item\em Access to the Effect controller. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{a02201}{AAX\+\_\+\+IController}} $\ast$ \mbox{\hyperlink{a01837_aabba7244c34f7279b103a84b86bf98f0}{Controller}} () const
\begin{DoxyCompactList}\small\item\em {\ttfamily const} access to the Effect controller \end{DoxyCompactList}\item 
\mbox{\hyperlink{a02325}{AAX\+\_\+\+ITransport}} $\ast$ \mbox{\hyperlink{a01837_a111da3227cfaea0c24a848c9d38201e7}{Transport}} ()
\begin{DoxyCompactList}\small\item\em Access to the Transport object. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{a02325}{AAX\+\_\+\+ITransport}} $\ast$ \mbox{\hyperlink{a01837_aa87936839e1bd615886f235fd793a52e}{Transport}} () const
\begin{DoxyCompactList}\small\item\em {\ttfamily const} access to the Transport object \end{DoxyCompactList}\item 
\mbox{\hyperlink{a02185}{AAX\+\_\+\+IAutomation\+Delegate}} $\ast$ \mbox{\hyperlink{a01837_afb96fc47144130a351235304ab2374e7}{Automation\+Delegate}} ()
\begin{DoxyCompactList}\small\item\em Access to the Effect\textquotesingle{}s automation delegate. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{a02185}{AAX\+\_\+\+IAutomation\+Delegate}} $\ast$ \mbox{\hyperlink{a01837_afcf3599e707658b5ba7b45f1f3c66a52}{Automation\+Delegate}} () const
\begin{DoxyCompactList}\small\item\em {\ttfamily const} access to the Effect\textquotesingle{}s automation delegate \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}}}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a02245_a6be6ecdd9b96ca0d7723995e6dd4e478}{ACF\+\_\+\+DECLARE\+\_\+\+STANDARD\+\_\+\+UNKNOWN}} () ACFMETHOD(Internal\+Query\+Interface)(const \mbox{\hyperlink{a00305_a59df0b41744eee7a066787aaedf97f67}{acf\+IID}} \&riid
\item 
\mbox{\hyperlink{a02245_ac3fdd3463ee1eeef3fb4a47750f71511}{AAX\+\_\+\+DELETE}} (\mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}} \&operator=(const \mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}} \&))
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Auxiliary UI methods}\par
\end{Indent}
\begin{Indent}\textbf{ Auxiliary UI methods}\par
\end{Indent}
\begin{Indent}\textbf{ Hybrid audio methods}\par
\end{Indent}
\begin{Indent}\textbf{ MIDI methods}\par
\end{Indent}
\begin{Indent}\textbf{ Initialization and uninitialization}\par
\end{Indent}
\begin{Indent}\textbf{ AAX host and plug-\/in event notification}\par
\end{Indent}
\begin{Indent}\textbf{ Parameter information}\par
{\em These methods are used by the AAX host to retrieve information about the plug-\/in\textquotesingle{}s data model.

~\newline
 ~\newline
 For information about adding parameters to the plug-\/in and otherwise modifying the plug-\/in\textquotesingle{}s data model, see \mbox{\hyperlink{a01901}{AAX\+\_\+\+CParameter\+Manager}}. For information about parameters, see \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}}. }\end{Indent}
\begin{Indent}\textbf{ Parameter setters and getters}\par
{\em These methods are used by the AAX host and by the plug-\/in\textquotesingle{}s UI to retrieve and modify the values of the plug-\/in\textquotesingle{}s parameters.

\begin{DoxyNote}{Note}
The parameter setters in this section may generate asynchronous requests. 
\end{DoxyNote}
}\end{Indent}
\begin{Indent}\textbf{ Automated parameter helpers}\par
{\em These methods are used to lock and unlock automation system \textquotesingle{}resources\textquotesingle{} when updating automatable parameters.

\begin{DoxyNote}{Note}
You should never need to override these methods to extend their behavior beyond what is provided in \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} and \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} 
\end{DoxyNote}
}\end{Indent}
\begin{Indent}\textbf{ Asynchronous parameter update methods}\par
{\em These methods are called by the AAX host when parameter values have been updated. They are called by the host and can be triggered by other plug-\/in modules via calls to \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}}\textquotesingle{}s {\ttfamily Set\+Value} methods, e.\+g. \mbox{\hyperlink{a02277_a1d37b80bc3a9c4e53fc2c1684f47dfb7}{Set\+Value\+With\+Float()}}

These methods are responsible for updating parameter values.

Do not call these methods directly! To ensure proper synchronization and to avoid problematic dependency chains, other methods (e.\+g. \mbox{\hyperlink{a02049_a368b0f5a761d1eda4c41b420f153a077}{Set\+Parameter\+Normalized\+Value()}}) and components (e.\+g. \mbox{\hyperlink{a02241}{AAX\+\_\+\+IEffect\+GUI}}) should always call a {\ttfamily Set\+Value} method on \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} to update parameter values. The {\ttfamily Set\+Value} method will properly manage automation locks and other system resources. }\end{Indent}
\begin{Indent}\textbf{ State reset handlers}\par
\end{Indent}
\begin{Indent}\textbf{ Chunk methods}\par
{\em These methods are used to save and restore collections of plug-\/in state information, known as chunks. Chunks are used by the host when saving or restoring presets and session settings and when providing \char`\"{}compare\char`\"{} functionality for plug-\/ins.

The default implementation of these methods in \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} supports a single chunk that includes state information for all of the plug-\/in\textquotesingle{}s registered parameters. Override all of these methods to add support for additional chunks in your plug-\/in, for example if your plug-\/in contains any persistent state that is not encapsulated by its set of registered parameters.

\begin{DoxyWarning}{Warning}
Remember that plug-\/in chunk data may be loaded on a different platform from the one where it is saved. All data structures in the chunk must be properly data-\/aligned for compatibility across all platforms that the plug-\/in supports. See \mbox{\hyperlink{a00533_a8fbeac3c5db5ac694e85a021ed74dc9e}{AAX\+\_\+\+ALIGN\+\_\+\+FILE\+\_\+\+ALG}} for notes about common cross-\/platform pitfalls for data structure alignment.
\end{DoxyWarning}
For reference, see also\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{a01817}{AAX\+\_\+\+CChunk\+Data\+Parser}} \item \mbox{\hyperlink{a01769}{AAX\+\_\+\+SPlug\+In\+Chunk}} \end{DoxyItemize}
}\end{Indent}
\begin{Indent}\textbf{ Thread methods}\par
\end{Indent}
\begin{Indent}\textbf{ Auxiliary UI methods}\par
\end{Indent}
\begin{Indent}\textbf{ Custom data methods}\par
{\em These functions exist as a proxiable way to move data between different modules (e.\+g. \mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}} and \mbox{\hyperlink{a02241}{AAX\+\_\+\+IEffect\+GUI}}.) Using these, the GUI can query any data through \mbox{\hyperlink{a02049_a4728fcad006d921a07489144360f447e}{Get\+Custom\+Data()}} with a plug-\/in defined {\ttfamily type\+ID}, {\ttfamily void$\ast$} and size. This has an advantage over just sharing memory in that this function can work as a remote proxy as we enable those sorts of features later in the platform. Likewise, the GUI can also set arbitrary data on the data model by using the \mbox{\hyperlink{a02049_aa838cad04781853ef2e0b9df22a05170}{Set\+Custom\+Data()}} function with the same idea.

\begin{DoxyNote}{Note}
These are plug-\/in internal only. They are not called from the host right now, or likely ever. 
\end{DoxyNote}
}\end{Indent}
\begin{Indent}\textbf{ MIDI methods}\par
\end{Indent}
\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*{Protected Member Functions}
\begin{Indent}\textbf{ Parameter management methods}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a363be3503435a8619f6cba787ee678ac}{Set\+Taper\+Delegate}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a02309}{AAX\+\_\+\+ITaper\+Delegate\+Base}} \&i\+Taper\+Delegate, bool i\+Preserve\+Value)
\item 
\mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_ad4aeb081bffb2414182251d4e41c1ed2}{Set\+Display\+Delegate}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a02217}{AAX\+\_\+\+IDisplay\+Delegate\+Base}} \&i\+Display\+Delegate)
\item 
bool \mbox{\hyperlink{a01837_a7ee10904c6933cbf82b6050044fa15eb}{Is\+Parameter\+Touched}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID) const
\item 
bool \mbox{\hyperlink{a01837_adf4d2d6060bf3e13619838cea8b59865}{Is\+Parameter\+Link\+Ready}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} in\+Parameter\+ID, \mbox{\hyperlink{a00443_a30be0398faf20c6b121239eb9399f3f7}{AAX\+\_\+\+EUpdate\+Source}} in\+Source) const
\end{DoxyCompactItemize}
\end{Indent}
\doxysubsection*{Convenience functions}
These convenience functions provide quick access to various aspects of the default \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} implementation. \begin{DoxyCompactItemize}
\item 
int32\+\_\+t \mbox{\hyperlink{a01837_a1d9f79117c9075f47b00a7af34113b22}{m\+Num\+Plug\+In\+Changes}}
\item 
int32\+\_\+t \mbox{\hyperlink{a01837_a8c792ec58dc073534348004f0c0c09dd}{m\+Chunk\+Size}}
\item 
\mbox{\hyperlink{a01817}{AAX\+\_\+\+CChunk\+Data\+Parser}} \mbox{\hyperlink{a01837_a71e52a24c8cd8853c768417aa181b41f}{m\+Chunk\+Parser}}
\item 
int32\+\_\+t \mbox{\hyperlink{a01837_ad6a57b4e98161c28b55b250e0234c4ba}{m\+Num\+Chunked\+Parameters}}
\item 
\mbox{\hyperlink{a01885}{AAX\+\_\+\+CPacket\+Dispatcher}} \mbox{\hyperlink{a01837_a1e4a92cdd947d35eb4382f0b5c4c8dae}{m\+Packet\+Dispatcher}}
\item 
\mbox{\hyperlink{a01901}{AAX\+\_\+\+CParameter\+Manager}} \mbox{\hyperlink{a01837_afbb31a7a131b227ddd8bbd920aafbfb8}{m\+Parameter\+Manager}}
\item 
std\+::set$<$ std\+::string $>$ \mbox{\hyperlink{a01837_a353f5472e4eaefd348f20f9ff07a13a0}{m\+Filtered\+Parameters}}
\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a2e302fd758d39a6a855023bf825fe148}{Effect\+Init}} (void)
\begin{DoxyCompactList}\small\item\em Initialization helper routine. Called from \mbox{\hyperlink{a01837_a245f235300b04f1c8b4c83831d296e22}{AAX\+\_\+\+CEffect\+Parameters\+::\+Initialize}}. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a01837_a79c283d2698c39e664e590f256c51d02}{Update\+Page\+Table}} (uint32\+\_\+t, int32\+\_\+t, \mbox{\hyperlink{a02269}{AAX\+\_\+\+IPage\+Table}} \&) const
\item 
void \mbox{\hyperlink{a01837_a06251bbdd6ad5d6ccee160ce4cb5ee8c}{Filter\+Parameter\+IDOn\+Save}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} control\+ID)
\begin{DoxyCompactList}\small\item\em CALL\+: Indicates the indices of parameters that should not be saved in the default \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} chunk. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{a01837_a0fd3465f1a37beb0c9d8be5e33a5cf58}{Build\+Chunk\+Data}} (void) const
\begin{DoxyCompactList}\small\item\em Clears out the current chunk in Chunk Parser and adds all of the new values. Used by default implementations of \mbox{\hyperlink{a01837_aeddfa6e0b92f9373836ae41491114c4d}{Get\+Chunk()}} and \mbox{\hyperlink{a01837_aade2d4ba2fcb8c302917caf4bfb0f8cf}{Get\+Chunk\+Size()}}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsubsection*{Public Attributes inherited from \mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}}}
\begin{DoxyCompactItemize}
\item 
void $\ast$$\ast$ppv\+Obj\+Out \mbox{\hyperlink{a02245_ac86904168251e09366bd4e0f70254975}{override}}
\end{DoxyCompactItemize}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a01837_a35be0a247836ce95e3c6d04a3d756a9f}\label{a01837_a35be0a247836ce95e3c6d04a3d756a9f}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{AAX\_CEffectParameters()}{AAX\_CEffectParameters()}}
{\footnotesize\ttfamily AAX\+\_\+\+CEffect\+Parameters\+::\+AAX\+\_\+\+CEffect\+Parameters (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{a01837_aa291588613f55461932e9b696c91d2d3}\label{a01837_aa291588613f55461932e9b696c91d2d3}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!````~AAX\_CEffectParameters@{$\sim$AAX\_CEffectParameters}}
\index{````~AAX\_CEffectParameters@{$\sim$AAX\_CEffectParameters}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{$\sim$AAX\_CEffectParameters()}{~AAX\_CEffectParameters()}}
{\footnotesize\ttfamily AAX\+\_\+\+CEffect\+Parameters\+::$\sim$\+AAX\+\_\+\+CEffect\+Parameters (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a01837_a929ef1d7fba288b4780e641b40552fee}\label{a01837_a929ef1d7fba288b4780e641b40552fee}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!operator=@{operator=}}
\index{operator=@{operator=}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} \& AAX\+\_\+\+CEffect\+Parameters\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} \&}]{other }\end{DoxyParamCaption})}

\mbox{\Hypertarget{a01837_a245f235300b04f1c8b4c83831d296e22}\label{a01837_a245f235300b04f1c8b4c83831d296e22}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!Initialize@{Initialize}}
\index{Initialize@{Initialize}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{Initialize()}{Initialize()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Initialize (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a01757}{IACFUnknown}} $\ast$}]{i\+Controller }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Main data model initialization. Called when plug-\/in instance is first instantiated.   

\begin{DoxyNote}{Note}
Most plug-\/ins should override \mbox{\hyperlink{a01837_a2e302fd758d39a6a855023bf825fe148}{AAX\+\_\+\+CEffect\+Parameters\+::\+Effect\+Init()}} rather than directly overriding this method
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Controller} & A versioned reference that resolves to an \mbox{\hyperlink{a02201}{AAX\+\_\+\+IController}} interface  \\
\hline
\end{DoxyParams}
This default implementation calls \mbox{\hyperlink{a01837_a2e302fd758d39a6a855023bf825fe148}{Effect\+Init()}}. Only override \mbox{\hyperlink{a01837_a245f235300b04f1c8b4c83831d296e22}{Initialize()}} when additional initialization steps must be performed prior to \mbox{\hyperlink{a01837_a2e302fd758d39a6a855023bf825fe148}{Effect\+Init()}}. 

Implements \mbox{\hyperlink{a02049_ad4db3c0ab67f8f41cdd042a915daabb4}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_acd14ff2175a10759045674e8e14508b1}\label{a01837_acd14ff2175a10759045674e8e14508b1}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!Uninitialize@{Uninitialize}}
\index{Uninitialize@{Uninitialize}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{Uninitialize()}{Uninitialize()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Uninitialize (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Main data model uninitialization. 

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000035}{Todo}}]Docs\+: When exactly is \mbox{\hyperlink{a02049_a711969adc95624fb9ac8a3e3b2c23696}{AAX\+\_\+\+IACFEffect\+Parameters\+::\+Uninitialize()}} called, and under what conditions?\end{DoxyRefDesc}


Implements \mbox{\hyperlink{a02049_a711969adc95624fb9ac8a3e3b2c23696}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_af18b23ec6d4e60e60e27c209c17e573a}\label{a01837_af18b23ec6d4e60e60e27c209c17e573a}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!NotificationReceived@{NotificationReceived}}
\index{NotificationReceived@{NotificationReceived}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{NotificationReceived()}{NotificationReceived()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Notification\+Received (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{in\+Notification\+Type,  }\item[{const void $\ast$}]{in\+Notification\+Data,  }\item[{uint32\+\_\+t}]{in\+Notification\+Data\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Notification Hook. 

Called from the host to deliver notifications to this object.

Look at the \mbox{\hyperlink{a00443_afab5ea2cfd731fc8f163b6caa685406e}{AAX\+\_\+\+ENotification\+Event}} enumeration to see a description of events you can listen for and the data they come with.


\begin{DoxyItemize}
\item \begin{DoxyNote}{Note}
some notifications are sent only to the plug-\/in GUI while other notifications are sent only to the plug-\/in data model. If you are not seeing an expected notification, try checking the other plug-\/in objects\textquotesingle{} {\ttfamily \mbox{\hyperlink{a01837_af18b23ec6d4e60e60e27c209c17e573a}{Notification\+Received()}}} methods.
\end{DoxyNote}

\item \begin{DoxyNote}{Note}
the host may dispatch notifications synchronously or asynchronously, and calls to this method may occur concurrently on multiple threads.
\end{DoxyNote}
A plug-\/in may also dispatch custom notifications using \mbox{\hyperlink{a02201_a0384f820cecf8cf7671057060bf5ba4f}{AAX\+\_\+\+IController\+::\+Send\+Notification()}}. Custom notifications will be posted back to the plug-\/in\textquotesingle{}s other objects which support a {\ttfamily \mbox{\hyperlink{a01837_af18b23ec6d4e60e60e27c209c17e573a}{Notification\+Received()}}} method (e.\+g. the GUI).
\end{DoxyItemize}


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Notification\+Type} & Type of notification being received. Notifications form the host are one of \mbox{\hyperlink{a00443_afab5ea2cfd731fc8f163b6caa685406e}{AAX\+\_\+\+ENotification\+Event}} \\
\hline
\mbox{\texttt{ in}}  & {\em in\+Notification\+Data} & Block of incoming notification data \\
\hline
\mbox{\texttt{ in}}  & {\em in\+Notification\+Data\+Size} & Size of {\ttfamily in\+Notification\+Data}, in bytes \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_aa3eaeb292d2ca84086a5a058171994fd}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_ab22ac55f74401eddbe3f270435a74f70}\label{a01837_ab22ac55f74401eddbe3f270435a74f70}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetNumberOfParameters@{GetNumberOfParameters}}
\index{GetNumberOfParameters@{GetNumberOfParameters}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetNumberOfParameters()}{GetNumberOfParameters()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Number\+Of\+Parameters (\begin{DoxyParamCaption}\item[{int32\+\_\+t $\ast$}]{o\+Num\+Controls }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves the total number of plug-\/in parameters. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em o\+Num\+Controls} & The number of parameters in the plug-\/in\textquotesingle{}s Parameter Manager \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a8af398b1e308849464aee5a6713a3965}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_afe1313da2e24225af2f224623dca6b95}\label{a01837_afe1313da2e24225af2f224623dca6b95}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetMasterBypassParameter@{GetMasterBypassParameter}}
\index{GetMasterBypassParameter@{GetMasterBypassParameter}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetMasterBypassParameter()}{GetMasterBypassParameter()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Master\+Bypass\+Parameter (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$}]{o\+IDString }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves the ID of the plug-\/in\textquotesingle{}s Master Bypass parameter. 

This is required if you want our master bypass functionality in the host to hook up to your bypass parameters.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em o\+IDString} & The ID of the plug-\/in\textquotesingle{}s Master Bypass control \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_ab967122337b61064492024f8bf695ed4}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a8a0890eacee81afbea6a5548592e1c8f}\label{a01837_a8a0890eacee81afbea6a5548592e1c8f}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterIsAutomatable@{GetParameterIsAutomatable}}
\index{GetParameterIsAutomatable@{GetParameterIsAutomatable}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterIsAutomatable()}{GetParameterIsAutomatable()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Is\+Automatable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} $\ast$}]{o\+Automatable }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves information about a parameter\textquotesingle{}s automatable status. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Automatable} & True if the queried parameter is automatable, false if it is not \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a4e6eeef25a797ea4c6961df45174b169}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a3a142f7b8bd3e09b522445c0b315c759}\label{a01837_a3a142f7b8bd3e09b522445c0b315c759}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterNumberOfSteps@{GetParameterNumberOfSteps}}
\index{GetParameterNumberOfSteps@{GetParameterNumberOfSteps}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterNumberOfSteps()}{GetParameterNumberOfSteps()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Number\+Of\+Steps (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{int32\+\_\+t $\ast$}]{o\+Num\+Steps }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves the number of discrete steps for a parameter. 

\begin{DoxyNote}{Note}
The value returned for {\ttfamily o\+Num\+Steps} MUST be greater than zero. All other values will be considered an error by the host.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Num\+Steps} & The number of steps for this parameter \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a2a8d8d200383204db9bb780a4cc8ef6f}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_af618b324cdd013ffa322f798af30ca40}\label{a01837_af618b324cdd013ffa322f798af30ca40}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterName@{GetParameterName}}
\index{GetParameterName@{GetParameterName}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterName()}{GetParameterName()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Name (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$}]{o\+Name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves the full name for a parameter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Name} & Reference to an \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} owned by the host. The plug-\/in must set this string equal to the parameter\textquotesingle{}s full name. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a8f8ae4b4346e708ec6de612ef99e5a92}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_af0bc3d6fb8f387f58a073f8902233bd3}\label{a01837_af0bc3d6fb8f387f58a073f8902233bd3}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterNameOfLength@{GetParameterNameOfLength}}
\index{GetParameterNameOfLength@{GetParameterNameOfLength}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterNameOfLength()}{GetParameterNameOfLength()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Name\+Of\+Length (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$}]{o\+Name,  }\item[{int32\+\_\+t}]{i\+Name\+Length }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves an abbreviated name for a parameter. 

In general, lengths of 3 through 8 and 31 should be specifically addressed.

\begin{DoxyRefDesc}{Host Compatibility Notes}
\item[\mbox{\hyperlink{a00867__compatibility_notes000047}{Host Compatibility Notes}}]In most cases, the AAX host will call \mbox{\hyperlink{a02049_a8f8ae4b4346e708ec6de612ef99e5a92}{Get\+Parameter\+Name()}} or \mbox{\hyperlink{a02049_a5d556ae1fa4617a6439ef347139d70eb}{Get\+Parameter\+Name\+Of\+Length()}} to retrieve parameter names for display. However, when Pro Tools is retrieving a plug-\/in name for display on a control surface the XML data stored in the plug-\/in\textquotesingle{}s page tables will be used in preference to values retrieved from these methods.\end{DoxyRefDesc}



\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Name} & Reference to an \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} owned by the host. The plug-\/in must set this string equal to an abbreviated name for the parameter, using {\ttfamily i\+Name\+Length} characters or fewer. \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Name\+Length} & The maximum number of characters in {\ttfamily o\+Name} \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a5d556ae1fa4617a6439ef347139d70eb}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_ae92a568c56bfff70eb4622c48db85bc0}\label{a01837_ae92a568c56bfff70eb4622c48db85bc0}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterDefaultNormalizedValue@{GetParameterDefaultNormalizedValue}}
\index{GetParameterDefaultNormalizedValue@{GetParameterDefaultNormalizedValue}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterDefaultNormalizedValue()}{GetParameterDefaultNormalizedValue()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Default\+Normalized\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{double $\ast$}]{o\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves default value of a parameter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Value} & The parameter\textquotesingle{}s default value \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a858f07ba021f8c9912bf91735b10314b}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_aafbafbc1b07c3f41c40b2ff9820557c8}\label{a01837_aafbafbc1b07c3f41c40b2ff9820557c8}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!SetParameterDefaultNormalizedValue@{SetParameterDefaultNormalizedValue}}
\index{SetParameterDefaultNormalizedValue@{SetParameterDefaultNormalizedValue}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{SetParameterDefaultNormalizedValue()}{SetParameterDefaultNormalizedValue()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Set\+Parameter\+Default\+Normalized\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{double}]{i\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Sets the default value of a parameter. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being updated \\
\hline
\mbox{\texttt{ out}}  & {\em i\+Value} & The parameter\textquotesingle{}s new default value\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000036}{Todo}}]THIS IS NOT CALLED FROM HOST. USEFUL FOR INTERNAL USE ONLY?\end{DoxyRefDesc}


Implements \mbox{\hyperlink{a02049_a333b83bc6f37b0103ce0de65be02fede}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a95c40a67ef6cd5e830e46826d1ccf5c4}\label{a01837_a95c40a67ef6cd5e830e46826d1ccf5c4}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterType@{GetParameterType}}
\index{GetParameterType@{GetParameterType}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterType()}{GetParameterType()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Type (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a00443_a4cd0f189daa9a60cf36883c56344bb2e}{AAX\+\_\+\+EParameter\+Type}} $\ast$}]{o\+Parameter\+Type }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves the type of a parameter. 

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000037}{Todo}}]The concept of parameter type needs more documentation\end{DoxyRefDesc}



\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Parameter\+Type} & The parameter\textquotesingle{}s type \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_ae7f6d803fa9a472a4bad583868e3b951}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a8ddd81b155f01497508093d32f5545e7}\label{a01837_a8ddd81b155f01497508093d32f5545e7}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterOrientation@{GetParameterOrientation}}
\index{GetParameterOrientation@{GetParameterOrientation}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterOrientation()}{GetParameterOrientation()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Orientation (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a00443_a52f91d1c14aa5dceedabfb9d2de31bf0}{AAX\+\_\+\+EParameter\+Orientation}} $\ast$}]{o\+Parameter\+Orientation }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves the orientation that should be applied to a parameter\textquotesingle{}s controls. 

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000038}{Todo}}]update this documentation\end{DoxyRefDesc}


This method allows you to specify the orientation of knob controls that are managed by the host (e.\+g. knobs on an attached control surface.)

Here is an example override of this method that reverses the orientation of a control for a parameter\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{comment}{//\ AAX\_IParameter*\ myBackwardsParameter}}
\DoxyCodeLine{\textcolor{keywordflow}{if}\ (iParameterID\ ==\ myBackwardsParameter-\/>Identifier())}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ \ \ *oParameterType\ =}
\DoxyCodeLine{\ \ \ \ \ \ \ \mbox{\hyperlink{a00443_aa5ffa1ed828630b6b7a13c049d93ae87a0df7361517b3c7939f67647e873cb4d9}{AAX\_eParameterOrientation\_BottomMinTopMax}}\ |}
\DoxyCodeLine{\ \ \ \ \ \ \ \mbox{\hyperlink{a00443_aa5ffa1ed828630b6b7a13c049d93ae87a4e074c855fdeb439e2623d920173e752}{AAX\_eParameterOrientation\_LeftMinRightMax}}\ |}
\DoxyCodeLine{\ \ \ \ \ \ \ \mbox{\hyperlink{a00443_aa5ffa1ed828630b6b7a13c049d93ae87ab42ad685ac842d36bc7d1717c537c10a}{AAX\_eParameterOrientation\_RotaryWrapMode}}\ |}
\DoxyCodeLine{\ \ \ \ \ \ \ \mbox{\hyperlink{a00443_aa5ffa1ed828630b6b7a13c049d93ae87a9f441bb5192bd7b7162ba588c8f4fea8}{AAX\_eParameterOrientation\_RotaryLeftMinRightMax}};}
\DoxyCodeLine{\ \}}

\end{DoxyCode}


The orientation options are set according to \mbox{\hyperlink{a00443_aa5ffa1ed828630b6b7a13c049d93ae87}{AAX\+\_\+\+EParameter\+Orientation\+Bits}}

\begin{DoxyRefDesc}{Legacy Porting Notes}
\item[\mbox{\hyperlink{a00868__porting_notes000032}{Legacy Porting Notes}}]\mbox{\hyperlink{a02049_ac122e1a693296b059dca4350a5ff1dfe}{AAX\+\_\+\+IEffect\+Parameters\+::\+Get\+Parameter\+Orientation()}} corresponds to the Get\+Control\+Orientation() method in the legacy RTAS/\+TDM SDK.\end{DoxyRefDesc}



\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Parameter\+Orientation} & The orientation of the parameter \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_ac122e1a693296b059dca4350a5ff1dfe}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a0fc56336535ca545f1844a5497eecc64}\label{a01837_a0fc56336535ca545f1844a5497eecc64}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameter@{GetParameter}}
\index{GetParameter@{GetParameter}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameter()}{GetParameter()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} $\ast$$\ast$}]{o\+Parameter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves an arbitrary setting within a parameter. 

This is a convenience function for accessing the richer parameter interface from the plug-\/in\textquotesingle{}s other modules.

\begin{DoxyNote}{Note}
This function must not be called by the host; \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} is not safe for passing across the binary boundary with the host!
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Parameter} & A pointer to the returned parameter \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a169b7e9fe64f2d86d20fffc152b5e365}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a78485ad1079cf0da2843fce800afd5a8}\label{a01837_a78485ad1079cf0da2843fce800afd5a8}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterIndex@{GetParameterIndex}}
\index{GetParameterIndex@{GetParameterIndex}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterIndex()}{GetParameterIndex()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Index (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{int32\+\_\+t $\ast$}]{o\+Control\+Index }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves the index of a parameter. 

Although parameters are normally referenced by their AAX\+\_\+\+CParam\+ID, each parameter is also associated with a unique numeric index.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Control\+Index} & The parameter\textquotesingle{}s numeric index \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_aff1ff6b27973200429f057dc003f30a8}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a569cc13f2937cd68b3a1588c684df606}\label{a01837_a569cc13f2937cd68b3a1588c684df606}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterIDFromIndex@{GetParameterIDFromIndex}}
\index{GetParameterIDFromIndex@{GetParameterIDFromIndex}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterIDFromIndex()}{GetParameterIDFromIndex()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+IDFrom\+Index (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Control\+Index,  }\item[{\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$}]{o\+Parameter\+IDString }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves the ID of a parameter. 

This method can be used to convert a parameter\textquotesingle{}s unique numeric index to its AAX\+\_\+\+CParam\+ID


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Control\+Index} & The numeric index of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Parameter\+IDString} & Reference to an \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} owned by the host. The plug-\/in must set this string equal to the parameter\textquotesingle{}s ID. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a5387b83e0f684a5bf0e09b24cae257d9}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a0d3436cb88b4a86fe82a663221a9cfef}\label{a01837_a0d3436cb88b4a86fe82a663221a9cfef}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterValueInfo@{GetParameterValueInfo}}
\index{GetParameterValueInfo@{GetParameterValueInfo}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterValueInfo()}{GetParameterValueInfo()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Value\+Info (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{int32\+\_\+t}]{i\+Selector,  }\item[{int32\+\_\+t $\ast$}]{o\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves a property of a parameter. 

This is a general purpose query that is specialized based on the value of {\ttfamily i\+Selector}. The currently supported selector values are described by \mbox{\hyperlink{a00443_aa169208a2ce713fa021e20deb2eaf608}{AAX\+\_\+\+EParameter\+Value\+Info\+Selector}} . The meaning of {\ttfamily o\+Value} is dependent upon {\ttfamily i\+Selector} .


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Selector} & The selector of the parameter value to retrieve. See \mbox{\hyperlink{a00443_aa169208a2ce713fa021e20deb2eaf608}{AAX\+\_\+\+EParameter\+Value\+Info\+Selector}} \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Value} & The value of the specified parameter \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a1702de6d62b5b41b6a8b2f510300392b}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_af52682d9ba47701be0e803d19eb057a7}\label{a01837_af52682d9ba47701be0e803d19eb057a7}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterValueFromString@{GetParameterValueFromString}}
\index{GetParameterValueFromString@{GetParameterValueFromString}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterValueFromString()}{GetParameterValueFromString()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Value\+From\+String (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{double $\ast$}]{o\+Value,  }\item[{const \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} \&}]{i\+Value\+String }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Converts a value string to a value. 

This method uses the queried parameter\textquotesingle{}s display delegate and taper to convert a {\ttfamily char$\ast$} string into its corresponding value. The formatting of value\+String must be supported by the parameter\textquotesingle{}s display delegate in order for this call to succeed.

\begin{DoxyRefDesc}{Legacy Porting Notes}
\item[\mbox{\hyperlink{a00868__porting_notes000033}{Legacy Porting Notes}}]This method corresponds to CProcess\+::\+Map\+Control\+String\+To\+Val() in the RTAS/\+TDM SDK\end{DoxyRefDesc}



\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Value} & The value associated with value\+String \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Value\+String} & The formatted value string that will be converted into a value \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a54bb12c9798e4f9a3a5b5d6f30ace992}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a4d92debb4785a84356960ac8c633bf12}\label{a01837_a4d92debb4785a84356960ac8c633bf12}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterStringFromValue@{GetParameterStringFromValue}}
\index{GetParameterStringFromValue@{GetParameterStringFromValue}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterStringFromValue()}{GetParameterStringFromValue()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+String\+From\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{double}]{i\+Value,  }\item[{\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$}]{o\+Value\+String,  }\item[{int32\+\_\+t}]{i\+Max\+Length }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Converts a normalized parameter value into a string representing its corresponding real value. 

This method uses the queried parameter\textquotesingle{}s display delegate and taper to convert a normalized value into the corresponding {\ttfamily char$\ast$} value string for its real value.

\begin{DoxyRefDesc}{Legacy Porting Notes}
\item[\mbox{\hyperlink{a00868__porting_notes000034}{Legacy Porting Notes}}]This method corresponds to CProcess\+::\+Map\+Control\+Val\+To\+String() in the RTAS/\+TDM SDK\end{DoxyRefDesc}



\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Value} & The normalized value that will be converted to a formatted value\+String \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Value\+String} & The formatted value string associated with value \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Max\+Length} & The maximum length of value\+String \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_add995f2eb5a3967c48dd9f3e21f003aa}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a5ca62ebda52ddd423450eaa77f1d6968}\label{a01837_a5ca62ebda52ddd423450eaa77f1d6968}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterValueString@{GetParameterValueString}}
\index{GetParameterValueString@{GetParameterValueString}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterValueString()}{GetParameterValueString()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Value\+String (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} $\ast$}]{o\+Value\+String,  }\item[{int32\+\_\+t}]{i\+Max\+Length }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves the value string associated with a parameter\textquotesingle{}s current value. 

This method uses the queried parameter\textquotesingle{}s display delegate and taper to convert its current value into a corresponding {\ttfamily char$\ast$} value string.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Value\+String} & The formatted value string associated with the parameter\textquotesingle{}s current value \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Max\+Length} & The maximum length of value\+String \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_aacb54e6522561fe91fe12d0d99734abf}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_ae2892335e4613cfd427fc636b483fceb}\label{a01837_ae2892335e4613cfd427fc636b483fceb}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetParameterNormalizedValue@{GetParameterNormalizedValue}}
\index{GetParameterNormalizedValue@{GetParameterNormalizedValue}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetParameterNormalizedValue()}{GetParameterNormalizedValue()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Parameter\+Normalized\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{double $\ast$}]{o\+Value\+Ptr }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Retrieves a parameter\textquotesingle{}s current value. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Value\+Ptr} & The parameter\textquotesingle{}s current value \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a18e3407bac178a9b0339bd6f95e74a17}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a8eabaa279c51e74b30d3d2ffa5c865cb}\label{a01837_a8eabaa279c51e74b30d3d2ffa5c865cb}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!SetParameterNormalizedValue@{SetParameterNormalizedValue}}
\index{SetParameterNormalizedValue@{SetParameterNormalizedValue}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{SetParameterNormalizedValue()}{SetParameterNormalizedValue()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Set\+Parameter\+Normalized\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{double}]{i\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Sets the specified parameter to a new value. 

\mbox{\hyperlink{a01837_a8eabaa279c51e74b30d3d2ffa5c865cb}{Set\+Parameter\+Normalized\+Value()}} is responsible for initiating any process that is required in order to update all of the parameter\textquotesingle{}s controls (e.\+g. in the plug-\/in\textquotesingle{}s GUI, on control surfaces, in automation lanes, etc.) In most cases, the parameter manager will handle this initiation step.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being set \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Value} & The value to which the parameter should be set \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a368b0f5a761d1eda4c41b420f153a077}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a2191024666f779ea95e89e03fc76a7a8}\label{a01837_a2191024666f779ea95e89e03fc76a7a8}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!SetParameterNormalizedRelative@{SetParameterNormalizedRelative}}
\index{SetParameterNormalizedRelative@{SetParameterNormalizedRelative}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{SetParameterNormalizedRelative()}{SetParameterNormalizedRelative()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Set\+Parameter\+Normalized\+Relative (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{double}]{i\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



CALL\+: Sets the specified parameter to a new value relative to its current value. 

This method is used in cases when a relative control value is more convenient, for example when updating a GUI control using a mouse wheel or the arrow keys. Note that the host may apply the parameter\textquotesingle{}s step size prior to calling \mbox{\hyperlink{a01837_a2191024666f779ea95e89e03fc76a7a8}{Set\+Parameter\+Normalized\+Relative()}} in order to determine the correct value for a\+Value.

\mbox{\hyperlink{a01837_a2191024666f779ea95e89e03fc76a7a8}{Set\+Parameter\+Normalized\+Relative()}} can be used to incorporate \char`\"{}wrapping\char`\"{} behavior in a parameter\textquotesingle{}s controls, if desired. If this behavior is not desired, then this method must properly account for overflow of the parameter\textquotesingle{}s normalized value.

\mbox{\hyperlink{a01837_a2191024666f779ea95e89e03fc76a7a8}{Set\+Parameter\+Normalized\+Relative()}} is responsible for initiating any process that is required in order to update all of the parameter\textquotesingle{}s controls (e.\+g. in the plug-\/in\textquotesingle{}s GUI, on control surfaces, in automation lanes, etc.) In most cases, the parameter manager will handle this initiation step.

See also \mbox{\hyperlink{a01837_aa2e14fdf26352f16f3b0c437bc0894cb}{Update\+Parameter\+Normalized\+Relative()}}.

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000039}{Todo}}]REMOVE THIS METHOD (?)\end{DoxyRefDesc}



\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being queried \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Value} & The change in value that should be applied to the parameter\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000040}{Todo}}]NOT CURRENTLY CALLED FROM THE HOST. USEFUL FOR INTERNAL USE ONLY?\end{DoxyRefDesc}


Implements \mbox{\hyperlink{a02049_a6e28a427a0d7d0c8df69dd5eb88cff6c}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a0c7e32833e98facec61b73ac25049b13}\label{a01837_a0c7e32833e98facec61b73ac25049b13}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!TouchParameter@{TouchParameter}}
\index{TouchParameter@{TouchParameter}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{TouchParameter()}{TouchParameter()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Touch\+Parameter (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



\char`\"{}\+Touches\char`\"{} (locks) a parameter in the automation system to a particular control in preparation for updates 

This method is called by the Parameter Manager to prime a parameter for receiving new automation data. When an automatable parameter is touched by a control, it will reject input from other controls until it is released.

\begin{DoxyNote}{Note}
You should never need to override this method when using \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}}.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The parameter that is being touched \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_ae82e80cbfd9cb837f8101a85f06856ba}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a39c2085d444916000acec5da3797ca37}\label{a01837_a39c2085d444916000acec5da3797ca37}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!ReleaseParameter@{ReleaseParameter}}
\index{ReleaseParameter@{ReleaseParameter}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{ReleaseParameter()}{ReleaseParameter()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Release\+Parameter (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Releases a parameter from a \char`\"{}touched\char`\"{} state. 

This method is called by the Parameter Manager to release a parameter so that any control may send updates to the parameter.

\begin{DoxyNote}{Note}
You should never need to override this method when using \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}}.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The parameter that is being released \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a2caf1b7b8e2dad62cf96f144479dee60}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a035778f6cccf8cf96a11b3a028efed6e}\label{a01837_a035778f6cccf8cf96a11b3a028efed6e}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!UpdateParameterTouch@{UpdateParameterTouch}}
\index{UpdateParameterTouch@{UpdateParameterTouch}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{UpdateParameterTouch()}{UpdateParameterTouch()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Update\+Parameter\+Touch (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}}}]{i\+Touch\+State }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Sets a \char`\"{}touched\char`\"{} state on a parameter. 

\begin{DoxyNote}{Note}
This method should be overriden when dealing with linked parameters. Do NOT use this method to keep track of touch states. Use the \mbox{\hyperlink{a01989}{automation delegate}} for that.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The parameter that is changing touch states. \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Touch\+State} & The touch state of the parameter. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a93483f44315bdf3adf60bf5bf773fbb8}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_aeff79c1e5cc6b65c7ed21d9912f87caf}\label{a01837_aeff79c1e5cc6b65c7ed21d9912f87caf}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!UpdateParameterNormalizedValue@{UpdateParameterNormalizedValue}}
\index{UpdateParameterNormalizedValue@{UpdateParameterNormalizedValue}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{UpdateParameterNormalizedValue()}{UpdateParameterNormalizedValue()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Update\+Parameter\+Normalized\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{double}]{i\+Value,  }\item[{\mbox{\hyperlink{a00443_a30be0398faf20c6b121239eb9399f3f7}{AAX\+\_\+\+EUpdate\+Source}}}]{i\+Source }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Updates a single parameter\textquotesingle{}s state to its current value. 

\begin{DoxyNote}{Note}
Do {\itshape not} call this method from the plug-\/in. This method should be called by the host only. To set parameter values from within the plug-\/in, use the \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} interface.
\end{DoxyNote}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000041}{Todo}}]FLAGGED FOR CONSIDERATION OF REVISION\end{DoxyRefDesc}



\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being updated \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Value} & The parameter\textquotesingle{}s current value, to which its internal state must be updated \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Source} & The source of the update \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a685858711efb8634ce66c327f2865c71}{AAX\+\_\+\+IACFEffect\+Parameters}}.



Reimplemented in \mbox{\hyperlink{a02433_a9ef4fd6fa467008fcea4455d19c08009}{AAX\+\_\+\+CMonolithic\+Parameters}}.



Referenced by \mbox{\hyperlink{a02433_a9ef4fd6fa467008fcea4455d19c08009}{AAX\+\_\+\+CMonolithic\+Parameters\+::\+Update\+Parameter\+Normalized\+Value()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a01837_aeff79c1e5cc6b65c7ed21d9912f87caf_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{a01837_aa2e14fdf26352f16f3b0c437bc0894cb}\label{a01837_aa2e14fdf26352f16f3b0c437bc0894cb}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!UpdateParameterNormalizedRelative@{UpdateParameterNormalizedRelative}}
\index{UpdateParameterNormalizedRelative@{UpdateParameterNormalizedRelative}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{UpdateParameterNormalizedRelative()}{UpdateParameterNormalizedRelative()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Update\+Parameter\+Normalized\+Relative (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{double}]{i\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Updates a single parameter\textquotesingle{}s state to its current value, as a difference with the parameter\textquotesingle{}s previous value. 

\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{a00869__deprecated000014}{Deprecated}}]This is not called from the host. It {\itshape may} still be useful for internal calls within the plug-\/in, though it should only ever be used to update non-\/automatable parameters. Automatable parameters should always be updated through the \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} interface, which will ensure proper coordination with other automation clients.\end{DoxyRefDesc}


\mbox{\hyperlink{a01837_aa2e14fdf26352f16f3b0c437bc0894cb}{Update\+Parameter\+Normalized\+Relative()}} can be used to incorporate \char`\"{}wraparound\char`\"{} behavior in a parameter\textquotesingle{}s controls, if desired. If this behavior is not desired, then this method must properly account for overflow of the parameter\textquotesingle{}s normalized value.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a01837_a2191024666f779ea95e89e03fc76a7a8}{Set\+Parameter\+Normalized\+Relative()}}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+ID} & The ID of the parameter that is being updated \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Value} & The difference between the parameter\textquotesingle{}s current value and its previous value (normalized). The parameter\textquotesingle{}s state must be updated to reflect this difference. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a54403bec090fcc999a93f54c01bca0c9}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a2ae4c7e4ed12f2763934da50aa5730f3}\label{a01837_a2ae4c7e4ed12f2763934da50aa5730f3}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GenerateCoefficients@{GenerateCoefficients}}
\index{GenerateCoefficients@{GenerateCoefficients}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GenerateCoefficients()}{GenerateCoefficients()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Generate\+Coefficients (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Generates and dispatches new coefficient packets. 

This method is responsible for updating the coefficient packets associated with all parameters whose states have changed since the last call to \mbox{\hyperlink{a02049_a083265b008921b6114ede387711694b7}{Generate\+Coefficients()}}. The host may call this method once for every parameter update, or it may \char`\"{}batch\char`\"{} parameter updates such that changes for several parameters are all handled by a single call to \mbox{\hyperlink{a02049_a083265b008921b6114ede387711694b7}{Generate\+Coefficients()}}.

For more information on tracking parameters\textquotesingle{} statuses using the \mbox{\hyperlink{a01885}{AAX\+\_\+\+CPacket\+Dispatcher}}, helper class, see \mbox{\hyperlink{a01885_a6d4254a842eeee46a227ec761619efb5}{AAX\+\_\+\+CPacket\+Dispatcher\+::\+Set\+Dirty()}}.

\begin{DoxyNote}{Note}
Do {\itshape not} call this method from the plug-\/in. This method should be called by the host only. To set parameter values from within the plug-\/in, use the \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} interface. 
\end{DoxyNote}


Implements \mbox{\hyperlink{a02049_a083265b008921b6114ede387711694b7}{AAX\+\_\+\+IACFEffect\+Parameters}}.



Reimplemented in \mbox{\hyperlink{a02433_a626cb2aaa68c64238298acfd6db448f5}{AAX\+\_\+\+CMonolithic\+Parameters}}.



Referenced by \mbox{\hyperlink{a02433_a626cb2aaa68c64238298acfd6db448f5}{AAX\+\_\+\+CMonolithic\+Parameters\+::\+Generate\+Coefficients()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a01837_a2ae4c7e4ed12f2763934da50aa5730f3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{a01837_a0dd675680a657de7f9d45d65d4b3bcfb}\label{a01837_a0dd675680a657de7f9d45d65d4b3bcfb}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!ResetFieldData@{ResetFieldData}}
\index{ResetFieldData@{ResetFieldData}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{ResetFieldData()}{ResetFieldData()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Reset\+Field\+Data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}}}]{in\+Field\+Index,  }\item[{void $\ast$}]{o\+Data,  }\item[{uint32\+\_\+t}]{in\+Data\+Size }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Called by the host to reset a private data field in the plug-\/in\textquotesingle{}s algorithm. 

This method is called sequentially for all private data fields on Effect initialization and during any \char`\"{}reset\char`\"{} event, such as priming for a non-\/real-\/time render. This method is called before the algorithm\textquotesingle{}s optional initialization callback, and the initialized private data will be available within that callback via its context block.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00878_alg_initialization}{Algorithm initialization}}.
\end{DoxySeeAlso}
\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{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Field\+Index} & The index of the field that is being initialized \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Data} & The pre-\/allocated block of data that should be initialized \\
\hline
\mbox{\texttt{ in}}  & {\em in\+Data\+Size} & The size of the data block, in bytes \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a6e87e40d42c7431e52ae5ebd4f631964}{AAX\+\_\+\+IACFEffect\+Parameters}}.



Reimplemented in \mbox{\hyperlink{a02433_a43db72446afba852f68d19d92c2aa05b}{AAX\+\_\+\+CMonolithic\+Parameters}}.



Referenced by \mbox{\hyperlink{a02433_a43db72446afba852f68d19d92c2aa05b}{AAX\+\_\+\+CMonolithic\+Parameters\+::\+Reset\+Field\+Data()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a01837_a0dd675680a657de7f9d45d65d4b3bcfb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{a01837_a1b2e04986362ca076b862ceae18bbab7}\label{a01837_a1b2e04986362ca076b862ceae18bbab7}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetNumberOfChunks@{GetNumberOfChunks}}
\index{GetNumberOfChunks@{GetNumberOfChunks}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetNumberOfChunks()}{GetNumberOfChunks()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Number\+Of\+Chunks (\begin{DoxyParamCaption}\item[{int32\+\_\+t $\ast$}]{o\+Num\+Chunks }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Retrieves the number of chunks used by this plug-\/in. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em o\+Num\+Chunks} & The number of distinct chunks used by this plug-\/in \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a37e546c6dbb4d5a16fedb9f465de2599}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a493471529cb63af2e6b069f6c6a35d6f}\label{a01837_a493471529cb63af2e6b069f6c6a35d6f}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetChunkIDFromIndex@{GetChunkIDFromIndex}}
\index{GetChunkIDFromIndex@{GetChunkIDFromIndex}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetChunkIDFromIndex()}{GetChunkIDFromIndex()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Chunk\+IDFrom\+Index (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Index,  }\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} $\ast$}]{o\+Chunk\+ID }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Retrieves the ID associated with a chunk index. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Index} & Index of the queried chunk \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Chunk\+ID} & ID of the queried chunk \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a10409113cb781002551b878e4c0edd5a}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_aade2d4ba2fcb8c302917caf4bfb0f8cf}\label{a01837_aade2d4ba2fcb8c302917caf4bfb0f8cf}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetChunkSize@{GetChunkSize}}
\index{GetChunkSize@{GetChunkSize}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetChunkSize()}{GetChunkSize()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Chunk\+Size (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{i\+Chunk\+ID,  }\item[{uint32\+\_\+t $\ast$}]{o\+Size }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get the size of the data structure that can hold all of a chunk\textquotesingle{}s information. 

If {\itshape chunk\+ID} is one of the plug-\/in\textquotesingle{}s custom chunks, initialize {\itshape $\ast$size} to the size of the chunk\textquotesingle{}s data in bytes.

This method is invoked every time a chunk is saved, therefore it is possible to have dynamically sized chunks. However, note that each call to \mbox{\hyperlink{a01837_aade2d4ba2fcb8c302917caf4bfb0f8cf}{Get\+Chunk\+Size()}} will correspond to a following call to \mbox{\hyperlink{a01837_aeddfa6e0b92f9373836ae41491114c4d}{Get\+Chunk()}}. The chunk provided in \mbox{\hyperlink{a01837_aeddfa6e0b92f9373836ae41491114c4d}{Get\+Chunk()}} {\itshape must} have the same size as the {\itshape size} provided by \mbox{\hyperlink{a01837_aade2d4ba2fcb8c302917caf4bfb0f8cf}{Get\+Chunk\+Size()}}.

\begin{DoxyRefDesc}{Legacy Porting Notes}
\item[\mbox{\hyperlink{a00868__porting_notes000035}{Legacy Porting Notes}}]In \mbox{\hyperlink{a00935}{AAX}}, the value provided by \mbox{\hyperlink{a01837_aade2d4ba2fcb8c302917caf4bfb0f8cf}{Get\+Chunk\+Size()}} should {\itshape NOT} include the size of the chunk header. The value should {\itshape ONLY} reflect the size of the chunk\textquotesingle{}s data.\end{DoxyRefDesc}



\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Chunk\+ID} & ID of the queried chunk \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Size} & The chunk\textquotesingle{}s size in bytes \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_aa986711cd372febcaae803e86ae08f63}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_aeddfa6e0b92f9373836ae41491114c4d}\label{a01837_aeddfa6e0b92f9373836ae41491114c4d}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetChunk@{GetChunk}}
\index{GetChunk@{GetChunk}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetChunk()}{GetChunk()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Chunk (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{i\+Chunk\+ID,  }\item[{\mbox{\hyperlink{a01769}{AAX\+\_\+\+SPlug\+In\+Chunk}} $\ast$}]{o\+Chunk }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Fills a block of data with chunk information representing the plug-\/in\textquotesingle{}s current state. 

By calling this method, the host is requesting information about the current state of the plug-\/in. The following chunk fields should be explicitly populated in this method. Other fields will be populated by the host.

\begin{DoxyItemize}
\item \mbox{\hyperlink{a01769_abc76d66fffa4a59ee5cfdbdd992c532c}{AAX\+\_\+\+SPlug\+In\+Chunk\+::f\+Data}} \item \mbox{\hyperlink{a01769_ac114fd94e7b12c235f9c18bcbbc46f06}{AAX\+\_\+\+SPlug\+In\+Chunk\+::f\+Version}} \item \mbox{\hyperlink{a01769_a1b07e29358b5549739f674e04653a6bc}{AAX\+\_\+\+SPlug\+In\+Chunk\+::f\+Name}} (Optional) \item \mbox{\hyperlink{a01769_ac08f37f1ed50eac8ac3ca4bf5494c84d}{AAX\+\_\+\+SPlug\+In\+Chunk\+::f\+Size}} (Data size only)\end{DoxyItemize}
\begin{DoxyWarning}{Warning}
Remember that this chunk data may be loaded on a different platform from the one where it is saved. All data structures in the chunk must be properly data-\/aligned for compatibility across all platforms that the plug-\/in supports. See \mbox{\hyperlink{a00533_a8fbeac3c5db5ac694e85a021ed74dc9e}{AAX\+\_\+\+ALIGN\+\_\+\+FILE\+\_\+\+ALG}} for notes about common cross-\/platform pitfalls for data structure alignment.
\end{DoxyWarning}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Chunk\+ID} & ID of the chunk that should be provided \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Chunk} & A preallocated block of memory that should be populated with the chunk\textquotesingle{}s data. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_ab977041a440a9cd6f3e631c059ee8b99}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a9908dd1d95995027bf6073c08f38b468}\label{a01837_a9908dd1d95995027bf6073c08f38b468}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!SetChunk@{SetChunk}}
\index{SetChunk@{SetChunk}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{SetChunk()}{SetChunk()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Set\+Chunk (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{i\+Chunk\+ID,  }\item[{const \mbox{\hyperlink{a01769}{AAX\+\_\+\+SPlug\+In\+Chunk}} $\ast$}]{i\+Chunk }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Restores a set of plug-\/in parameters based on chunk information. 

By calling this method, the host is attempting to update the plug-\/in\textquotesingle{}s current state to match the data stored in a chunk. The plug-\/in should initialize itself to this new state by calling \mbox{\hyperlink{a01837_a8eabaa279c51e74b30d3d2ffa5c865cb}{Set\+Parameter\+Normalized\+Value()}} for each of the relevant parameters.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Chunk\+ID} & ID of the chunk that is being set \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Chunk} & The chunk \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a2d780ebc594683e24302871b809602e8}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a514644d855be6f58043ec165f6ce8ddb}\label{a01837_a514644d855be6f58043ec165f6ce8ddb}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!CompareActiveChunk@{CompareActiveChunk}}
\index{CompareActiveChunk@{CompareActiveChunk}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{CompareActiveChunk()}{CompareActiveChunk()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Compare\+Active\+Chunk (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{a01769}{AAX\+\_\+\+SPlug\+In\+Chunk}} $\ast$}]{i\+ChunkP,  }\item[{\mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} $\ast$}]{o\+Is\+Equal }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Determine if a chunk represents settings that are equivalent to the plug-\/in\textquotesingle{}s current state. 

\begin{DoxyRefDesc}{Host Compatibility Notes}
\item[\mbox{\hyperlink{a00867__compatibility_notes000048}{Host Compatibility Notes}}]In Pro Tools, this method will only be called if a prior call to \mbox{\hyperlink{a02049_a17b96da201d9a242d3662e87525a7227}{Get\+Number\+Of\+Changes()}} has indicated that the plug-\/in\textquotesingle{}s state has changed. If the plug-\/in\textquotesingle{}s current settings are different from the settings in {\ttfamily a\+ChunkP} then the plug-\/in\textquotesingle{}s Compare Light will be illuminated in the plug-\/in header, allowing users to toggle between the plug-\/in\textquotesingle{}s custom state and its saved state.\end{DoxyRefDesc}



\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+ChunkP} & The chunk that is to be tested \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Is\+Equal} & True if the chunk represents equivalent settings when compared with the plug-\/in\textquotesingle{}s current state. False if the chunk represents non-\/equivalent settings \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a1e86f849e970c9998313fc7d451ccf85}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a9c6e26d6b3e028fcb048e01caa155f65}\label{a01837_a9c6e26d6b3e028fcb048e01caa155f65}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetNumberOfChanges@{GetNumberOfChanges}}
\index{GetNumberOfChanges@{GetNumberOfChanges}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetNumberOfChanges()}{GetNumberOfChanges()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Number\+Of\+Changes (\begin{DoxyParamCaption}\item[{int32\+\_\+t $\ast$}]{o\+Num\+Changes }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Retrieves the number of parameter changes made since the plug-\/in\textquotesingle{}s creation. 

This method is polled regularly by the host, and can additionally be triggered by some events such as mouse clicks. When the number provided by this method changes, the host subsequently calls \mbox{\hyperlink{a01837_a514644d855be6f58043ec165f6ce8ddb}{Compare\+Active\+Chunk()}} to determine if the plug-\/in\textquotesingle{}s Compare light should be activated.

The value provided by this method should increment with each call to \mbox{\hyperlink{a02049_a685858711efb8634ce66c327f2865c71}{Update\+Parameter\+Normalized\+Value()}}


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em o\+Num\+Changes} & Must be set to indicate the number of parameter changes that have occurred since plug-\/in initialization. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a17b96da201d9a242d3662e87525a7227}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a4e1dc0e4b966fe80041d67814d13e03d}\label{a01837_a4e1dc0e4b966fe80041d67814d13e03d}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!TimerWakeup@{TimerWakeup}}
\index{TimerWakeup@{TimerWakeup}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{TimerWakeup()}{TimerWakeup()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Timer\+Wakeup (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Periodic wakeup callback for idle-\/time operations. 

This method is called from the host using a non-\/main thread. In general, it should be driven at approximately one call per 30 ms. However, the wakeup is not guaranteed to be called at any regular interval -\/ for example, it could be held off by a high real-\/time processing load -\/ and there is no host contract regarding maximum latency between wakeup calls.

This wakeup thread runs continuously and cannot be armed/disarmed or by the plug-\/in. 

Implements \mbox{\hyperlink{a02049_ab5b8da9e1a9d778d327ac04f4ab8d139}{AAX\+\_\+\+IACFEffect\+Parameters}}.



Reimplemented in \mbox{\hyperlink{a02433_ac3f92841efe2d864ffefce94b7ae27b4}{AAX\+\_\+\+CMonolithic\+Parameters}}.



Referenced by \mbox{\hyperlink{a02433_ac3f92841efe2d864ffefce94b7ae27b4}{AAX\+\_\+\+CMonolithic\+Parameters\+::\+Timer\+Wakeup()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a01837_a4e1dc0e4b966fe80041d67814d13e03d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{a01837_a258910d59fee409213caa04e51ee68cf}\label{a01837_a258910d59fee409213caa04e51ee68cf}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetCurveData@{GetCurveData}}
\index{GetCurveData@{GetCurveData}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetCurveData()}{GetCurveData()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Curve\+Data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{i\+Curve\+Type,  }\item[{const float $\ast$}]{i\+Values,  }\item[{uint32\+\_\+t}]{i\+Num\+Values,  }\item[{float $\ast$}]{o\+Values }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Generate a set of output values based on a set of given input values. 

This method is used by the host to generate graphical curves. Given a set of input values, e.\+g. frequencies in Hz, this method should generate a corresponding set of output values, e.\+g. dB gain at each frequency. The semantics of these input and output values are dictated by {\ttfamily i\+Curve\+Type}. See \mbox{\hyperlink{a00893_ga59c73d8f51c5c55d54a728eff39da884}{AAX\+\_\+\+ECurve\+Type}}.

Plug-\/ins may also define custom curve type IDs to use this method internally. For example, the plug-\/in\textquotesingle{}s GUI could use this method to request curve data in an arbitrary format.


\begin{DoxyItemize}
\item \begin{DoxyNote}{Note}
This method may be called by the host simultaneously from multiple threads with differents {\ttfamily i\+Values}.
\end{DoxyNote}

\item \begin{DoxyNote}{Note}
{\ttfamily o\+Values} must be allocated by caller with the same size as {\ttfamily i\+Values} ({\ttfamily i\+Num\+Values}).
\end{DoxyNote}
\begin{DoxyRefDesc}{Host Compatibility Notes}
\item[\mbox{\hyperlink{a00867__compatibility_notes000049}{Host Compatibility Notes}}]Versions of S6 software which support the \mbox{\hyperlink{a00893_ga38d1ac0c15a7052904077ef0e2527e0d}{Get\+Curve\+Data\+Display\+Range()}} method will not display a plug-\/in\textquotesingle{}s curve data unless both \mbox{\hyperlink{a00893_gaa85bda4027342eb644a9c92a17da6d49}{Get\+Curve\+Data()}} and \mbox{\hyperlink{a00893_ga38d1ac0c15a7052904077ef0e2527e0d}{Get\+Curve\+Data\+Display\+Range()}} are supported by the plug-\/in.\end{DoxyRefDesc}

\end{DoxyItemize}

\begin{DoxyWarning}{Warning}
S6 currently polls this method to update a plug-\/in\textquotesingle{}s EQ or dynamics curves based on changes to the parameters mapped to the plug-\/in\textquotesingle{}s EQ or dynamics center section page tables. Parameters that are not included in these page tables will not trigger updates to the curves displayed on S6. (GWSW-\/7314, \mbox{\hyperlink{a00929_PTSW-195316}{PTSW-\/195316 / PT-\/218485}})
\end{DoxyWarning}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Curve\+Type} & One of \mbox{\hyperlink{a00893_ga59c73d8f51c5c55d54a728eff39da884}{AAX\+\_\+\+ECurve\+Type}} \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Values} & An array of input values \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Num\+Values} & The size of {\ttfamily i\+Values} \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Values} & An array of ouptut values\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
This method must return \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a3b76994b32b97fcd56b19ef8032245df}{AAX\+\_\+\+ERROR\+\_\+\+UNIMPLEMENTED}} if the plug-\/in does not support curve data for the requested {\ttfamily i\+Curve\+Type} 
\end{DoxyReturn}


Implements \mbox{\hyperlink{a00893_gaa85bda4027342eb644a9c92a17da6d49}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_af9cd663956c0d903bbf0df349354e573}\label{a01837_af9cd663956c0d903bbf0df349354e573}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetCurveDataMeterIds@{GetCurveDataMeterIds}}
\index{GetCurveDataMeterIds@{GetCurveDataMeterIds}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetCurveDataMeterIds()}{GetCurveDataMeterIds()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Curve\+Data\+Meter\+Ids (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{i\+Curve\+Type,  }\item[{uint32\+\_\+t $\ast$}]{o\+XMeter\+Id,  }\item[{uint32\+\_\+t $\ast$}]{o\+YMeter\+Id }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Indicates which meters correspond to the X and Y axes of the EQ or Dynamics graph. 

These meters can be used by attached control surfaces to present an indicator in the same X/Y coordinate plane as the plug-\/in\textquotesingle{}s curve data.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Curve\+Type} & One of \mbox{\hyperlink{a00893_ga59c73d8f51c5c55d54a728eff39da884}{AAX\+\_\+\+ECurve\+Type}} \\
\hline
\mbox{\texttt{ out}}  & {\em o\+XMeter\+Id} & Id of the X-\/axis meter \\
\hline
\mbox{\texttt{ out}}  & {\em o\+YMeter\+Id} & Id of the Y-\/axis meter\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
This method should return \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a3b76994b32b97fcd56b19ef8032245df}{AAX\+\_\+\+ERROR\+\_\+\+UNIMPLEMENTED}} if the plug-\/in does not implement it. 
\end{DoxyReturn}


Implements \mbox{\hyperlink{a00893_gac7ba3c1063c35d761fdeba9c9a6cc0d1}{AAX\+\_\+\+IACFEffect\+Parameters\+\_\+\+V3}}.

\mbox{\Hypertarget{a01837_af5a917a523f9117016a47227cc1a62f0}\label{a01837_af5a917a523f9117016a47227cc1a62f0}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetCurveDataDisplayRange@{GetCurveDataDisplayRange}}
\index{GetCurveDataDisplayRange@{GetCurveDataDisplayRange}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetCurveDataDisplayRange()}{GetCurveDataDisplayRange()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Curve\+Data\+Display\+Range (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{i\+Curve\+Type,  }\item[{float $\ast$}]{o\+XMin,  }\item[{float $\ast$}]{o\+XMax,  }\item[{float $\ast$}]{o\+YMin,  }\item[{float $\ast$}]{o\+YMax }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Determines the range of the graph shown by the plug-\/in. 

Min/max arguments define the range of the axes of the graph.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Curve\+Type} & One of \mbox{\hyperlink{a00893_ga59c73d8f51c5c55d54a728eff39da884}{AAX\+\_\+\+ECurve\+Type}} \\
\hline
\mbox{\texttt{ out}}  & {\em o\+XMin} & Min value of X-\/axis range \\
\hline
\mbox{\texttt{ out}}  & {\em o\+XMax} & Max value of X-\/axis range \\
\hline
\mbox{\texttt{ out}}  & {\em o\+YMin} & Min value of Y-\/axis range \\
\hline
\mbox{\texttt{ out}}  & {\em o\+YMax} & Max value of Y-\/axis range\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
This method should return \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a3b76994b32b97fcd56b19ef8032245df}{AAX\+\_\+\+ERROR\+\_\+\+UNIMPLEMENTED}} if the plug-\/in does not implement it. 
\end{DoxyReturn}


Implements \mbox{\hyperlink{a00893_ga38d1ac0c15a7052904077ef0e2527e0d}{AAX\+\_\+\+IACFEffect\+Parameters\+\_\+\+V3}}.

\mbox{\Hypertarget{a01837_a6a2a5cfe04b343f6ac47becb0e77ba84}\label{a01837_a6a2a5cfe04b343f6ac47becb0e77ba84}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!UpdatePageTable@{UpdatePageTable}}
\index{UpdatePageTable@{UpdatePageTable}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{UpdatePageTable()}{UpdatePageTable()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Update\+Page\+Table (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{in\+Table\+Type,  }\item[{int32\+\_\+t}]{in\+Table\+Page\+Size,  }\item[{\mbox{\hyperlink{a01757}{IACFUnknown}} $\ast$}]{i\+Host\+Unknown,  }\item[{\mbox{\hyperlink{a01757}{IACFUnknown}} $\ast$}]{io\+Page\+Table\+Unknown }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Allow the plug-\/in to update its page tables.   

Called by the plug-\/in host, usually in response to a \mbox{\hyperlink{a00443_afab5ea2cfd731fc8f163b6caa685406ea92f2ef0cec96b2654789e708d1a1b5e3}{AAX\+\_\+e\+Notification\+Event\+\_\+\+Parameter\+Mapping\+Changed}} notification sent from the plug-\/in.

Use this method to change the page table mapping for the plug-\/in instance or to apply other changes to auxiliary UIs which use the plug-\/in page tables, such as setting focus to a new page.

See \mbox{\hyperlink{a00916}{Page Table Guide}} for more information about page tables.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Table\+Type} & Four-\/char type identifier for the table type (e.\+g. {\ttfamily \textquotesingle{}Pg\+TL\textquotesingle{}}, {\ttfamily \textquotesingle{}Av81\textquotesingle{}}, etc.) \\
\hline
\mbox{\texttt{ in}}  & {\em in\+Table\+Page\+Size} & Page size for the table \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Host\+Unknown} & Unknown interface from the host which may support interfaces providing additional features or information.

All interfaces queried from this unknown will be valid only within the scope of this \mbox{\hyperlink{a02065_a4cdb043ffbdca6f6c4a7e9a96a4347a2}{Update\+Page\+Table()}} execution and will be relevant for only the current plug-\/in instance. \\
\hline
\mbox{\texttt{ in,out}}  & {\em io\+Page\+Table\+Unknown} & Unknown interface which supports \mbox{\hyperlink{a02269}{AAX\+\_\+\+IPage\+Table}}. This object represents the page table data which is currently stored by the host for this plug-\/in instance for the given table type and page size. This data and may be edited within the scope of \mbox{\hyperlink{a02065_a4cdb043ffbdca6f6c4a7e9a96a4347a2}{Update\+Page\+Table()}} to change the page table mapping for this plug-\/in instance.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
This method should return \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a3b76994b32b97fcd56b19ef8032245df}{AAX\+\_\+\+ERROR\+\_\+\+UNIMPLEMENTED}} if the plug-\/in does not implement it or when no change is requested by the plug-\/in. This allows optimizations to be used in the host when no UI update is required following this call.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00443_afab5ea2cfd731fc8f163b6caa685406ea92f2ef0cec96b2654789e708d1a1b5e3}{AAX\+\_\+e\+Notification\+Event\+\_\+\+Parameter\+Mapping\+Changed}}  
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
For convenience, do not override this method. Instead, override the \mbox{\hyperlink{a01837_a79c283d2698c39e664e590f256c51d02}{protected overload}} which provides a prepared copy of the relevant \mbox{\hyperlink{a02269}{AAX\+\_\+\+IPage\+Table}} host interface. 
\end{DoxyNote}


Implements \mbox{\hyperlink{a02065_a4cdb043ffbdca6f6c4a7e9a96a4347a2}{AAX\+\_\+\+IACFEffect\+Parameters\+\_\+\+V4}}.

\mbox{\Hypertarget{a01837_afc82be9a9444bc8bc4a82e8ea370d88e}\label{a01837_afc82be9a9444bc8bc4a82e8ea370d88e}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!GetCustomData@{GetCustomData}}
\index{GetCustomData@{GetCustomData}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{GetCustomData()}{GetCustomData()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Get\+Custom\+Data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{i\+Data\+Block\+ID,  }\item[{uint32\+\_\+t}]{in\+Data\+Size,  }\item[{void $\ast$}]{o\+Data,  }\item[{uint32\+\_\+t $\ast$}]{o\+Data\+Written }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



An optional interface hook for getting custom data from another module. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Data\+Block\+ID} & Identifier for the requested block of custom data \\
\hline
\mbox{\texttt{ in}}  & {\em in\+Data\+Size} & Size of provided buffer, in bytes \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Data} & Pointer to an allocated buffer. Data will be written here. \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Data\+Written} & The number of bytes actually written \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_a4728fcad006d921a07489144360f447e}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_a2905b5ec2ef715cd9000c8f1902e13d3}\label{a01837_a2905b5ec2ef715cd9000c8f1902e13d3}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!SetCustomData@{SetCustomData}}
\index{SetCustomData@{SetCustomData}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{SetCustomData()}{SetCustomData()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Set\+Custom\+Data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{i\+Data\+Block\+ID,  }\item[{uint32\+\_\+t}]{in\+Data\+Size,  }\item[{const void $\ast$}]{i\+Data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



An optional interface hook for setting custom data for use by another module. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Data\+Block\+ID} & Identifier for the provided block of custom data \\
\hline
\mbox{\texttt{ in}}  & {\em in\+Data\+Size} & Size of provided buffer, in bytes \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Data} & Pointer to the data buffer \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02049_aa838cad04781853ef2e0b9df22a05170}{AAX\+\_\+\+IACFEffect\+Parameters}}.

\mbox{\Hypertarget{a01837_ae1076f7e181a6f66f0078bf31beb2cf1}\label{a01837_ae1076f7e181a6f66f0078bf31beb2cf1}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!DoMIDITransfers@{DoMIDITransfers}}
\index{DoMIDITransfers@{DoMIDITransfers}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{DoMIDITransfers()}{DoMIDITransfers()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Do\+MIDITransfers (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



MIDI update callback. 

Call \mbox{\hyperlink{a02201_a2896ba3a1ed86ce2813b1736d316d275}{AAX\+\_\+\+IController\+::\+Get\+Next\+MIDIPacket()}} from within this method to retrieve and process MIDI packets directly within the Effect\textquotesingle{}s data model. MIDI data will also be delivered to the Effect algorithm.

This method is called regularly by the host, similarly to \mbox{\hyperlink{a02049_ab5b8da9e1a9d778d327ac04f4ab8d139}{AAX\+\_\+\+IEffect\+Parameters\+::\+Timer\+Wakeup()}} 

Implements \mbox{\hyperlink{a02049_af376aef3d3ecdc6287f820b4e01f5c9b}{AAX\+\_\+\+IACFEffect\+Parameters}}.



References \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\+\_\+\+SUCCESS}}.

\mbox{\Hypertarget{a01837_aac6fa72278c0f46aa430cd79bdb2d767}\label{a01837_aac6fa72278c0f46aa430cd79bdb2d767}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!UpdateMIDINodes@{UpdateMIDINodes}}
\index{UpdateMIDINodes@{UpdateMIDINodes}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{UpdateMIDINodes()}{UpdateMIDINodes()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Update\+MIDINodes (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ae807f8986143820cfb5d6da32165c9c7}{AAX\+\_\+\+CField\+Index}}}]{in\+Field\+Index,  }\item[{\mbox{\hyperlink{a01777}{AAX\+\_\+\+CMidi\+Packet}} \&}]{i\+Packet }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



MIDI update callback. 

This method is called by the host for each pending MIDI packet for MIDI nodes in algorithm context structure. Overwrite this method in Plug-\/\+In\textquotesingle{}s Effect\+Parameter class if you want to receive MIDI data packets directly in the data model. MIDI data will also be delivered to the Effect algorithm.

The host calls this method in Effects that register one or more MIDI nodes using \mbox{\hyperlink{a02193_a6284dda9ccca898e33075de29dad4e39}{AAX\+\_\+\+IComponent\+Descriptor\+::\+Add\+MIDINode()}}. Effects that do not require MIDI data to be sent to the plug-\/in algorithm should override \mbox{\hyperlink{a02057_ab4ec161f64086070083c21b566354861}{Update\+Control\+MIDINodes()}}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em in\+Field\+Index} & MIDI node field index in algorithm context structure \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Packet} & The incoming MIDI packet for the node \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02057_a229029f0d4bd758538c48931b9f9a9ad}{AAX\+\_\+\+IACFEffect\+Parameters\+\_\+\+V2}}.

\mbox{\Hypertarget{a01837_ac6720637afc7a87adfd391c4ef59126f}\label{a01837_ac6720637afc7a87adfd391c4ef59126f}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!UpdateControlMIDINodes@{UpdateControlMIDINodes}}
\index{UpdateControlMIDINodes@{UpdateControlMIDINodes}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{UpdateControlMIDINodes()}{UpdateControlMIDINodes()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Update\+Control\+MIDINodes (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}}}]{node\+ID,  }\item[{\mbox{\hyperlink{a01777}{AAX\+\_\+\+CMidi\+Packet}} \&}]{i\+Packet }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



MIDI update callback for control MIDI nodes. 

This method is called by the host for each pending MIDI packet for Control MIDI nodes. Overwrite this method in Plug-\/\+In\textquotesingle{}s Effect\+Parameter class if you want to receive MIDI data packets directly in the data model.

The host calls this method in Effects that register one or more Control MIDI nodes using \mbox{\hyperlink{a02233_aa7709de005e0256feb522758ccc5b582}{AAX\+\_\+\+IEffect\+Descriptor\+::\+Add\+Control\+MIDINode()}}. Effects with algorithms that use MIDI data nodes should override \mbox{\hyperlink{a02057_a229029f0d4bd758538c48931b9f9a9ad}{Update\+MIDINodes()}}.

\begin{DoxyNote}{Note}
This method will not be called if an Effect includes any MIDI nodes in its algorithm context structure.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em node\+ID} & Identifier for the MIDI node \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Packet} & The incoming MIDI packet for the node \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02057_ab4ec161f64086070083c21b566354861}{AAX\+\_\+\+IACFEffect\+Parameters\+\_\+\+V2}}.

\mbox{\Hypertarget{a01837_a2b68c51ddd302b43c0df250fdd3ba239}\label{a01837_a2b68c51ddd302b43c0df250fdd3ba239}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!RenderAudio\_Hybrid@{RenderAudio\_Hybrid}}
\index{RenderAudio\_Hybrid@{RenderAudio\_Hybrid}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{RenderAudio\_Hybrid()}{RenderAudio\_Hybrid()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Render\+Audio\+\_\+\+Hybrid (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a02053}{AAX\+\_\+\+SHybrid\+Render\+Info}} $\ast$}]{io\+Render\+Info }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Hybrid audio render function. 

This method is called from the host to render audio for the hybrid piece of the algorithm.

\begin{DoxyNote}{Note}
To use this method plug-\/in should register some hybrid inputs and ouputs in \char`\"{}\+Describe\char`\"{} 
\end{DoxyNote}


Implements \mbox{\hyperlink{a00886_gae6139041de22f51f3146d26a01c54c1b}{AAX\+\_\+\+IACFEffect\+Parameters\+\_\+\+V2}}.

\mbox{\Hypertarget{a01837_aae8d8b008608224a6cffe41756295481}\label{a01837_aae8d8b008608224a6cffe41756295481}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!Controller@{Controller}}
\index{Controller@{Controller}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{Controller()}{Controller()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{a02201}{AAX\+\_\+\+IController}} $\ast$ AAX\+\_\+\+CEffect\+Parameters\+::\+Controller (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Access to the Effect controller. 



Referenced by \mbox{\hyperlink{a02433_a626cb2aaa68c64238298acfd6db448f5}{AAX\+\_\+\+CMonolithic\+Parameters\+::\+Generate\+Coefficients()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a01837_aae8d8b008608224a6cffe41756295481_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{a01837_aabba7244c34f7279b103a84b86bf98f0}\label{a01837_aabba7244c34f7279b103a84b86bf98f0}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!Controller@{Controller}}
\index{Controller@{Controller}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{Controller()}{Controller()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{a02201}{AAX\+\_\+\+IController}} $\ast$ AAX\+\_\+\+CEffect\+Parameters\+::\+Controller (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



{\ttfamily const} access to the Effect controller 

\mbox{\Hypertarget{a01837_a111da3227cfaea0c24a848c9d38201e7}\label{a01837_a111da3227cfaea0c24a848c9d38201e7}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!Transport@{Transport}}
\index{Transport@{Transport}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{Transport()}{Transport()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{a02325}{AAX\+\_\+\+ITransport}} $\ast$ AAX\+\_\+\+CEffect\+Parameters\+::\+Transport (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Access to the Transport object. 

\mbox{\Hypertarget{a01837_aa87936839e1bd615886f235fd793a52e}\label{a01837_aa87936839e1bd615886f235fd793a52e}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!Transport@{Transport}}
\index{Transport@{Transport}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{Transport()}{Transport()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{a02325}{AAX\+\_\+\+ITransport}} $\ast$ AAX\+\_\+\+CEffect\+Parameters\+::\+Transport (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



{\ttfamily const} access to the Transport object 

\mbox{\Hypertarget{a01837_afb96fc47144130a351235304ab2374e7}\label{a01837_afb96fc47144130a351235304ab2374e7}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!AutomationDelegate@{AutomationDelegate}}
\index{AutomationDelegate@{AutomationDelegate}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{AutomationDelegate()}{AutomationDelegate()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{a02185}{AAX\+\_\+\+IAutomation\+Delegate}} $\ast$ AAX\+\_\+\+CEffect\+Parameters\+::\+Automation\+Delegate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Access to the Effect\textquotesingle{}s automation delegate. 

\mbox{\Hypertarget{a01837_afcf3599e707658b5ba7b45f1f3c66a52}\label{a01837_afcf3599e707658b5ba7b45f1f3c66a52}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!AutomationDelegate@{AutomationDelegate}}
\index{AutomationDelegate@{AutomationDelegate}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{AutomationDelegate()}{AutomationDelegate()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{a02185}{AAX\+\_\+\+IAutomation\+Delegate}} $\ast$ AAX\+\_\+\+CEffect\+Parameters\+::\+Automation\+Delegate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



{\ttfamily const} access to the Effect\textquotesingle{}s automation delegate 

\mbox{\Hypertarget{a01837_a363be3503435a8619f6cba787ee678ac}\label{a01837_a363be3503435a8619f6cba787ee678ac}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!SetTaperDelegate@{SetTaperDelegate}}
\index{SetTaperDelegate@{SetTaperDelegate}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{SetTaperDelegate()}{SetTaperDelegate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Set\+Taper\+Delegate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a02309}{AAX\+\_\+\+ITaper\+Delegate\+Base}} \&}]{i\+Taper\+Delegate,  }\item[{bool}]{i\+Preserve\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{a01837_ad4aeb081bffb2414182251d4e41c1ed2}\label{a01837_ad4aeb081bffb2414182251d4e41c1ed2}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!SetDisplayDelegate@{SetDisplayDelegate}}
\index{SetDisplayDelegate@{SetDisplayDelegate}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{SetDisplayDelegate()}{SetDisplayDelegate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Set\+Display\+Delegate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a02217}{AAX\+\_\+\+IDisplay\+Delegate\+Base}} \&}]{i\+Display\+Delegate }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{a01837_a7ee10904c6933cbf82b6050044fa15eb}\label{a01837_a7ee10904c6933cbf82b6050044fa15eb}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!IsParameterTouched@{IsParameterTouched}}
\index{IsParameterTouched@{IsParameterTouched}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{IsParameterTouched()}{IsParameterTouched()}}
{\footnotesize\ttfamily bool AAX\+\_\+\+CEffect\+Parameters\+::\+Is\+Parameter\+Touched (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+ID }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{a01837_adf4d2d6060bf3e13619838cea8b59865}\label{a01837_adf4d2d6060bf3e13619838cea8b59865}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!IsParameterLinkReady@{IsParameterLinkReady}}
\index{IsParameterLinkReady@{IsParameterLinkReady}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{IsParameterLinkReady()}{IsParameterLinkReady()}}
{\footnotesize\ttfamily bool AAX\+\_\+\+CEffect\+Parameters\+::\+Is\+Parameter\+Link\+Ready (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{in\+Parameter\+ID,  }\item[{\mbox{\hyperlink{a00443_a30be0398faf20c6b121239eb9399f3f7}{AAX\+\_\+\+EUpdate\+Source}}}]{in\+Source }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{a01837_a2e302fd758d39a6a855023bf825fe148}\label{a01837_a2e302fd758d39a6a855023bf825fe148}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!EffectInit@{EffectInit}}
\index{EffectInit@{EffectInit}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{EffectInit()}{EffectInit()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Effect\+Init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}



Initialization helper routine. Called from \mbox{\hyperlink{a01837_a245f235300b04f1c8b4c83831d296e22}{AAX\+\_\+\+CEffect\+Parameters\+::\+Initialize}}. 

Override to add parameters, packets, meters, and to do any other custom initialization.

Add custom parameters\+: \begin{DoxyItemize}
\item Create an \mbox{\hyperlink{a01893}{AAX\+\_\+\+CParameter}} for each parameter in the plug-\/in \item Call \mbox{\hyperlink{a01901_ae2f9631b33c012f7a8c042df9655b28c}{AAX\+\_\+\+CParameter\+Manager\+::\+Add\+Parameter()}} using m\+Parameter\+Manager to add parameters to the Parameter Manager\end{DoxyItemize}
\begin{DoxyNote}{Note}
See bug \mbox{\hyperlink{a00929_AAXSDK-897}{AAXSDK-\/897}}
\end{DoxyNote}
Register packets\+: \begin{DoxyItemize}
\item Call \mbox{\hyperlink{a01885_a1848f0bfa473b54e9ee8e32872c89cb1}{AAX\+\_\+\+CPacket\+Dispatcher\+::\+Register\+Packet()}} using m\+Packet\+Dispatcher to register a packet and handling callback. \end{DoxyItemize}


References \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\+\_\+\+SUCCESS}}.

\mbox{\Hypertarget{a01837_a79c283d2698c39e664e590f256c51d02}\label{a01837_a79c283d2698c39e664e590f256c51d02}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!UpdatePageTable@{UpdatePageTable}}
\index{UpdatePageTable@{UpdatePageTable}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{UpdatePageTable()}{UpdatePageTable()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+CEffect\+Parameters\+::\+Update\+Page\+Table (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{,  }\item[{int32\+\_\+t}]{,  }\item[{\mbox{\hyperlink{a02269}{AAX\+\_\+\+IPage\+Table}} \&}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}

Protected overload of \mbox{\hyperlink{a01837_a6a2a5cfe04b343f6ac47becb0e77ba84}{Update\+Page\+Table()}}

Override this version of the method for convenience. This allows the default \mbox{\hyperlink{a01837_a6a2a5cfe04b343f6ac47becb0e77ba84}{Update\+Page\+Table()}} implementation to handle the interface conversion from \mbox{\hyperlink{a01757}{IACFUnknown}} to \mbox{\hyperlink{a02269}{AAX\+\_\+\+IPage\+Table}}.

\begin{DoxyReturn}{Returns}
This method should return \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a3b76994b32b97fcd56b19ef8032245df}{AAX\+\_\+\+ERROR\+\_\+\+UNIMPLEMENTED}} if the plug-\/in does not implement it or when no change is made by the plug-\/in. This allows optimizations to be used in the host when no UI update is required following this call. 
\end{DoxyReturn}


References \mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a3b76994b32b97fcd56b19ef8032245df}{AAX\+\_\+\+ERROR\+\_\+\+UNIMPLEMENTED}}.

\mbox{\Hypertarget{a01837_a06251bbdd6ad5d6ccee160ce4cb5ee8c}\label{a01837_a06251bbdd6ad5d6ccee160ce4cb5ee8c}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!FilterParameterIDOnSave@{FilterParameterIDOnSave}}
\index{FilterParameterIDOnSave@{FilterParameterIDOnSave}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{FilterParameterIDOnSave()}{FilterParameterIDOnSave()}}
{\footnotesize\ttfamily void AAX\+\_\+\+CEffect\+Parameters\+::\+Filter\+Parameter\+IDOn\+Save (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{control\+ID }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}



CALL\+: Indicates the indices of parameters that should not be saved in the default \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} chunk. 

Allows specific parameters to filtered out of the default \mbox{\hyperlink{a01837}{AAX\+\_\+\+CEffect\+Parameters}} \char`\"{}\+Save \+Settings\char`\"{} functionality. This call is automatically invoked on the Master Bypass control when specified by the Define\+Master\+Bypass\+Control\+Index() call.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em control\+ID} & The ID of the parameter that should be removed from the default chunk \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a01837_a0fd3465f1a37beb0c9d8be5e33a5cf58}\label{a01837_a0fd3465f1a37beb0c9d8be5e33a5cf58}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!BuildChunkData@{BuildChunkData}}
\index{BuildChunkData@{BuildChunkData}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{BuildChunkData()}{BuildChunkData()}}
{\footnotesize\ttfamily void AAX\+\_\+\+CEffect\+Parameters\+::\+Build\+Chunk\+Data (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [protected]}}



Clears out the current chunk in Chunk Parser and adds all of the new values. Used by default implementations of \mbox{\hyperlink{a01837_aeddfa6e0b92f9373836ae41491114c4d}{Get\+Chunk()}} and \mbox{\hyperlink{a01837_aade2d4ba2fcb8c302917caf4bfb0f8cf}{Get\+Chunk\+Size()}}. 



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{a01837_a1d9f79117c9075f47b00a7af34113b22}\label{a01837_a1d9f79117c9075f47b00a7af34113b22}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!mNumPlugInChanges@{mNumPlugInChanges}}
\index{mNumPlugInChanges@{mNumPlugInChanges}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{mNumPlugInChanges}{mNumPlugInChanges}}
{\footnotesize\ttfamily int32\+\_\+t AAX\+\_\+\+CEffect\+Parameters\+::m\+Num\+Plug\+In\+Changes\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{a01837_a8c792ec58dc073534348004f0c0c09dd}\label{a01837_a8c792ec58dc073534348004f0c0c09dd}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!mChunkSize@{mChunkSize}}
\index{mChunkSize@{mChunkSize}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{mChunkSize}{mChunkSize}}
{\footnotesize\ttfamily int32\+\_\+t AAX\+\_\+\+CEffect\+Parameters\+::m\+Chunk\+Size\hspace{0.3cm}{\ttfamily [mutable]}, {\ttfamily [protected]}}

\mbox{\Hypertarget{a01837_a71e52a24c8cd8853c768417aa181b41f}\label{a01837_a71e52a24c8cd8853c768417aa181b41f}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!mChunkParser@{mChunkParser}}
\index{mChunkParser@{mChunkParser}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{mChunkParser}{mChunkParser}}
{\footnotesize\ttfamily \mbox{\hyperlink{a01817}{AAX\+\_\+\+CChunk\+Data\+Parser}} AAX\+\_\+\+CEffect\+Parameters\+::m\+Chunk\+Parser\hspace{0.3cm}{\ttfamily [mutable]}, {\ttfamily [protected]}}

\mbox{\Hypertarget{a01837_ad6a57b4e98161c28b55b250e0234c4ba}\label{a01837_ad6a57b4e98161c28b55b250e0234c4ba}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!mNumChunkedParameters@{mNumChunkedParameters}}
\index{mNumChunkedParameters@{mNumChunkedParameters}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{mNumChunkedParameters}{mNumChunkedParameters}}
{\footnotesize\ttfamily int32\+\_\+t AAX\+\_\+\+CEffect\+Parameters\+::m\+Num\+Chunked\+Parameters\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{a01837_a1e4a92cdd947d35eb4382f0b5c4c8dae}\label{a01837_a1e4a92cdd947d35eb4382f0b5c4c8dae}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!mPacketDispatcher@{mPacketDispatcher}}
\index{mPacketDispatcher@{mPacketDispatcher}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{mPacketDispatcher}{mPacketDispatcher}}
{\footnotesize\ttfamily \mbox{\hyperlink{a01885}{AAX\+\_\+\+CPacket\+Dispatcher}} AAX\+\_\+\+CEffect\+Parameters\+::m\+Packet\+Dispatcher\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{a01837_afbb31a7a131b227ddd8bbd920aafbfb8}\label{a01837_afbb31a7a131b227ddd8bbd920aafbfb8}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!mParameterManager@{mParameterManager}}
\index{mParameterManager@{mParameterManager}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{mParameterManager}{mParameterManager}}
{\footnotesize\ttfamily \mbox{\hyperlink{a01901}{AAX\+\_\+\+CParameter\+Manager}} AAX\+\_\+\+CEffect\+Parameters\+::m\+Parameter\+Manager\hspace{0.3cm}{\ttfamily [protected]}}



Referenced by \mbox{\hyperlink{a02433_a9ef4fd6fa467008fcea4455d19c08009}{AAX\+\_\+\+CMonolithic\+Parameters\+::\+Update\+Parameter\+Normalized\+Value()}}.

\mbox{\Hypertarget{a01837_a353f5472e4eaefd348f20f9ff07a13a0}\label{a01837_a353f5472e4eaefd348f20f9ff07a13a0}} 
\index{AAX\_CEffectParameters@{AAX\_CEffectParameters}!mFilteredParameters@{mFilteredParameters}}
\index{mFilteredParameters@{mFilteredParameters}!AAX\_CEffectParameters@{AAX\_CEffectParameters}}
\doxysubsubsection{\texorpdfstring{mFilteredParameters}{mFilteredParameters}}
{\footnotesize\ttfamily std\+::set$<$std\+::string$>$ AAX\+\_\+\+CEffect\+Parameters\+::m\+Filtered\+Parameters\hspace{0.3cm}{\ttfamily [protected]}}



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