Table of Contents

Wwise SDK 2021.1.1
ak_wwise_plugin_host_object_store_v1 Struct Reference

Custom inner property set interface. More...

#include <HostObjectStore.h>

Inheritance diagram for ak_wwise_plugin_host_object_store_v1:

Public Types

using  Instance = ak_wwise_plugin_host_object_store_instance_v1
  Base host-provided instance type for ak_wwise_plugin_host_object_store_v1. More...

Public Member Functions

  ak_wwise_plugin_host_object_store_v1 ()
- Public Member Functions inherited from ak_wwise_plugin_interface_ptr
constexpr  ak_wwise_plugin_base_interface (decltype(m_interface) in_interface, decltype(m_version) in_version)
constexpr  ak_wwise_plugin_base_interface ()
constexpr  ak_wwise_plugin_base_interface (std::underlying_type< decltype(m_interface)>::type in_interface, decltype(m_version) in_version)

Public Attributes

void(*  InsertPropertySet )(struct ak_wwise_plugin_host_object_store_instance_v1 *in_this, const char *in_pszListName, unsigned int in_uiIndex, const struct ak_wwise_plugin_host_property_set_instance_v1 *in_pPropertySet)
  Inserts an inner property set into the specified list at the specified position. More...
bool(*  RemovePropertySet )(struct ak_wwise_plugin_host_object_store_instance_v1 *in_this, const struct ak_wwise_plugin_host_property_set_instance_v1 *in_pPropertySet)
  Removes an inner property set from any list, without deleting the object itself. More...
struct ak_wwise_plugin_host_property_set_instance_v1 *(*  GetPropertySet )(const struct ak_wwise_plugin_host_object_store_instance_v1 *in_this, const char *in_pszListName, unsigned int in_uiIndex)
  Gets an inner property set inside the specified list at the specified position. More...
unsigned int(*  GetPropertySetCount )(const struct ak_wwise_plugin_host_object_store_instance_v1 *in_this, const char *in_pszListName)
  Gets the number of inserted indexes inside the specified list. More...
struct ak_wwise_plugin_host_property_set_instance_v1 *(*  CreatePropertySet )(struct ak_wwise_plugin_host_object_store_instance_v1 *in_this, const char *in_pszType)
  Creates a new inner property set. More...
void(*  DeletePropertySet )(struct ak_wwise_plugin_host_object_store_instance_v1 *in_this, struct ak_wwise_plugin_host_property_set_instance_v1 *in_pPropertySet)
  Frees the inner property set. More...
unsigned int(*  GetListCount )(const struct ak_wwise_plugin_host_object_store_instance_v1 *in_this)
  Returns the number of inner property set lists to be used with GetListName. More...
unsigned int(*  GetListName )(const struct ak_wwise_plugin_host_object_store_instance_v1 *in_this, unsigned int in_uiListIndex, char *out_pszListName, unsigned int in_uiBufferSize)
  Gets the name of the list at the specified position. More...
- Public Attributes inherited from ak_wwise_plugin_interface_ptr
ak_wwise_plugin_interface_type  m_interface: 32
  Interface type (see ak_wwise_plugin_interface_type) More...
uint32_t  m_version: 32
  Version of the interface. More...

Detailed Description

Custom inner property set interface.

The Object Store contains named lists, and those named lists each contains a vector of inner property sets.

For example, you can create a list named "Property curve points" and have 12 inner property sets with coordinates, configuration and information for the 12 user-created curve points.

Inner property sets can be created from any inner types, as defined in the plug-in's XML definition file InnerTypes section. Your lists should contain recognizable types, as there is no way to poll the type of the created object. This system was created with a one-list-one-type design pattern; however, there is no actual restriction in using different types in a same list.

You can define as many named lists as required. You should consider creating different inner property sets or lists for each platform if the property set indexes aren't linked.

You can create new inner property set with CreatePropertySet, and insert it in a list's index with InsertPropertySet.

You can also subscribe to notifications through ak_wwise_plugin_notifications_object_store_v1 in order to be informed when some inner property set changed.

Note: In order to manage property sets, you must make sure to use AK::Wwise::Plugin::RequestPropertySet in your plug-in.
Note: Historical naming convention described it as "inner object" and "inner type". For simplicity, since we are talking about property sets, the naming has been standardized to "inner property set". However, the names are interchangeable and are still being used.
See also

Definition at line 76 of file HostObjectStore.h.