CriWare Unreal Engine
Plug-ins for CriWare solutions.
Loading...
Searching...
No Matches
Atom::FAtomExPlayback Class Reference

#include <AtomMixerSource.h>

Inheritance diagram for Atom::FAtomExPlayback:

Classes

struct  FDynamicSourceBusSendInfo

Public Member Functions

 FAtomExPlayback (FAtomRuntime *InAtomRuntime)
 ~FAtomExPlayback ()
virtual FString Describe (bool bUseLongName) override
FAtomRuntime * GetAtomRuntime () const
virtual float GetEnvelopeValue () const override
virtual void * GetNativeHandle () const override
virtual float GetPlaybackPercent () const override
virtual bool Init (FAtomPlaybackInstance *InPlaybackInstance) override
virtual bool IsFinished () override
bool IsPlaybackFinished ()
virtual bool IsPreparedToInit () override
virtual bool IsStopping () override
virtual bool IsVoiceSource () const override
virtual void Pause () override
virtual void Play () override
virtual bool PrepareForInitialization (FAtomPlaybackInstance *InPlaybackInstance) override
virtual void Stop () override
virtual void StopNow () override
virtual void Update () override
Public Member Functions inherited from Atom::FMixerSource
 FMixerSource (FAtomRuntime *InAtomRuntime)
virtual ~FMixerSource ()
virtual void OnBeginGenerate () override
virtual void OnDone () override
Public Member Functions inherited from FAtomSource
CRIWARECORE_API FAtomSource (FAtomRuntime *InAtomRuntime)
virtual CRIWARECORE_API ~FAtomSource ()=0
CRIWARECORE_API void GetChannelLocations (FVector &Left, FVector &Right) const
const FAtomPlaybackInstance * GetPlaybackInstance () const
CRIWARECORE_API FAtomSpatializationParams GetSpatializationParams ()
const FAtomWaveInfo & GetWaveInfo () const
bool IsGameOnly () const
virtual bool IsInitialized () const
bool IsPaused () const
bool IsPausedByGame () const
bool IsPausedManually () const
bool IsPlaying () const
void NotifyPlaybackData ()
CRIWARECORE_API void SetFilterFrequency ()
void SetPauseByGame (bool bInIsPauseByGame)
void SetPauseManually (bool bInIsPauseManually)
void SetVirtual ()
CRIWARECORE_API void UpdateStereoEmitterPositions ()
Public Member Functions inherited from Atom::ISourceListener
virtual ~ISourceListener ()=default

Protected Member Functions

void AttachAisacPatches ()
bool ComputeChannelMap (const int32 NumSourceChannels)
bool ComputeMonoChannelMap ()
bool ComputeStereoChannelMap ()
void DetachAisacPatches ()
virtual void FreeResources (EFreeReason InReason) override
bool LoadSoundInternal (FAtomPlaybackInstance *InPlaybackInstance)
bool PrepareSoundInternal ()
void SetCategories ()
void SetCueFirstBlockIndex ()
void SetCueSelectorLabels ()
void SetLooping ()
virtual void SetupSourceBusData (TArray< FInitAudioBusSend > *OutAudioBusSends=nullptr, bool bEnableBusSends=true) override
void UnsetCategories ()
void UpdateBusSends ()
void UpdateChannelMap ()
void UpdateCueParameters ()
void UpdateEffects ()
void UpdateModulation ()
void UpdatePitch ()
void UpdateSourceBusSends ()
void UpdateSpatialization ()
void UpdateVolume ()
Protected Member Functions inherited from Atom::FMixerSource
int64 GetNumFramesPlayed () const
bool InitSourceVoice (FAtomPlaybackInstance *InPlaybackInstance)
bool IsUsingObjectBasedSpatialization () const
const TCHAR * ToString (EFreeReason Value)
bool UseObjectBasedSpatialization () const
bool UseSourceDataOverridePlugin () const
Protected Member Functions inherited from FAtomSource
CRIWARECORE_API float GetDebugVolume (const float InVolume)
CRIWARECORE_API void InitCommon ()
CRIWARECORE_API void UpdateCommon ()
void UpdatePause ()

Protected Attributes

