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