Table of Contents

virtual AKRESULT AK::IAkGlobalPluginContext::RegisterGlobalCallback ( AkPluginType  in_eType,
AkUInt32  in_ulCompanyID,
AkUInt32  in_ulPluginID,
AkGlobalCallbackFunc  in_pCallback,
AkUInt32  in_eLocation = AkGlobalCallbackLocation_BeginRender,
void *  in_pCookie = NULL  
) [pure virtual]

Register a global callback function. This function will be called from the audio rendering thread, at the location specified by in_eLocation. This function will also be called from the thread calling AK::SoundEngine::Term with in_eLocation set to AkGlobalCallbackLocation_Term. For example, in order to be called at every audio rendering pass, and once during teardown for releasing resources, you would call RegisterGlobalCallback(AkPluginTypeEffect, MY_COMPANY_ID , MY_PLUGIN_ID, myCallback, AkGlobalCallbackLocation_BeginRender | AkGlobalCallbackLocation_Term, myCookie);

A valid (not AkPluginTypeNone) Plugin Type, Company ID and valid (non-zero) Plug-in ID of the plug-in registering the callback must be provided to this function. The timing of the callback function will contribute to the timing of the plug-in registered (Total Plug-in CPU and Advanced Profiler Plug-in tab). Timers will be registered to callbacks at all locations except for AkGlobalCallbackLocation_Register and AkGlobalCallbackLocation_Term. It is illegal to call this function while already inside of a global callback. This function might stall for several milliseconds before returning.
See also:
in_eType  A valid Plug-in type (for example, source or effect).
in_ulCompanyID  Company identifier (as declared in the plug-in description XML file).
in_ulPluginID  Plug-in identifier (as declared in the plug-in description XML file).
in_pCallback  Function to register as a global callback.
in_eLocation  Callback location defined in AkGlobalCallbackLocation. Bitwise OR multiple locations if needed.
in_pCookie  User cookie.