Version

menu_open
Wwise SDK 2024.1.0
HostPropertySet.h
Go to the documentation of this file.
1 /*******************************************************************************
2 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
3 released in source code form as part of the SDK installer package.
4 
5 Commercial License Usage
6 
7 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
8 may use this file in accordance with the end user license agreement provided
9 with the software or, alternatively, in accordance with the terms contained in a
10 written agreement between you and Audiokinetic Inc.
11 
12 Apache License Usage
13 
14 Alternatively, this file may be used under the Apache License, Version 2.0 (the
15 "Apache License"); you may not use this file except in compliance with the
16 Apache License. You may obtain a copy of the Apache License at
17 http://www.apache.org/licenses/LICENSE-2.0.
18 
19 Unless required by applicable law or agreed to in writing, software distributed
20 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
21 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
22 the specific language governing permissions and limitations under the License.
23 
24  Copyright (c) 2024 Audiokinetic Inc.
25 *******************************************************************************/
26 
27 /**
28  * \brief Wwise Authoring Plug-ins - Plug-in API for property sets.
29  * \file AK/Wwise/Plugin/HostPropertySet.h
30  */
31 
32 #pragma once
33 
34 #include "PluginInfoGenerator.h"
35 #include "./V1/HostPropertySet.h"
36 
37 /// \copydoc ak_wwise_plugin_host_property_set_v1
39 #ifdef __cplusplus
40  : public ak_wwise_plugin_host_property_set_v1
41 #endif
42 {
43 #ifndef __cplusplus
44  struct ak_wwise_plugin_host_property_set_v1;
45 #endif
46 
47 #ifdef __cplusplus
48  /// This interface is compatible with the v1 instance.
51  ak_wwise_plugin_host_property_set_v1(/* in_version =*/ 2)
52  {}
53 #endif
54 
55  /// \brief Open one or more brace that denotes the start of a change
56  /// \param[in] in_bracesToOpen A bit field composed of flags defined by \c ak_wwise_plugin_property_set_braces_values
57  void(*OpenBraces)(
60  );
61 
62  /// \brief Close one or more brace that denotes the end of a change
63  /// \param[in] in_bracesToClose A bit field composed of flags defined by \c ak_wwise_plugin_property_set_braces_values
64  void(*CloseBraces)(
67  );
68 
69  /// \brief Retrieve the currently open braces
70  /// \return A bit field composed of flags defined by \c ak_wwise_plugin_property_set_braces_values
73  );
74 };
75 
76 #define AK_WWISE_PLUGIN_HOST_PROPERTY_SET_V2_ID() \
77  AK_WWISE_PLUGIN_BASE_INTERFACE_FROM_ID(AK_WWISE_PLUGIN_INTERFACE_TYPE_HOST_PROPERTY_SET, 2)
78 #define AK_WWISE_PLUGIN_HOST_PROPERTY_SET_V2_CTOR() \
79 { \
80  .m_baseInterface = AK_WWISE_PLUGIN_HOST_PROPERTY_SET_V2_ID() \
81 }
82 
83 #ifdef __cplusplus
84 namespace AK::Wwise::Plugin
85 {
86  namespace V2
87  {
89 
90  /// \copydoc ak_wwise_plugin_host_property_set_v2
91  class PropertySet : public AK::Wwise::Plugin::V1::PropertySetBase<CHostPropertySet, 2>
92  {
93  public:
96 
97  /// \brief Open one or more brace that denotes the start of a change
98  /// \param[in] in_bracesToOpen A bit field composed of flags defined by ak_wwise_plugin_property_set_braces
99  inline void OpenBraces(
101  )
102  {
103  g_cinterface->OpenBraces(this, in_bracesToOpen);
104  }
105 
106  /// \brief Close one or more brace that denotes the end of a change
107  /// \param[in] in_bracesToClose A bit field composed of flags defined by ak_wwise_plugin_property_set_braces
108  inline void CloseBraces(
109  ak_wwise_plugin_property_set_braces in_bracesToClose
110  )
111  {
112  g_cinterface->CloseBraces(this, in_bracesToClose);
113  }
114 
115  /// \brief Retrieve the currently open braces
116  /// \return A bit field composed of flags defined by \c ak_wwise_plugin_property_set_braces_values
118  {
119  return g_cinterface->GetOpenedBraces(this);
120  }
121 
122  #if defined( DOXYGEN_INCLUDE )
123  bool GetValue(
124  const GUID & in_guidPlatform,
125  const char * in_pszPropertyName,
126  AK::WwiseAuthoringAPI::AkVariantBase& out_varProperty
127  ) const;
128  bool GetValue(
129  const GUID & in_guidPlatform,
130  const char * in_pszPropertyName,
131  AK::WwiseAuthoringAPI::AkVariantBase& out_varProperty
132  ) const;
133  bool SetValue(
134  const GUID & in_guidPlatform,
135  const char * in_pszPropertyName,
136  const AK::WwiseAuthoringAPI::AkVariantBase& in_varProperty
137  );
139  const GUID & in_guidPlatform,
140  const char * in_pszPropertyName
141  ) const;
143  const char * in_pszPropertyName
144  ) const;
146  const char* in_pszPropertyName
147  ) const;
149  const char* in_pszPropertyName
150  ) const;
152  const char* in_pszPropertyName
153  ) const;
155  const GUID& in_guidPlatform,
156  const char* in_pszPropertyName
157  ) const;
158  const GUID* GetID() const;
159  int GetType(
160  const GUID& in_guidPlatform,
161  const char* in_pszPropertyName
162  ) const;
164  const GUID& in_guidPlatform,
165  const char* in_pszPropertyName
166  );
168  const GUID & in_guidPlatform,
169  const char * in_pszPropertyName,
170  const char * in_propertyValue
171  );
173  const GUID & in_guidPlatform,
174  const char * in_pszPropertyName,
175  int64_t in_propertyValue
176  );
178  const GUID & in_guidPlatform,
179  const char * in_pszPropertyName,
180  int32_t in_propertyValue
181  );
183  const GUID & in_guidPlatform,
184  const char * in_pszPropertyName,
185  int16_t in_propertyValue
186  );
188  const GUID & in_guidPlatform,
189  const char * in_pszPropertyName,
190  int8_t in_propertyValue
191  );
193  const GUID & in_guidPlatform,
194  const char * in_pszPropertyName,
195  uint64_t in_propertyValue
196  );
198  const GUID & in_guidPlatform,
199  const char * in_pszPropertyName,
200  uint32_t in_propertyValue
201  );
203  const GUID & in_guidPlatform,
204  const char * in_pszPropertyName,
205  uint16_t in_propertyValue
206  );
208  const GUID & in_guidPlatform,
209  const char * in_pszPropertyName,
210  uint8_t in_propertyValue
211  );
213  const GUID & in_guidPlatform,
214  const char * in_pszPropertyName,
215  double in_propertyValue
216  );
218  const GUID & in_guidPlatform,
219  const char * in_pszPropertyName,
220  float in_propertyValue
221  );
223  const GUID & in_guidPlatform,
224  const char * in_pszPropertyName,
225  bool in_propertyValue
226  );
228  const GUID & in_guidPlatform,
229  const char * in_pszPropertyName,
230  const char*& out_propertyValue
231  ) const;
233  const GUID & in_guidPlatform,
234  const char * in_pszPropertyName,
235  int64_t& out_propertyValue
236  ) const;
238  const GUID & in_guidPlatform,
239  const char * in_pszPropertyName,
240  int32_t& out_propertyValue
241  ) const;
243  const GUID & in_guidPlatform,
244  const char * in_pszPropertyName,
245  int16_t& out_propertyValue
246  ) const;
248  const GUID & in_guidPlatform,
249  const char * in_pszPropertyName,
250  int8_t& out_propertyValue
251  ) const;
253  const GUID & in_guidPlatform,
254  const char * in_pszPropertyName,
255  uint64_t& out_propertyValue
256  ) const;
258  const GUID & in_guidPlatform,
259  const char * in_pszPropertyName,
260  uint32_t& out_propertyValue
261  ) const;
263  const GUID & in_guidPlatform,
264  const char * in_pszPropertyName,
265  uint16_t& out_propertyValue
266  ) const;
268  const GUID & in_guidPlatform,
269  const char * in_pszPropertyName,
270  uint8_t& out_propertyValue
271  ) const;
273  const GUID & in_guidPlatform,
274  const char * in_pszPropertyName,
275  double& out_propertyValue
276  ) const;
278  const GUID & in_guidPlatform,
279  const char * in_pszPropertyName,
280  float& out_propertyValue
281  ) const;
283  const GUID & in_guidPlatform,
284  const char * in_pszPropertyName,
285  bool& out_propertyValue
286  ) const;
287  const char* GetString(
288  const GUID & in_guidPlatform,
289  const char * in_pszPropertyName
290  ) const;
291  int64_t GetInt64(
292  const GUID & in_guidPlatform,
293  const char * in_pszPropertyName
294  ) const;
295  int32_t GetInt32(
296  const GUID & in_guidPlatform,
297  const char * in_pszPropertyName
298  ) const;
299  int16_t GetInt16(
300  const GUID & in_guidPlatform,
301  const char * in_pszPropertyName
302  ) const;
303  int8_t GetInt8(
304  const GUID & in_guidPlatform,
305  const char * in_pszPropertyName
306  ) const;
307  uint64_t GetUInt64(
308  const GUID & in_guidPlatform,
309  const char * in_pszPropertyName
310  ) const;
311  uint32_t GetUInt32(
312  const GUID & in_guidPlatform,
313  const char * in_pszPropertyName
314  ) const;
315  uint16_t GetUInt16(
316  const GUID & in_guidPlatform,
317  const char * in_pszPropertyName
318  ) const;
319  uint8_t GetUInt8(
320  const GUID & in_guidPlatform,
321  const char * in_pszPropertyName
322  ) const;
323  double GetReal64(
324  const GUID & in_guidPlatform,
325  const char * in_pszPropertyName
326  ) const;
327  float GetReal32(
328  const GUID & in_guidPlatform,
329  const char * in_pszPropertyName
330  ) const;
331  bool GetBool(
332  const GUID & in_guidPlatform,
333  const char * in_pszPropertyName
334  ) const;
335  #endif
336  };
337 
338  /**
339  * \brief Requests a PropertySet interface, provided as m_propertySet variable.
340  *
341  * Deriving your plug-in class from RequestPropertySet will automatically request both PropertySet and
342  * Notifications::PropertySet_ interfaces. From this point, you will be able to derive from the virtual
343  * functions as defined in Notifications::PropertySet_, and access the host-provided functions in the
344  * `m_propertySet` variable.
345  *
346  * This is also useful when you want to access inner property sets from the ObjectStore interface.
347  * In that case, you can ignore the m_propertySet variable and the notifications interface.
348  *
349  * \aknote The AK::Wwise::Plugin::RequestPropertySet and AK::Wwise::Plugin::RequestWrite classes are automatically
350  * derived when providing AudioPlugin in C++. \endaknote
351  */
353  } // of namespace V2
354 
355  /// Latest version of the C PropertySet interface.
357  /// Latest version of the C++ PropertySet interface.
359  /// Latest version of the requested C++ PropertySet interface.
361 
365 } // of namespace AK::Wwise::Plugin
366 
367 #endif
uint32_t GetUInt32(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
bool GetValueUInt32(const GUID &in_guidPlatform, const char *in_pszPropertyName, uint32_t &out_propertyValue) const
ak_wwise_plugin_host_property_set_instance_v1 Instance
This interface is compatible with the v1 instance.
int GetType(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
bool SetValueInt8(const GUID &in_guidPlatform, const char *in_pszPropertyName, int8_t in_propertyValue)
bool SetValueUInt64(const GUID &in_guidPlatform, const char *in_pszPropertyName, uint64_t in_propertyValue)
bool GetValueReal64(const GUID &in_guidPlatform, const char *in_pszPropertyName, double &out_propertyValue) const
bool SetValueInt16(const GUID &in_guidPlatform, const char *in_pszPropertyName, int16_t in_propertyValue)
RequestedHostInterface< PropertySet > RequestPropertySet
Requests a PropertySet interface, provided as m_propertySet variable.
bool SetValueInt64(const GUID &in_guidPlatform, const char *in_pszPropertyName, int64_t in_propertyValue)
bool SetValueUInt8(const GUID &in_guidPlatform, const char *in_pszPropertyName, uint8_t in_propertyValue)
bool GetValueBool(const GUID &in_guidPlatform, const char *in_pszPropertyName, bool &out_propertyValue) const
ak_wwise_plugin_host_property_set_v2 CHostPropertySet
bool GetValueInt8(const GUID &in_guidPlatform, const char *in_pszPropertyName, int8_t &out_propertyValue) const
bool SetValueInt32(const GUID &in_guidPlatform, const char *in_pszPropertyName, int32_t in_propertyValue)
bool GetValueUInt8(const GUID &in_guidPlatform, const char *in_pszPropertyName, uint8_t &out_propertyValue) const
ak_wwise_plugin_property_set_braces(* GetOpenedBraces)(const struct ak_wwise_plugin_host_property_set_instance_v1 *in_this)
Retrieve the currently open braces.
uint32_t ak_wwise_plugin_property_set_braces
Bitfield composed of values defined in ak_wwise_plugin_property_set_braces_values.
Definition: PluginDef.h:1040
bool GetBool(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
bool PropertyHasUnlinked(const char *in_pszPropertyName) const
bool SetValueUInt32(const GUID &in_guidPlatform, const char *in_pszPropertyName, uint32_t in_propertyValue)
bool SetValue(const GUID &in_guidPlatform, const char *in_pszPropertyName, const AK::WwiseAuthoringAPI::AkVariantBase &in_varProperty)
bool GetValueReal32(const GUID &in_guidPlatform, const char *in_pszPropertyName, float &out_propertyValue) const
ak_wwise_plugin_property_set_braces GetOpenedBraces() const
Retrieve the currently open braces.
bool GetValueUInt16(const GUID &in_guidPlatform, const char *in_pszPropertyName, uint16_t &out_propertyValue) const
bool SetValueReal32(const GUID &in_guidPlatform, const char *in_pszPropertyName, float in_propertyValue)
bool HasPropertyValue(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
bool GetValue(const GUID &in_guidPlatform, const char *in_pszPropertyName, AK::WwiseAuthoringAPI::AkVariantBase &out_varProperty) const
uint8_t GetUInt8(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
void(* OpenBraces)(struct ak_wwise_plugin_host_property_set_instance_v1 *in_this, ak_wwise_plugin_property_set_braces in_bracesToOpen)
Open one or more brace that denotes the start of a change.
bool SetValueBool(const GUID &in_guidPlatform, const char *in_pszPropertyName, bool in_propertyValue)
bool SetValueReal64(const GUID &in_guidPlatform, const char *in_pszPropertyName, double in_propertyValue)
Wwise Authoring Plug-ins - C++ class helper to automatically determine the plug-in interfaces used in...
uint16_t GetUInt16(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
void OpenBraces(ak_wwise_plugin_property_set_braces in_bracesToOpen)
Open one or more brace that denotes the start of a change.
const char * GetString(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
bool PropertyPlatformIsLinked(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
bool GetValueInt64(const GUID &in_guidPlatform, const char *in_pszPropertyName, int64_t &out_propertyValue) const
bool PropertyHasRTPC(const char *in_pszPropertyName) const
int64_t GetInt64(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
bool SetValueUInt16(const GUID &in_guidPlatform, const char *in_pszPropertyName, uint16_t in_propertyValue)
int8_t GetInt8(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_VERSION(AudioPlugin)
void(* CloseBraces)(struct ak_wwise_plugin_host_property_set_instance_v1 *in_this, ak_wwise_plugin_property_set_braces in_bracesToClose)
Close one or more brace that denotes the end of a change.
bool GetValueUInt64(const GUID &in_guidPlatform, const char *in_pszPropertyName, uint64_t &out_propertyValue) const
bool SetValueString(const GUID &in_guidPlatform, const char *in_pszPropertyName, const char *in_propertyValue)
int32_t GetInt32(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
float GetReal32(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
Base host-provided instance type for ak_wwise_plugin_host_property_set_v1.
Definition: PluginDef.h:682
bool GetValueInt16(const GUID &in_guidPlatform, const char *in_pszPropertyName, int16_t &out_propertyValue) const
int16_t GetInt16(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
#define AK_WWISE_PLUGIN_SPECIALIZE_HOST_INTERFACE(in_name, in_varname,...)
PluginInfoGenerator: Creates a C++ host specialization for interface class specified in in_name,...
bool ClearValue(const GUID &in_guidPlatform, const char *in_pszPropertyName)
double GetReal64(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
bool PropertyHasLinked(const char *in_pszPropertyName) const
bool PropertyHasState(const char *in_pszPropertyName) const
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_CLASS(AudioPlugin)
uint64_t GetUInt64(const GUID &in_guidPlatform, const char *in_pszPropertyName) const
void CloseBraces(ak_wwise_plugin_property_set_braces in_bracesToClose)
Close one or more brace that denotes the end of a change.
bool GetValueInt32(const GUID &in_guidPlatform, const char *in_pszPropertyName, int32_t &out_propertyValue) const
bool GetValueString(const GUID &in_guidPlatform, const char *in_pszPropertyName, const char *&out_propertyValue) const
V2::PropertySet PropertySet
Latest version of the C++ PropertySet interface.

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