Version

menu_open
Wwise SDK 2022.1.18
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 "C" __declspec(dllexport) 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