Version
menu

Wwise SDK 2025.1.0
PluginDef.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) 2025 Audiokinetic Inc.
25 *******************************************************************************/
26 
27 /**
28  * \brief Wwise Authoring Plug-ins - Base plug-in definitions
29  * \file AK/Wwise/Plugin/PluginDef.h
30  */
31 
32 #pragma once
33 
34 #include "PluginHelpers.h"
35 #include "PluginInstanceTypes.h"
36 
37 // Everthing in this section needs:
38 // - to be converted back to plain vanilla C
39 // - create optional interfaces for classes
40 // - create compulsory convertion functions for enums
41 #ifdef __cplusplus
42 #include "../../SoundEngine/Common/IAkPlugin.h"
43 
44 namespace AK
45 {
46  namespace WwiseAuthoringAPI
47  {
48  class AkVariantBase;
49  }
50 }
51 
52 namespace AK
53 {
54  namespace Wwise
55  {
56  namespace Plugin
57  {
58  /// License type.
59  enum LicenseType
60  {
61  LicenseType_Trial = 1, ///< Used for both Trial and Evaluation License handling
62  LicenseType_Purchased, ///< The license was purchased
63  LicenseType_Academic ///< The license is for academic
64  };
65 
66  /// License status.
68  {
69  LicenseStatus_Unlicensed, ///< No license found
70  LicenseStatus_Expired, ///< A license is found, but is expired
71  LicenseStatus_Valid, ///< A license is found and is valid
72 
73  LicenseStatus_Incompatible ///< The plugin was made for an older version of Wwise
74  };
75 
76  struct LicenseID
77  {
78  // nul-terminated 8 characters license
79  char id[9];
80  };
81 
82  /// Type of operation for the NotifyInnerObjectAddedRemoved function.
84  {
87  };
88 
89  struct MonitorData
90  {
91  uint64_t uGameObjectID;
92  void* pData;
93  unsigned int uDataSize;
94  };
95 
96  /// Import channel configuration options.
98  {
99  Channel_mono = 0,
106  };
107 
108  /// Log message severity.
109  enum Severity
110  {
111  Severity_Success = -1, ///< operation was executed without errors or will not produce errors
112  Severity_Message, ///< not impacting the integrity of the current operation
113  Severity_Warning, ///< potentially impacting the integrity of the current operation
114  Severity_Error, ///< impacting the integrity of the current operation
115  Severity_FatalError, ///< impacting the completion of the current operation
116  };
117 
118  /// Represents the association between a dialog control (such as
119  /// a checkbox or radio button) and a plug-in property.
120  /// \aknote
121  /// You should not need to use this structure directly. Instead, use the
122  /// AK_BEGIN_POPULATE_TABLE(), AK_POP_ITEM(), and AK_END_POPULATE_TABLE() macros.
123  /// \endaknote
124  /// \sa
125  /// - \ref wwiseplugin_dialog_guide_poptable
127  {
128  uint32_t uiID; ///< The dialog control resource ID
129  const char * pszProp; ///< The property name
130  };
131 
132  /// Dialog type. Source plug-ins can be edited in the Property Editor or
133  /// the Contents Editor, while effect plug-ins can only be edited in the
134  /// Effect Editor.
135  /// \sa
136  /// - \ref wwiseplugin_dialogcode
137  enum eDialog
138  {
139  SettingsDialog, ///< Main plug-in dialog. This is the dialog used in the Property
140  ///< Editor for source plug-ins, and in the Effect Editor for
141  ///< effect plug-ins.
142  ContentsEditorDialog ///< Contents Editor dialog. This is the small dialog used in the
143  ///< Contents Editor for source plug-ins.
144  };
145 
146  /// Conversion error code.
148  {
152  };
153 
154  class IProgress
155  {
156  public:
157  /// Call this to set the name of the operation currently done.
158  /// If not called the operation will have an empty name in the UI.
159  /// The name should be on a single line.
160  virtual void SetCurrentOperationName(const char * in_szOperationName) = 0;
161 
162  /// Should be called at the beginning of the operation to set the min and max value
163  virtual void SetRange(uint32_t in_dwMinValue, uint32_t in_dwMaxValue) = 0;
164 
165  /// Notify of the advancement of the task.
166  virtual void NotifyProgress(uint32_t in_dwProgress) = 0;
167 
168  /// Check if the user has cancelled the task
169  virtual bool IsCancelled() const = 0;
170 
171  /// Display an error message to the user.
172  /// The message should be on a single line.
173  virtual void ErrorMessage(const char * in_rErrorText, Severity in_eSeverity = Severity_Warning) = 0;
174  };
175 
176  /// Interface to let the plug in give us a string of any size.
177  /// The pointer to the interface should not be kept.
178  class IWriteString
179  {
180  public:
181  virtual void WriteString(const char * in_szString,
182  int in_iStringLength) = 0;
183  };
184 
185  /// Interfaces used to set and get the properties from a plug in.
187  {
188  public:
189  virtual bool GetValue(const char * in_szPropertyName,
190  AK::WwiseAuthoringAPI::AkVariantBase& out_rValue) const = 0;
191 
192  virtual int GetType(
193  const char* in_pszPropertyName ///< The name of the property
194  ) const = 0;
195 
196  virtual bool GetValueString(
197  const char * in_pszPropertyName, ///< The name of the property
198  const char*& out_varProperty ///< The returned value of the property
199  ) const = 0;
200 
201  virtual bool GetValueInt64(
202  const char * in_pszPropertyName, ///< The name of the property
203  int64_t& out_varProperty ///< The returned value of the property
204  ) const = 0;
205 
206  virtual bool GetValueInt32(
207  const char * in_pszPropertyName, ///< The name of the property
208  int32_t& out_varProperty ///< The returned value of the property
209  ) const = 0;
210 
211  virtual bool GetValueInt16(
212  const char * in_pszPropertyName, ///< The name of the property
213  int16_t& out_varProperty ///< The returned value of the property
214  ) const = 0;
215 
216  virtual bool GetValueInt8(
217  const char * in_pszPropertyName, ///< The name of the property
218  int8_t& out_varProperty ///< The returned value of the property
219  ) const = 0;
220 
221  virtual bool GetValueUInt64(
222  const char * in_pszPropertyName, ///< The name of the property
223  uint64_t& out_varProperty ///< The returned value of the property
224  ) const = 0;
225 
226  virtual bool GetValueUInt32(
227  const char * in_pszPropertyName, ///< The name of the property
228  uint32_t& out_varProperty ///< The returned value of the property
229  ) const = 0;
230 
231  virtual bool GetValueUInt16(
232  const char * in_pszPropertyName, ///< The name of the property
233  uint16_t& out_varProperty ///< The returned value of the property
234  ) const = 0;
235 
236  virtual bool GetValueUInt8(
237  const char * in_pszPropertyName, ///< The name of the property
238  uint8_t& out_varProperty ///< The returned value of the property
239  ) const = 0;
240 
241  virtual bool GetValueReal64(
242  const char * in_pszPropertyName, ///< The name of the property
243  double& out_varProperty ///< The returned value of the property
244  ) const = 0;
245 
246  virtual bool GetValueReal32(
247  const char * in_pszPropertyName, ///< The name of the property
248  float& out_varProperty ///< The returned value of the property
249  ) const = 0;
250 
251  virtual bool GetValueBool(
252  const char * in_pszPropertyName, ///< The name of the property
253  bool& out_varProperty ///< The returned value of the property
254  ) const = 0;
255 
256  inline const char* GetString(
257  const char * in_pszPropertyName ///< The name of the property
258  ) const
259  {
260  const char* result;
261  AKVERIFY(GetValueString(in_pszPropertyName, result));
262  return result;
263  }
264 
265  inline int64_t GetInt64(
266  const char * in_pszPropertyName ///< The name of the property
267  ) const
268  {
269  int64_t result;
270  AKVERIFY(GetValueInt64(in_pszPropertyName, result));
271  return result;
272  }
273 
274  inline int32_t GetInt32(
275  const char * in_pszPropertyName ///< The name of the property
276  ) const
277  {
278  int32_t result;
279  AKVERIFY(GetValueInt32(in_pszPropertyName, result));
280  return result;
281  }
282 
283  inline int16_t GetInt16(
284  const char * in_pszPropertyName ///< The name of the property
285  ) const
286  {
287  int16_t result;
288  AKVERIFY(GetValueInt16(in_pszPropertyName, result));
289  return result;
290  }
291 
292  inline int8_t GetInt8(
293  const char * in_pszPropertyName ///< The name of the property
294  ) const
295  {
296  int8_t result;
297  AKVERIFY(GetValueInt8(in_pszPropertyName, result));
298  return result;
299  }
300 
301  inline uint64_t GetUInt64(
302  const char * in_pszPropertyName ///< The name of the property
303  ) const
304  {
305  uint64_t result;
306  AKVERIFY(GetValueUInt64(in_pszPropertyName, result));
307  return result;
308  }
309 
310  inline uint32_t GetUInt32(
311  const char * in_pszPropertyName ///< The name of the property
312  ) const
313  {
314  uint32_t result;
315  AKVERIFY(GetValueUInt32(in_pszPropertyName, result));
316  return result;
317  }
318 
319  inline uint16_t GetUInt16(
320  const char * in_pszPropertyName ///< The name of the property
321  ) const
322  {
323  uint16_t result;
324  AKVERIFY(GetValueUInt16(in_pszPropertyName, result));
325  return result;
326  }
327 
328  inline uint8_t GetUInt8(
329  const char * in_pszPropertyName ///< The name of the property
330  ) const
331  {
332  uint8_t result;
333  AKVERIFY(GetValueUInt8(in_pszPropertyName, result));
334  return result;
335  }
336 
337  inline double GetReal64(
338  const char * in_pszPropertyName ///< The name of the property
339  ) const
340  {
341  double result;
342  AKVERIFY(GetValueReal64(in_pszPropertyName, result));
343  return result;
344  }
345 
346  inline float GetReal32(
347  const char * in_pszPropertyName ///< The name of the property
348  ) const
349  {
350  float result;
351  AKVERIFY(GetValueReal32(in_pszPropertyName, result));
352  return result;
353  }
354 
355  inline bool GetBool(
356  const char * in_pszPropertyName ///< The name of the property
357  ) const
358  {
359  bool result;
360  AKVERIFY(GetValueBool(in_pszPropertyName, result));
361  return result;
362  }
363  };
364 
366  {
367  public:
368  virtual bool SetValue(const char * in_szPropertyName,
369  const AK::WwiseAuthoringAPI::AkVariantBase& in_rValue) = 0;
370 
371  virtual bool ClearValue(
372  const char* in_pszPropertyName ///< The name of the property
373  ) = 0;
374 
375  virtual bool SetValueString(
376  const char * in_pszPropertyName, ///< The name of the property
377  const char * in_varProperty ///< The value to set
378  ) = 0;
379 
380  virtual bool SetValueInt64(
381  const char * in_pszPropertyName, ///< The name of the property
382  int64_t in_varProperty ///< The value to set
383  ) = 0;
384 
385  virtual bool SetValueInt32(
386  const char * in_pszPropertyName, ///< The name of the property
387  int32_t in_varProperty ///< The value to set
388  ) = 0;
389 
390  virtual bool SetValueInt16(
391  const char * in_pszPropertyName, ///< The name of the property
392  int16_t in_varProperty ///< The value to set
393  ) = 0;
394 
395  virtual bool SetValueInt8(
396  const char * in_pszPropertyName, ///< The name of the property
397  int8_t in_varProperty ///< The value to set
398  ) = 0;
399 
400  virtual bool SetValueUInt64(
401  const char * in_pszPropertyName, ///< The name of the property
402  uint64_t in_varProperty ///< The value to set
403  ) = 0;
404 
405  virtual bool SetValueUInt32(
406  const char * in_pszPropertyName, ///< The name of the property
407  uint32_t in_varProperty ///< The value to set
408  ) = 0;
409 
410  virtual bool SetValueUInt16(
411  const char * in_pszPropertyName, ///< The name of the property
412  uint16_t in_varProperty ///< The value to set
413  ) = 0;
414 
415  virtual bool SetValueUInt8(
416  const char * in_pszPropertyName, ///< The name of the property
417  uint8_t in_varProperty ///< The value to set
418  ) = 0;
419 
420  virtual bool SetValueReal64(
421  const char * in_pszPropertyName, ///< The name of the property
422  double in_varProperty ///< The value to set
423  ) = 0;
424 
425  virtual bool SetValueReal32(
426  const char * in_pszPropertyName, ///< The name of the property
427  float in_varProperty ///< The value to set
428  ) = 0;
429 
430  virtual bool SetValueBool(
431  const char * in_pszPropertyName, ///< The name of the property
432  bool in_varProperty ///< The value to set
433  ) = 0;
434  };
435 
436  // Note: This should be kept in line with AkChunkHeader
437  struct RiffHeader
438  {
439  uint32_t fccChunkId;
440  uint32_t dwDataSize;
441  };
442 
444  {
445  //
446  // Inputs
447  //
448  const GUID* platformID;
449  const GUID* basePlatformID;
450  const char* sourceFileName;
451  const char* destinationFileName;
454 
455  bool noDecode;
456 
459 
460  // Analysis data types available for this source.
461  uint32_t analysisDataTypes;
462 
463  // False if source context contains at least one value that is not the default.
464  bool isDefault;
465 
466  // Required downmix normalization gain (linear), 1 if not available / desired.
468  };
469 
471  {
472  uint32_t dataSize = 0; ///< Actual size of data, taking duration into account (for prefetch)
473  uint32_t duration = -1; ///< Actual duration of data, or -1 for entire file
474  uint32_t sampleRate = 0; ///< Number of samples per second
475  AkChannelConfig channelConfig; ///< Channel configuration
476  uint32_t decodedFileSize = -1; ///< File size of file when decoded to PCM format, *If* offline decoding is supported by the codec. Otherwise has value NO_OFFLINE_DECODING (-1)
477  uint8_t abyHash[16] = { 0 }; ///< Converted file hash (as present in the HASH chunk).
478  };
479 
481  : public ConvertedFileInfo
482  {
483  const void* data = nullptr; ///< Pointer to start of file data
484  };
485  }
486  }
487 }
488 #endif
489 
490 /** \addtogroup global
491  * @{
492  */
493 
494 /**
495  * \brief A definition of an undo event, with a specific interface and instance.
496  *
497  * Allows to bind an event from any source: Authoring or any plug-in. Allows to have multiple separate interfaces.
498  *
499  * - ak_wwise_plugin_undo_event_v1 C interface for an undo event.
500  * - ak_wwise_plugin_undo_event_instance_v1 C instance for an undo event.
501  * - AK::Wwise::Plugin::V1::UndoEvent C++ class for an undo event.
502  * - ak_wwise_plugin_host_undo_manager_v1 C interface for the undo manager.
503  * - AK::Wwise::Plugin::V1::UndoManager C++ class for the undo manager.
504  */
506 {
507  struct ak_wwise_plugin_undo_event_v1* m_interface; ///< The interface to execute that undo event's commands.
508  struct ak_wwise_plugin_undo_event_instance_v1* m_instance; ///< The specific instance usued for that particular undo event.
509 };
510 
511 typedef int ak_wwise_plugin_undo_group_id; ///< Unique identifier for a particular undo group. Useful to reopen an unapplied closed group session.
512 
513 /**
514  * \brief Action to apply once this undo group is closed.
515  *
516  * The goal of an undo group is to keep a list of actions being executed that can be undone (for example, a
517  * property set modification). Once the operations are all done, this indicates what should be done with the internal
518  * operations.
519  *
520  * - \ref AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY : The usual operation is to open an undo group, and then close
521  * and apply the group to the undo stack. This provides a valid Undo/Redo label, as well as a description of all
522  * the operations that need to be done.
523  * - \ref AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY_FIRST_EVENT_NAME
524  * and AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY_LAST_EVENT_NAME are convenience operations, where the Undo
525  * operation title is retrieved from either the first or the last event's name, instead of hard-coding it ourselves.
526  * - \ref AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CANCEL cancels the undo operations. It happens when an abnormal
527  * termination occurs, such as an error, or the user cancelling a lengthy operation. Since the operation states
528  * aren't known, you are responsible to handle the stored undo yourself, and manually revert all operations first
529  * before closing the action. An example of this operation is doing a slider drag event, where the user presses
530  * the Escape key instead of doing a Mouse Up. Effectively, all the inner operations will simply be cancelled by storing
531  * the initial value before doing the cancel operation on close.
532  * - \ref AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CLOSE temporarily closes the undo state, leaving it possible to reopen
533  * it later. This is useful during lengthy processes, such as a user dragging a slider. You are expected to
534  * temporarily close the undo group when going out of scope, and reopening it when receiving a new system mouse drag
535  * event in this particular example.
536  */
537 typedef enum {
538  AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CLOSE, ///< Close this group session (going out of scope), but do not apply it yet.
539  AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY, ///< Close this group session permanently, and apply its operations to the englobing group.
540  AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY_FIRST_EVENT_NAME, ///< Same than AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY, but copies the name of the first inner undo event as the name.
541  AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY_LAST_EVENT_NAME, ///< Same than AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY, but copies the name of the last inner undo event as the name.
542  AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CANCEL ///< Close this group session permanently, and cancel all its internal operations. Undo operations are not applied.
544 
545 /**
546  * \brief Bitfield values of brace types, used to delay or avoid certain actions normally triggered as a result
547  * of a property set mutation.
548  *
549  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_NO_NOTIFY : Do not notify of changes
550  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_NO_UNDO_EVENTS : Do not create undo events
551  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_SET_VALUE : Collapse set values notifications once the brace is closed
552  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_REORDER_CHILDREN : Children are being reordered
553  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_DISABLE_PROPERTY_CONSTRAINTS : Disable property constraints
554  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_NO_DIRTY : Inhibit the project's dirty state
555  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_CREATE_PROPERTY_ON_SET_VALUE : Create a new property when an unknown property is set
556  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_CHANGE_TO_EXISTING_VALUE_TYPE : Allow a property type change if the provided type differs from its current type
557  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_LOADING : Indicates the object is being loaded
558  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_UNLOADING : Indicates the object is being unloaded
559  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_DELETING : Indicates the object is being deleted
560  * - \ref AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_SET_OBJECT_LIST : Collapse the final set object list once the last brace is closed
561  *
562  * \sa
563  * - AK::Wwise::Plugin::PropertySet::OpenBraces
564  * - AK::Wwise::Plugin::PropertySet::CloseBraces
565 */
566 typedef enum
567 {
581 
582 /// \brief Bitfield composed of values defined in \c ak_wwise_plugin_property_set_braces_values
584 
585 /**
586  * @}
587  */
virtual bool SetValueUInt16(const char *in_pszPropertyName, uint16_t in_varProperty)=0
uint32_t decodedFileSize
File size of file when decoded to PCM format, If offline decoding is supported by the codec....
Definition: PluginDef.h:476
virtual void ErrorMessage(const char *in_rErrorText, Severity in_eSeverity=Severity_Warning)=0
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_NO_DIRTY
Definition: PluginDef.h:573
Base instance type for providing custom undo operations through ak_wwise_plugin_undo_event_v1.
virtual bool GetValueReal64(const char *in_pszPropertyName, double &out_varProperty) const =0
@ AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CLOSE
Close this group session (going out of scope), but do not apply it yet.
Definition: PluginDef.h:538
int32_t GetInt32(const char *in_pszPropertyName) const
Definition: PluginDef.h:274
virtual bool GetValueBool(const char *in_pszPropertyName, bool &out_varProperty) const =0
virtual void WriteString(const char *in_szString, int in_iStringLength)=0
Definition of data structures for AkAudioObject.
uint16_t GetUInt16(const char *in_pszPropertyName) const
Definition: PluginDef.h:319
virtual bool SetValueReal32(const char *in_pszPropertyName, float in_varProperty)=0
const char * pszProp
The property name.
Definition: PluginDef.h:129
virtual bool GetValueInt16(const char *in_pszPropertyName, int16_t &out_varProperty) const =0
virtual bool GetValueInt8(const char *in_pszPropertyName, int8_t &out_varProperty) const =0
Wwise Authoring Plug-in Instance Types.
@ LicenseStatus_Expired
A license is found, but is expired.
Definition: PluginDef.h:70
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_LOADING
Definition: PluginDef.h:576
const void * data
Pointer to start of file data.
Definition: PluginDef.h:483
@ AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY
Close this group session permanently, and apply its operations to the englobing group.
Definition: PluginDef.h:539
virtual bool SetValueInt8(const char *in_pszPropertyName, int8_t in_varProperty)=0
double GetReal64(const char *in_pszPropertyName) const
Definition: PluginDef.h:337
virtual bool SetValueUInt64(const char *in_pszPropertyName, uint64_t in_varProperty)=0
int8_t GetInt8(const char *in_pszPropertyName) const
Definition: PluginDef.h:292
uint32_t sampleRate
Number of samples per second.
Definition: PluginDef.h:474
uint8_t GetUInt8(const char *in_pszPropertyName) const
Definition: PluginDef.h:328
API to create a custom undo event in a plug-in.
uint32_t ak_wwise_plugin_property_set_braces
Bitfield composed of values defined in ak_wwise_plugin_property_set_braces_values.
Definition: PluginDef.h:583
virtual bool GetValueUInt8(const char *in_pszPropertyName, uint8_t &out_varProperty) const =0
virtual void NotifyProgress(uint32_t in_dwProgress)=0
Notify of the advancement of the task.
virtual bool SetValueInt64(const char *in_pszPropertyName, int64_t in_varProperty)=0
NotifyInnerObjectOperation
Type of operation for the NotifyInnerObjectAddedRemoved function.
Definition: PluginDef.h:84
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_NO_NOTIFY
Definition: PluginDef.h:568
virtual bool ClearValue(const char *in_pszPropertyName)=0
uint32_t dataSize
Actual size of data, taking duration into account (for prefetch)
Definition: PluginDef.h:472
struct ak_wwise_plugin_undo_event_v1 * m_interface
The interface to execute that undo event's commands.
Definition: PluginDef.h:507
uint64_t GetUInt64(const char *in_pszPropertyName) const
Definition: PluginDef.h:301
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_REORDER_CHILDREN
Definition: PluginDef.h:571
LicenseType
License type.
Definition: PluginDef.h:60
virtual bool GetValueUInt32(const char *in_pszPropertyName, uint32_t &out_varProperty) const =0
virtual bool GetValueUInt16(const char *in_pszPropertyName, uint16_t &out_varProperty) const =0
uint32_t GetUInt32(const char *in_pszPropertyName) const
Definition: PluginDef.h:310
virtual bool SetValueInt32(const char *in_pszPropertyName, int32_t in_varProperty)=0
AK::Wwise::Plugin::IWriteString * error
Definition: PluginDef.h:453
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_CHANGE_TO_EXISTING_VALUE_TYPE
Definition: PluginDef.h:575
virtual bool GetValue(const char *in_szPropertyName, AK::WwiseAuthoringAPI::AkVariantBase &out_rValue) const =0
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_DELETING
Definition: PluginDef.h:578
int16_t GetInt16(const char *in_pszPropertyName) const
Definition: PluginDef.h:283
@ Severity_Error
impacting the integrity of the current operation
Definition: PluginDef.h:114
int ak_wwise_plugin_undo_group_id
Unique identifier for a particular undo group. Useful to reopen an unapplied closed group session.
Definition: PluginDef.h:511
virtual void SetCurrentOperationName(const char *in_szOperationName)=0
virtual bool SetValueString(const char *in_pszPropertyName, const char *in_varProperty)=0
#define AKVERIFY(x)
Definition: AkAssert.h:69
ak_wwise_plugin_undo_group_close_action
Action to apply once this undo group is closed.
Definition: PluginDef.h:537
virtual bool GetValueString(const char *in_pszPropertyName, const char *&out_varProperty) const =0
float GetReal32(const char *in_pszPropertyName) const
Definition: PluginDef.h:346
virtual bool IsCancelled() const =0
Check if the user has cancelled the task.
@ LicenseStatus_Unlicensed
No license found.
Definition: PluginDef.h:69
@ Severity_FatalError
impacting the completion of the current operation
Definition: PluginDef.h:115
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_DISABLE_PROPERTY_CONSTRAINTS
Definition: PluginDef.h:572
ConversionResult
Conversion error code.
Definition: PluginDef.h:148
Interfaces used to set and get the properties from a plug in.
Definition: PluginDef.h:187
@ LicenseStatus_Valid
A license is found and is valid.
Definition: PluginDef.h:71
@ AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY_LAST_EVENT_NAME
Same than AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY, but copies the name of the last inner undo e...
Definition: PluginDef.h:541
virtual bool GetValueUInt64(const char *in_pszPropertyName, uint64_t &out_varProperty) const =0
virtual int GetType(const char *in_pszPropertyName) const =0
virtual bool SetValueUInt32(const char *in_pszPropertyName, uint32_t in_varProperty)=0
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_SET_VALUE
Definition: PluginDef.h:570
const char * GetString(const char *in_pszPropertyName) const
Definition: PluginDef.h:256
@ Severity_Warning
potentially impacting the integrity of the current operation
Definition: PluginDef.h:113
virtual bool SetValueReal64(const char *in_pszPropertyName, double in_varProperty)=0
@ AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CANCEL
Close this group session permanently, and cancel all its internal operations. Undo operations are not...
Definition: PluginDef.h:542
Severity
Log message severity.
Definition: PluginDef.h:110
IReadWriteProperties * pluginProperties
Definition: PluginDef.h:458
const IReadOnlyProperties * sourceProperties
Definition: PluginDef.h:457
ak_wwise_plugin_property_set_braces_values
Bitfield values of brace types, used to delay or avoid certain actions normally triggered as a result...
Definition: PluginDef.h:567
AudioFileChannel
Import channel configuration options.
Definition: PluginDef.h:98
virtual bool SetValue(const char *in_szPropertyName, const AK::WwiseAuthoringAPI::AkVariantBase &in_rValue)=0
virtual bool GetValueInt32(const char *in_pszPropertyName, int32_t &out_varProperty) const =0
uint32_t duration
Actual duration of data, or -1 for entire file.
Definition: PluginDef.h:473
@ Severity_Success
operation was executed without errors or will not produce errors
Definition: PluginDef.h:111
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_NO_UNDO_EVENTS
Definition: PluginDef.h:569
A definition of an undo event, with a specific interface and instance.
Definition: PluginDef.h:506
bool GetBool(const char *in_pszPropertyName) const
Definition: PluginDef.h:355
virtual void SetRange(uint32_t in_dwMinValue, uint32_t in_dwMaxValue)=0
Should be called at the beginning of the operation to set the min and max value.
@ LicenseType_Academic
The license is for academic.
Definition: PluginDef.h:63
virtual bool SetValueUInt8(const char *in_pszPropertyName, uint8_t in_varProperty)=0
@ Severity_Message
not impacting the integrity of the current operation
Definition: PluginDef.h:112
@ AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY_FIRST_EVENT_NAME
Same than AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY, but copies the name of the first inner undo ...
Definition: PluginDef.h:540
int64_t GetInt64(const char *in_pszPropertyName) const
Definition: PluginDef.h:265
AkChannelConfig channelConfig
Channel configuration.
Definition: PluginDef.h:475
AK::Wwise::Plugin::IProgress * progress
Definition: PluginDef.h:452
Wwise Authoring Plug-ins - Helper tools, potentially defined elsewhere.
@ LicenseStatus_Incompatible
The plugin was made for an older version of Wwise.
Definition: PluginDef.h:73
LicenseStatus
License status.
Definition: PluginDef.h:68
uint32_t uiID
The dialog control resource ID.
Definition: PluginDef.h:128
@ LicenseType_Purchased
The license was purchased.
Definition: PluginDef.h:62
virtual bool GetValueInt64(const char *in_pszPropertyName, int64_t &out_varProperty) const =0
virtual bool SetValueInt16(const char *in_pszPropertyName, int16_t in_varProperty)=0
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_UNLOADING
Definition: PluginDef.h:577
virtual bool GetValueReal32(const char *in_pszPropertyName, float &out_varProperty) const =0
@ LicenseType_Trial
Used for both Trial and Evaluation License handling.
Definition: PluginDef.h:61
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_CREATE_PROPERTY_ON_SET_VALUE
Definition: PluginDef.h:574
struct ak_wwise_plugin_undo_event_instance_v1 * m_instance
The specific instance usued for that particular undo event.
Definition: PluginDef.h:508
@ AK_WWISE_PLUGIN_PROPERTY_SET_BRACES_SET_OBJECT_LIST
Definition: PluginDef.h:579
uint8_t abyHash[16]
Converted file hash (as present in the HASH chunk).
Definition: PluginDef.h:477
virtual bool SetValueBool(const char *in_pszPropertyName, bool in_varProperty)=0

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