Open 3D Engine AudioSystem Gem API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AudioControls::IAudioSystemEditor Class Referenceabstract

Public Member Functions

virtual void Reload ()=0
 Reloads all the middleware control data.
 
virtual IAudioSystemControlCreateControl (const SControlDef &controlDefinition)=0
 
virtual IAudioSystemControlGetRoot ()=0
 
virtual IAudioSystemControlGetControl (CID id) const =0
 
virtual EACEControlType ImplTypeToATLType (TImplControlType type) const =0
 
virtual TImplControlTypeMask GetCompatibleTypes (EACEControlType atlControlType) const =0
 
virtual TConnectionPtr CreateConnectionToControl (EACEControlType atlControlType, IAudioSystemControl *middlewareControl)=0
 
virtual TConnectionPtr CreateConnectionFromXMLNode (AZ::rapidxml::xml_node< char > *node, EACEControlType atlControlType)=0
 
virtual AZ::rapidxml::xml_node< char > * CreateXMLNodeFromConnection (const TConnectionPtr connection, const EACEControlType atlControlType)=0
 
virtual void ConnectionRemoved ([[maybe_unused]] IAudioSystemControl *middlewareControl)
 
virtual const AZStd::string_view GetTypeIcon (TImplControlType type) const =0
 
virtual const AZStd::string_view GetTypeIconSelected (TImplControlType type) const =0
 
virtual AZStd::string GetName () const =0
 
virtual AZ::IO::FixedMaxPath GetDataPath () const =0
 
virtual void DataSaved ()=0
 Informs the plugin that the ACE has saved the data in case it needs to do any clean up.
 
virtual QWidget * CreateConnectionPropertiesWidget ([[maybe_unused]] const TConnectionPtr connection, [[maybe_unused]] EACEControlType atlControlType)
 

Member Function Documentation

◆ ConnectionRemoved()

virtual void AudioControls::IAudioSystemEditor::ConnectionRemoved ( [[maybe_unused] ] IAudioSystemControl middlewareControl)
inlinevirtual

Whenever a connection is removed from an ATL control this function should be called. To keep the system informed of which controls have been connected and which ones haven't.

Parameters
middlewareControlMiddleware control that was disconnected.

◆ CreateConnectionFromXMLNode()

virtual TConnectionPtr AudioControls::IAudioSystemEditor::CreateConnectionFromXMLNode ( AZ::rapidxml::xml_node< char > *  node,
EACEControlType  atlControlType 
)
pure virtual

Creates and returns a connection defined in an XML node. The format of the XML node should be in sync with the WriteConnectionToXMLNode function which is in charge of writing the node during serialization. If the XML node is unknown to the system NULL should be returned. If the middleware control referenced in the XML node does not exist it should be created and marked as "placeholder".

Parameters
nodeXML node where the connection is defined.
atlControlTypeThe type of the ATL control you are connecting to.
Returns
A pointer to the newly created connection.

◆ CreateConnectionPropertiesWidget()

virtual QWidget* AudioControls::IAudioSystemEditor::CreateConnectionPropertiesWidget ( [[maybe_unused] ] const TConnectionPtr  connection,
[[maybe_unused] ] EACEControlType  atlControlType 
)
inlinevirtual

Creates a widget for modifying connection properties. The widget must have a "PropertiesChanged()" signal. The widget ownership transferred to the caller.

◆ CreateConnectionToControl()

virtual TConnectionPtr AudioControls::IAudioSystemEditor::CreateConnectionToControl ( EACEControlType  atlControlType,
IAudioSystemControl middlewareControl 
)
pure virtual

Creates and returns a connection to a middleware control. The connection object is owned by this class.

Parameters
atlControlTypeThe type of the ATL control you are connecting to pMiddlewareControl.
middlewareControlMiddleware control for which to make the connection.
Returns
A pointer to the newly created connection

◆ CreateControl()

virtual IAudioSystemControl* AudioControls::IAudioSystemEditor::CreateControl ( const SControlDef controlDefinition)
pure virtual

Creates a new middleware control given the specifications passed in as a parameter. The control is owned by this class.

Parameters
controlDefinitionValues to use to initialize the new control.
Returns
A pointer to the newly created control.

◆ CreateXMLNodeFromConnection()

virtual AZ::rapidxml::xml_node<char>* AudioControls::IAudioSystemEditor::CreateXMLNodeFromConnection ( const TConnectionPtr  connection,
const EACEControlType  atlControlType 
)
pure virtual

When serializing connections between controls this function will be called once per connection to serialize its properties. This function should be in sync with CreateConnectionToControl as whatever it's written here will have to be read there.

Parameters
connectionConnection to serialize.
atlControlTypeType of the ATL control that has this connection.
Returns
XML node with the connection serialized.

◆ GetCompatibleTypes()

virtual TImplControlTypeMask AudioControls::IAudioSystemEditor::GetCompatibleTypes ( EACEControlType  atlControlType) const
pure virtual

Given an ATL control type this function returns all the middleware control types that can be connected to it.

Parameters
atlControlTypeAn ATL control type.
Returns
A mask representing all the middleware control types that can be connected to the ATL control type passed as argument.

◆ GetControl()

virtual IAudioSystemControl* AudioControls::IAudioSystemEditor::GetControl ( CID  id) const
pure virtual

Gets the middleware control given its unique id.

Parameters
idUnique ID of the control.
Returns
A pointer to the control that corresponds to the passed id. If none is found nullptr is returned.

◆ GetDataPath()

virtual AZ::IO::FixedMaxPath AudioControls::IAudioSystemEditor::GetDataPath ( ) const
pure virtual

Gets the folder where the implementation specific controls data are stored. This is used by the ACE to update if controls are changed while the editor is open.

Returns
String with the path to the folder where the implementation specific controls are stored.

◆ GetName()

virtual AZStd::string AudioControls::IAudioSystemEditor::GetName ( ) const
pure virtual

Gets the name of the implementation which might be used in the ACE UI.

Returns
String with the name of the implementation.

◆ GetRoot()

virtual IAudioSystemControl* AudioControls::IAudioSystemEditor::GetRoot ( )
pure virtual

This function returns the root of the tree to allow for traversing the tree manually. Middleware controls are organized in a tree structure.

Returns
A pointer to the root of the control tree.

◆ GetTypeIcon()

virtual const AZStd::string_view AudioControls::IAudioSystemEditor::GetTypeIcon ( TImplControlType  type) const
pure virtual

Returns the icon corresponding to the middleware control type passed as argument.

Parameters
typeMiddleware control type.
Returns
A string with the path to the icon corresponding to the control type.

◆ GetTypeIconSelected()

virtual const AZStd::string_view AudioControls::IAudioSystemEditor::GetTypeIconSelected ( TImplControlType  type) const
pure virtual

Returns the selected state icon corresponding to the middleware control type passed as argument.

Parameters
typeMiddleware control type.
Returns
A string with the path to the icon corresponding to the control type.

◆ ImplTypeToATLType()

virtual EACEControlType AudioControls::IAudioSystemEditor::ImplTypeToATLType ( TImplControlType  type) const
pure virtual

Convert a middleware control type to an ATL control type.

Parameters
typeMiddleware control type
Returns
An ATL control type that corresponds to the middleware control type passed as argument.

The documentation for this class was generated from the following file: