UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TimecodeRegressionProvider.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "TimecodeRegressionProvider.generated.h"
8
9#define UE_API TIMEMANAGEMENT_API
10
12
22UCLASS(MinimalAPI)
24{
26public:
27
35 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings", meta = (ClampMin = 1, ClampMax = 65536, UIMin = 1, UIMax = 65536))
36 int32 NumSampledFrames = 60;
37
39 static UE_API bool SupportsTimestep(UEngineCustomTimeStep* InTimestep);
40
42 UE_API void SetTimecodeImplementation(UTimecodeProvider* InTimecodeImpl);
43
45 UE_API TOptional<FQualifiedFrameTime> GetLastSampledFrameTime() const;
46
48 UTimecodeProvider* GetUnderlyingTimecodeProvider() const
49 {
50 return TimecodeImpl;
51 }
52
53 //~ Begin UTimecodeProvider Interface
55 {
56 return TimecodeImpl->FetchTimecode(OutFrameTime);
57 }
58 UE_API virtual void FetchAndUpdate() override;
59 UE_API virtual FQualifiedFrameTime GetQualifiedFrameTime() const override;
61 UE_API virtual bool Initialize(UEngine* InEngine) override;
62 UE_API virtual void Shutdown(UEngine* InEngine) override;
63 virtual bool SupportsAutoDetected() const override
64 {
65 return TimecodeImpl->SupportsAutoDetected();
66 }
67 virtual void SetIsAutoDetected(bool bInIsAutoDetected) override
68 {
69 TimecodeImpl->SetIsAutoDetected(bInIsAutoDetected);
70 }
71 virtual bool IsAutoDetected() const override
72 {
73 return TimecodeImpl->IsAutoDetected();
74 }
75 //~ End UTimecodeProvider Interface
76
77private:
78
80 UPROPERTY()
81 TObjectPtr<UEngine> OwningEngine;
83 UPROPERTY()
85
87 struct FTimecodeEstimationState
88 {
91
94
95 explicit FTimecodeEstimationState(
97 )
99 {}
100 };
103
105 bool IsInitialized() const
106 {
107 return OwningEngine != nullptr;
108 }
109
111 void OnCustomTimeStepChanged() { ReinitRegressionBuffer(); }
112
114 UE_API void ReinitRegressionBuffer();
115};
116
117#undef UE_API
#define UE_LIFETIMEBOUND
Definition Platform.h:812
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
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
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
ETimecodeProviderSynchronizationState
Definition TimecodeProvider.h:20
#define UE_API
Definition TimecodeRegressionProvider.h:9
Definition IClockedTimeStep.h:19
Definition EngineCustomTimeStep.h:36
virtual ECustomTimeStepSynchronizationState GetSynchronizationState() const PURE_VIRTUAL(UEngineCustomTimeStep
Definition EngineCustomTimeStep.h:53
Definition Engine.h:711
Definition TimecodeProvider.h:41
Definition TimecodeRegressionProvider.h:24
virtual bool FetchTimecode(FQualifiedFrameTime &OutFrameTime) override
Definition TimecodeRegressionProvider.h:54
virtual bool IsAutoDetected() const override
Definition TimecodeRegressionProvider.h:71
virtual bool SupportsAutoDetected() const override
Definition TimecodeRegressionProvider.h:63
virtual void SetIsAutoDetected(bool bInIsAutoDetected) override
Definition TimecodeRegressionProvider.h:67
Definition STimecode.cpp:15
Definition QualifiedFrameTime.h:13
Definition ObjectPtr.h:488
Definition Optional.h:131