TSharedPtr< FAtomExPlaybackListener, ESPMode::ThreadSafe > AtomListener
uint32 bAttenuationReady: 1
uint32 bDebugMode: 1
uint32 bIs3D: 1
FThreadSafeBool bIsExternal
FThreadSafeBool bIsLoadingResource
FThreadSafeBool bIsPrepareFailed
FThreadSafeBool bIsPreparingForInit
FThreadSafeBool bIsPreparingPlayer
FThreadSafeBool bIsStopping
uint32 bPreviousBaseRackEnablement: 1
uint32 bPreviousSourceBusEnablement: 1
uint32 bSendingAudioToSourceBuses: 1
TSharedPtr< FAtomBeatSyncInfo, ESPMode::ThreadSafe > CueBeatSyncInfo
TArray< FDynamicSourceBusSendInfo > DynamicSourceBusSendInfos
friend FAtomExPlaybackListener
EAtomExPlaybackInitializationState InitializationState
TSharedRef< FAtomExPlayer, ESPMode::ThreadSafe > MixerPlayer
FAtomPlaybackId PlaybackID
float PreviousAzimuth
TArray< FAtomSoundToBusSend > PreviousBusSendSettings
int32 PreviousCueNextBlockIndex
TArray< FAtomSelectorParam > PreviousCueSelectorParams
float PreviousPlaybackPercent
CriAtomExPlaybackStatus Status
Protected Attributes inherited from Atom::FMixerSource
bool bDebugMode = false
FMixerSourcePlayer MixerSourcePlayer
FMixerSourceVoice * MixerSourceVoice = nullptr
Protected Attributes inherited from FAtomSource
FAtomRuntime * AtomRuntime
uint8 bIsInitialized: 1
uint8 bIsManuallyPaused: 1
uint8 bIsPaused: 1
uint8 bIsPausedByGame: 1
FThreadSafeBool bIsPlaying
uint8 bIsPreviewSound: 1
uint32 bIsVirtual: 1
friend FAtomActiveSound
friend FAtomRuntime
float HPFFrequency
int32 LastHeardUpdate
float LastHPFFrequency
float LastLPFFrequency
int32 LastUpdate
FVector LeftChannelSourceLocation
float LPFFrequency
int32 NumFramesPlayed
int32 NumTotalFrames
float Pitch
FAtomPlaybackInstance * PlaybackInstance
float PlaybackTime
FVector RightChannelSourceLocation
int32 StartFrame
int32 TickCount
FAtomWaveInfo WaveInfo

Additional Inherited Members

Protected Types inherited from Atom::FMixerSource
enum  EFreeReason { Deleter , Stop , Error }

Detailed Description

FAtomExPlaback class

Class which implements a mixer sound source object using the advanced Atom ExPlayer as controller for a source unit represented by ExPlaybackID.

Constructor & Destructor Documentation

◆ FAtomExPlayback()

Atom::FAtomExPlayback::FAtomExPlayback ( FAtomRuntime * InAtomRuntime)

Constructor.

◆ ~FAtomExPlayback()

Atom::FAtomExPlayback::~FAtomExPlayback ( )

Destructor.

Member Function Documentation

◆ AttachAisacPatches()

void Atom::FAtomExPlayback::AttachAisacPatches ( )
protected

◆ ComputeChannelMap()

bool Atom::FAtomExPlayback::ComputeChannelMap ( const int32 NumSourceChannels)
protected

Compute the channel map based on the number of output and source channels.

◆ ComputeMonoChannelMap()

bool Atom::FAtomExPlayback::ComputeMonoChannelMap ( )
protected

Computes the mono-channel map.

◆ ComputeStereoChannelMap()

bool Atom::FAtomExPlayback::ComputeStereoChannelMap ( )
protected

Computes the stereo-channel map.

◆ Describe()

virtual FString Atom::FAtomExPlayback::Describe ( bool bUseLongName)
inlineoverridevirtual

Returns a string describing the source (subclass can override, but it should call the base and append).

Reimplemented from FAtomSource.

Reimplemented in Atom::FAtomExternalExPlayback.

◆ DetachAisacPatches()

void Atom::FAtomExPlayback::DetachAisacPatches ( )
protected

◆ FreeResources()

void Atom::FAtomExPlayback::FreeResources ( EFreeReason InReason)
overrideprotectedvirtual

Frees any resources for this sound source.

Implements Atom::FMixerSource.

◆ GetAtomRuntime()

FAtomRuntime * Atom::FAtomExPlayback::GetAtomRuntime ( ) const
inline

◆ GetEnvelopeValue()

float Atom::FAtomExPlayback::GetEnvelopeValue ( ) const
overridevirtual

