Version

menu_open
Wwise SDK 2021.1.14
PluginInfoGenerator.h File Reference

Wwise Authoring Plug-ins - C++ class helper to automatically determine the plug-in interfaces used in a class. More...

#include "PluginContainer.h"
#include <array>
#include <memory>

Go to the source code of this file.

Classes

struct   AK.Wwise::Plugin::PluginInfoTLS< bool >
  The interface information of the plug-in currently being instantiated. More...
 
class   AK.Wwise::Plugin::CBaseInterfaceGlue< CInterface >
  PluginInfoGenerator: For each plug-in interface type, provides a single static instance used throughout this plug-in container. More...
 
class   AK.Wwise::Plugin::CBaseInstanceGlue< CInterface, CInstance >
  PluginInfoGenerator: Associates an existing C Interface with a variable that can be used. Derives from the instance that uses it. More...
 
class   AK.Wwise::Plugin::HostInterfaceGlue< CPPInstance, in_baseInstance >
  PluginInfoGenerator: Base class for every C++ instance that retrieves a service from the Wwise Authoring host. More...
 
class   AK.Wwise::Plugin::HostInterfaceGlue< CPPInstance, true >
 
struct   AK.Wwise::Plugin::KnownInterfaceClass< in_interfaceType, in_interfaceVersion >
  PluginInfoGenerator: Compile-time dictionary of known interface-version. More...
 
class   AK.Wwise::Plugin::RequestedHostInterface< T >
  PluginInfoGenerator: Requests a host-provided service, and optionally receives a variable containing the default instance. More...
 
struct   AK.Wwise::Plugin::LatestInterfaceVersion< in_interfaceType >
  PluginInfoGenerator: Defines a compile-time dictionary with the latest version known to the SDK for each interface. More...
 
struct   AK.Wwise::Plugin::KnownInterfaceClass< AK_WWISE_PLUGIN_INTERFACE_TYPE_PLUGIN_CONTAINER, 1 >
 
struct   AK.Wwise::Plugin::LatestInterfaceVersion< AK_WWISE_PLUGIN_INTERFACE_TYPE_PLUGIN_CONTAINER >
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >
  C++ PluginInfo Generator. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::InterfaceInfo< in_interfaceType >
  Compile-time dictionary about a particular interface type. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::InterfaceInfo< in_interfaceType >::VersionPack< in_versions >
  Compile-time container of version numbers. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::InterfaceInfo< in_interfaceType >::ToInterfaceClassImpl< bool >
  Casts the plug-in class to the requested interface class. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::GenerateConstructor< in_interfaceType >
  Generates the constructor for our particular type. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::GenerateConstructorArray< in_interfaceType >
  Recursively generates the constructors and interface pointer updater for all the Interfaces. More...
 

Namespaces

namespace   AK
  Audiokinetic namespace.
 
namespace   AK.Wwise
 
  AK::Wwise::Plugin
 

Macros

#define  AK_WWISESDK_VERSION_NATIVE_COMBINED   ((AK_WWISESDK_VERSION_MAJOR << 19) | (AK_WWISESDK_VERSION_MINOR << 16) | AK_WWISESDK_VERSION_SUBMINOR)
  The specific version for native plug-in interfaces. Must be identical down to the build number. More...
 
#define  AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_CLASS(in_name)
  PluginInfoGenerator: Defines a C++ known interface-version to Type dictionary entry. More...
 
#define  AK_WWISE_PLUGIN_SPECIALIZE_HOST_INTERFACE(in_name, in_varname, ...)
  PluginInfoGenerator: Creates a C++ host specialization for interface class specified in in_name, and creates a variable instance named m_ followed by in_varname. More...
 
#define  AK_WWISE_PLUGIN_SPECIALIZE_HOST_INTERFACE_NO_BASE_INSTANCE(in_name, in_varname)
  PluginInfoGenerator: Creates a C++ host specialization for interface class specified in in_name. More...
 
#define  AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_VERSION(in_interface)
  PluginInfoGenerator: Creates a C++ link to the latest version known to the SDK for each interface. More...
 
#define  AK_PLUGIN_USERGENERATEDPLUGININFO_NAMESPACE_NAME   AK_PLUGIN_USERGENERATEDPLUGININFO_NAMESPACE_NAME1(UserGeneratedPluginInfo, __COUNTER__)
  Creates an unique PluginInfo instance for the plug-in registration. More...
 
#define  AK_DECLARE_PLUGIN_CONTAINER(ContainerName)   extern AK::Wwise::Plugin::PluginContainer& GetPluginContainer ## ContainerName()
  (C++) Declares the plug-in container. More...
 
#define  AK_DEFINE_PLUGIN_CONTAINER(ContainerName)
  (C++) Defines the unique plug-in container. More...
 
#define  AK_EXPORT_PLUGIN_CONTAINER(ContainerName)
  (C++) Exports the plug-in container for a shared library. More...
 
#define  AK_ADD_PLUGIN_CLASS_TO_CONTAINER(ContainerName, WwiseClassName, AudioEngineRegisteredName)
  (C++) Adds a Wwise Authoring plug-in and a Sound Engine plug-in to a plug-in container. More...
 
#define  AK_ADD_PLUGIN_CLASSID_TO_CONTAINER(ContainerName, WwiseClassName, CompanyID, PluginID, Type)
  (C++) Adds a plug-in to a plug-in container. More...
 
#define  AK_AUDIOPLUGIN_USERGENERATEDPLUGININFO_NAMESPACE_NAME   AK_PLUGIN_USERGENERATEDPLUGININFO_NAMESPACE_NAME
 
#define  DECLARE_AUDIOPLUGIN_CONTAINER(x)   AK_DECLARE_PLUGIN_CONTAINER(x)
 
#define  DEFINE_AUDIOPLUGIN_CONTAINER(x)   AK_DEFINE_PLUGIN_CONTAINER(x)
 
#define  EXPORT_AUDIOPLUGIN_CONTAINER(x)   AK_EXPORT_PLUGIN_CONTAINER(x)
 
#define  ADD_AUDIOPLUGIN_CLASS_TO_CONTAINER(x, y, z)   AK_ADD_PLUGIN_CLASS_TO_CONTAINER(x, y, z)
 
#define  ADD_AUDIOPLUGIN_CLASSID_TO_CONTAINER(x, y, a, b, c)   AK_ADD_PLUGIN_CLASSID_TO_CONTAINER(x, y, a, b, c)
 

Typedefs

using  AK::Wwise::Plugin::InterfaceType = decltype(BaseInterface::m_interface)
  PluginInfoGenerator: Type for the m_interface value in BaseInterface. More...
 
using  AK::Wwise::Plugin::InterfaceTypeValue = std::underlying_type< InterfaceType >::type
  PluginInfoGenerator: Underlying storage type for the m_interface value in BaseInterface. More...
 
using  AK::Wwise::Plugin::InterfaceVersion = decltype(BaseInterface::m_version)
  PluginInfoGenerator: Type for the m_version value in BaseInterface. More...
 

Detailed Description

Wwise Authoring Plug-ins - C++ class helper to automatically determine the plug-in interfaces used in a class.

Definition in 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