Version

    Other Documentation

menu_open
Wwise SDK 2021.1.14
AK.Wwise::Plugin::PluginInfoGenerator< PluginT > Struct Template Reference

C++ PluginInfo Generator. More...

#include <PluginInfoGenerator.h>

Classes

struct   GenerateConstructor
  Generates the constructor for our particular type. More...
 
struct   GenerateConstructorArray
  Recursively generates the constructors and interface pointer updater for all the Interfaces. More...
 
struct   InterfaceInfo
  Compile-time dictionary about a particular interface type. More...
 

Public Types

enum   : size_t { k_interfaceCount = CountInterfaces() }
 

Public Member Functions

  PluginInfoGenerator (PluginRegistration *in_pluginRegistration, uint32_t in_pluginFlags=0)
 
  PluginInfoGenerator (const AkUInt32 *in_companyID, const AkUInt32 *in_pluginID, const AkPluginType *in_pluginType, uint32_t in_pluginFlags=0)
 
  ~PluginInfoGenerator ()
 

Static Public Member Functions

template<InterfaceType in_interface = (InterfaceType)(AK_WWISE_PLUGIN_INTERFACE_TYPE_NUM - 1)>
static constexpr size_t  CountInterfaces ()
  Count the number of interfaces we are currently using. More...
 
template<InterfaceType in_interfaceType>
static constexpr InterfaceArrayItem  GenerateInterface ()
  Generates the InterfaceArrayItem for our particular type. More...
 
template<InterfaceType in_interfaceType>
static constexpr void  GenerateInterfaceArray (InterfaceArrayItem out_interfaces[k_interfaceCount], int in_count, InterfaceArrayItem)
  Recursively generates an interface array of all the Interfaces pointers. More...
 
static constexpr InterfaceArrayItem GenerateInterfaceArray (InterfaceArrayItem out_interfaces[k_interfaceCount])
 
static InterfaceArrayItem Instantiate (PluginInfo *in_pluginInfo)
  Plug-in instance constructor, as shared with the host. More...
 
static void  Disembody (InterfaceArrayItem *in_instance)
  Plug-in instance destructor, as shared to the host. More...
 

Public Attributes

InterfaceArrayItem  m_interfaceArray [k_interfaceCount]
  Current array of interfaces, used in the bridge between host and plug-in. More...
 
PluginInfo  m_pluginInfo
  The unique m_pluginInfo used in the ak_wwise_plugin_container for that particular plug-in. More...
 

Static Public Attributes

static PluginInfoGenerator g_instance = nullptr
  The unique generator instance for this particular plug-in. More...
 

Detailed Description

template<typename PluginT>
struct AK.Wwise::Plugin::PluginInfoGenerator< PluginT >

C++ PluginInfo Generator.

Retrieves the list of plug-in interfaces required by a plug-in through derivation, and automatically creates a related ak_wwise_plugin_info structure.

Compared to a manually generated C version, the generated structure is done through a function that fills all the required data. Since it's a static global function called only once, and contains only value stores, the cost is, so far, quite minimal.

Template Parameters
PluginT The plug-in class that needs to be instantiated in order to use that plug-in.

Definition at line 328 of file PluginInfoGenerator.h.


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise