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