Wwise SDK
_plugin_def_8h_source
バージョン
menu_open
link
PluginDef.h
[詳解]
63 };
73 };
80 };
137 };
166 virtual void ErrorMessage(const char * in_rErrorText, Severity in_eSeverity = Severity_Warning) = 0;
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)
486 typedef struct ak_wwise_plugin_base_interface* ak_wwise_plugin_interface_ptr; ///< Pointer to a generic base from a plug-in interface.
489 * \brief Generic base for all plug-in instances. In C++, this is derived. In C, they are equivalent.
495 typedef struct ak_wwise_plugin_base_instance* ak_wwise_plugin_instance_ptr; ///< Pointer to a generic base for a plug-in instances.
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
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
532 * A backend contains all the logic for the Authoring part of the plug-in. It is uniquely instantiated for each plug-in instance
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.
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, ...
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
556 * In C++, this derives the backend instance from the ak_wwise_plugin_backend_instance in a separate action so that RTTI can help
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
573 * In C++, this derives the frontend instance from the ak_wwise_plugin_frontend_instance in a separate action so that RTTI can help
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
609 struct ak_wwise_plugin_host_conversion_helpers_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
618 struct ak_wwise_plugin_host_data_writer_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
627 struct ak_wwise_plugin_host_object_media_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
636 struct ak_wwise_plugin_host_object_store_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
645 struct ak_wwise_plugin_host_property_set_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
654 struct ak_wwise_plugin_host_undo_manager_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
657 * \brief Base host-provided instance type for reading XML files through ak_wwise_plugin_host_xml_v1.
663 struct ak_wwise_plugin_host_xml_reader_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
666 * \brief Base host-provided instance type for writing XML files through ak_wwise_plugin_host_xml_v1.
672 struct ak_wwise_plugin_host_xml_writer_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
677 * \brief Base instance type for providing analysis task services through ak_wwise_plugin_analysis_task_v1.
687 * \brief Base instance type for providing audio plug-in backend services through ak_wwise_plugin_audio_plugin_v1.
697 * \brief Base instance type for providing a conversion plug-in through ak_wwise_plugin_conversion_v1.
707 * \brief Base instance type for providing custom data loading and saving through ak_wwise_plugin_custom_data_v1.
717 * \brief Base instance type for providing display names to properties through ak_wwise_plugin_property_display_name_v1.
723 struct ak_wwise_plugin_property_display_name_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
727 * \brief Base instance type for providing property-based feedback through ak_wwise_plugin_feedback_aware_v1.
737 * \brief Base instance type for providing a Windows frontend for a conversion plug-in through ak_wwise_plugin_gui_conversion_windows_v1.
745 AK_WWISE_PLUGIN_DERIVE_FROM_FRONTEND_INSTANCE(ak_wwise_plugin_gui_conversion_windows_instance_v1);
749 * \brief Base instance type for providing a Windows frontend for an audio plug-in through ak_wwise_plugin_gui_windows_v1.
761 * \brief Base host-provided instance to retrieve the related backend instance, as shown in the frontend.
771 * \brief Base host-provided instance to retrieve the related frontend instances related to the current backend.
781 * \brief Base instance type for providing custom media conversion through ak_wwise_plugin_media_converter_v1.
787 struct ak_wwise_plugin_media_converter_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
799 struct ak_wwise_plugin_notifications_host_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
810 struct ak_wwise_plugin_notifications_monitor_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
822 struct ak_wwise_plugin_notifications_object_media_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
834 struct ak_wwise_plugin_notifications_object_store_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
846 struct ak_wwise_plugin_notifications_property_set_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
850 * \brief Base instance type for providing source-specific information, through ak_wwise_plugin_source_v1.
860 * \brief Base instance type for providing custom undo operations through ak_wwise_plugin_undo_event_v1.
872 * \brief Base instance type for providing licensing information, through ak_wwise_plugin_license_v1.
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.
888 struct ak_wwise_plugin_first_time_creation_message_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
891 * \brief Base instance type for providing a device list for your custom sink through ak_wwise_plugin_sink_devices_v1.
905 struct ak_wwise_plugin_host_frontend_model_instance_v1 AK_WWISE_PLUGIN_DERIVE_FROM_INSTANCE_BASE {};
917 * Allows to bind an event from any source: Authoring or any plug-in. Allows to have multiple separate interfaces.
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.
931 typedef int ak_wwise_plugin_undo_group_id; ///< Unique identifier for a particular undo group. Useful to reopen an unapplied closed group session.
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
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
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
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
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.
972 using CBaseInterface = ak_wwise_plugin_base_interface; ///< \copydoc ak_wwise_plugin_base_interface
974 using CInterfaceArrayItem = ak_wwise_plugin_interface_array_item; ///< \copydoc ak_wwise_plugin_interface_array_item
981 using InterfaceArrayItem = CInterfaceArrayItem; ///< \copydoc ak_wwise_plugin_interface_array_item
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
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
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
uint16_t GetUInt16(const char *in_pszPropertyName) const
Definition: PluginDef.h:312
virtual bool SetValueReal32(const char *in_pszPropertyName, float in_varProperty)=0
virtual bool GetValueInt16(const char *in_pszPropertyName, int16_t &out_varProperty) const =0
virtual bool GetValueInt8(const char *in_pszPropertyName, int8_t &out_varProperty) const =0
const char * destinationFileName
Definition: PluginDef.h:444
API to convert used object medias to a format usable by the plug-in's Sound Engine part.
Definition: MediaConverter.h:44
@ 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
const char * sourceFileName
Definition: PluginDef.h:443
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
Definition: AkSpeakerConfig.h:497
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.
Definition: HostUndoManager.h:45
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
const GUID * basePlatformID
Definition: PluginDef.h:442
struct ak_wwise_plugin_undo_event_v1 * m_interface
The interface to execute that undo event's commands.
Definition: PluginDef.h:927
const char * templateName
Definition: PluginDef.h:909
#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
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
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.
Definition: PluginContainer.h:51
uint32_t GetUInt32(const char *in_pszPropertyName) const
Definition: PluginDef.h:303
Base host-provided instance to retrieve the related backend instance, as shown in the frontend.
Definition: PluginDef.h:767
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
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
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
#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
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
Base instance type for providing display names to properties through ak_wwise_plugin_property_display...
Definition: PluginDef.h:723
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
Base instance type for providing licensing information, through ak_wwise_plugin_license_v1.
Definition: PluginDef.h:878
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
@ 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.
Definition: HostObjectStore.h:299
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
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
IReadWriteProperties * pluginProperties
Definition: PluginDef.h:451
const IReadOnlyProperties * sourceProperties
Definition: PluginDef.h:450
Host API to retrieve a link to the plug-in's frontend interfaces.
Definition: PluginLinks.h:82
Wwise API for general Audio Plug-in's backend.
Definition: AudioPlugin.h:52
Host API to retrieve a link to the plug-in's backend instance.
Definition: PluginLinks.h:45
Backend API to specify display names for properties
Definition: PropertyDisplayName.h:46
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
Base host-provided instance to retrieve the related frontend instances related to the current backend...
Definition: PluginDef.h:777
Interface description and base class for every Wwise Authoring plug-in interface.
Definition: PluginBaseInterface.h:120
Definition: PluginDef.h:172
@ 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
Definition: PluginDef.h:431
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
Base host-provided instance type for ak_wwise_plugin_host_object_store_v1.
Definition: PluginDef.h:636
float downmixNormalizationGain
Definition: PluginDef.h:460
virtual bool SetValueUInt8(const char *in_pszPropertyName, uint8_t in_varProperty)=0
@ 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.
Definition: PluginInterfaceArrayItem.h:44
Definition: PluginInfo.h:38
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.
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
Definition: PluginDef.h:148
Base host-provided instance type for writing XML files through ak_wwise_plugin_host_xml_v1.
Definition: PluginDef.h:672
Backend API to load and save custom data in XML format.
Definition: CustomData.h:54
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
Definition: PluginDef.h:83
Base instance type for providing a Windows frontend for an audio plug-in through ak_wwise_plugin_gui_...
Definition: PluginDef.h:757
virtual bool GetValueReal32(const char *in_pszPropertyName, float &out_varProperty) const =0
struct ak_wwise_plugin_undo_event_instance_v1 * m_instance
The specific instance usued for that particular undo event.
Definition: PluginDef.h:928
Definition: PluginHelpers.h:45
Definition: AudioPlugin.h:111
virtual bool SetValueBool(const char *in_pszPropertyName, bool in_varProperty)=0
uint32_t analysisDataTypes
Definition: PluginDef.h:454