Returns the source's envelope at the callback block rate. Only implemented in audio mixer.

Reimplemented from FAtomSource.

◆ GetNativeHandle()

virtual void * Atom::FAtomExPlayback::GetNativeHandle ( ) const
inlineoverridevirtual

Implements FAtomSource.

◆ GetPlaybackPercent()

float Atom::FAtomExPlayback::GetPlaybackPercent ( ) const
overridevirtual

Returns the source's playback percent.

Reimplemented from FAtomSource.

◆ Init()

bool Atom::FAtomExPlayback::Init ( FAtomPlaybackInstance * InPlaybackInstance)
overridevirtual

Initializes the Atom source.

Implements FAtomSource.

◆ IsFinished()

bool Atom::FAtomExPlayback::IsFinished ( )
overridevirtual

Returns true if the sound source has finished playing.

Implements FAtomSource.

◆ IsPlaybackFinished()

bool Atom::FAtomExPlayback::IsPlaybackFinished ( )

Returns true if playback is finished playing.

◆ IsPreparedToInit()

bool Atom::FAtomExPlayback::IsPreparedToInit ( )
overridevirtual

Returns if the source is prepared to initialize.

SHOULD MOVE THIS to a function in explayer or event....

Reimplemented from FAtomSource.

◆ IsStopping()

bool Atom::FAtomExPlayback::IsStopping ( )
overridevirtual

Whether or not the source is stopping. Only implemented in audio mixer.

Reimplemented from FAtomSource.

◆ IsVoiceSource()

virtual bool Atom::FAtomExPlayback::IsVoiceSource ( ) const
inlineoverridevirtual

Reimplemented from FAtomSource.

Reimplemented in Atom::FAtomExternalExPlayback.

◆ LoadSoundInternal()

bool Atom::FAtomExPlayback::LoadSoundInternal ( FAtomPlaybackInstance * InPlaybackInstance)
protected

◆ Pause()

void Atom::FAtomExPlayback::Pause ( )
overridevirtual

Pauses the sound source.

Implements FAtomSource.

◆ Play()

void Atom::FAtomExPlayback::Play ( )
overridevirtual

Plays the sound source.

Implements FAtomSource.

◆ PrepareForInitialization()

bool Atom::FAtomExPlayback::PrepareForInitialization ( FAtomPlaybackInstance * InPlaybackInstance)
overridevirtual

Prepares the source for initialization.

Reimplemented from FAtomSource.

Reimplemented in Atom::FAtomExternalExPlayback.

◆ PrepareSoundInternal()

bool Atom::FAtomExPlayback::PrepareSoundInternal ( )
protected

◆ SetCategories()

void Atom::FAtomExPlayback::SetCategories ( )
protected

◆ SetCueFirstBlockIndex()

void Atom::FAtomExPlayback::SetCueFirstBlockIndex ( )
protected

◆ SetCueSelectorLabels()

void Atom::FAtomExPlayback::SetCueSelectorLabels ( )
protected

◆ SetLooping()

void Atom::FAtomExPlayback::SetLooping ( )
protected

◆ SetupSourceBusData()

void Atom::FAtomExPlayback::SetupSourceBusData ( TArray< FInitAudioBusSend > * OutAudioBusSends = nullptr,
bool bEnableBusSends = true )
overrideprotectedvirtual

Initializes the source bus sends.

Reimplemented from Atom::FMixerSource.

◆ Stop()

void Atom::FAtomExPlayback::Stop ( )
overridevirtual

Stops the sound source.

Reimplemented from FAtomSource.

◆ StopNow()

void Atom::FAtomExPlayback::StopNow ( )
overridevirtual

Reimplemented from FAtomSource.

◆ UnsetCategories()

void Atom::FAtomExPlayback::UnsetCategories ( )
protected

◆ Update()

void Atom::FAtomExPlayback::Update ( )
overridevirtual

Updates the sound source.

Implements FAtomSource.

◆ UpdateBusSends()

void Atom::FAtomExPlayback::UpdateBusSends ( )
protected

Updates Atom bus send levels based on game data.

◆ UpdateChannelMap()

void Atom::FAtomExPlayback::UpdateChannelMap ( )
protected

Updates the channel map of the sound.

◆ UpdateCueParameters()

void Atom::FAtomExPlayback::UpdateCueParameters ( )
protected

Updates all parameters used by sound cue.

◆ UpdateEffects()

void Atom::FAtomExPlayback::UpdateEffects ( )
protected

