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