Wwise Version
Wwise SDK 2021.1.3
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  Version: v2021.1.3 Build: 7665
25  Copyright (c) 2006-2021 Audiokinetic Inc.
26 *******************************************************************************/
27 
28 /**
29  * \brief Wwise Authoring Plug-ins - Base plug-in definitions
30  * \file AK/Wwise/Plugin/PluginDef.h
31  */
32 
33 #pragma once
34 
35 #include "PluginHelpers.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.
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  /// Type of operation for the NotifyInnerObjectAddedRemoved function.
78  {
81  };
82 
83  struct MonitorData
84  {
85  uint64_t uGameObjectID;
86  void* pData;
87  unsigned int uDataSize;
88  };
89 
90  /// Import channel configuration options.
92  {
100  };
101 
102  /// Log message severity.
103  enum Severity
104  {
105  Severity_Success = -1, ///< operation was executed without errors or will not produce errors
106  Severity_Message, ///< not impacting the integrity of the current operation
107  Severity_Warning, ///< potentially impacting the integrity of the current operation
108  Severity_Error, ///< impacting the integrity of the current operation
109  Severity_FatalError, ///< impacting the completion of the current operation
110  };
111 
112  /// Represents the association between a dialog control (such as
113  /// a checkbox or radio button) and a plug-in property.
114  /// \aknote
115  /// You should not need to use this structure directly. Instead, use the
116  /// AK_BEGIN_POPULATE_TABLE(), AK_POP_ITEM(), and AK_END_POPULATE_TABLE() macros.
117  /// \endaknote
118  /// \sa
119  /// - \ref wwiseplugin_dialog_guide_poptable
121  {
122  uint32_t uiID; ///< The dialog control resource ID
123  const char * pszProp; ///< The property name
124  };
125 
126  /// Dialog type. Source plug-ins can be edited in the Property Editor or
127  /// the Contents Editor, while effect plug-ins can only be edited in the
128  /// Effect Editor.
129  /// \sa
130  /// - \ref wwiseplugin_dialogcode
131  enum eDialog
132  {
133  SettingsDialog, ///< Main plug-in dialog. This is the dialog used in the Property
134  ///< Editor for source plug-ins, and in the Effect Editor for
135  ///< effect plug-ins.
136  ContentsEditorDialog ///< Contents Editor dialog. This is the small dialog used in the
137  ///< Contents Editor for source plug-ins.
138  };
139 
140  /// Conversion error code.
142  {
146  };
147 
148  class IProgress
149  {
150  public:
151  /// Call this to set the name of the operation currently done.
152  /// If not called the operation will have an empty name in the UI.
153  /// The name should be on a single line.
154  virtual void SetCurrentOperationName(const char * in_szOperationName) = 0;
155 
156  /// Should be called at the beginning of the operation to set the min and max value
157  virtual void SetRange(uint32_t in_dwMinValue, uint32_t in_dwMaxValue) = 0;
158 
159  /// Notify of the advancement of the task.
160  virtual void NotifyProgress(uint32_t in_dwProgress) = 0;
161 
162  /// Check if the user has cancelled the task
163  virtual bool IsCancelled() = 0;
164 
165  /// Display an error message to the user.
166  /// The message should be on a single line.
167  virtual void ErrorMessage(const char * in_rErrorText, Severity in_eSeverity = Severity_Warning) = 0;
168  };
169 
170  /// Interface to let the plug in give us a string of any size.
171  /// The pointer to the interface should not be kept.
173  {
174  public:
175  virtual void WriteString(const char * in_szString,
176  int in_iStringLength) = 0;
177  };
178 
179  /// Interfaces used to set and get the properties from a plug in.
181  {
182  public:
183  virtual bool GetValue(const char * in_szPropertyName,
184  AK::WwiseAuthoringAPI::AkVariantBase& out_rValue) const = 0;
185 
186  virtual int GetType(
187  const char* in_pszPropertyName ///< The name of the property
188  ) const = 0;
189 
190  virtual bool GetValueString(
191  const char * in_pszPropertyName, ///< The name of the property
192  const char*& out_varProperty ///< The returned value of the property
193  ) const = 0;
194 
195  virtual bool GetValueInt64(
196  const char * in_pszPropertyName, ///< The name of the property
197  int64_t& out_varProperty ///< The returned value of the property
198  ) const = 0;
199 
200  virtual bool GetValueInt32(
201  const char * in_pszPropertyName, ///< The name of the property
202  int32_t& out_varProperty ///< The returned value of the property
203  ) const = 0;
204 
205  virtual bool GetValueInt16(
206  const char * in_pszPropertyName, ///< The name of the property
207  int16_t& out_varProperty ///< The returned value of the property
208  ) const = 0;
209 
210  virtual bool GetValueInt8(
211  const char * in_pszPropertyName, ///< The name of the property
212  int8_t& out_varProperty ///< The returned value of the property
213  ) const = 0;
214 
215  virtual bool GetValueUInt64(
216  const char * in_pszPropertyName, ///< The name of the property
217  uint64_t& out_varProperty ///< The returned value of the property
218  ) const = 0;
219 
220  virtual bool GetValueUInt32(
221  const char * in_pszPropertyName, ///< The name of the property
222  uint32_t& out_varProperty ///< The returned value of the property
223  ) const = 0;
224 
225  virtual bool GetValueUInt16(
226  const char * in_pszPropertyName, ///< The name of the property
227  uint16_t& out_varProperty ///< The returned value of the property
228  ) const = 0;
229 
230  virtual bool GetValueUInt8(
231  const char * in_pszPropertyName, ///< The name of the property
232  uint8_t& out_varProperty ///< The returned value of the property
233  ) const = 0;
234 
235  virtual bool GetValueReal64(
236  const char * in_pszPropertyName, ///< The name of the property
237  double& out_varProperty ///< The returned value of the property
238  ) const = 0;
239 
240  virtual bool GetValueReal32(
241  const char * in_pszPropertyName, ///< The name of the property
242  float& out_varProperty ///< The returned value of the property
243  ) const = 0;
244 
245  virtual bool GetValueBool(
246  const char * in_pszPropertyName, ///< The name of the property
247  bool& out_varProperty ///< The returned value of the property
248  ) const = 0;
249 
250  inline const char* GetString(
251  const char * in_pszPropertyName ///< The name of the property
252  ) const
253  {
254  const char* result;
255  AKVERIFY(GetValueString(in_pszPropertyName, result));
256  return result;
257  }
258 
259  inline int64_t GetInt64(
260  const char * in_pszPropertyName ///< The name of the property
261  ) const
262  {
263  int64_t result;
264  AKVERIFY(GetValueInt64(in_pszPropertyName, result));
265  return result;
266  }
267 
268  inline int32_t GetInt32(
269  const char * in_pszPropertyName ///< The name of the property
270  ) const
271  {
272  int32_t result;
273  AKVERIFY(GetValueInt32(in_pszPropertyName, result));
274  return result;
275  }
276 
277  inline int16_t GetInt16(
278  const char * in_pszPropertyName ///< The name of the property
279  ) const
280  {
281  int16_t result;
282  AKVERIFY(GetValueInt16(in_pszPropertyName, result));
283  return result;
284  }
285 
286  inline int8_t GetInt8(
287  const char * in_pszPropertyName ///< The name of the property
288  ) const
289  {
290  int8_t result;
291  AKVERIFY(GetValueInt8(in_pszPropertyName, result));
292  return result;
293  }
294 
295  inline uint64_t GetUInt64(
296  const char * in_pszPropertyName ///< The name of the property
297  ) const
298  {
299  uint64_t result;
300  AKVERIFY(GetValueUInt64(in_pszPropertyName, result));
301  return result;
302  }
303 
304  inline uint32_t GetUInt32(
305  const char * in_pszPropertyName ///< The name of the property
306  ) const
307  {
308  uint32_t result;
309  AKVERIFY(GetValueUInt32(in_pszPropertyName, result));
310  return result;
311  }
312 
313  inline uint16_t GetUInt16(
314  const char * in_pszPropertyName ///< The name of the property
315  ) const
316  {
317  uint16_t result;
318  AKVERIFY(GetValueUInt16(in_pszPropertyName, result));
319  return result;
320  }
321 
322  inline uint8_t GetUInt8(
323  const char * in_pszPropertyName ///< The name of the property
324  ) const
325  {
326  uint8_t result;
327  AKVERIFY(GetValueUInt8(in_pszPropertyName, result));
328  return result;
329  }
330 
331  inline double GetReal64(
332  const char * in_pszPropertyName ///< The name of the property
333  ) const
334  {
335  double result;
336  AKVERIFY(GetValueReal64(in_pszPropertyName, result));
337  return result;
338  }
339 
340  inline float GetReal32(
341  const char * in_pszPropertyName ///< The name of the property
342  ) const
343  {
344  float result;
345  AKVERIFY(GetValueReal32(in_pszPropertyName, result));
346  return result;
347  }
348 
349  inline bool GetBool(
350  const char * in_pszPropertyName ///< The name of the property
351  ) const
352  {
353  bool result;
354  AKVERIFY(GetValueBool(in_pszPropertyName, result));
355  return result;
356  }
357  };
358 
360  {
361  public:
362  virtual bool SetValue(const char * in_szPropertyName,
363  const AK::WwiseAuthoringAPI::AkVariantBase& in_rValue) = 0;
364 
365  virtual bool ClearValue(
366  const char* in_pszPropertyName ///< The name of the property
367  ) = 0;
368 
369  virtual bool SetValueString(
370  const char * in_pszPropertyName, ///< The name of the property
371  const char * in_varProperty ///< The value to set
372  ) = 0;
373 
374  virtual bool SetValueInt64(
375  const char * in_pszPropertyName, ///< The name of the property
376  int64_t in_varProperty ///< The value to set
377  ) = 0;
378 
379  virtual bool SetValueInt32(
380  const char * in_pszPropertyName, ///< The name of the property
381  int32_t in_varProperty ///< The value to set
382  ) = 0;
383 
384  virtual bool SetValueInt16(
385  const char * in_pszPropertyName, ///< The name of the property
386  int16_t in_varProperty ///< The value to set
387  ) = 0;
388 
389  virtual bool SetValueInt8(
390  const char * in_pszPropertyName, ///< The name of the property
391  int8_t in_varProperty ///< The value to set
392  ) = 0;
393 
394  virtual bool SetValueUInt64(
395  const char * in_pszPropertyName, ///< The name of the property
396  uint64_t in_varProperty ///< The value to set
397  ) = 0;
398 
399  virtual bool SetValueUInt32(
400  const char * in_pszPropertyName, ///< The name of the property
401  uint32_t in_varProperty ///< The value to set
402  ) = 0;
403 
404  virtual bool SetValueUInt16(
405  const char * in_pszPropertyName, ///< The name of the property
406  uint16_t in_varProperty ///< The value to set
407  ) = 0;
408 
409  virtual bool SetValueUInt8(
410  const char * in_pszPropertyName, ///< The name of the property
411  uint8_t in_varProperty ///< The value to set
412  ) = 0;
413 
414  virtual bool SetValueReal64(
415  const char * in_pszPropertyName, ///< The name of the property
416  double in_varProperty ///< The value to set
417  ) = 0;
418 
419  virtual bool SetValueReal32(
420  const char * in_pszPropertyName, ///< The name of the property
421  float in_varProperty ///< The value to set
422  ) = 0;
423 
424  virtual bool SetValueBool(
425  const char * in_pszPropertyName, ///< The name of the property
426  bool in_varProperty ///< The value to set
427  ) = 0;
428  };
429 
430  // Note: This should be kept in line with RIFFHEADER
431  struct RiffHeader
432  {
433  uint32_t fccChunkId;
434  uint32_t dwDataSize;
435  };
436 
438  {
439  //
440  // Inputs
441  //
442  const GUID* platformID;
444  const char* sourceFileName;
445  const char* destinationFileName;
448 
449  bool noDecode;
450 
453 
454  // Analysis data types available for this source.
456 
457  // False if source context contains at least one value that is not the default.
458  bool isDefault;
459 
460  // Required downmix normalization gain (linear), 1 if not available / desired.
462 
463  //
464  // Outputs
465  //
466  uint32_t sampleRate; ///< Number of samples per second
467  AkChannelConfig channelConfig; ///< Channel configuration
468  uint32_t decodedFileSize; ///< File size of file when decoded to PCM format, *If* offline decoding is supported by the codec. Otherwise has value NO_OFFLINE_DECODING (-1)
469  };
470 
472  {
473  const void* data;
474  uint32_t dataSize;
475  uint32_t duration; ///< Actual duration of data, or -1 for entire file.
476  };
477  }
478  }
479 }
480 #endif
481 
482 /** \addtogroup global
483  * @{
484  */
485 
487 typedef struct ak_wwise_plugin_base_interface* ak_wwise_plugin_interface_ptr; ///< Pointer to a generic base from a plug-in interface.
488 
489 /**
490  * \brief Generic base for all plug-in instances. In C++, this is derived. In C, they are equivalent.
491  *
492  * \sa
493  * - \ref ak_wwise_plugin_cpp_base_instance for disrepancies between the C and C++ model.
494  */
496 typedef struct ak_wwise_plugin_base_instance* ak_wwise_plugin_instance_ptr; ///< Pointer to a generic base for a plug-in instances.
497 
499 struct ak_wwise_plugin_info;
501 
502 #ifdef __cplusplus
503 /**
504  * \brief Generic base for all plug-in instances in C++
505  *
506  * \warning This differs from the ak_wwise_plugin_base_instance, as C++ classes have a virtual table as their first member.
507  * It's important to make the distinction between the two by specifically doing a static_cast between the C version and the C++ version,
508  * and not a mere reinterpret_cast or a C-style cast. As such, it is expected to instantiate a plug-in in C++, and return
509  * C pointers back to the instance structures with a different base address.
510  */
512 {
514 };
515 
516 /**
517  * \brief Define a generic instance base, either in C or in C++.
518  *
519  * \warning These are NOT equivalent! In C, it is expected you can directly cast from your instance to an
520  * ak_wwise_plugin_base_instance. In C++, since the base classes have a virtual table, the pointer to the C members is
521  * shifted in memory.
522  */
523 #define AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE : public ak_wwise_plugin_cpp_base_instance
524 #else
525 #define AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE
526 #endif
527 
528 /**
529  * \brief Plug-in backend instance.
530  *
531  * A backend contains all the logic for the Authoring part of the plug-in. It is uniquely instantiated for each plug-in instance
532  * in a project.
533  */
535 
536 /**
537  * \brief Plug-in frontend instance.
538  *
539  * A frontend contains the visual part of the Authoring plug-in. It is optional, for example, it is never instantiated when
540  * connecting through WwiseConsole. As such, there should never be any processing or "intelligence" done in a frontend part.
541  *
542  * For example, the frontend should not affect licensing, soundbank generation, audio processing, property handling (such as
543  * validating ranges for property sets), media handling, media conversion, custom data loading, ...
544  *
545  * \aknote Porting note: In legacy plug-ins, there is only one instance of the Authoring plug-in that contains both
546  * the backend and the frontend. This has changed for multiple reasons: to be able to instantiate a plug-in backend without any
547  * frontend, or alternatively, to instantiate multiple copies of a frontend for a unique backend. \endaknote
548  */
550 
551 #ifdef __cplusplus
552 /**
553  * \brief Define an instance type as a backend.
554  *
555  * In C++, this derives the backend instance from the ak_wwise_plugin_backend_instance in a separate action so that RTTI can help
556  * pinpoint the types and the compiler ensures the type correctness.
557  *
558  * In C, this is a typedef, as we cannot derive. The compiler also doesn't need to lookup addresses for complex structures, so this
559  * is merely an equivalency.
560  *
561  * \sa
562  * - \ref ak_wwise_plugin_backend_instance for a backend discussion.
563  * - \ref ak_wwise_plugin_frontend_instance for a frontend discussion.
564  * - \ref ak_wwise_plugin_cpp_base_instance for disrepancies between the C and C++ model.
565  */
566 #define AK_WWISE_PLUGIN_DERIVE_FROM_BACKEND_INSTANCE(x) \
567  struct x : public ak_wwise_plugin_backend_instance {}
568 
569 /**
570  * \brief Define an instance type as a frontend.
571  *
572  * In C++, this derives the frontend instance from the ak_wwise_plugin_frontend_instance in a separate action so that RTTI can help
573  * pinpoint the types and the compiler ensures the type correctness.
574  *
575  * In C, this is a typedef, as we cannot derive. The compiler also doesn't need to lookup addresses for complex structures, so this
576  * is merely an equivalency.
577  *
578  * \sa
579  * - \ref ak_wwise_plugin_backend_instance for a backend discussion.
580  * - \ref ak_wwise_plugin_frontend_instance for a frontend discussion.
581  * - \ref ak_wwise_plugin_cpp_base_instance for disrepancies between the C and C++ model.
582  */
583 #define AK_WWISE_PLUGIN_DERIVE_FROM_FRONTEND_INSTANCE(x) \
584  struct x : public ak_wwise_plugin_frontend_instance {}
585 #else
586 #define AK_WWISE_PLUGIN_DERIVE_FROM_BACKEND_INSTANCE(x) \
587  typedef x ak_wwise_plugin_backend_instance
588 #define AK_WWISE_PLUGIN_DERIVE_FROM_FRONTEND_INSTANCE(x) \
589  typedef x ak_wwise_plugin_frontend_instance
590 #endif
591 
592 /**
593  * \brief Base host-provided instance type for ak_wwise_plugin_host_v1.
594  *
595  * \sa
596  * - ak_wwise_plugin_host_v1 C interface.
597  * - AK::Wwise::Plugin::V1::Host C++ class.
598  */
600 
601 /**
602  * \brief Base host-provided instance type for ak_wwise_plugin_host_conversion_helpers_v1.
603  *
604  * \sa
605  * - ak_wwise_plugin_host_conversion_helpers_v1 C interface.
606  * - AK::Wwise::Plugin::V1::ConversionHelpers C++ class.
607  */
609 
610 /**
611  * \brief Base host-provided instance type for ak_wwise_plugin_host_data_writer_v1.
612  *
613  * \sa
614  * - ak_wwise_plugin_host_data_writer_v1 C interface.
615  * - AK::Wwise::Plugin::V1::DataWriter C++ class.
616  */
618 
619 /**
620  * \brief Base host-provided instance type for ak_wwise_plugin_host_object_media_v1.
621  *
622  * \sa
623  * - ak_wwise_plugin_host_object_media_v1 C interface.
624  * - AK::Wwise::Plugin::V1::ObjectMedia C++ class.
625  */
627 
628 /**
629  * \brief Base host-provided instance type for ak_wwise_plugin_host_object_store_v1.
630  *
631  * \sa
632  * - ak_wwise_plugin_host_object_store_v1 C interface.
633  * - AK::Wwise::Plugin::V1::ObjectStore C++ class.
634  */
636 
637 /**
638  * \brief Base host-provided instance type for ak_wwise_plugin_host_property_set_v1.
639  *
640  * \sa
641  * - ak_wwise_plugin_host_property_set_v1 C interface.
642  * - AK::Wwise::Plugin::V1::PropertySet C++ class.
643  */
645 
646 /**
647  * \brief Base host-provided instance type for ak_wwise_plugin_host_undo_manager_v1.
648  *
649  * \sa
650  * - ak_wwise_plugin_host_undo_manager_v1 C interface.
651  * - AK::Wwise::Plugin::V1::UndoManager C++ class.
652  */
654 
655 /**
656  * \brief Base host-provided instance type for reading XML files through ak_wwise_plugin_host_xml_v1.
657  *
658  * \sa
659  * - ak_wwise_plugin_host_xml_v1 C interface.
660  * - AK::Wwise::Plugin::V1::XmlReader C++ class.
661  */
663 
664 /**
665  * \brief Base host-provided instance type for writing XML files through ak_wwise_plugin_host_xml_v1.
666  *
667  * \sa
668  * - ak_wwise_plugin_host_xml_v1 C interface.
669  * - AK::Wwise::Plugin::V1::XmlWriter C++ class.
670  */
672 
673 
674 struct ak_wwise_plugin_analysis_task_v1;
675 /**
676  * \brief Base instance type for providing analysis task services through ak_wwise_plugin_analysis_task_v1.
677  *
678  * \sa
679  * - ak_wwise_plugin_analysis_task_v1 C interface.
680  * - AK::Wwise::Plugin::V1::AnalysisTask C++ class.
681  */
683 
685 /**
686  * \brief Base instance type for providing audio plug-in backend services through ak_wwise_plugin_audio_plugin_v1.
687  *
688  * \sa
689  * - ak_wwise_plugin_audio_plugin_v1 C interface.
690  * - AK::Wwise::Plugin::V1::AudioPlugin C++ class.
691  */
693 
694 struct ak_wwise_plugin_conversion_v1;
695 /**
696  * \brief Base instance type for providing a conversion plug-in through ak_wwise_plugin_conversion_v1.
697  *
698  * \sa
699  * - ak_wwise_plugin_conversion_v1 C interface.
700  * - AK::Wwise::Plugin::V1::Conversion C++ class.
701  */
703 
705 /**
706  * \brief Base instance type for providing custom data loading and saving through ak_wwise_plugin_custom_data_v1.
707  *
708  * \sa
709  * - ak_wwise_plugin_custom_data_v1 C interface.
710  * - AK::Wwise::Plugin::V1::CustomData C++ class.
711  */
713 
715 /**
716  * \brief Base instance type for providing display names to properties through ak_wwise_plugin_property_display_name_v1.
717  *
718  * \sa
719  * - ak_wwise_plugin_property_display_name_v1 C interface.
720  * - AK::Wwise::Plugin::V1::PropertyDisplayName C++ class.
721  */
723 
724 struct ak_wwise_plugin_feedback_aware_v1;
725 /**
726  * \brief Base instance type for providing property-based feedback through ak_wwise_plugin_feedback_aware_v1.
727  *
728  * \sa
729  * - ak_wwise_plugin_feedback_aware_v1 C interface.
730  * - AK::Wwise::Plugin::V1::FeedbackAware C++ class.
731  */
733 
734 struct ak_wwise_plugin_gui_conversion_windows_v1;
735 /**
736  * \brief Base instance type for providing a Windows frontend for a conversion plug-in through ak_wwise_plugin_gui_conversion_windows_v1.
737  *
738  * \sa
739  * - ak_wwise_plugin_gui_conversion_windows_v1 C interface.
740  * - AK::Wwise::Plugin::V1::GUIConversionWindows C++ class.
741  * - ak_wwise_plugin_conversion_v1 Conversion backend's C interface.
742  * - AK::Wwise::Plugin::V1::Conversion Conversion frontend's C++ class.
743  */
745 
747 /**
748  * \brief Base instance type for providing a Windows frontend for an audio plug-in through ak_wwise_plugin_gui_windows_v1.
749  *
750  * \sa
751  * - ak_wwise_plugin_gui_windows_v1 C interface.
752  * - AK::Wwise::Plugin::V1::GUIWindows C++ class.
753  * - ak_wwise_plugin_audio_plugin_v1 Audio plug-in backend's C interface.
754  * - AK::Wwise::Plugin::V1::AudioPlugin Audio plug-in frontend's C++ class.
755  */
757 
759 /**
760  * \brief Base host-provided instance to retrieve the related backend instance, as shown in the frontend.
761  *
762  * \sa
763  * - ak_wwise_plugin_link_backend_v1 C interface.
764  * - AK::Wwise::Plugin::V1::LinkBackend C++ class.
765  */
767 
769 /**
770  * \brief Base host-provided instance to retrieve the related frontend instances related to the current backend.
771  *
772  * \sa
773  * - ak_wwise_plugin_link_frontend_v1 C interface.
774  * - AK::Wwise::Plugin::V1::LinkFrontend C++ class.
775  */
777 
779 /**
780  * \brief Base instance type for providing custom media conversion through ak_wwise_plugin_media_converter_v1.
781  *
782  * \sa
783  * - ak_wwise_plugin_media_converter_v1 C interface.
784  * - AK::Wwise::Plugin::V1::MediaConverter C++ class.
785  */
787 
789 /**
790  * \brief Base instance type for receiving notifications on host changes events.
791  *
792  * \sa
793  * - ak_wwise_plugin_notifications_host_v1 C interface.
794  * - AK::Wwise::Plugin::V1::Notifications::Host_ C++ class.
795  * - ak_wwise_plugin_host_v1 Related C host interface.
796  * - AK::Wwise::Plugin::V1::Host Related C++ host class.
797  */
799 
801 /**
802  * \brief Base instance type for receiving Sound Engine's monitoring data.
803  *
804  * \sa
805  * - ak_wwise_plugin_notifications_monitor_v1 C interface.
806  * - AK::Wwise::Plugin::V1::Notifications::Monitor C++ class.
807  * - AK::Wwise::Plugin::MonitorData
808  */
810 
812 /**
813  * \brief Base instance type for receiving notifications on related object media's changes.
814  *
815  * \sa
816  * - ak_wwise_plugin_notifications_object_media_v1 C interface.
817  * - AK::Wwise::Plugin::V1::Notifications::ObjectMedia_ C++ class.
818  * - ak_wwise_plugin_host_object_media_v1 Related C host interface.
819  * - AK::Wwise::Plugin::V1::ObjectMedia Related C++ host class.
820  */
822 
824 /**
825  * \brief Base instance type for receiving notifications on related Object Store's changes.
826  *
827  * \sa
828  * - ak_wwise_plugin_notifications_object_store_v1 C interface.
829  * - AK::Wwise::Plugin::V1::Notifications::ObjectStore_ C++ class.
830  * - ak_wwise_plugin_host_object_store_v1 Related C host interface.
831  * - AK::Wwise::Plugin::V1::ObjectStore Related C++ host class.
832  */
834 
836 /**
837  * \brief Base instance type for receiving notifications on property set's changes.
838  *
839  * \sa
840  * - ak_wwise_plugin_notifications_property_set_v1 C interface.
841  * - AK::Wwise::Plugin::V1::Notifications::PropertySet_ C++ class.
842  * - ak_wwise_plugin_host_property_set_v1 Related C host interface.
843  * - AK::Wwise::Plugin::V1::PropertySet Related C++ host class.
844  */
846 
848 /**
849  * \brief Base instance type for providing source-specific information, through ak_wwise_plugin_source_v1.
850  *
851  * \sa
852  * - ak_wwise_plugin_source_v1 C interface.
853  * - AK::Wwise::Plugin::V1::Source C++ class.
854  */
856 
858 /**
859  * \brief Base instance type for providing custom undo operations through ak_wwise_plugin_undo_event_v1.
860  *
861  * \sa
862  * - ak_wwise_plugin_undo_event_v1 C interface.
863  * - AK::Wwise::Plugin::V1::UndoEvent C++ class.
864  * - ak_wwise_plugin_host_undo_manager_v1 Host's C manager interface.
865  * - AK::Wwise::Plugin::V1::UndoManager Host's C++ manager class.
866  */
868 
870 /**
871  * \brief Base instance type for providing licensing information, through ak_wwise_plugin_license_v1.
872  *
873  * \sa
874  * - ak_wwise_plugin_license_v1 C interface.
875  * - AK::Wwise::Plugin::V1::License C++ class.
876  */
878 
879 
880 /**
881  * \brief Base instance type for providing a message shown the first time an instance is created through ak_wwise_plugin_first_time_creation_message_v1.
882  *
883  * \sa
884  * - ak_wwise_plugin_first_time_creation_message_v1 C interface.
885  * - AK::Wwise::Plugin::V1::FirstTimeCreationMessage C++ class.
886  */
888 
889 /**
890  * \brief Base instance type for providing a device list for your custom sink through ak_wwise_plugin_sink_devices_v1.
891  *
892  * \sa
893  * - ak_wwise_plugin_sink_devices_v1 C interface.
894  * - AK::Wwise::Plugin::V1::SinkDevices C++ class.
895  */
897 
900 
901 #undef AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE
902 
903 /**
904  * \brief A definition of an undo event, with a specific interface and instance.
905  *
906  * Allows to bind an event from any source: Authoring or any plug-in. Allows to have multiple separate interfaces.
907  *
908  * - ak_wwise_plugin_undo_event_v1 C interface for an undo event.
909  * - ak_wwise_plugin_undo_event_instance_v1 C instance for an undo event.
910  * - AK::Wwise::Plugin::V1::UndoEvent C++ class for an undo event.
911  * - ak_wwise_plugin_host_undo_manager_v1 C interface for the undo manager.
912  * - AK::Wwise::Plugin::V1::UndoManager C++ class for the undo manager.
913  */
915 {
916  struct ak_wwise_plugin_undo_event_v1* m_interface; ///< The interface to execute that undo event's commands.
917  struct ak_wwise_plugin_undo_event_instance_v1* m_instance; ///< The specific instance usued for that particular undo event.
918 };
919 
920 typedef int ak_wwise_plugin_undo_group_id; ///< Unique identifier for a particular undo group. Useful to reopen an unapplied closed group session.
921 
922 /**
923  * \brief Action to apply once this undo group is closed.
924  *
925  * The goal of an undo group is to keep a list of actions being executed that can be undone (for example, a
926  * property set modification). Once the operations are all done, this indicates what should be done with the internal
927  * operations.
928  *
929  * - \ref AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY : The usual operation is to open an undo group, and then close
930  * and apply the group to the undo stack. This provides a valid Undo/Redo label, as well as a description of all
931  * the operations that need to be done.
932  * - \ref AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY_FIRST_EVENT_NAME
933  * and AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY_LAST_EVENT_NAME are convenience operations, where the Undo
934  * operation title is retrieved from either the first or the last event's name, instead of hard-coding it ourselves.
935  * - \ref AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CANCEL cancels the undo operations. It happens when an abnormal
936  * termination occurs, such as an error, or the user cancelling a lengthy operation. Since the operation states
937  * aren't known, you are responsible to handle the stored undo yourself, and manually revert all operations first
938  * before closing the action. An example of this operation is doing a slider drag event, where the user presses
939  * the Escape key instead of doing a Mouse Up. Effectively, all the inner operations will simply be cancelled by storing
940  * the initial value before doing the cancel operation on close.
941  * - \ref AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CLOSE temporarily closes the undo state, leaving it possible to reopen
942  * it later. This is useful during lengthy processes, such as a user dragging a slider. You are expected to
943  * temporarily close the undo group when going out of scope, and reopening it when receiving a new system mouse drag
944  * event in this particular example.
945  */
946 typedef enum {
947  AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CLOSE, ///< Close this group session (going out of scope), but do not apply it yet.
948  AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY, ///< Close this group session permanently, and apply its operations to the englobing group.
949  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.
950  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.
951  AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CANCEL ///< Close this group session permanently, and cancel all its internal operations. Undo operations are not applied.
953 
954 /**
955  * @}
956  */
957 
958 #ifdef __cplusplus
959 namespace AK::Wwise::Plugin
960 {
961  using CBaseInterface = ak_wwise_plugin_base_interface; ///< \copydoc ak_wwise_plugin_base_interface
962  using CInterfacePtr = ak_wwise_plugin_interface_ptr;
963  using CInterfaceArrayItem = ak_wwise_plugin_interface_array_item; ///< \copydoc ak_wwise_plugin_interface_array_item
964  using CPluginInfo = ak_wwise_plugin_info; ///< \copydoc ak_wwise_plugin_info
965  using CPluginContainer = ak_wwise_plugin_container; ///< \copydoc ak_wwise_plugin_container
966 
967  using BaseInterface = CBaseInterface; ///< \copydoc ak_wwise_plugin_base_interface
969  using InterfaceArrayItem = CInterfaceArrayItem; ///< \copydoc ak_wwise_plugin_interface_array_item
970  using PluginInfo = CPluginInfo; ///< \copydoc ak_wwise_plugin_info
971  using PluginContainer = CPluginContainer; ///< \copydoc ak_wwise_plugin_container
972 }
973 #endif
virtual bool SetValueUInt16(const char *in_pszPropertyName, uint16_t in_varProperty)=0
virtual void ErrorMessage(const char *in_rErrorText, Severity in_eSeverity=Severity_Warning)=0
Base instance type for providing custom undo operations through ak_wwise_plugin_undo_event_v1.
Definition: PluginDef.h:867
virtual bool GetValueReal64(const char *in_pszPropertyName, double &out_varProperty) const =0
API to receive host's update notifications.
Definition: Host.h:193
@ 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:947
int32_t GetInt32(const char *in_pszPropertyName) const
Definition: PluginDef.h:268
Base host-provided instance type for ak_wwise_plugin_host_undo_manager_v1.
Definition: PluginDef.h:653
virtual bool GetValueBool(const char *in_pszPropertyName, bool &out_varProperty) const =0
virtual void WriteString(const char *in_szString, int in_iStringLength)=0
Generic base for all plug-in instances. In C++, this is derived. In C, they are equivalent.
Definition: PluginDef.h:495
Audiokinetic namespace.
uint16_t GetUInt16(const char *in_pszPropertyName) const
Definition: PluginDef.h:313
virtual bool SetValueReal32(const char *in_pszPropertyName, float in_varProperty)=0
@ ContentsEditorDialog
Definition: PluginDef.h:136
const char * pszProp
The property name.
Definition: PluginDef.h:123
Plug-in frontend instance.
Definition: PluginDef.h:549
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
const char * destinationFileName
Definition: PluginDef.h:445
API to convert used object medias to a format usable by the plug-in's Sound Engine part.
Definition: MediaConverter.h:45
@ LicenseStatus_Expired
A license is found, but is expired.
Definition: PluginDef.h:70
@ AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY
Close this group session permanently, and apply its operations to the englobing group.
Definition: PluginDef.h:948
uint32_t duration
Actual duration of data, or -1 for entire file.
Definition: PluginDef.h:475
virtual bool SetValueInt8(const char *in_pszPropertyName, int8_t in_varProperty)=0
ak_wwise_plugin_interface_ptr CInterfacePtr
Definition: PluginDef.h:962
Base host-provided instance type for ak_wwise_plugin_host_object_media_v1.
Definition: PluginDef.h:626
double GetReal64(const char *in_pszPropertyName) const
Definition: PluginDef.h:331
ak_wwise_plugin_interface_array_item CInterfaceArrayItem
A single instantiatable plug-in interface.
Definition: PluginDef.h:963
@ ConversionSuccess
Definition: PluginDef.h:143
virtual bool SetValueUInt64(const char *in_pszPropertyName, uint64_t in_varProperty)=0
int8_t GetInt8(const char *in_pszPropertyName) const
Definition: PluginDef.h:286
@ InnerObjectAdded
Definition: PluginDef.h:79
Base instance type for providing custom media conversion through ak_wwise_plugin_media_converter_v1.
Definition: PluginDef.h:786
uint8_t GetUInt8(const char *in_pszPropertyName) const
Definition: PluginDef.h:322
@ ConversionWarning
Definition: PluginDef.h:144
Base instance type for providing custom data loading and saving through ak_wwise_plugin_custom_data_v...
Definition: PluginDef.h:712
Base instance type for providing a message shown the first time an instance is created through ak_wwi...
Definition: PluginDef.h:887
ak_wwise_plugin_container CPluginContainer
Root interface allowing a logical unit (variable, library) to contain more than one interface.
Definition: PluginDef.h:965
API to create a custom undo event in a plug-in.
Definition: HostUndoManager.h:46
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
@ InnerObjectRemoved
Definition: PluginDef.h:80
@ SettingsDialog
Definition: PluginDef.h:133
NotifyInnerObjectOperation
Type of operation for the NotifyInnerObjectAddedRemoved function.
Definition: PluginDef.h:78
virtual bool ClearValue(const char *in_pszPropertyName)=0
@ Channel_stereo
Definition: PluginDef.h:94
struct ak_wwise_plugin_undo_event_v1 * m_interface
The interface to execute that undo event's commands.
Definition: PluginDef.h:916
#define AK_WWISE_PLUGIN_DERIVE_FROM_BACKEND_INSTANCE(x)
Define an instance type as a backend.
Definition: PluginDef.h:566
uint64_t GetUInt64(const char *in_pszPropertyName) const
Definition: PluginDef.h:295
unsigned int uDataSize
Definition: PluginDef.h:87
AkChannelConfig channelConfig
Channel configuration.
Definition: PluginDef.h:467
Base host-provided instance type for ak_wwise_plugin_host_data_writer_v1.
Definition: PluginDef.h:617
Base instance type for providing audio plug-in backend services through ak_wwise_plugin_audio_plugin_...
Definition: PluginDef.h:692
Windows frontend plug-in API for Audio plug-ins.
Definition: GUIWindows.h:93
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 decodedFileSize
File size of file when decoded to PCM format, If offline decoding is supported by the codec....
Definition: PluginDef.h:468
virtual bool IsCancelled()=0
Check if the user has cancelled the task.
Root interface allowing a logical unit (variable, library) to contain more than one interface.
Definition: PluginContainer.h:52
API specific for source plug-in.
Definition: Source.h:47
uint32_t GetUInt32(const char *in_pszPropertyName) const
Definition: PluginDef.h:304
Base host-provided instance type for ak_wwise_plugin_host_v1.
Definition: PluginDef.h:599
virtual bool SetValueInt32(const char *in_pszPropertyName, int32_t in_varProperty)=0
AK::Wwise::Plugin::IWriteString * error
Definition: PluginDef.h:447
virtual bool GetValue(const char *in_szPropertyName, AK::WwiseAuthoringAPI::AkVariantBase &out_rValue) const =0
int16_t GetInt16(const char *in_pszPropertyName) const
Definition: PluginDef.h:277
@ Channel_mono_drop
Definition: PluginDef.h:95
Generic base for all plug-in instances in C++.
Definition: PluginDef.h:512
@ Severity_Error
impacting the integrity of the current operation
Definition: PluginDef.h:108
Base instance type for providing analysis task services through ak_wwise_plugin_analysis_task_v1.
Definition: PluginDef.h:682
Base host-provided instance type for ak_wwise_plugin_host_conversion_helpers_v1.
Definition: PluginDef.h:608
API for Sound Engine's Monitor Data notification.
Definition: Notifications.h:49
CInterfacePtr InterfacePtr
Definition: PluginDef.h:968
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:920
ak_wwise_plugin_base_interface CBaseInterface
Interface description and base class for every Wwise Authoring plug-in interface.
Definition: PluginDef.h:961
#define AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE
Define a generic instance base, either in C or in C++.
Definition: PluginDef.h:523
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:78
ak_wwise_plugin_undo_group_close_action
Action to apply once this undo group is closed.
Definition: PluginDef.h:946
virtual bool GetValueString(const char *in_pszPropertyName, const char *&out_varProperty) const =0
float GetReal32(const char *in_pszPropertyName) const
Definition: PluginDef.h:340
@ LicenseStatus_Unlicensed
No license found.
Definition: PluginDef.h:69
@ Channel_as_input
Definition: PluginDef.h:97
@ Channel_stereo_drop
Definition: PluginDef.h:96
Base instance type for providing display names to properties through ak_wwise_plugin_property_display...
Definition: PluginDef.h:722
Plug-in backend instance.
Definition: PluginDef.h:534
@ Severity_FatalError
impacting the completion of the current operation
Definition: PluginDef.h:109
Base instance type for providing a device list for your custom sink through ak_wwise_plugin_sink_devi...
Definition: PluginDef.h:896
Base instance type for providing source-specific information, through ak_wwise_plugin_source_v1.
Definition: PluginDef.h:855
Base instance type for receiving notifications on host changes events.
Definition: PluginDef.h:798
ConversionResult
Conversion error code.
Definition: PluginDef.h:142
Base instance type for providing licensing information, through ak_wwise_plugin_license_v1.
Definition: PluginDef.h:877
Base instance type for receiving notifications on related Object Store's changes.
Definition: PluginDef.h:833
Interfaces used to set and get the properties from a plug in.
Definition: PluginDef.h:181
@ LicenseStatus_Valid
A license is found and is valid.
Definition: PluginDef.h:71
@ Channel_mono
Definition: PluginDef.h:93
@ 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:950
virtual bool GetValueUInt64(const char *in_pszPropertyName, uint64_t &out_varProperty) const =0
virtual int GetType(const char *in_pszPropertyName) const =0
virtual ~ak_wwise_plugin_cpp_base_instance()
Definition: PluginDef.h:513
virtual bool SetValueUInt32(const char *in_pszPropertyName, uint32_t in_varProperty)=0
const char * GetString(const char *in_pszPropertyName) const
Definition: PluginDef.h:250
@ Severity_Warning
potentially impacting the integrity of the current operation
Definition: PluginDef.h:107
Interface able to receive notifications for custom inner property sets.
Definition: HostObjectStore.h:300
Base instance type for receiving Sound Engine's monitoring data.
Definition: PluginDef.h:809
Base instance type for providing a conversion plug-in through ak_wwise_plugin_conversion_v1.
Definition: PluginDef.h:702
@ Channel_stereo_balance
Definition: PluginDef.h:99
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:951
Severity
Log message severity.
Definition: PluginDef.h:104
IReadWriteProperties * pluginProperties
Definition: PluginDef.h:452
const IReadOnlyProperties * sourceProperties
Definition: PluginDef.h:451
Wwise API for general Audio Plug-in's backend.
Definition: AudioPlugin.h:53
AudioFileChannel
Import channel configuration options.
Definition: PluginDef.h:92
Backend API to specify display names for properties.
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
Interface description and base class for every Wwise Authoring plug-in interface.
@ Severity_Success
operation was executed without errors or will not produce errors
Definition: PluginDef.h:105
Base host-provided instance type for reading XML files through ak_wwise_plugin_host_xml_v1.
Definition: PluginDef.h:662
@ ConversionFailed
Definition: PluginDef.h:145
Base host-provided instance type for ak_wwise_plugin_host_property_set_v1.
Definition: PluginDef.h:644
A definition of an undo event, with a specific interface and instance.
Definition: PluginDef.h:915
bool GetBool(const char *in_pszPropertyName) const
Definition: PluginDef.h:349
Base instance type for providing a Windows frontend for a conversion plug-in through ak_wwise_plugin_...
Definition: PluginDef.h:744
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.
#define AK_WWISE_PLUGIN_DERIVE_FROM_FRONTEND_INSTANCE(x)
Define an instance type as a frontend.
Definition: PluginDef.h:583
@ LicenseType_Academic
The license is for academic.
Definition: PluginDef.h:63
Base host-provided instance type for ak_wwise_plugin_host_object_store_v1.
Definition: PluginDef.h:635
ak_wwise_plugin_info CPluginInfo
Definition: PluginDef.h:964
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:106
@ 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:949
int64_t GetInt64(const char *in_pszPropertyName) const
Definition: PluginDef.h:259
A single instantiatable plug-in interface.
Base instance type for providing property-based feedback through ak_wwise_plugin_feedback_aware_v1.
Definition: PluginDef.h:732
AK::Wwise::Plugin::IProgress * progress
Definition: PluginDef.h:446
Wwise Authoring Plug-ins - Helper tools, potentially defined elsewhere.
@ Channel_mono_drop_right
Definition: PluginDef.h:98
Base instance type for receiving notifications on related object media's changes.
Definition: PluginDef.h:821
@ LicenseStatus_Incompatible
The plugin was made for an older version of Wwise.
Definition: PluginDef.h:73
Base instance type for receiving notifications on property set's changes.
Definition: PluginDef.h:845
LicenseStatus
License status.
Definition: PluginDef.h:68
Base host-provided instance type for writing XML files through ak_wwise_plugin_host_xml_v1.
Definition: PluginDef.h:671
Backend API to specify licensing requirements.
Definition: License.h:44
Backend API to load and save custom data in XML format.
Definition: CustomData.h:55
uint32_t uiID
The dialog control resource ID.
Definition: PluginDef.h:122
@ 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
Base instance type for providing a Windows frontend for an audio plug-in through ak_wwise_plugin_gui_...
Definition: PluginDef.h:756
uint32_t sampleRate
Number of samples per second.
Definition: PluginDef.h:466
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
struct ak_wwise_plugin_undo_event_instance_v1 * m_instance
The specific instance usued for that particular undo event.
Definition: PluginDef.h:917
Definition: PluginHelpers.h:46
virtual bool SetValueBool(const char *in_pszPropertyName, bool in_varProperty)=0