Navigation
API > API/Plugins > API/Plugins/ChaosVD
Loads,unloads and owns a Chaos VD recording file
| Name | FChaosVDPlaybackController |
| Type | class |
| Header File | /Engine/Plugins/ChaosVD/Source/ChaosVD/Public/ChaosVDPlaybackController.h |
| Include Path | #include "ChaosVDPlaybackController.h" |
Syntax
class FChaosVDPlaybackController :
public TSharedFromThis< FChaosVDPlaybackController > ,
public FTSTickerObjectBase
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FChaosVDPlaybackController
- FTSTickerObjectBase → FChaosVDPlaybackController
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FChaosVDPlaybackController
(
const TWeakPtr< FChaosVDScene >& InSceneToControl |
ChaosVDPlaybackController.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FChaosVDPlaybackController() |
ChaosVDPlaybackController.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FallbackFrameTime | float | ChaosVDPlaybackController.h | |
| GameTrackID | int32 | ID used for the Game Track | ChaosVDPlaybackController.h |
| GameTrackSlot | int32 | ChaosVDPlaybackController.h | |
| InvalidFrameRateOverride | int32 | ChaosVDPlaybackController.h | |
| PlaybackSelfInstigatorID | FGuid | ChaosVDPlaybackController.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 ConvertCurrentFrameToOtherTrackFrame_AssumesLocked
(
const TSharedRef< const FChaosVDTrackInfo >& InFromTrack, |
Converts the current frame number of a track, to a frame number in other tracks space time | ChaosVDPlaybackController.h | |
TSharedRef< FChaosVDTrackInfo > GetActiveTrackInfo() |
Returns the state of the current active track. | ChaosVDPlaybackController.h | |
void GetAvailableTrackInfosAtTrackFrame
(
EChaosVDTrackType TrackTypeToFind, |
Gets all the ids of the tracks, of the specified type, that are available available on the loaded recording, at a specified frame | ChaosVDPlaybackController.h | |
void GetAvailableTrackInfosAtTrackFrame_AssumesLocked
(
EChaosVDTrackType TrackTypeToFind, |
ChaosVDPlaybackController.h | ||
void GetAvailableTracks
(
EChaosVDTrackType TrackType, |
Gets all the ids of the tracks, of the specified type, that are available available on the loaded recording | ChaosVDPlaybackController.h | |
TWeakPtr< FChaosVDScene > GetControllerScene() |
Returns a weak ptr to the Scene this controller is controlling during playback | ChaosVDPlaybackController.h | |
TWeakPtr< FChaosVDRecording > GetCurrentRecording() |
Returns a weak ptr pointer to the loaded recording | ChaosVDPlaybackController.h | |
int32 GetFrameRateOverride() |
Returns the frame rate override value | ChaosVDPlaybackController.h | |
float GetFrameTimeForTrack
(
EChaosVDTrackType TrackType, |
Returns the the recorded frame time for the provided track info | ChaosVDPlaybackController.h | |
float GetFrameTimeOverride() |
Returns the frame rate override value, as frame time | ChaosVDPlaybackController.h | |
void GetMutableAvailableTracks
(
EChaosVDTrackType TrackType, |
ChaosVDPlaybackController.h | ||
TSharedPtr< FChaosVDTrackInfo > GetMutableTrackInfo
(
EChaosVDTrackType TrackType, |
Gets the track info of the specified type with the specified ID | ChaosVDPlaybackController.h | |
EChaosVDSyncTimelinesMode GetTimelineSyncMode() |
Returns the current sync mode for tracks | ChaosVDPlaybackController.h | |
int32 GetTrackCurrentFrame
(
EChaosVDTrackType TrackType, |
Gets the current frame number at which the specified track is at | ChaosVDPlaybackController.h | |
int32 GetTrackCurrentStage
(
EChaosVDTrackType TrackType, |
Gets the number of available frames for the specified track | ChaosVDPlaybackController.h | |
int32 GetTrackFramesNumber
(
EChaosVDTrackType TrackType, |
Gets the number of available frames for the specified track | ChaosVDPlaybackController.h | |
int32 GetTrackFramesNumber_AssumesLocked
(
EChaosVDTrackType TrackType, |
ChaosVDPlaybackController.h | ||
TSharedPtr< const FChaosVDTrackInfo > GetTrackInfo
(
EChaosVDTrackType TrackType, |
Gets the track info of the specified type with the specified ID | ChaosVDPlaybackController.h | |
int32 GetTrackLastStageAtFrame
(
EChaosVDTrackType TrackType, |
Gets the index number of the last stage available (available stages -1) | ChaosVDPlaybackController.h | |
int32 GetTrackLastStageAtFrame_AssumesLocked
(
EChaosVDTrackType TrackType, |
ChaosVDPlaybackController.h | ||
void GetTracksByType
(
EChaosVDTrackType Type, |
Gathers all track states of the specified type | ChaosVDPlaybackController.h | |
const FChaosVDFrameStagesContainer * GetTrackStagesDataAtFrame_AssumesLocked
(
EChaosVDTrackType TrackType, |
Gets the available stages container in a track at the specified frame | ChaosVDPlaybackController.h | |
int32 GetTrackStagesNumberAtFrame_AssumesLocked
(
EChaosVDTrackType TrackType, |
Gets the number of available stages in a track at the specified frame | ChaosVDPlaybackController.h | |
TSharedPtr< const FChaosVDTrackInfo > GetTrackToReSyncFromOnModeChange
(
EChaosVDSyncTimelinesMode SyncMode |
Finds and returns a track instance that can be used as sync point for the new timeline mode change | ChaosVDPlaybackController.h | |
TSharedPtr< const FChaosVDTrackInfo > GetTrackToReSyncFromOnModeChange_AssumesLocked
(
EChaosVDSyncTimelinesMode SyncMode |
ChaosVDPlaybackController.h | ||
void GoToTrackFrame
(
FGuid InstigatorID, |
Moves a track of the recording to the specified stage and frame numbers | ChaosVDPlaybackController.h | |
void GoToTrackFrame_AssumesLocked
(
FGuid InstigatorID, |
ChaosVDPlaybackController.h | ||
void GoToTrackFrame_AssumesLockedAndSync
(
FGuid InstigatorID, |
ChaosVDPlaybackController.h | ||
void GoToTrackFrameAndSync
(
FGuid InstigatorID, |
Moves a track of the recording to the specified stage and frame numbers. | ChaosVDPlaybackController.h | |
void HandleDisconnectedFromSession() |
Updates the loaded recording state to indicate is not longer receiving live updates | ChaosVDPlaybackController.h | |
void HandleFramePlaybackControlInput
(
EChaosVDPlaybackButtonsID ButtonID, |
Handles an external playback control input (usually from the UI) for a frame | ChaosVDPlaybackController.h | |
void HandleFrameStagePlaybackControlInput
(
EChaosVDPlaybackButtonsID ButtonID, |
Handles an external playback control input (usually from the UI) for a solver stage | ChaosVDPlaybackController.h | |
bool IsCompatibleWithSyncMode
(
const TSharedRef< const FChaosVDTrackInfo >& InTrackRef, |
Checks if the provided track is compatible with a specific sync mode | ChaosVDPlaybackController.h | |
bool IsPlaying() |
Returns true if we are in continuous playback mode | ChaosVDPlaybackController.h | |
bool IsPlayingLiveSession() |
Returns true if we are playing a live debugging session | ChaosVDPlaybackController.h | |
bool IsRecordingLoaded() |
Returns true if the controller has a valid recording loaded | ChaosVDPlaybackController.h | |
bool IsScrubbingTimeline() |
ChaosVDPlaybackController.h | ||
bool IsTrackVisible
(
EChaosVDTrackType Type, |
Return the current visibility state of the specified track | ChaosVDPlaybackController.h | |
bool IsUsingFrameRateOverride() |
Returns if we are playing back at a custom framerate instead of the recorded framerate | ChaosVDPlaybackController.h | |
bool LoadChaosVDRecordingFromTraceSession
(
const FChaosVDTraceSessionDescriptor& InSessionDescriptor |
Loads a recording using a CVD Trace Session Descriptor | ChaosVDPlaybackController.h | |
void LockTrackInCurrentStage
(
EChaosVDTrackType TrackType, |
Locks the stages timeline of a given track so each time you move between frames, it will automatically scrub to the locked in stage | ChaosVDPlaybackController.h | |
FChaosVDPlaybackControllerUpdated & OnDataUpdated() |
Called when data on the recording being controlled gets updated internally or externally (for example, during Trace Analysis) | ChaosVDPlaybackController.h | |
FChaosVDPlaybackControllerFrameUpdated & OnTrackFrameUpdated() |
Called when a frame on a track is updated | ChaosVDPlaybackController.h | |
void SetFrameRateOverride
(
float NewFrameRateOverride |
Sets the desired framerate override value | ChaosVDPlaybackController.h | |
void SetScrubbingTimeline
(
bool bNewIsScrubbingTimeline |
ChaosVDPlaybackController.h | ||
void SetTimelineSyncMode
(
EChaosVDSyncTimelinesMode SyncMode |
Sets a new sync mode to be used between tracks | ChaosVDPlaybackController.h | |
void StopPlayback
(
const FGuid& InstigatorGUID |
Stops the playback (if active) | ChaosVDPlaybackController.h | |
void SyncTracks
(
const TSharedRef< const FChaosVDTrackInfo >& FromTrack, |
Scrubs all tracks to the correct frame to be in sync with the provided track | ChaosVDPlaybackController.h | |
void SyncTracks_AssumesLocked
(
const TSharedRef< const FChaosVDTrackInfo >& FromTrack, |
ChaosVDPlaybackController.h | ||
void TickPlayback
(
float DeltaTime |
Advances the playback | ChaosVDPlaybackController.h | |
void ToggleTrackSyncEnabled
(
const TSharedRef< const FChaosVDTrackInfo >& InTrackInfoRef |
Toggles the sync functionality on the provided track | ChaosVDPlaybackController.h | |
bool ToggleUseFrameRateOverride() |
Toggles on or off the framerate override feature | ChaosVDPlaybackController.h | |
void TrySetActiveTrack
(
int32 SlotIndex |
Attempts to set the track on the specified slot as active. | ChaosVDPlaybackController.h | |
void TrySetActiveTrack
(
const TSharedRef< const FChaosVDTrackInfo >& NewActiveTrack |
Attempts to set the provided track as active. | ChaosVDPlaybackController.h | |
void UnloadCurrentRecording
(
EChaosVDUnloadRecordingFlags UnloadOptions |
Unloads the currently loaded recording | ChaosVDPlaybackController.h | |
void UnlockTrackStage
(
EChaosVDTrackType TrackType, |
UnLocks the stages timeline of a given track so each time you move between frames, it will automatically scrub to the default stage | ChaosVDPlaybackController.h | |
void UpdateTrackVisibility
(
EChaosVDTrackType Type, |
Changes the visibility of a specific track | ChaosVDPlaybackController.h |
Overridden from FTSTickerObjectBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool Tick
(
float DeltaTime |
ChaosVDPlaybackController.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TSharedRef< FChaosVDTrackInfo > CreateTrackInfo
(
int32 SlotIndex |
ChaosVDPlaybackController.h | ||
void EnqueueTrackInfoUpdate
(
const TSharedRef< const FChaosVDTrackInfo >& InTrackInfo, |
Add the provided track info update to the queue. The update will be broadcast in the game thread | ChaosVDPlaybackController.h | |
void GoToRecordedGameFrame_AssumesLocked
(
int32 FrameNumber, |
Updates the controlled scene with the loaded data at specified game frame | ChaosVDPlaybackController.h | |
void GoToRecordedSolverStage_AssumesLocked
(
int32 InTrackID, |
Updates the controlled scene with the loaded data at specified solver frame and solver Stage | ChaosVDPlaybackController.h | |
void HandleCurrentRecordingUpdated() |
Handles any data changes on the loaded recording - Usually called during Trace analysis | ChaosVDPlaybackController.h | |
void PlayFromClosestKeyFrame_AssumesLocked
(
int32 InTrackID, |
Finds the closest Key frame to the provided frame number, and plays all the following frames until the specified frame number (no inclusive) | ChaosVDPlaybackController.h | |
void PlaySolverStageData
(
int32 TrackID, |
ChaosVDPlaybackController.h | ||
void UpdateSolverTracksData() |
Updates (or adds) solvers data from the loaded recording to the solver tracks | ChaosVDPlaybackController.h | |
void VisitAvailableTracks
(
const TVisitorCallback& VisitorCallback |
ChaosVDPlaybackController.h |