UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneTimeController.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
7#include "MovieSceneFwd.h"
8#include "Misc/Attribute.h"
10
12
14{
15public:
16
18
23
28
33
38
45 MOVIESCENE_API void Tick(float DeltaSeconds, float InPlayRate);
46
55
60
65
66protected:
67
68 virtual void OnTick(float DeltaSeconds, float InPlayRate){}
70 virtual bool OnIsReadyToPlay() { return true; }
74
75protected:
76
78 {
79 return PlaybackStartTime;
80 }
81
83 {
84 return DisplayRate;
85 }
86
87private:
88
89 TOptional<FQualifiedFrameTime> PlaybackStartTime;
90
91 FFrameRate DisplayRate;
92};
93
98{
99protected:
100
102 : AccumulatedDilation(0.0)
103 {}
104
106
107 virtual double GetCurrentTime() const = 0;
108
109protected:
110
111 MOVIESCENE_API virtual void OnStartPlaying(const FQualifiedFrameTime& InStartTime) override;
112 MOVIESCENE_API virtual void OnStopPlaying(const FQualifiedFrameTime& InStopTime) override;
114
115private:
116
117 double AccumulatedDilation;
118
119 TOptional<double> ClockStartTime;
120 TOptional<double> ClockLastUpdateTime;
121};
122
130
138
139
156
157
165
166
171{
173 : CurrentOffsetSeconds(0.0)
174 {}
175
176protected:
177
178 MOVIESCENE_API virtual void OnTick(float DeltaSeconds, float InPlayRate) override;
179 MOVIESCENE_API virtual void OnStartPlaying(const FQualifiedFrameTime& InStartTime) override;
181
182private:
183 double CurrentOffsetSeconds;
184};
185
190{
192 : PreviousPlatformTime(0.f)
193 {}
194
195protected:
196
197 MOVIESCENE_API virtual void OnStartPlaying(const FQualifiedFrameTime& InStartTime) override;
199
200private:
201 double PreviousPlatformTime;
202 FFrameTime CurrentTime;
203};
204
205
206
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition IMovieScenePlayer.h:90
Type
Definition MovieSceneFwd.h:43
Definition FrameRate.h:21
Definition FrameTime.h:16
Definition MovieSceneTimeController.h:135
virtual MOVIESCENE_API double GetCurrentTime() const override
Definition MovieSceneTimeController.cpp:130
Definition MovieSceneTimeController.h:98
virtual MOVIESCENE_API void OnStopPlaying(const FQualifiedFrameTime &InStopTime) override
Definition MovieSceneTimeController.cpp:88
FMovieSceneTimeController_ExternalClock()
Definition MovieSceneTimeController.h:101
virtual double GetCurrentTime() const =0
virtual MOVIESCENE_API void OnStartPlaying(const FQualifiedFrameTime &InStartTime) override
Definition MovieSceneTimeController.cpp:83
virtual ~FMovieSceneTimeController_ExternalClock()=default
virtual MOVIESCENE_API FFrameTime OnRequestCurrentTime(const FQualifiedFrameTime &InCurrentTime, float InPlayRate) override
Definition MovieSceneTimeController.cpp:95
Definition MovieSceneTimeController.h:127
virtual MOVIESCENE_API double GetCurrentTime() const override
Definition MovieSceneTimeController.cpp:125
Definition MovieSceneTimeController.h:190
FMovieSceneTimeController_PlayEveryFrame()
Definition MovieSceneTimeController.h:191
virtual MOVIESCENE_API void OnStartPlaying(const FQualifiedFrameTime &InStartTime) override
Definition MovieSceneTimeController.cpp:228
virtual MOVIESCENE_API FFrameTime OnRequestCurrentTime(const FQualifiedFrameTime &InCurrentTime, float InPlayRate) override
Definition MovieSceneTimeController.cpp:234
Definition MovieSceneTimeController.h:144
virtual MOVIESCENE_API void OnStopPlaying(const FQualifiedFrameTime &InStopTime) override
Definition MovieSceneTimeController.cpp:136
virtual MOVIESCENE_API double GetCurrentTime() const override
Definition MovieSceneTimeController.cpp:145
double AccumulatedFrameTime
Definition MovieSceneTimeController.h:154
virtual MOVIESCENE_API FFrameTime OnRequestCurrentTime(const FQualifiedFrameTime &InCurrentTime, float InPlayRate) override
Definition MovieSceneTimeController.cpp:158
TOptional< FFrameTime > LastCurrentFrameTime
Definition MovieSceneTimeController.h:151
TOptional< double > TimeSinceCurrentFrameTime
Definition MovieSceneTimeController.h:152
Definition MovieSceneTimeController.h:171
virtual MOVIESCENE_API FFrameTime OnRequestCurrentTime(const FQualifiedFrameTime &InCurrentTime, float InPlayRate) override
Definition MovieSceneTimeController.cpp:214
FMovieSceneTimeController_Tick()
Definition MovieSceneTimeController.h:172
virtual MOVIESCENE_API void OnStartPlaying(const FQualifiedFrameTime &InStartTime) override
Definition MovieSceneTimeController.cpp:204
Definition MovieSceneTimeController.h:162
virtual MOVIESCENE_API FFrameTime OnRequestCurrentTime(const FQualifiedFrameTime &InCurrentTime, float InPlayRate) override
Definition MovieSceneTimeController.cpp:189
Definition MovieSceneTimeController.h:14
MOVIESCENE_API void StopPlaying(const FQualifiedFrameTime &InStopTime)
Definition MovieSceneTimeController.cpp:69
virtual void OnPrepareToPlay(const FQualifiedFrameTime &InStartTime)
Definition MovieSceneTimeController.h:69
FFrameRate GetDisplayRate() const
Definition MovieSceneTimeController.h:82
MOVIESCENE_API bool IsReadyToPlay()
Definition MovieSceneTimeController.cpp:56
MOVIESCENE_API void PrepareToPlay(const FQualifiedFrameTime &InStartTime)
Definition MovieSceneTimeController.cpp:49
virtual void OnStartPlaying(const FQualifiedFrameTime &InStartTime)
Definition MovieSceneTimeController.h:71
virtual ~FMovieSceneTimeController()
Definition MovieSceneTimeController.h:17
virtual void OnTick(float DeltaSeconds, float InPlayRate)
Definition MovieSceneTimeController.h:68
virtual FFrameTime OnRequestCurrentTime(const FQualifiedFrameTime &InCurrentTime, float InPlayRate)=0
TOptional< FQualifiedFrameTime > GetPlaybackStartTime() const
Definition MovieSceneTimeController.h:77
virtual void OnStopPlaying(const FQualifiedFrameTime &InStopTime)
Definition MovieSceneTimeController.h:72
virtual bool OnIsReadyToPlay()
Definition MovieSceneTimeController.h:70
MOVIESCENE_API void StartPlaying(const FQualifiedFrameTime &InStartTime)
Definition MovieSceneTimeController.cpp:61
MOVIESCENE_API FFrameTime RequestCurrentTime(const FQualifiedFrameTime &InCurrentTime, float InPlayRate, FFrameRate InDisplayRate)
Definition MovieSceneTimeController.cpp:77
MOVIESCENE_API void PlayerStatusChanged(EMovieScenePlayerStatus::Type InStatus, const FQualifiedFrameTime &InCurrentTime)
Definition MovieSceneTimeController.cpp:36
Definition QualifiedFrameTime.h:13
Definition Optional.h:131