CriWare Unreal Engine
Plug-ins for CriWare solutions.
载入中...
搜索中...
未找到
UAtomAnalyzer类 参考

#include <AtomAnalyzer.h>

类 UAtomAnalyzer 继承关系图:

Public 类型

typedef int32 FResultId
typedef TSharedPtr< Atom::IAnalyzerResult, ESPMode::ThreadSafe > FResultSharedPtr

Public 成员函数

virtual CRIWARECORE_API void BeginDestroy () override
virtual void BroadcastResults ()
virtual CRIWARECORE_API TSharedPtr< Atom::IAnalyzerControls > GetAnalyzerControls () const
virtual CRIWARECORE_API TUniquePtr< Atom::IAnalyzerSettings > GetSettings (const int32 InSampleRate, const int32 InNumChannels) const
CRIWARECORE_API void StartAnalyzing (const FAtomRuntimeId InAtomRuntimeID, UAtomAudioBus *AudioBusToAnalyze)
CRIWARECORE_API void StartAnalyzing (const UObject *WorldContextObject, UAtomAudioBus *AudioBusToAnalyze)
CRIWARECORE_API void StopAnalyzing (const UObject *WorldContextObject=nullptr)

Public 属性

TObjectPtr< UAtomAudioBus > AudioBus

Protected 成员函数

virtual CRIWARECORE_API FName GetAnalyzerFactoryName () const
template<class ResultType>
TUniquePtr< ResultType > GetResults ()

Protected 属性

int32 NumFramesPerBufferToAnalyze = 1024

Private 成员函数

CRIWARECORE_API bool DoAnalysis ()
CRIWARECORE_API UAtomAnalyzerSettings * GetSettingsFromProperty (FProperty *Property)
CRIWARECORE_API bool IsReadyForAnalysis () const

Private 属性

TArray< float > AnalysisBuffer
TSharedPtr< FAsyncTask< FAtomAnalyzeTask > > AnalysisTask
TSharedPtr< Atom::IAnalyzerControls > AnalyzerControls
TUniquePtr< Atom::FAnalyzerFacade > AnalyzerFacade
Atom::IAnalyzerFactory * AnalyzerFactory = nullptr
TObjectPtr< UAtomAnalyzerSubsystem > AtomAnalyzerSubsystem
int32 AtomRuntimeSampleRate = 0
int32 NumBusChannels = 0
Audio::FPatchOutputStrongPtr PatchOutputStrongPtr
TUniquePtr< Atom::IAnalyzerResult > ResultsInternal

友元

class UAtomAnalyzerSubsystem

详细描述

UAtomAnalyzer

UAtomAnalyzer performs analysis on an audio bus using specific settings and exposes the results via blueprints.

Subclasses of UAtomAnalyzer must implement GetAnalyzerFactoryName() to associate the UAtomAnalyzer asset with an IAudioAnalyzerFactory implementation.

To support blueprint access, subclasses can implement UFUNCTIONs to expose the data returned by GetResult().

成员类型定义说明

◆ FResultId

typedef int32 UAtomAnalyzer::FResultId

ID to keep track of results. Useful for tracking most recent result when performing asynchronous processing.

◆ FResultSharedPtr

typedef TSharedPtr<Atom::IAnalyzerResult, ESPMode::ThreadSafe> UAtomAnalyzer::FResultSharedPtr

Thread safe shared point to result object.

成员函数说明

◆ BeginDestroy()

void UAtomAnalyzer::BeginDestroy ( )
overridevirtual

◆ BroadcastResults()

virtual void UAtomAnalyzer::BroadcastResults ( )
inlinevirtual

Function to broadcast results.

◆ DoAnalysis()

bool UAtomAnalyzer::DoAnalysis ( )
private

Does the actual analysis and casts the results to the derived classes type. Returns true if there results to broadcast.

◆ GetAnalyzerControls()