Updates source effects of the sound.

◆ UpdateModulation()

void Atom::FAtomExPlayback::UpdateModulation ( )
protected

Updates the Modulation Routing settings on this voice.

◆ UpdatePitch()

void Atom::FAtomExPlayback::UpdatePitch ( )
protected

Updates the pitch parameter set from the game thread.

◆ UpdateSourceBusSends()

void Atom::FAtomExPlayback::UpdateSourceBusSends ( )
protected

Updates source bus send levels based on game data.

◆ UpdateSpatialization()

void Atom::FAtomExPlayback::UpdateSpatialization ( )
protected

Updates the spatialization information set from the game thread.

◆ UpdateVolume()

void Atom::FAtomExPlayback::UpdateVolume ( )
protected

Updates the volume parameter set from the game thread.

Member Data Documentation

◆ AtomListener

TSharedPtr<FAtomExPlaybackListener, ESPMode::ThreadSafe> Atom::FAtomExPlayback::AtomListener
protected

◆ bAttenuationReady

uint32 Atom::FAtomExPlayback::bAttenuationReady
protected

◆ bDebugMode

uint32 Atom::FAtomExPlayback::bDebugMode
protected

◆ bIs3D

uint32 Atom::FAtomExPlayback::bIs3D
protected

◆ bIsExternal

FThreadSafeBool Atom::FAtomExPlayback::bIsExternal
protected

◆ bIsLoadingResource

FThreadSafeBool Atom::FAtomExPlayback::bIsLoadingResource
protected

◆ bIsPrepareFailed

FThreadSafeBool Atom::FAtomExPlayback::bIsPrepareFailed
protected

◆ bIsPreparingForInit

FThreadSafeBool Atom::FAtomExPlayback::bIsPreparingForInit
protected

◆ bIsPreparingPlayer

FThreadSafeBool Atom::FAtomExPlayback::bIsPreparingPlayer
protected

◆ bIsStopping

FThreadSafeBool Atom::FAtomExPlayback::bIsStopping
protected

◆ bPreviousBaseRackEnablement

uint32 Atom::FAtomExPlayback::bPreviousBaseRackEnablement
protected

◆ bPreviousSourceBusEnablement

uint32 Atom::FAtomExPlayback::bPreviousSourceBusEnablement
protected

◆ bSendingAudioToSourceBuses

uint32 Atom::FAtomExPlayback::bSendingAudioToSourceBuses
protected

◆ CueBeatSyncInfo

TSharedPtr<FAtomBeatSyncInfo, ESPMode::ThreadSafe> Atom::FAtomExPlayback::CueBeatSyncInfo
protected

◆ DynamicSourceBusSendInfos

TArray<FDynamicSourceBusSendInfo> Atom::FAtomExPlayback::DynamicSourceBusSendInfos
protected

◆ FAtomExPlaybackListener

friend Atom::FAtomExPlayback::FAtomExPlaybackListener
protected

◆ InitializationState

EAtomExPlaybackInitializationState Atom::FAtomExPlayback::InitializationState
protected

◆ MixerPlayer

TSharedRef<FAtomExPlayer, ESPMode::ThreadSafe> Atom::FAtomExPlayback::MixerPlayer
protected

the explayer object that generated this playback.

◆ PlaybackID

FAtomPlaybackId Atom::FAtomExPlayback::PlaybackID
protected

The native PlaybackID of the first playback or first current from external source when attached.

◆ PreviousAzimuth

float Atom::FAtomExPlayback::PreviousAzimuth
protected

◆ PreviousBusSendSettings

TArray<FAtomSoundToBusSend> Atom::FAtomExPlayback::PreviousBusSendSettings
protected

◆ PreviousCueNextBlockIndex

int32 Atom::FAtomExPlayback::PreviousCueNextBlockIndex
protected

◆ PreviousCueSelectorParams

TArray<FAtomSelectorParam> Atom::FAtomExPlayback::PreviousCueSelectorParams
protected

◆ PreviousPlaybackPercent

float Atom::FAtomExPlayback::PreviousPlaybackPercent
mutableprotected

◆ Status

CriAtomExPlaybackStatus Atom::FAtomExPlayback::Status
protected

The native Status of the playback.


The documentation for this class was generated from the following files:
  • C:/git/uev2/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Public/Atom/Mixer/AtomMixerSource.h
  • C:/git/uev2/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Private/Atom/Mixer/AtomMixerSource.cpp