CriWare Unreal Engine
Plug-ins for CriWare solutions.
Loading...
Searching...
No Matches
UAtomSoundHandleSubsystem Class Reference

#include <AtomSoundHandleSubsystem.h>

Inheritance diagram for UAtomSoundHandleSubsystem:

Classes

struct  FSoundHandle

Public Member Functions

virtual ~UAtomSoundHandleSubsystem () override=default
virtual Atom::FSoundHandleID CreateSoundHandle (UAtomSoundBase *Sound, IAtomSoundHandleOwner *Owner) override
 This should create a sound and we should map it to an identifier. Then return the identifier to the owner to keep track of.
virtual void Deinitialize () override
virtual void Initialize (FSubsystemCollectionBase &Collection) override
virtual void NotifyActiveSoundDeleting (const FAtomActiveSound &ActiveSound) override
virtual void NotifyVirtualizedSoundDeleting (const FAtomActiveSound &ActiveSound) override
virtual Atom::EResult Play (Atom::FSoundHandleID ID) override
 Play the sound that is represented by the sound handle with the following ID.
virtual void SetTransform (Atom::FSoundHandleID ID, const FTransform &Transform) override
 Set the transform on the sound that is represented by the sound handle with the following ID.
virtual bool ShouldCreateSubsystem (UObject *Outer) const override
virtual void Stop (Atom::FSoundHandleID ID) override
 Stop the sound that is represented by the sound handle with the following ID.
Public Member Functions inherited from UAtomEngineSubsystem
CRIWARECORE_API UAtomEngineSubsystem ()
virtual CRIWARECORE_API const FAtomRuntime * GetAtomRuntime () const final
virtual CRIWARECORE_API FAtomRuntimeHandle GetAtomRuntimeHandle () const final
virtual CRIWARECORE_API FAtomRuntimeId GetAtomRuntimeID () const final
virtual CRIWARECORE_API FAtomRuntime * GetMutableAtomRuntime () final
virtual CRIWARECORE_API Atom::FMixerSourceManager * GetMutableSourceManager () final
virtual CRIWARECORE_API const Atom::FMixerSourceManager * GetSourceManager () const final
virtual void Update ()
Public Member Functions inherited from IAtomActiveSoundUpdate
virtual void ApplyInteriorSettings (const FAtomActiveSound &ActiveSound, FAtomSoundParseParameters &ParseParams)
virtual void GatherInteriorData (const FAtomActiveSound &ActiveSound, FAtomSoundParseParameters &ParseParams)
virtual void NotifyActiveSoundCreated (FAtomActiveSound &ActiveSound)
virtual void NotifyActiveSoundOwner (FAtomActiveSound &ActiveSound, const UObject *Owner)
virtual void NotifyVirtualizedSoundCreated (FAtomActiveSound &ActiveSound)
virtual void OnNotifyPendingDelete (const FAtomActiveSound &ActiveSound)
Public Member Functions inherited from IAtomSoundHandleSystem
virtual ~IAtomSoundHandleSystem ()=default

Protected Member Functions

void NotifySoundDeleting (const FAtomActiveSound &ActiveSound)

Protected Attributes

TMap< Atom::FSoundHandleID, FSoundHandle > ActiveHandles
TMap< Atom::FSoundHandleID, IAtomSoundHandleOwner * > Owners

Additional Inherited Members

Static Public Member Functions inherited from IAtomSoundHandleSystem
static FName GetModularFeatureName ()
static TArray< IAtomSoundHandleSystem * > GetRegisteredInterfaces ()

Detailed Description

An implementation of IAtomSoundHandleSystem using AtomEngineSubsystem

Constructor & Destructor Documentation

◆ ~UAtomSoundHandleSubsystem()

virtual UAtomSoundHandleSubsystem::~UAtomSoundHandleSubsystem ( )
overridevirtualdefault

Member Function Documentation

◆ CreateSoundHandle()

Atom::FSoundHandleID UAtomSoundHandleSubsystem::CreateSoundHandle ( UAtomSoundBase * Sound,
IAtomSoundHandleOwner * Owner )
overridevirtual

This should create a sound and we should map it to an identifier. Then return the identifier to the owner to keep track of.

Parameters
Sound
Owner
Returns

Reimplemented from IAtomSoundHandleSystem.

◆ Deinitialize()

void UAtomSoundHandleSubsystem::Deinitialize ( )
overridevirtual

◆ Initialize()

void UAtomSoundHandleSubsystem::Initialize ( FSubsystemCollectionBase & Collection)
overridevirtual

◆ NotifyActiveSoundDeleting()

void UAtomSoundHandleSubsystem::NotifyActiveSoundDeleting ( const FAtomActiveSound & ActiveSound)
overridevirtual

Called when an active sound has just been removed from the audio engine, by being stopped or virtualized. In either case, the referenced ActiveSound object is about to be deleted; any pointers to it should be discarded.

NOTE! Called on the AudioThread

Parameters
ActiveSoundThe active sound being deleted

Reimplemented from IAtomActiveSoundUpdate.

◆ NotifySoundDeleting()

void UAtomSoundHandleSubsystem::NotifySoundDeleting ( const FAtomActiveSound & ActiveSound)
protected

◆ NotifyVirtualizedSoundDeleting()

void UAtomSoundHandleSubsystem::NotifyVirtualizedSoundDeleting ( const FAtomActiveSound & ActiveSound)
overridevirtual

Called when a virtualized sound has just been removed from the audio engine, by being stopped or re-triggered. In either case, the referenced ActiveSound object is about to be deleted; any pointers to it should be discarded.

NOTE! Called on the AudioThread

Parameters
ActiveSoundThe active sound being removed

Reimplemented from IAtomActiveSoundUpdate.

◆ Play()

Atom::EResult UAtomSoundHandleSubsystem::Play ( Atom::FSoundHandleID ID)
overridevirtual

Play the sound that is represented by the sound handle with the following ID.

Parameters
ID

Reimplemented from IAtomSoundHandleSystem.

◆ SetTransform()

void UAtomSoundHandleSubsystem::SetTransform ( Atom::FSoundHandleID ID,
const FTransform & Transform )
overridevirtual

Set the transform on the sound that is represented by the sound handle with the following ID.

Parameters
ID
Transform

Reimplemented from IAtomSoundHandleSystem.

◆ ShouldCreateSubsystem()

bool UAtomSoundHandleSubsystem::ShouldCreateSubsystem ( UObject * Outer) const
overridevirtual

◆ Stop()

void UAtomSoundHandleSubsystem::Stop ( Atom::FSoundHandleID ID)
overridevirtual

Stop the sound that is represented by the sound handle with the following ID.

Parameters
ID

Reimplemented from IAtomSoundHandleSystem.

Member Data Documentation

◆ ActiveHandles

TMap<Atom::FSoundHandleID, FSoundHandle> UAtomSoundHandleSubsystem::ActiveHandles
protected

◆ Owners

TMap<Atom::FSoundHandleID, IAtomSoundHandleOwner*> UAtomSoundHandleSubsystem::Owners
protected

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