TSharedPtr< Atom::IAnalyzerControls > UAtomAnalyzer::GetAnalyzerControls ( ) const
virtual

Implementations can override this method to create controls objects specific for their analyzer.

◆ GetAnalyzerFactoryName()

virtual CRIWARECORE_API FName UAtomAnalyzer::GetAnalyzerFactoryName ( ) const
protectedvirtual

◆ GetResults()

template<class ResultType>
TUniquePtr< ResultType > UAtomAnalyzer::GetResults ( )
inlineprotected

◆ GetSettings()

TUniquePtr< Atom::IAnalyzerSettings > UAtomAnalyzer::GetSettings ( const int32 InSampleRate,
const int32 InNumChannels ) const
virtual

Implementations can override this method to create settings objects specific for their analyzer.

◆ GetSettingsFromProperty()

UAtomAnalyzerSettings * UAtomAnalyzer::GetSettingsFromProperty ( FProperty * Property)
private

◆ IsReadyForAnalysis()

bool UAtomAnalyzer::IsReadyForAnalysis ( ) const
private

Returns if this audio analyzer has enough audio queued up and is ready for analysis.

◆ StartAnalyzing() [1/2]

void UAtomAnalyzer::StartAnalyzing ( const FAtomRuntimeId InAtomRuntimeID,
UAtomAudioBus * AudioBusToAnalyze )

Starts analyzing using the given world.

◆ StartAnalyzing() [2/2]

void UAtomAnalyzer::StartAnalyzing ( const UObject * WorldContextObject,
UAtomAudioBus * AudioBusToAnalyze )

Starts analyzing audio from the given audio bus. Optionally override the Atom audio bus desired to analyze.

◆ StopAnalyzing()

void UAtomAnalyzer::StopAnalyzing ( const UObject * WorldContextObject = nullptr)

Stops analyzing audio.

◆ UAtomAnalyzerSubsystem

friend class UAtomAnalyzerSubsystem
friend

类成员变量说明

◆ AnalysisBuffer

TArray<float> UAtomAnalyzer::AnalysisBuffer
private

◆ AnalysisTask

TSharedPtr<FAsyncTask<FAtomAnalyzeTask> > UAtomAnalyzer::AnalysisTask
private

◆ AnalyzerControls

TSharedPtr<Atom::IAnalyzerControls> UAtomAnalyzer::AnalyzerControls
private

◆ AnalyzerFacade

TUniquePtr<Atom::FAnalyzerFacade> UAtomAnalyzer::AnalyzerFacade
private

◆ AnalyzerFactory

Atom::IAnalyzerFactory* UAtomAnalyzer::AnalyzerFactory = nullptr
private

◆ AtomAnalyzerSubsystem

TObjectPtr<UAtomAnalyzerSubsystem> UAtomAnalyzer::AtomAnalyzerSubsystem
private

◆ AtomRuntimeSampleRate

int32 UAtomAnalyzer::AtomRuntimeSampleRate = 0
private

◆ AudioBus

TObjectPtr<UAtomAudioBus> UAtomAnalyzer::AudioBus

The UAtomAudioBus which is analyzed in real-time.

◆ NumBusChannels

int32 UAtomAnalyzer::NumBusChannels = 0
private

◆ NumFramesPerBufferToAnalyze

int32 UAtomAnalyzer::NumFramesPerBufferToAnalyze = 1024
protected

How many frames of audio to wait before analyzing the audio.

◆ PatchOutputStrongPtr

Audio::FPatchOutputStrongPtr UAtomAnalyzer::PatchOutputStrongPtr
private

◆ ResultsInternal

TUniquePtr<Atom::IAnalyzerResult> UAtomAnalyzer::ResultsInternal
private

该类的文档由以下文件生成:
  • C:/git/uev2/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Public/Atom/Analyzers/AtomAnalyzer.h
  • C:/git/uev2/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Private/Atom/Analyzers/AtomAnalyzer.cpp