\hypertarget{a00906}{}\doxysection{Basic parameter update sequences}
\label{a00906}\index{Basic parameter update sequences@{Basic parameter update sequences}}
Sequence diagrams for some common parameter update scenarios. 

\hypertarget{a00906_advancedTopics_parameterUpdates_sequences_contents}{}\doxysubsection{On this page}\label{a00906_advancedTopics_parameterUpdates_sequences_contents}
\begin{DoxyItemize}
\item \mbox{\hyperlink{a00906_parameterUpdates_sequences_user}{User-\/generated update}} \item \mbox{\hyperlink{a00906_parameterUpdates_sequences_automation}{Automation playback}} \item \mbox{\hyperlink{a00906_parameterUpdates_sequences_initialization}{Initialization}}\end{DoxyItemize}
\begin{DoxyNote}{Note}
To enable logging for these events at run time set {\ttfamily DTF\+\_\+\+AUTOMATION=file@DTP\+\_\+\+LOW} in the \mbox{\hyperlink{a00917}{Digi\+Trace}} configuration file.
\end{DoxyNote}
\hypertarget{a00906_advancedTopics_parameterUpdates_sequences_notes}{}\doxysubsubsection{Notes on threading for these sequences}\label{a00906_advancedTopics_parameterUpdates_sequences_notes}

\begin{DoxyItemize}
\item Calls from the host into \mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}} may occur on any thread. In general, the only synchronization that is guaranteed for data model calls in these diagrams is that the call will follow whatever event is indicated as its trigger.
\item Calls from the host into \mbox{\hyperlink{a02241}{AAX\+\_\+\+IEffect\+GUI}} will occur on the main application thread unless indicated otherwise in the \mbox{\hyperlink{a02241}{AAX\+\_\+\+IEffect\+GUI}} documentation.
\item Host-\/driven updates to the algorithm context are always synchronized with the real-\/time processing thread
\end{DoxyItemize}\hypertarget{a00906_parameterUpdates_sequences_user}{}\doxysubsection{User-\/generated update}\label{a00906_parameterUpdates_sequences_user}
This is the sequence of calls for a basic, unlinked parameter update triggered by the user. For this sequence, we assume that the edit was triggered by a GUI event.\hypertarget{a00906_parameterUpdates_sequences_updateSequences_user_highlevel}{}\doxysubsubsection{High-\/level interface calls and events}\label{a00906_parameterUpdates_sequences_updateSequences_user_highlevel}

\begin{DoxyImage}
\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{msc_AAX_ParameterUpdate_GUI_HighLevel}
\doxyfigcaption{High-\/level sequence of interface calls and events for a parameter update following a user-\/generated edit}
\end{DoxyImage}
\hypertarget{a00906_parameterUpdates_sequences_user_details}{}\doxysubsubsection{Detailed sequence for default implementation}\label{a00906_parameterUpdates_sequences_user_details}
Note that this diagram assumes a GUI implementation that uses \mbox{\hyperlink{a02049_a368b0f5a761d1eda4c41b420f153a077}{Set\+Parameter\+Normalized\+Value()}}. The implementation could also use other parameter set methods, either in \mbox{\hyperlink{a02245}{AAX\+\_\+\+IEffect\+Parameters}} or directly on an \mbox{\hyperlink{a02277}{AAX\+\_\+\+IParameter}}. The overall sequence would remain the same.


\begin{DoxyImage}
\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{msc_AAX_ParameterUpdate_GUI}
\doxyfigcaption{Detailed sequence of method calls and events for a parameter update following a user-\/generated edit on the plug-\/in GUI}
\end{DoxyImage}
\hypertarget{a00906_parameterUpdates_sequences_user_controlsurface}{}\doxysubsubsection{Updates from control surfaces}\label{a00906_parameterUpdates_sequences_user_controlsurface}
Updates from control surfaces are handled in exactly the same way. In this case, though, the parameter touch, set value, and release tokens are generated by the control surface.


\begin{DoxyImageNoCaption}
  \mbox{\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{inline_mscgraph_1}}
\end{DoxyImageNoCaption}
\hypertarget{a00906_parameterUpdates_sequences_automation}{}\doxysubsection{Automation playback}\label{a00906_parameterUpdates_sequences_automation}
Automation playback handling is similar to the handling for user-\/generated parameter updates. However, parameters are never touched/released during automation playback. This allows touches from other clients, such as the GUI or control surfaces, to override the automation playback.


\begin{DoxyImage}
\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{msc_AAX_ParameterUpdate_Automation}
\doxyfigcaption{Sequence of method calls and events for playback of parameter automation}
\end{DoxyImage}
\hypertarget{a00906_parameterUpdates_sequences_initialization}{}\doxysubsection{Initialization}\label{a00906_parameterUpdates_sequences_initialization}
This is the sequence of calls for the initial parameter updates made during data model initialization. Steps that are redundant with sections of the \mbox{\hyperlink{a00906_parameterUpdates_sequences_user_details}{standard user-\/generated update sequence}} are elided.

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{a00866__todo000002}{Todo}}]Update this section with information about default chunk setting, which is a separate step following the procedure described below.\end{DoxyRefDesc}



\begin{DoxyImage}
\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{msc_AAX_ParameterUpdate_Initialization}
\doxyfigcaption{Sequence of method calls and events for parameter updates at plug-\/in initialization}
\end{DoxyImage}
 Collaboration diagram for Basic parameter update sequences\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=335pt]{a00906}
\end{center}
\end{figure}
