UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieScenePlayback.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "CoreMinimal.h"
10#include "HAL/Platform.h"
11#include "HAL/PlatformCrt.h"
12#include "Math/NumericLimits.h"
13#include "Math/Range.h"
14#include "Math/RangeBound.h"
16#include "Misc/FrameNumber.h"
17#include "Misc/FrameRate.h"
18#include "Misc/FrameTime.h"
19#include "Misc/Optional.h"
20#include "MovieSceneFwd.h"
22
23
26{
28};
29
30
33{
38
43
48
53
58
63 {
64 return EvaluationRange;
65 }
66
74
80
85 {
86 return Direction;
87 }
88
101
107 {
109
111 {
113 }
114 else
115 {
117 }
118 }
119
123 inline FFrameTime GetDelta() const
124 {
126 }
127
135
139 inline FFrameTime GetOffsetTime(FFrameTime InOffset) const
140 {
141 FFrameTime Now = GetTime();
142 return Direction == EPlayDirection::Forwards ? Now + InOffset : Now - InOffset;
143 }
144
152
158 {
159 return CurrentFrameRate;
160 }
161
166
167protected:
168
171
174
177
180};
181
184{
201
218
235
240 {
241 return Status;
242 }
243
247 inline bool HasJumped() const
248 {
249 return bHasJumped;
250 }
251
256 inline bool HasLooped() const
257 {
258 return bHasLooped;
259 }
260
264 inline bool IsSilent() const
265 {
266 return bSilent;
267 }
268
276
284
288 UE_DEPRECATED(5.4, "Please use GetSequenceToRootSequenceTransform instead.")
290
295
315
316public:
317
322 {
324 return *this;
325 }
326
332 {
334 return *this;
335 }
336
341 {
343 return *this;
344 }
345
355
360
369
375 {
376 return HierarchicalBias;
377 }
378
379public:
380
385 bool IsPreRoll() const
386 {
388 }
389
394 bool IsPostRoll() const
395 {
397 }
398
403 bool HasPreRollEndTime() const
404 {
405 return bHasPreRollEndTime;
406 }
407
413 {
415 }
416
422 {
423 checkf(bHasPreRollEndTime, TEXT("It's invalid to call GetPreRollEndFrame() without first checking HasPreRollEndTime()"));
425 }
426
432 {
433 checkf(bHasPostRollStartTime, TEXT("It's invalid to call GetPostRollStartFrame() without first checking HasPostRollStartTime()"));
435 }
436
466
467protected:
468
471
474
477
480
483
484protected:
485
487 bool bHasJumped : 1;
488
490 bool bHasLooped : 1;
491
493 bool bSilent : 1;
494
497
500
503
506};
507
510{
512 : InputRate(0,0), OutputRate(0,0), EvaluationType(EMovieSceneEvaluationType::WithSubFrames)
513 {}
514
519 {
520 return EvaluationType;
521 }
522
527 {
528 return InputRate;
529 }
530
535 {
536 return OutputRate;
537 }
538
539public:
540
549
554 MOVIESCENE_API void Reset(FFrameTime StartPos);
555
559 FFrameTime GetCurrentPosition() const { return CurrentPosition; }
560
564 TOptional<FFrameTime> GetLastPlayEvalPostition() const { return PreviousPlayEvalPosition; }
565
566public:
567
576
584
590
596
597private:
598
602 MOVIESCENE_API void CheckInvariants() const;
603
604private:
605
607 FFrameRate InputRate;
608
610 FFrameRate OutputRate;
611
613 EMovieSceneEvaluationType EvaluationType;
614
616 FFrameTime CurrentPosition;
617
619 TOptional<FFrameTime> PreviousPlayEvalPosition;
620
623};
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#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
EMovieSceneEvaluationType
Definition MovieSceneFwd.h:56
EPlayDirection
Definition MovieScenePlayback.h:26
Definition Range.h:50
static TRange Intersection(const TRange &X, const TRange &Y)
Definition Range.h:555
DifferenceType Size() const
Definition Range.h:427
ElementValueOrConstRef GetLowerBoundValue() const
Definition Range.h:263
ElementValueOrConstRef GetUpperBoundValue() const
Definition Range.h:309
Definition MovieSceneFwd.h:41
Type
Definition MovieSceneFwd.h:43
FFrameNumber DiscreteExclusiveUpper(const TRangeBound< FFrameNumber > &InUpperBound)
Definition MovieSceneTimeHelpers.h:66
FFrameNumber DiscreteInclusiveLower(const TRangeBound< FFrameNumber > &InLowerBound)
Definition MovieSceneTimeHelpers.h:42
@ false
Definition radaudio_common.h:23
Definition FrameNumber.h:18
Definition FrameRate.h:21
Definition FrameTime.h:16
FFrameNumber FrameNumber
Definition FrameTime.h:98
Definition MovieScenePlayback.h:184
bool IsSilent() const
Definition MovieScenePlayback.h:264
bool bHasPreRollEndTime
Definition MovieScenePlayback.h:502
MOVIESCENE_API FMovieSceneInverseSequenceTransform GetSequenceToRootSequenceTransform() const
Definition MovieScenePlayback.cpp:182
EMovieScenePlayerStatus::Type Status
Definition MovieScenePlayback.h:476
bool bSilent
Definition MovieScenePlayback.h:493
FMovieSceneContext & SetHasJumped(bool bInHasJumped)
Definition MovieScenePlayback.h:321
bool HasLooped() const
Definition MovieScenePlayback.h:256
void ApplySectionPrePostRoll(bool bInLeadingRegion, bool bInTrailingRegion)
Definition MovieScenePlayback.h:302
bool bSectionPreRoll
Definition MovieScenePlayback.h:496
int32 HierarchicalBias
Definition MovieScenePlayback.h:482
int32 GetHierarchicalBias() const
Definition MovieScenePlayback.h:374
MOVIESCENE_API FMovieSceneTimeTransform GetSequenceToRootTransform() const
Definition MovieScenePlayback.cpp:176
FMovieSceneSequenceTransform RootToSequenceTransform
Definition MovieScenePlayback.h:470
FFrameNumber GetPreRollEndFrame() const
Definition MovieScenePlayback.h:421
bool bHasPostRollStartTime
Definition MovieScenePlayback.h:505
bool bSectionPostRoll
Definition MovieScenePlayback.h:499
FMovieSceneContext(FMovieSceneEvaluationRange InRange)
Definition MovieScenePlayback.h:205
void ReportOuterSectionRanges(TRange< FFrameNumber > InLeadingRange, TRange< FFrameNumber > InTrailingRange)
Definition MovieScenePlayback.h:443
FMovieSceneContext & SetIsSilent(bool bInIsSilent)
Definition MovieScenePlayback.h:340
bool IsPreRoll() const
Definition MovieScenePlayback.h:385
bool HasPreRollEndTime() const
Definition MovieScenePlayback.h:403
const FMovieSceneSequenceTransform & GetRootToSequenceTransform() const
Definition MovieScenePlayback.h:272
bool bHasLooped
Definition MovieScenePlayback.h:490
FMovieSceneContext Clamp(TRange< FFrameTime > NewRange) const
Definition MovieScenePlayback.h:349
EMovieScenePlayerStatus::Type GetStatus() const
Definition MovieScenePlayback.h:239
const FMovieSceneWarpCounter & GetRootToSequenceWarpCounter() const
Definition MovieScenePlayback.h:280
void SetHierarchicalBias(int32 InHierarchicalBias)
Definition MovieScenePlayback.h:365
FMovieSceneContext & SetHasLooped(bool bInHasLooped)
Definition MovieScenePlayback.h:331
bool IsPostRoll() const
Definition MovieScenePlayback.h:394
FMovieSceneWarpCounter RootToSequenceWarpCounter
Definition MovieScenePlayback.h:473
bool HasJumped() const
Definition MovieScenePlayback.h:247
FFrameNumber GetPostRollStartFrame() const
Definition MovieScenePlayback.h:431
bool HasPostRollStartTime() const
Definition MovieScenePlayback.h:412
FFrameNumber PrePostRollStartEndTime
Definition MovieScenePlayback.h:479
bool bHasJumped
Definition MovieScenePlayback.h:487
FMovieSceneContext()
Definition MovieScenePlayback.h:188
FMovieSceneContext(FMovieSceneEvaluationRange InRange, EMovieScenePlayerStatus::Type InStatus)
Definition MovieScenePlayback.h:222
Definition MovieScenePlayback.h:33
FFrameTime GetOffsetTime(FFrameTime InOffset) const
Definition MovieScenePlayback.h:139
static MOVIESCENE_API TRange< FFrameTime > NumberRangeToTimeRange(const TRange< FFrameNumber > &InFrameTimeRange)
Definition MovieScenePlayback.cpp:120
void OverrideTime(FFrameNumber InTimeOverride)
Definition MovieScenePlayback.h:148
MOVIESCENE_API void ResetRange(const TRange< FFrameTime > &NewRange)
Definition MovieScenePlayback.cpp:62
FFrameTime GetDelta() const
Definition MovieScenePlayback.h:123
FFrameTime GetPreviousTime() const
Definition MovieScenePlayback.h:131
static MOVIESCENE_API TRange< FFrameNumber > TimeRangeToNumberRange(const TRange< FFrameTime > &InFrameTimeRange)
Definition MovieScenePlayback.cpp:88
FFrameNumber GetEvaluationFieldTime() const
Definition MovieScenePlayback.h:106
FFrameTime GetTime() const
Definition MovieScenePlayback.h:92
MOVIESCENE_API TRange< FFrameNumber > GetTraversedFrameNumberRange() const
Definition MovieScenePlayback.cpp:69
FFrameRate GetFrameRate() const
Definition MovieScenePlayback.h:157
FFrameRate CurrentFrameRate
Definition MovieScenePlayback.h:173
EPlayDirection GetDirection() const
Definition MovieScenePlayback.h:84
FFrameNumber TimeOverride
Definition MovieScenePlayback.h:179
EPlayDirection Direction
Definition MovieScenePlayback.h:176
TRange< FFrameTime > EvaluationRange
Definition MovieScenePlayback.h:170
TRange< FFrameNumber > GetFrameNumberRange() const
Definition MovieScenePlayback.h:70
TRange< FFrameTime > GetRange() const
Definition MovieScenePlayback.h:62
Definition MovieSceneSequenceTransform.h:912
Definition MovieScenePlayback.h:510
MOVIESCENE_API FMovieSceneEvaluationRange GetCurrentPositionAsRange() const
Definition MovieScenePlayback.cpp:218
MOVIESCENE_API TOptional< FMovieSceneEvaluationRange > GetLastRange() const
Definition MovieScenePlayback.cpp:272
EMovieSceneEvaluationType GetEvaluationType() const
Definition MovieScenePlayback.h:518
FMovieScenePlaybackPosition()
Definition MovieScenePlayback.h:511
TOptional< FFrameTime > GetLastPlayEvalPostition() const
Definition MovieScenePlayback.h:564
FFrameTime GetCurrentPosition() const
Definition MovieScenePlayback.h:559
FFrameRate GetOutputRate() const
Definition MovieScenePlayback.h:534
MOVIESCENE_API void SetTimeBase(FFrameRate InInputRate, FFrameRate InOutputRate, EMovieSceneEvaluationType InputEvaluationType)
Definition MovieScenePlayback.cpp:192
FFrameRate GetInputRate() const
Definition MovieScenePlayback.h:526
MOVIESCENE_API FMovieSceneEvaluationRange JumpTo(FFrameTime NewPosition, EPlayDirection PreferredDirection=EPlayDirection::Forwards)
Definition MovieScenePlayback.cpp:226
Definition MovieSceneSequenceTransform.h:625
Definition MovieSceneTimeTransform.h:23
Definition MovieSceneSequenceTransform.h:203
Definition NumericLimits.h:41
Definition Optional.h:131