UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AudioVirtualLoop.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "ActiveSound.h"
5#include "AudioMixerTrace.h"
7
13{
14private:
15 float TimeSinceLastUpdate;
16 float TimeVirtualized;
17 float UpdateInterval;
18
19#if UE_AUDIO_PROFILERTRACE_ENABLED
20 float IsVirtualizedPingTimeSec = 0.0;
21 static constexpr float IsVirtualizedPingWaitTimeSec = 1.0;
22#endif // UE_AUDIO_PROFILERTRACE_ENABLED
23
24 FActiveSound* ActiveSound;
25
30 TArray<Audio::FModulationDestination> VolumeConcurrencyDestinations;
31
32 struct FWaveInstanceData
33 {
34 float EffectivePitch;
35 Audio::FModulationDestination PitchModulationDestination;
36 USoundClass* SoundClass;
37
38 };
39
40 TSortedMap<UPTRINT, float> EffectivePlaybackTimes;
42
46 static bool IsInAudibleRange(const FActiveSound& InActiveSound, const FAudioDevice* InAudioDevice = nullptr);
47
48public:
50
54 static ENGINE_API bool ShouldListenerMoveForceUpdate(const FTransform& LastTransform, const FTransform& CurrentTransform);
55
62
66 static ENGINE_API bool IsEnabled();
67
72
76 ENGINE_API float GetTimeVirtualized() const;
77
83
87 ENGINE_API float GetUpdateInterval() const;
88
92
97
102 ENGINE_API void UpdateFocusData(float DeltaTime);
103
108 ENGINE_API bool Update(float DeltaTime, bool bForceUpdate);
109
110#if UE_AUDIO_PROFILERTRACE_ENABLED
111 ENGINE_API void OnTraceStarted();
112#endif
113};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition AudioDevice.h:417
Definition Array.h:670
Definition SortedMap.h:20
Definition SoundClass.h:209
Definition SoundModulationDestination.h:161
Definition ActiveSound.h:283
Definition AudioVirtualLoop.h:13
ENGINE_API float GetTimeVirtualized() const
Definition AudioVirtualLoop.cpp:207
ENGINE_API FAudioVirtualLoop()
Definition AudioVirtualLoop.cpp:85
const TSortedMap< UPTRINT, float > & GetEffectivePlaybackTimes()
Definition AudioVirtualLoop.cpp:212
ENGINE_API void UpdateFocusData(float DeltaTime)
Definition AudioVirtualLoop.cpp:275
ENGINE_API void CalculateUpdateInterval()
Definition AudioVirtualLoop.cpp:195
static ENGINE_API bool IsEnabled()
Definition AudioVirtualLoop.cpp:234
ENGINE_API float GetUpdateInterval() const
Definition AudioVirtualLoop.cpp:217
ENGINE_API FActiveSound & GetActiveSound()
Definition AudioVirtualLoop.cpp:222
static ENGINE_API bool ShouldListenerMoveForceUpdate(const FTransform &LastTransform, const FTransform &CurrentTransform)
Definition AudioVirtualLoop.cpp:451
static ENGINE_API bool Virtualize(const FActiveSound &InActiveSound, bool bDoRangeCheck, FAudioVirtualLoop &OutVirtualLoop)
Definition AudioVirtualLoop.cpp:93