Wwise SDK
_host_object_store_8h_source
버전
menu_open
HostObjectStore.h
이 파일의 문서화 페이지로 가기
40 * The Object Store contains named lists, and those named lists each contains a vector of inner property sets.
42 * For example, you can create a list named "Property curve points" and have 12 inner property sets with coordinates,
45 * Inner property sets can be created from any inner types, as defined in the plug-in's XML definition file
46 * <code>InnerTypes</code> section. Your lists should contain recognizable types, as there is no way to poll the
47 * type of the created object. This system was created with a one-list-one-type design pattern; however, there is
50 * You can define as many named lists as required. You should consider creating different inner property sets or
53 * You can create new inner property set with \ref CreatePropertySet, and insert it in a list's index with
56 * You can also subscribe to notifications through ak_wwise_plugin_notifications_object_store_v1 in order to be
60 * In order to manage property sets, you must make sure to use \ref AK::Wwise::Plugin::RequestPropertySet in
66 * since we are talking about property sets, the naming has been standardized to "inner property set".
98 * <code>in_uiIndex</code> position, so it will be stored in the project data. Existing object positions
101 * Named lists are created automatically, there is no limitation for naming. However, you should use the
121 * \param[in] in_pszListName Name of the affected list. That list will be created or appended depending
123 * \param[in] in_uiIndex Inner property set index in the list. If higher than or equal to the current
126 * \param[in] in_pPropertySet The inner property set to include in the list's index. This property set
139 * This is useful if you still need the object internally, or if you want to move that object to another
144 * The function \ref DeletePropertySet must be used if you still keep that reference without being
152 * \param[in] in_pPropertySet The inner property set to remove from any list's index. The object is not
173 * \param[in] in_pszListName Name of the polled list. If the list doesn't exist, the function will
175 * \param[in] in_uiIndex Inner property set index in the list. If higher than or equal to the current
191 * \param[in] in_pszListName Name of the polled list. If the list doesn't exist, the function will
203 * An inner property set must be defined as a particular <code>InnerType</code> in the plug-in's XML
216 * \param[in] in_pszType The requested InnerType, as defined in the plug-in's XML definition file.
227 * It will also remove the object from its list if the object has been inserted. As such, you are not
261 * If you do not provide a buffer big enough to write the full string, the function will fail and
269 * \param[in] in_uiBufferSize Size of the provided buffer. If the buffer is not big enough for the
287 * In order to manage property sets, you must make sure to use \ref AK::Wwise::Plugin::RequestPropertySet in
365 AK_WWISE_PLUGIN_BASE_INTERFACE_FROM_ID(AK_WWISE_PLUGIN_INTERFACE_TYPE_NOTIFICATIONS_OBJECT_STORE, 1)
366 #define AK_WWISE_PLUGIN_NOTIFICATIONS_OBJECT_STORE_V1_CTOR(/* ak_wwise_plugin_info* */ in_pluginInfo, /* void* */ in_data) \
368 .m_baseInterface = AK_WWISE_PLUGIN_BASE_INTERFACE_CTOR(AK_WWISE_PLUGIN_NOTIFICATIONS_OBJECT_STORE_V1_ID(), in_pluginInfo, in_data) \
394 };
404 };
411 * <code>in_uiIndex</code> position, so it will be stored in the project data. Existing object positions
414 * Named lists are created automatically, there is no limitation for naming. However, you should use the
433 * \param[in] in_pszListName Name of the affected list. That list will be created or appended depending
435 * \param[in] in_uiIndex Inner property set index in the list. If higher than or equal to the current
438 * \param[in] in_propertySet The inner property set to include in the list's index. This property set
453 * This is useful if you still need the object internally, or if you want to move that object to another
458 * The function \ref DeletePropertySet must be used if you still keep that reference without being
465 * \param[in] in_propertySet The inner property set to remove from any list's index. The object is not
487 * \param[in] in_pszListName Name of the polled list. If the list doesn't exist, the function will
489 * \param[in] in_uiIndex Inner property set index in the list. If higher than or equal to the current
498 return static_cast<PropertySet*>(g_cinterface->GetPropertySet(this, in_pszListName, in_uiIndex));
506 * \param[in] in_pszListName Name of the polled list. If the list doesn't exist, the function will
520 * An inner property set must be defined as a particular <code>InnerType</code> in the plug-in's XML
532 * \param[in] in_pszType The requested InnerType, as defined in the plug-in's XML definition file.
545 * It will also remove the object from its list if the object has been inserted. As such, you are not
581 * If you do not provide a buffer big enough to write the full string, the function will fail and
588 * \param[in] in_uiBufferSize Size of the provided buffer. If the buffer is not big enough for the
625 };
635 };
731 * Deriving your plug-in class from RequestObjectStore will automatically request both ObjectStore and
732 * Notifications::ObjectStore_ interfaces. From this point, you will be able to derive from the virtual
733 * functions, as defined in Notifications::ObjectStore_, and access the host-provided functions in the
755 AK_WWISE_PLUGIN_SPECIALIZE_HOST_INTERFACE(ObjectStore, objectStore,, public Notifications::ObjectStore);
Custom inner property set interface.
Definition: HostObjectStore.h:79
ak_wwise_plugin_notifications_object_store_v1 CObjectStore_
Definition: HostObjectStore.h:605
CObjectStore_::Instance * GetInstancePointer()
Definition: HostObjectStore.h:674
unsigned int GetPropertySetCount(const char *in_pszListName) const
Gets the number of inserted indexes inside the specified list.
Definition: HostObjectStore.h:510
Interface()
Definition: HostObjectStore.h:643
static GluedInterface * g_cinterface
The unique instance of the CInterface interface. Defined at nullptr first, overridden by the Host onc...
Definition: PluginInfoGenerator.h:89
decltype(BaseInterface::m_version) InterfaceVersion
PluginInfoGenerator: Type for the m_version value in BaseInterface
Definition: PluginInfoGenerator.h:50
unsigned int GetListName(unsigned int in_uiListIndex, char *out_pszListName, unsigned int in_uiBufferSize) const
Gets the name of the list at the specified position.
Definition: HostObjectStore.h:593
Custom inner property set interface.
Definition: HostObjectStore.h:381
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.
Definition: HostObjectStore.h:274
ak_wwise_plugin_host_object_store_v1 CHostObjectStore
Definition: HostObjectStore.h:377
V1::Notifications::ObjectStore_ ObjectStore
Latest version of the C++ ObjectStore notification interface.
Definition: HostObjectStore.h:752
Wwise Authoring Plug-ins - Plug-in API for property sets.
@ k_interfaceVersion
The interface version, as provided by this plug-in.
Definition: HostObjectStore.h:634
NotifyInnerObjectOperation
Type of operation for the NotifyInnerObjectAddedRemoved function.
Definition: PluginDef.h:77
ObjectStore_()
Definition: HostObjectStore.h:681
virtual void NotifyInnerObjectAddedRemoved(PropertySet &in_PSet, unsigned int in_uiIndex, NotifyInnerObjectOperation in_eOperation)
Called when an inner property set has changed.
Definition: HostObjectStore.h:720
@ AK_WWISE_PLUGIN_INTERFACE_TYPE_HOST_OBJECT_STORE
2021.1 Object Store host service. ak_wwise_plugin_host_object_store_v1
Definition: PluginBaseInterface.h:79
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.
Definition: HostObjectStore.h:195
void InsertPropertySet(const char *in_pszListName, unsigned int in_uiIndex, const PropertySet &in_propertySet)
Inserts an inner property set into the specified list at the specified position.
Definition: HostObjectStore.h:441
ak_wwise_plugin_notifications_object_store_v1()
Definition: HostObjectStore.h:308
virtual void NotifyInnerObjectPropertyChanged(PropertySet &in_PSet, const GUID &in_guidPlatform, const char *in_pszPropertyName)
Called when an inner property set's data has changed.
Definition: HostObjectStore.h:701
bool RemovePropertySet(const PropertySet &in_propertySet)
Removes an inner property set from any list, without deleting the object itself.
Definition: HostObjectStore.h:469
void(* NotifyInnerObjectAddedRemoved)(struct ak_wwise_plugin_notifications_object_store_instance_v1 *in_this, struct ak_wwise_plugin_host_property_set_instance_v1 *in_pPSet, unsigned int in_uiIndex, AK::Wwise::Plugin::NotifyInnerObjectOperation in_eOperation)
Called when an inner property set has changed.
Definition: HostObjectStore.h:348
RequestedHostInterface< ObjectStore > RequestObjectStore
Requests an ObjectStore interface, provided as m_objectStore variable.
Definition: HostObjectStore.h:736
PluginInfoGenerator: Associates an existing C Interface with a variable that can be used....
Definition: PluginInfoGenerator.h:104
void DeletePropertySet(PropertySet *in_pPropertySet)
Frees the inner property set.
Definition: HostObjectStore.h:557
Interface able to receive notifications for custom inner property sets.
Definition: HostObjectStore.h:609
ak_wwise_plugin_notifications_object_store_instance_v1 Instance
Base instance type for receiving notifications on related Object Store's changes.
Definition: HostObjectStore.h:306
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.
Definition: HostObjectStore.h:179
PropertySet * CreatePropertySet(const char *in_pszType)
Creates a new inner property set.
Definition: HostObjectStore.h:535
Base instance type for receiving notifications on related Object Store's changes.
Definition: PluginDef.h:834
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.
Definition: HostObjectStore.h:219
std::underlying_type< InterfaceType >::type InterfaceTypeValue
PluginInfoGenerator: Underlying storage type for the m_interface value in BaseInterface
Definition: PluginInfoGenerator.h:49
@ k_interfaceVersion
The interface version, as requested by this plug-in.
Definition: HostObjectStore.h:403
Interface able to receive notifications for custom inner property sets.
Definition: HostObjectStore.h:299
void(* NotifyInnerObjectPropertyChanged)(struct ak_wwise_plugin_notifications_object_store_instance_v1 *in_this, struct ak_wwise_plugin_host_property_set_instance_v1 *in_pPSet, const GUID *in_guidPlatform, const char *in_pszPropertyName)
Called when an inner property set's data has changed.
Definition: HostObjectStore.h:327
ak_wwise_plugin_host_object_store_v1()
Definition: HostObjectStore.h:88
Interface used to interact with property sets.
Definition: HostPropertySet.h:1052
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_VERSION(AudioPlugin)
PropertySet * GetPropertySet(const char *in_pszListName, unsigned int in_uiIndex) const
Gets an inner property set inside the specified list at the specified position.
Definition: HostObjectStore.h:493
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.
Definition: HostObjectStore.h:156
Interface description and base class for every Wwise Authoring plug-in interface.
Definition: PluginBaseInterface.h:120
The C interface, fulfilled by your plug-in.
Definition: HostObjectStore.h:641
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.
Definition: HostObjectStore.h:251
virtual ~ObjectStore_()
Definition: HostObjectStore.h:686
unsigned int GetListCount() const
Returns the number of inner property set lists to be used with GetListName.
Definition: HostObjectStore.h:569
Base host-provided instance type for ak_wwise_plugin_host_property_set_v1.
Definition: PluginDef.h:645
Base host-provided instance type for ak_wwise_plugin_host_object_store_v1.
Definition: PluginDef.h:636
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.
Definition: HostObjectStore.h:129
@ AK_WWISE_PLUGIN_INTERFACE_TYPE_NOTIFICATIONS_OBJECT_STORE
2021.1 Object Store modification notification. ak_wwise_plugin_notifications_object_store_v1
Definition: PluginBaseInterface.h:66
#define AK_WWISE_PLUGIN_SPECIALIZE_HOST_INTERFACE(in_name, in_varname,...)
PluginInfoGenerator: Creates a C++ host specialization for interface class specified in in_name,...
Definition: PluginInfoGenerator.h:237
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.
Definition: HostObjectStore.h:240
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_CLASS(AudioPlugin)
Definition: PluginHelpers.h:45
Definition: AudioPlugin.h:111
const CObjectStore_::Instance * GetInstancePointer() const
Definition: HostObjectStore.h:677
InterfacePtr GetInterfacePointer()
Definition: HostObjectStore.h:670
이 페이지가 도움이 되었나요?
작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요