UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IAudioAnalyzerNRTInterface.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
5#pragma once
6
7#include "CoreMinimal.h"
11
12namespace Audio
13{
14
31
38 {
39 public:
41 };
42
49 {
50 public:
51 virtual ~IAnalyzerNRTResult() {};
52
53 // This is used to define how to serialize this instance of results for remote profiling.
54 virtual void Serialize(FArchive& Archive) = 0;
55
56 // This virtual can be overridden to provide a faster copying scheme than full serialization
57 // when analyzing non-remote targets. If not overridden, this function will use the Serialize call.
65
66 // This must be overridden to return the duration of the original audio analyzed.
67 virtual float GetDurationInSeconds() const = 0;
68 };
69
76 {
77 public:
78 virtual ~IAnalyzerNRTWorker() {};
79
85
90 };
91
97 {
98 public:
100
101 // Supplied unique name of IAnalyzerNRTFactory to enable querying of added
102 // analyzer factories
104 {
105 static FName AudioExtFeatureName = FName(TEXT("AudioAnalyzerNRTPlugin"));
106 return AudioExtFeatureName;
107 }
108
109 // Name of specific analyzer type.
110 virtual FName GetName() const = 0;
111
112 // Human readable name of analyzer.
113 virtual FString GetTitle() const = 0;
114
115 // Create a new result.
117
118 // Convenience function to create a new shared result by calling NewResult.
119 template<ESPMode Mode = ESPMode::ThreadSafe>
126
127 // Create a new worker.
129 };
130}
131
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition IAudioAnalyzerNRTInterface.h:97
virtual FName GetName() const =0
virtual ~IAnalyzerNRTFactory()
Definition IAudioAnalyzerNRTInterface.h:99
TSharedPtr< IAnalyzerNRTResult, Mode > NewResultShared() const
Definition IAudioAnalyzerNRTInterface.h:120
virtual TUniquePtr< IAnalyzerNRTWorker > NewWorker(const FAnalyzerNRTParameters &InParams, const IAnalyzerNRTSettings *InSettings) const =0
virtual TUniquePtr< IAnalyzerNRTResult > NewResult() const =0
virtual FString GetTitle() const =0
static FName GetModularFeatureName()
Definition IAudioAnalyzerNRTInterface.h:103
Definition IAudioAnalyzerNRTInterface.h:49
virtual ~IAnalyzerNRTResult()
Definition IAudioAnalyzerNRTInterface.h:51
virtual void Serialize(FArchive &Archive)=0
virtual void CopyFrom(IAnalyzerNRTResult *SourceResult)
Definition IAudioAnalyzerNRTInterface.h:58
virtual float GetDurationInSeconds() const =0
Definition IAudioAnalyzerNRTInterface.h:38
virtual ~IAnalyzerNRTSettings()
Definition IAudioAnalyzerNRTInterface.h:40
Definition IAudioAnalyzerNRTInterface.h:76
virtual ~IAnalyzerNRTWorker()
Definition IAudioAnalyzerNRTInterface.h:78
virtual void Analyze(TArrayView< const float > InAudio, IAnalyzerNRTResult *OutResult)=0
virtual void Finalize(IAnalyzerNRTResult *OutResult)=0
Definition Archive.h:1208
Definition NameTypes.h:617
Definition IModularFeature.h:12
Definition ArrayView.h:139
Definition SharedPointer.h:692
Definition UniquePtr.h:107
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition IAudioAnalyzerNRTInterface.h:21
FAnalyzerNRTParameters(float InSampleRate=0.0f, int32 InNumChannels=0)
Definition IAudioAnalyzerNRTInterface.h:26
int32 NumChannels
Definition IAudioAnalyzerNRTInterface.h:24
float SampleRate
Definition IAudioAnalyzerNRTInterface.h:23
Definition BitReader.h:25
Definition BitWriter.h:22
virtual CORE_API void Serialize(void *Src, int64 LengthBytes) override
Definition BitWriter.cpp:127