| ASPiK SDK
    | 
The AAXPluginParameters object implements the monolithic parameters AAX plugin programming paradigm which is documented in detail in Designing Audio Effects in C++ 2nd Ed. by Will Pirkle as well as the AAX SDK. More...
#include <AAXPluginParameters.h>
 
 | Classes | |
| struct | SParamValList | 
| See AAX_CMonolithicParameters in SDK; this is part of the strict parameter synchronization in monolithic AAX plugins.  More... | |
| Public Member Functions | |
| AAXPluginParameters () | |
| object constructor; this creates the ASPiK core and all of its required interfaces. | |
| virtual | ~AAXPluginParameters () | 
| object destructor; this destroys the ASPiK core and all of its required interfaces. | |
| virtual AAX_Result | UpdateParameterNormalizedValue (AAX_CParamID iParameterID, double iValue, AAX_EUpdateSource iSource) | 
| called when a parameter needs to be updated (aka it is "dirty") as part of the AAX monolithic parameters paradigm | |
| void | AddSynchronizedParameter (const AAX_IParameter &inParameter) | 
| called to add parameters to the synchronized list; this is only called once during EffectInit( ) as part of the AAX monolithic parameters paradigm | |
| virtual AAX_Result | EffectInit () AAX_OVERRIDE | 
| AAX Override. | |
| virtual AAX_Result | ResetFieldData (AAX_CFieldIndex inFieldIndex, void *oData, uint32_t iDataSize) const AAX_OVERRIDE | 
| AAX Override. | |
| virtual AAX_Result | GenerateCoefficients () AAX_OVERRIDE | 
| AAX Override. | |
| virtual AAX_Result | TimerWakeup () AAX_OVERRIDE | 
| AAX Override. | |
| AAX_Result | GetParameterNormalizedValue (AAX_CParamID iParameterID, double *oValuePtr) const AAX_OVERRIDE | 
| allows threadsafe getting of parameters for GUI; modified to differentiate beteen meters to prevent a "bug" where the non-saved state marker pops up when saving a meter-based GUI | |
| virtual AAX_Result | GetCustomData (AAX_CTypeID iDataBlockID, uint32_t iDataSize, void *oData, uint32_t *oDataWritten) const AAX_OVERRIDE | 
| note the data that is transferred to GUI; the core is ONLY used for initialization and then it is unused. | |
| void | updateHostInfo (AAXAlgorithm *ioRenderInfo, HostInfo *hostInfo) | 
| called once per buffer process operation to set the host information structure for the core | |
| void | ProcessAudio (AAXAlgorithm *ioRenderInfo, const TParamValPair *inSynchronizedParamValues[], int32_t inNumSynchronizedParamValues) | 
| audio processing function; note that ALL algorithms point to this function so we have to decode channel information. | |
| void | UpdatePluginParameters (const TParamValPair *inSynchronizedParamValues[], int32_t inNumSynchronizedParamValues) | 
| called once per buffer process operation to update any parameters that changed during the buffer fill | |
| void | updateOutboundAAXParameters () | 
| threadsafe update of outbound parameters (meter variables) for GUI. | |
| Static Public Member Functions | |
| static AAX_CEffectParameters *AAX_CALLBACK | Create () | 
| creation mechanism for this object | |
| static void AAX_CALLBACK | StaticRenderAudio (AAXAlgorithm *const inInstancesBegin[], const void *inInstancesEnd) | 
| static callback function that exists as an object member and is part of the monolithic programming paradigm described in great detail in the source below. | |
| static AAX_Result | StaticDescribe (AAX_IComponentDescriptor &outDesc) | 
| static describe function that exists as an object member and is part of the monolithic programming paradigm described in great detail in the source below. | |
The AAXPluginParameters object implements the monolithic parameters AAX plugin programming paradigm which is documented in detail in Designing Audio Effects in C++ 2nd Ed. by Will Pirkle as well as the AAX SDK.
| AAXPluginParameters::AAXPluginParameters | ( | ) | 
object constructor; this creates the ASPiK core and all of its required interfaces.
NOTES:
| 
 | virtual | 
object destructor; this destroys the ASPiK core and all of its required interfaces.
NOTES:
| void AAXPluginParameters::AddSynchronizedParameter | ( | const AAX_IParameter & | inParameter | ) | 
called to add parameters to the synchronized list; this is only called once during EffectInit( ) as part of the AAX monolithic parameters paradigm
see AAX_CMonolithicParameters in SDK
NOTES:
| 
 | static | 
creation mechanism for this object
creation function
NOTES:
| 
 | virtual | 
AAX Override.
note the data that is transferred to GUI; the core is ONLY used for initialization and then it is unused.
NOTES:
| 
 | virtual | 
AAX Override.
called at the top of the buffer processing cycle to queue up dirty parameters; part of the AAX monolithic parameters paradigm
NOTES:
| 
 | virtual | 
note the data that is transferred to GUI; the core is ONLY used for initialization and then it is unused.
mechism to transfer custom data to GUI (AAX approved)
NOTES:
| AAX_Result AAXPluginParameters::GetParameterNormalizedValue | ( | AAX_CParamID | iParameterID, | 
| double * | oValuePtr | ||
| ) | const | 
allows threadsafe getting of parameters for GUI; modified to differentiate beteen meters to prevent a "bug" where the non-saved state marker pops up when saving a meter-based GUI
NOTES:
| void AAXPluginParameters::ProcessAudio | ( | AAXAlgorithm * | ioRenderInfo, | 
| const TParamValPair * | inSynchronizedParamValues[], | ||
| int32_t | inNumSynchronizedParamValues | ||
| ) | 
audio processing function; note that ALL algorithms point to this function so we have to decode channel information.
the audio processing function for AAX
NOTES:
| 
 | virtual | 
AAX Override.
this is where we set the pointer back to this objecgt for our private date; part of monolithic paradigm and described in detail in book source below.
NOTES:
| 
 | static | 
static describe function that exists as an object member and is part of the monolithic programming paradigm described in great detail in the source below.
static function for description process; can not be distributed
NOTES:
| 
 | static | 
static callback function that exists as an object member and is part of the monolithic programming paradigm described in great detail in the source below.
static render function for processing; can not be distributed
NOTES:
| 
 | virtual | 
AAX Override.
cleans out unneeded parameters
NOTES:
| void AAXPluginParameters::updateHostInfo | ( | AAXAlgorithm * | ioRenderInfo, | 
| HostInfo * | hostInfo | ||
| ) | 
called once per buffer process operation to set the host information structure for the core
get info from host for this buffer process cycle
NOTES:
| void AAXPluginParameters::updateOutboundAAXParameters | ( | ) | 
threadsafe update of outbound parameters (meter variables) for GUI.
outbound parameter set meter info for GUI update
NOTES:
| 
 | virtual | 
called when a parameter needs to be updated (aka it is "dirty") as part of the AAX monolithic parameters paradigm
grab param changes and add to defer list
NOTES:
| void AAXPluginParameters::UpdatePluginParameters | ( | const TParamValPair * | inSynchronizedParamValues[], | 
| int32_t | inNumSynchronizedParamValues | ||
| ) | 
called once per buffer process operation to update any parameters that changed during the buffer fill
update dirty parameters
NOTES:
see AAX SDK for more information on this function and its parameters