UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AudioAnalyzerNRT.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"
10#include "Sound/SoundWave.h"
11#include "AudioAnalyzerNRT.generated.h"
12
13
14
23UCLASS(Abstract, EditInlineNew, BlueprintType, MinimalAPI)
25{
27
28 public:
29
30#if WITH_EDITOR
31
33
40 AUDIOANALYZER_API void PostEditChangeProperty (struct FPropertyChangedEvent & PropertyChangedEvent) override;
41
47#endif
48
49};
50
53
65UCLASS(Abstract, EditInlineNew, BlueprintType, MinimalAPI)
67{
69
70 public:
76
79
83 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=AudioAnalyzer, meta=(DisallowedClasses="/Script/MetasoundEngine.MetaSoundSource, /Script/Engine.SoundSourceBus"))
85
87 UPROPERTY(BlueprintReadOnly, Category=AudioAnalyzer)
88 float DurationInSeconds;
89
90#if WITH_EDITOR
91 UFUNCTION(BlueprintCallable, Category="Audio Analyzer")
92 AUDIOANALYZER_API void SetSound(USoundWave* InSound);
93#endif
94
100 template<class ResultType>
110
116 template<class ResultType>
126
132
136 AUDIOANALYZER_API virtual void Serialize(FArchive& Ar) override;
137
138#if WITH_EDITOR
139
140 AUDIOANALYZER_API void SetResult(FResultSharedPtr NewResult);
141
143 AUDIOANALYZER_API void SetResultIfLatest(FResultSharedPtr NewResult, FResultId InResultId);
144
151
159 AUDIOANALYZER_API void PostEditChangeProperty (struct FPropertyChangedEvent & PropertyChangedEvent) override;
160
165
167 UFUNCTION(BlueprintCallable, Category="Audio Analyzer")
169
170#endif
171#if WITH_EDITORONLY_DATA
173 UPROPERTY(BlueprintAssignable, Category="Audio Analyzer")
175#endif
176
177
178 protected:
179
180#if WITH_EDITOR
181
184
187#endif
188
189 /* Subclasses must override this method in order to inform this object which AnalyzerNRTFactory to use for analysis */
190 virtual FName GetAnalyzerNRTFactoryName() const PURE_VIRTUAL(UAudioAnalyzerNRT::GetAnalyzerNRTFactoryName, return FName(););
191
192 private:
193
194 // Returns UAudioAnalyzerNRTSettings* if property points to a valid UAudioAnalyzerNRTSettings, otherwise returns nullptr.
196
197 TSharedPtr<Audio::IAnalyzerNRTResult, ESPMode::ThreadSafe> Result;
198
199 // Critical section is mutable so it can still be locked within const methods.
200 mutable FCriticalSection ResultCriticalSection;
201
202 // Result id of the current result.
203 TAtomic<FResultId> CurrentResultId;
204
205#if WITH_EDITOR
207#endif
208};
209
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
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
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define DECLARE_DYNAMIC_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:38
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
ESPMode
Definition SharedPointerFwd.h:12
Definition Archive.h:1208
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition ScopeLock.h:141
Definition Atomic.h:538
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition UniquePtr.h:107
Definition AudioAnalyzerAsset.h:18
Definition AudioAnalyzerNRT.h:25
Definition AudioAnalyzerNRT.h:67
virtual FName GetAnalyzerNRTFactoryName() const PURE_VIRTUAL(UAudioAnalyzerNRT
Definition AudioAnalyzerNRT.h:190
TSharedPtr< const ResultType, ESPMode::ThreadSafe > GetResult() const
Definition AudioAnalyzerNRT.h:117
TSharedPtr< Audio::IAnalyzerNRTResult, ESPMode::ThreadSafe > FResultSharedPtr
Definition AudioAnalyzerNRT.h:78
TSharedPtr< ResultType, ESPMode::ThreadSafe > GetResult()
Definition AudioAnalyzerNRT.h:101
int32 FResultId
Definition AudioAnalyzerNRT.h:75
Definition SoundWave.h:417
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition UnrealType.h:6865
Definition ObjectPtr.h:488