Go to the documentation of this file.
111Â
const char ** out_csName);
113Â
#define AK_WWISE_PLUGIN_UNDO_EVENT_V1_ID() \
114Â
AK_WWISE_PLUGIN_BASE_INTERFACE_FROM_ID(AK_WWISE_PLUGIN_INTERFACE_TYPE_UNDO_EVENT, 1)
115Â
#define AK_WWISE_PLUGIN_UNDO_EVENT_V1_CTOR() \
117Â
.m_baseInterface = AK_WWISE_PLUGIN_BASE_INTERFACE_FROM_ID(AK_WWISE_PLUGIN_UNDO_EVENT_V1_ID()) \
196Â
const char * in_szApplyEventName);
246Â
#define AK_WWISE_PLUGIN_HOST_UNDO_MANAGER_V1_ID() \
247Â
AK_WWISE_PLUGIN_BASE_INTERFACE_FROM_ID(AK_WWISE_PLUGIN_INTERFACE_TYPE_HOST_UNDO_MANAGER, 1)
248Â
#define AK_WWISE_PLUGIN_HOST_UNDO_MANAGER_V1_CTOR() \
250Â
.m_baseInterface = AK_WWISE_PLUGIN_HOST_UNDO_MANAGER_V1_ID() \
327Â
template<
typename Backend>
343Â
delete static_cast<Instance*
>(in_this);
349Â
return (
bool)
static_cast<Instance*
>(in_this)->
Undo(*
static_cast<Backend*
>(in_backend));
355Â
return (
bool)
static_cast<Instance*
>(in_this)->
Redo(*
static_cast<Backend*
>(in_backend));
359Â
const char ** out_csName)
369Â
return &g_interface;
380Â
virtual bool Undo(Backend& in_backend) = 0;
390Â
virtual bool Redo(Backend& in_backend) = 0;
399Â
virtual bool GetName(
const char ** out_csName)
const = 0;
402Â
template<
typename BackendDerivedClass>
418Â
delete static_cast<Instance*
>(in_this);
424Â BackendDerivedClass *backend =
dynamic_cast<BackendDerivedClass*
>(in_backend);
426Â
return (
bool)
static_cast<Instance*
>(in_this)->
Undo(*backend);
434Â BackendDerivedClass *backend =
dynamic_cast<BackendDerivedClass*
>(in_backend);
436Â
return (
bool)
static_cast<Instance*
>(in_this)->
Redo(*backend);
442Â
const char ** out_csName)
452Â
return &g_interface;
463Â
virtual bool Undo(BackendDerivedClass& in_backend) = 0;
473Â
virtual bool Redo(BackendDerivedClass& in_backend) = 0;
482Â
virtual bool GetName(
const char ** out_csName)
const = 0;
566Â
const char * in_szApplyEventName =
nullptr)
583Â {in_pEvent->GetInterfacePointer(), in_pEvent->GetInstancePointer() }));
641Â
template<
typename Backend>
644Â
template<
typename BackendDerivedClass>
665Â
const char* in_applyEventName =
nullptr,
674Â
if (in_applyEventName)
ak_wwise_plugin_undo_event_v1()
V1::BaseUndoEvent BaseUndoEvent
Latest version of the C++ BaseUndoEvent interface.
Base instance type for providing custom undo operations through ak_wwise_plugin_undo_event_v1.
@ AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CLOSE
Close this group session (going out of scope), but do not apply it yet.
bool(* GetName)(const struct ak_wwise_plugin_undo_event_instance_v1 *in_this, const char **out_csName)
Get the event name, to show after the "Undo " and "Redo " terms in the menu.
Interface()
The C interface, fulfilled by your plug-in.
Base host-provided instance type for ak_wwise_plugin_host_undo_manager_v1.
bool(* AddCustomEvent)(struct ak_wwise_plugin_host_undo_manager_instance_v1 *in_this, struct ak_wwise_plugin_undo_event_pair_v1 in_event)
Adds a custom event to the currently opened group.
ak_wwise_plugin_undo_event_v1(decltype(m_interface) in_interface, decltype(m_version) in_version)
ak_wwise_plugin_interface_type m_interface
Interface type (see ak_wwise_plugin_interface_type)
ak_wwise_plugin_undo_event_v1(std::underlying_type< decltype(m_interface)>::type in_interface, decltype(m_version) in_version)
Host API to handle the plug-in's undo operations.
UndoManager & m_undoManager
Base API to create a custom undo event in a plug-in.
@ AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY
Close this group session permanently, and apply its operations to the englobing group.
bool CloseGroup(ak_wwise_plugin_undo_group_close_action in_action=AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY, ak_wwise_plugin_undo_group_id in_groupId=0, const char *in_szApplyEventName=nullptr)
Closes the last opened group, in stack ordering.
const CUndoEvent::Instance * GetInstancePointer() const
bool(* Undo)(struct ak_wwise_plugin_undo_event_instance_v1 *in_this, struct ak_wwise_plugin_backend_instance *in_backend)
Called when the user asks to undo an action.
static GluedInterface * g_cinterface
The unique instance of the CInterface interface. Defined at nullptr first, overridden by the Host onc...
decltype(BaseInterface::m_version) InterfaceVersion
PluginInfoGenerator: Type for the m_version value in BaseInterface.
ak_wwise_plugin_undo_group_id(* OpenGroup)(struct ak_wwise_plugin_host_undo_manager_instance_v1 *in_this, ak_wwise_plugin_undo_group_id in_reopenGroupId)
Open a group that will contain all subsequent undo events.
@ AK_WWISE_PLUGIN_INTERFACE_TYPE_UNDO_EVENT
2021.1 Undo Event. ak_wwise_plugin_undo_event_v1
API to create a custom undo event in a plug-in.
bool(* Redo)(struct ak_wwise_plugin_undo_event_instance_v1 *in_this, struct ak_wwise_plugin_backend_instance *in_backend)
Called when the user asks to redo an action.
bool(* CanLogUndos)(const struct ak_wwise_plugin_host_undo_manager_instance_v1 *in_this)
Returns whether logging can occur or not.
Wwise Authoring Plug-ins - Plug-in API for property sets.
uint32_t m_version
Version of the interface.
@ k_interfaceType
The interface type, as requested by this plug-in.
virtual bool GetName(const char **out_csName) const =0
Get the event name, to show after the "Undo " and "Redo " terms in the menu.
bool(* CanAddEvent)(const struct ak_wwise_plugin_host_undo_manager_instance_v1 *in_this)
Check if we are currently in a state where we can add undo events.
ak_wwise_plugin_undo_event_v1 CUndoEvent
ak_wwise_plugin_host_undo_manager_v1 CHostUndoManager
AutoUndoGroup(UndoManager &in_undoManager, const char *in_applyEventName=nullptr, ak_wwise_plugin_undo_group_id *in_reopenGroupId=nullptr, ak_wwise_plugin_undo_group_close_action in_closeAction=AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_APPLY)
bool AddCustomEvent(BaseUndoEvent *in_pEvent)
Adds a custom event to the currently opened group.
CUndoEvent::Instance * GetInstancePointer()
virtual bool GetName(const char **out_csName) const =0
Get the event name, to show after the "Undo " and "Redo " terms in the menu.
bool CanLogUndos() const
Returns whether logging can occur or not.
virtual bool Undo(BackendDerivedClass &in_backend)=0
Called when the user asks to undo an action.
Host API to handle the plug-in's undo operations.
PluginInfoGenerator: Associates an existing C Interface with a variable that can be used....
int ak_wwise_plugin_undo_group_id
Unique identifier for a particular undo group. Useful to reopen an unapplied closed group session.
ak_wwise_plugin_undo_group_id * m_reopenGroupId
#define AKASSERT(Condition)
ak_wwise_plugin_undo_group_close_action
Action to apply once this undo group is closed.
void(* Destroy)(struct ak_wwise_plugin_undo_event_instance_v1 *in_this)
Called when the system needs to destroy your ak_wwise_plugin_undo_event_v1 instance.
Interface()
The C interface, fulfilled by your plug-in.
Base API to create a custom undo event in a plug-in.
Plug-in backend instance.
virtual Interface * GetInterfacePointer()=0
ak_wwise_plugin_undo_group_close_action m_closeAction
bool(* IsBusy)(const struct ak_wwise_plugin_host_undo_manager_instance_v1 *in_this)
Check if we are busy (undoing or redoing).
virtual bool Redo(BackendDerivedClass &in_backend)=0
Called when the user asks to redo an action.
bool(* CloseGroup)(struct ak_wwise_plugin_host_undo_manager_instance_v1 *in_this, ak_wwise_plugin_undo_group_close_action in_action, ak_wwise_plugin_undo_group_id in_groupId, const char *in_szApplyEventName)
Closes the last opened group, in stack ordering.
@ 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...
std::underlying_type< InterfaceType >::type InterfaceTypeValue
PluginInfoGenerator: Underlying storage type for the m_interface value in BaseInterface.
RequestedHostInterface< UndoManager > RequestUndoManager
Requests an UndoManager interface, provided as m_undoManager variable.
@ k_interfaceType
The interface type, as provided by this plug-in.
virtual bool Undo(Backend &in_backend)=0
Called when the user asks to undo an action.
@ AK_WWISE_PLUGIN_UNDO_GROUP_CLOSE_ACTION_CANCEL
Close this group session permanently, and cancel all its internal operations. Undo operations are not...
V1::DynamicUndoEvent< BackendDerivedClass > DynamicUndoEvent
Latest version of the C++ DynamicUndoEvent template helper.
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_VERSION(AudioPlugin)
virtual BaseUndoEvent::Interface * GetInterfacePointer() final
@ AK_WWISE_PLUGIN_INTERFACE_TYPE_HOST_UNDO_MANAGER
2021.1 Undo Manager host service. ak_wwise_plugin_host_undo_manager_v1
bool CanAddEvent() const
Check if we are currently in a state where we can add undo events.
Interface description and base class for every Wwise Authoring plug-in interface.
virtual BaseUndoEvent::Interface * GetInterfacePointer() final
virtual bool Redo(Backend &in_backend)=0
Called when the user asks to redo an action.
A definition of an undo event, with a specific interface and instance.
ak_wwise_plugin_host_undo_manager_v1()
bool IsBusy() const
Check if we are busy (undoing or redoing).
@ 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 ...
ak_wwise_plugin_undo_group_id OpenGroup(ak_wwise_plugin_undo_group_id in_reopenGroupId=0)
Open a group that will contain all subsequent undo events.
@ k_interfaceVersion
The interface version, as requested by this plug-in.
#define AK_WWISE_PLUGIN_SPECIALIZE_HOST_INTERFACE(in_name, in_varname,...)
PluginInfoGenerator: Creates a C++ host specialization for interface class specified in in_name,...
@ k_interfaceVersion
The interface version, as provided by this plug-in.
ak_wwise_plugin_undo_group_id m_groupId
V1::UndoManager UndoManager
Latest version of the C++ UndoManager interface.
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_CLASS(AudioPlugin)
V1::UndoEvent< Backend > UndoEvent
Latest version of the C++ UndoEvent template helper.
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