\hypertarget{a02309}{}\doxysection{AAX\+\_\+\+ITaper\+Delegate\+Base Class Reference}
\label{a02309}\index{AAX\_ITaperDelegateBase@{AAX\_ITaperDelegateBase}}


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



Inheritance diagram for AAX\+\_\+\+ITaper\+Delegate\+Base\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{a02308}
\end{center}
\end{figure}


\doxysubsection{Description}
Defines the taper conversion behavior for a parameter. 

\begin{DoxyRefDesc}{\+:\+Internal to the AAX SDK}
\item[\mbox{\hyperlink{a00873__aax_sdk_internal000003}{\+:\+Internal to the AAX SDK}}]\end{DoxyRefDesc}


This interface represents a delegate class to be used in conjunction with \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}}. \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}} delegates all conversion operations between normalized and real parameter values to classes that meet this interface. You can think of \mbox{\hyperlink{a02313}{AAX\+\_\+\+ITaper\+Delegate}} subclasses as simple taper conversion routines that enable a specific taper or range conversion function on an arbitrary parameter.

To demonstrate the use of this interface, we will examine a simple call routine into a parameter\+:

\begin{DoxyParagraph}{}
1. The host application calls into the plug-\/in\textquotesingle{}s \mbox{\hyperlink{a01901}{AAX\+\_\+\+CParameter\+Manager}} with a Parameter ID and a new normalized parameter value. This new value could be coming from an automation lane, a control surface, or any other parameter control; from the plug-\/in\textquotesingle{}s perspective, these are all identical.
\end{DoxyParagraph}
\begin{DoxyParagraph}{}
2. The \mbox{\hyperlink{a01901}{AAX\+\_\+\+CParameter\+Manager}} finds the specified \mbox{\hyperlink{a01893}{AAX\+\_\+\+CParameter}} and calls \mbox{\hyperlink{a02277_ad4b9a53e4e972d1a840ef094036e5a70}{AAX\+\_\+\+IParameter\+::\+Set\+Normalized\+Value()}} on that parameter
\end{DoxyParagraph}
\begin{DoxyParagraph}{}
3. \mbox{\hyperlink{a02277_ad4b9a53e4e972d1a840ef094036e5a70}{AAX\+\_\+\+IParameter\+::\+Set\+Normalized\+Value()}} results in a call into the parameter\textquotesingle{}s concrete taper delegate to convert the normalized value to a real value.
\end{DoxyParagraph}
Using this pattern, the parameter manager is able to use real parameter values without actually knowing how to perform the conversion between normalized and real values.

The inverse of the above example can also happen, e.\+g. when a control is updated from within the data model. In this case, the parameter can call into its concrete taper delegate in order to normalize the updated value, which can then be passed on to any observers that require normalized values, such as the host app.

For more information about the parameter manager, see the \mbox{\hyperlink{a00896}{Parameter Manager}} documentation page. \doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a02309_a38bf3326334b9bc248c62faff2492d38}{$\sim$\+AAX\+\_\+\+ITaper\+Delegate\+Base}} ()
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a02309_a38bf3326334b9bc248c62faff2492d38}\label{a02309_a38bf3326334b9bc248c62faff2492d38}} 
\index{AAX\_ITaperDelegateBase@{AAX\_ITaperDelegateBase}!````~AAX\_ITaperDelegateBase@{$\sim$AAX\_ITaperDelegateBase}}
\index{````~AAX\_ITaperDelegateBase@{$\sim$AAX\_ITaperDelegateBase}!AAX\_ITaperDelegateBase@{AAX\_ITaperDelegateBase}}
\doxysubsubsection{\texorpdfstring{$\sim$AAX\_ITaperDelegateBase()}{~AAX\_ITaperDelegateBase()}}
{\footnotesize\ttfamily virtual AAX\+\_\+\+ITaper\+Delegate\+Base\+::$\sim$\+AAX\+\_\+\+ITaper\+Delegate\+Base (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Virtual destructor. 

\begin{DoxyNote}{Note}
This destructor MUST be virtual to prevent memory leaks. 
\end{DoxyNote}


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