UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ILiveLinkClient Class Referenceabstract

#include <ILiveLinkClient.h>

+ Inheritance diagram for ILiveLinkClient:

Public Member Functions

virtual ~ILiveLinkClient ()
 
virtual FGuid AddSource (TSharedPtr< ILiveLinkSource > Source)=0
 
virtual FGuid AddVirtualSubjectSource (FName SourceName)=0
 
virtual bool CreateSource (const FLiveLinkSourcePreset &SourcePreset)=0
 
virtual void RemoveSource (TSharedPtr< ILiveLinkSource > Source)=0
 
virtual void RemoveSource (FGuid SourceGuid)=0
 
virtual bool HasSourceBeenAdded (TSharedPtr< ILiveLinkSource > Source) const =0
 
virtual TArray< FGuidGetSources (bool bEvenIfPendingKill=false) const =0
 
virtual TArray< FGuidGetVirtualSources (bool bEvenIfPendingKill=false) const =0
 
virtual FLiveLinkSourcePreset GetSourcePreset (FGuid SourceGuid, UObject *DuplicatedObjectOuter) const =0
 
virtual FText GetSourceType (FGuid SourceGuid) const =0
 
virtual FText GetSourceStatus (FGuid EntryGuid) const =0
 
virtual FText GetSourceToolTip (FGuid EntryGuid) const =0
 
virtual FText GetSourceMachineName (FGuid EntryGuid) const =0
 
virtual bool IsSourceStillValid (FGuid EntryGuid) const =0
 
virtual void PushSubjectStaticData_AnyThread (const FLiveLinkSubjectKey &SubjectKey, TSubclassOf< ULiveLinkRole > Role, FLiveLinkStaticDataStruct &&StaticData)=0
 
virtual void PushSubjectFrameData_AnyThread (const FLiveLinkSubjectKey &SubjectKey, FLiveLinkFrameDataStruct &&FrameData)=0
 
virtual bool CreateSubject (const FLiveLinkSubjectPreset &SubjectPreset)=0
 
virtual bool AddVirtualSubject (const FLiveLinkSubjectKey &VirtualSubjectKey, TSubclassOf< ULiveLinkVirtualSubject > VirtualSubjectClass)=0
 
virtual void RemoveVirtualSubject (const FLiveLinkSubjectKey &VirtualSubjectKey)=0
 
virtual void RemoveSubject_AnyThread (const FLiveLinkSubjectKey &SubjectName)=0
 
virtual void PauseSubject_AnyThread (FLiveLinkSubjectName SubjectName)=0
 
virtual void UnpauseSubject_AnyThread (FLiveLinkSubjectName SubjectName)=0
 
virtual void ClearSubjectsFrames_AnyThread (FLiveLinkSubjectName SubjectName)=0
 
virtual void ClearSubjectsFrames_AnyThread (const FLiveLinkSubjectKey &SubjectKey)=0
 
virtual void ClearAllSubjectsFrames_AnyThread ()=0
 
virtual TSubclassOf< ULiveLinkRoleGetSubjectRole_AnyThread (const FLiveLinkSubjectKey &SubjectKey) const =0
 
virtual TSubclassOf< ULiveLinkRoleGetSubjectRole_AnyThread (FLiveLinkSubjectName SubjectName) const =0
 
virtual TSubclassOf< ULiveLinkRoleGetSubjectTranslatedRole_AnyThread (const FLiveLinkSubjectKey &SubjectKey) const =0
 
virtual bool DoesSubjectSupportsRole_AnyThread (const FLiveLinkSubjectKey &SubjectKey, TSubclassOf< ULiveLinkRole > SupportedRole) const =0
 
virtual bool DoesSubjectSupportsRole_AnyThread (FLiveLinkSubjectName SubjectName, TSubclassOf< ULiveLinkRole > SupportedRole) const =0
 
virtual FLiveLinkSubjectPreset GetSubjectPreset (const FLiveLinkSubjectKey &SubjectKey, UObject *DuplicatedObjectOuter) const =0
 
virtual TArray< FLiveLinkSubjectKeyGetSubjects (bool bIncludeDisabledSubject, bool bIncludeVirtualSubject) const =0
 
virtual bool IsSubjectValid (const FLiveLinkSubjectKey &SubjectKey) const =0
 
virtual bool IsSubjectValid (FLiveLinkSubjectName SubjectName) const =0
 
virtual bool IsSubjectEnabled (const FLiveLinkSubjectKey &SubjectKey, bool bForThisFrame) const =0
 
virtual bool IsSubjectEnabled (FLiveLinkSubjectName SubjectName) const =0
 
virtual void SetSubjectEnabled (const FLiveLinkSubjectKey &SubjectKey, bool bEnabled)=0
 
virtual bool IsSubjectTimeSynchronized (const FLiveLinkSubjectKey &SubjectKey) const =0
 
virtual bool IsSubjectTimeSynchronized (FLiveLinkSubjectName SubjectName) const =0
 
virtual bool IsVirtualSubject (const FLiveLinkSubjectKey &SubjectKey) const =0
 
virtual ELiveLinkSubjectState GetSubjectState (FLiveLinkSubjectName InSubjectName) const =0
 
virtual TArray< FLiveLinkSubjectKeyGetSubjectsSupportingRole (TSubclassOf< ULiveLinkRole > SupportedRole, bool bIncludeDisabledSubject, bool bIncludeVirtualSubject) const =0
 
virtual TArray< FLiveLinkTimeGetSubjectFrameTimes (const FLiveLinkSubjectKey &SubjectKey) const =0
 
virtual ULiveLinkSourceSettingsGetSourceSettings (const FGuid &SourceKey) const =0
 
virtual TArray< FLiveLinkTimeGetSubjectFrameTimes (FLiveLinkSubjectName SubjectName) const =0
 
virtual UObjectGetSubjectSettings (const FLiveLinkSubjectKey &SubjectKey) const =0
 
virtual FText GetSourceNameOverride (const FLiveLinkSubjectKey &SubjectKey) const =0
 
virtual FText GetSubjectDisplayName (const FLiveLinkSubjectKey &SubjectKey) const =0
 
virtual const FLiveLinkStaticDataStructGetSubjectStaticData_AnyThread (const FLiveLinkSubjectKey &InSubjectKey, bool bGetOverrideData=true) const =0
 
virtual bool EvaluateFrameFromSource_AnyThread (const FLiveLinkSubjectKey &SubjectKey, TSubclassOf< ULiveLinkRole > Role, FLiveLinkSubjectFrameData &OutFrame)=0
 
virtual bool EvaluateFrame_AnyThread (FLiveLinkSubjectName SubjectName, TSubclassOf< ULiveLinkRole > Role, FLiveLinkSubjectFrameData &OutFrame)=0
 
virtual bool EvaluateFrameAtWorldTime_AnyThread (FLiveLinkSubjectName SubjectName, double WorldTime, TSubclassOf< ULiveLinkRole > DesiredRole, FLiveLinkSubjectFrameData &OutFrame)=0
 
virtual bool EvaluateFrameAtSceneTime_AnyThread (FLiveLinkSubjectName SubjectName, const FTimecode &SceneTime, TSubclassOf< ULiveLinkRole > DesiredRole, FLiveLinkSubjectFrameData &OutFrame)
 
virtual bool EvaluateFrameAtSceneTime_AnyThread (FLiveLinkSubjectName SubjectName, const FQualifiedFrameTime &SceneTime, TSubclassOf< ULiveLinkRole > DesiredRole, FLiveLinkSubjectFrameData &OutFrame)=0
 
virtual FSimpleMulticastDelegateOnLiveLinkTicked ()=0
 
virtual void ForceTick ()=0
 
virtual bool HasPendingSubjectFrames ()=0
 
virtual void ClearOverrideStaticData_AnyThread (const FLiveLinkSubjectKey &InSubjectKey)=0
 
virtual FSimpleMulticastDelegateOnLiveLinkSourcesChanged ()=0
 
virtual FSimpleMulticastDelegateOnLiveLinkSubjectsChanged ()=0
 
virtual FOnLiveLinkSourceChangedDelegateOnLiveLinkSourceAdded ()=0
 
virtual FOnLiveLinkSourceChangedDelegateOnLiveLinkSourceRemoved ()=0
 
virtual FOnLiveLinkSubjectChangedDelegateOnLiveLinkSubjectAdded ()=0
 
virtual FOnLiveLinkSubjectChangedDelegateOnLiveLinkSubjectRemoved ()=0
 
virtual FOnLiveLinkSubjectStateChangedOnLiveLinkSubjectStateChanged ()=0
 
virtual FOnLiveLinkSubjectEnabledDelegateOnLiveLinkSubjectEnabledChanged ()=0
 
virtual void RegisterForFrameDataReceived (const FLiveLinkSubjectKey &InSubjectKey, const FOnLiveLinkSubjectStaticDataReceived::FDelegate &OnStaticDataReceived_AnyThread, const FOnLiveLinkSubjectFrameDataReceived::FDelegate &OnFrameDataReceived_AnyThread, FDelegateHandle &OutStaticDataReceivedHandle, FDelegateHandle &OutFrameDataReceivedHandleconst)=0
 
virtual void UnregisterForFrameDataReceived (const FLiveLinkSubjectKey &InSubjectKey, FDelegateHandle InStaticDataReceivedHandle, FDelegateHandle InFrameDataReceivedHandle)=0
 
virtual bool RegisterForSubjectFrames (FLiveLinkSubjectName SubjectName, const FOnLiveLinkSubjectStaticDataAdded::FDelegate &OnStaticDataAdded, const FOnLiveLinkSubjectFrameDataAdded::FDelegate &OnFrameDataAddedd, FDelegateHandle &OutStaticDataAddedHandle, FDelegateHandle &OutFrameDataAddeddHandle, TSubclassOf< ULiveLinkRole > &OutSubjectRole, FLiveLinkStaticDataStruct *OutStaticData=nullptr)=0
 
virtual void UnregisterSubjectFramesHandle (FLiveLinkSubjectName SubjectName, FDelegateHandle StaticDataAddedHandle, FDelegateHandle FrameDataAddedHandle)=0
 

Static Public Attributes

static const int32 LIVELINK_VERSION = 2
 
static UE_API FName ModularFeatureName = "ModularFeature_LiveLinkClient"
 

Detailed Description

Interface for streaming and consuming data from external sources into UE4. A LiveLinkSource, may stream multiple LiveLinkSubject. Pushing and evaluating data can be executed on any thread. The other functions must be executed on the Game Thread. Subject may shared name between sources, but only 1 of those subjects may be enabled.

Constructor & Destructor Documentation

◆ ~ILiveLinkClient()

virtual ILiveLinkClient::~ILiveLinkClient ( )
inlinevirtual

Member Function Documentation

◆ AddSource()

virtual FGuid ILiveLinkClient::AddSource ( TSharedPtr< ILiveLinkSource Source)
pure virtual

Add a new live link source to the client

◆ AddVirtualSubject()

virtual bool ILiveLinkClient::AddVirtualSubject ( const FLiveLinkSubjectKey VirtualSubjectKey,
TSubclassOf< ULiveLinkVirtualSubject VirtualSubjectClass 
)
pure virtual

Add a new virtual subject to the client

◆ AddVirtualSubjectSource()

virtual FGuid ILiveLinkClient::AddVirtualSubjectSource ( FName  SourceName)
pure virtual

Add a new live link VirtualSubject source to the client

◆ ClearAllSubjectsFrames_AnyThread()

virtual void ILiveLinkClient::ClearAllSubjectsFrames_AnyThread ( )
pure virtual

Clear all subjects frames

◆ ClearOverrideStaticData_AnyThread()

virtual void ILiveLinkClient::ClearOverrideStaticData_AnyThread ( const FLiveLinkSubjectKey InSubjectKey)
pure virtual

Claer the override static data used by the subject remapper.

◆ ClearSubjectsFrames_AnyThread() [1/2]

virtual void ILiveLinkClient::ClearSubjectsFrames_AnyThread ( const FLiveLinkSubjectKey SubjectKey)
pure virtual

Clear the stored frames associated with the subject

◆ ClearSubjectsFrames_AnyThread() [2/2]

virtual void ILiveLinkClient::ClearSubjectsFrames_AnyThread ( FLiveLinkSubjectName  SubjectName)
pure virtual

Clear the stored frames associated with the enabled subject

◆ CreateSource()

virtual bool ILiveLinkClient::CreateSource ( const FLiveLinkSourcePreset SourcePreset)
pure virtual

Create from the factory a new live link source and add it to the client. The settings will be duplicated.

◆ CreateSubject()

virtual bool ILiveLinkClient::CreateSubject ( const FLiveLinkSubjectPreset SubjectPreset)
pure virtual

Create and add a new live link subject to the client

◆ DoesSubjectSupportsRole_AnyThread() [1/2]

virtual bool ILiveLinkClient::DoesSubjectSupportsRole_AnyThread ( const FLiveLinkSubjectKey SubjectKey,
TSubclassOf< ULiveLinkRole SupportedRole 
) const
pure virtual

Whether a subject support a particular role, either directly or through a translator

◆ DoesSubjectSupportsRole_AnyThread() [2/2]

virtual bool ILiveLinkClient::DoesSubjectSupportsRole_AnyThread ( FLiveLinkSubjectName  SubjectName,
TSubclassOf< ULiveLinkRole SupportedRole 
) const
pure virtual

Whether a subject support a particular role, either directly or through a translator

◆ EvaluateFrame_AnyThread()

virtual bool ILiveLinkClient::EvaluateFrame_AnyThread ( FLiveLinkSubjectName  SubjectName,
TSubclassOf< ULiveLinkRole Role,
FLiveLinkSubjectFrameData OutFrame 
)
pure virtual

Return the evaluated subject snapshot for a specific role. The subject may go through a translator to get the desired role's frame data.

Returns
True if the snapshot is valid.
Note
This will always return the same value for a specific frame.
See also
ULiveLinkSourceSettings

◆ EvaluateFrameAtSceneTime_AnyThread() [1/2]

virtual bool ILiveLinkClient::EvaluateFrameAtSceneTime_AnyThread ( FLiveLinkSubjectName  SubjectName,
const FQualifiedFrameTime SceneTime,
TSubclassOf< ULiveLinkRole DesiredRole,
FLiveLinkSubjectFrameData OutFrame 
)
pure virtual

Evaluates a subject for a specific role at a scene time. The subject may go through a translator to get the desired role's frame data. If it's a virtual subject EvaluateFrame_AnyThread will be used instead.

Returns
True if a frame data was calculated.
Note
This value is not cached.
See also
ULiveLinkSourceSettings

◆ EvaluateFrameAtSceneTime_AnyThread() [2/2]

virtual bool ILiveLinkClient::EvaluateFrameAtSceneTime_AnyThread ( FLiveLinkSubjectName  SubjectName,
const FTimecode SceneTime,
TSubclassOf< ULiveLinkRole DesiredRole,
FLiveLinkSubjectFrameData OutFrame 
)
inlinevirtual

◆ EvaluateFrameAtWorldTime_AnyThread()

virtual bool ILiveLinkClient::EvaluateFrameAtWorldTime_AnyThread ( FLiveLinkSubjectName  SubjectName,
double  WorldTime,
TSubclassOf< ULiveLinkRole DesiredRole,
FLiveLinkSubjectFrameData OutFrame 
)
pure virtual

Evaluates a subject for a specific role. The subject may go through a translator to get the desired role's frame data. If it's a virtual subject EvaluateFrame_AnyThread will be used instead.

Returns
True if a frame data was calculated.
Note
This value is not cached.
See also
ULiveLinkSourceSettings

◆ EvaluateFrameFromSource_AnyThread()

virtual bool ILiveLinkClient::EvaluateFrameFromSource_AnyThread ( const FLiveLinkSubjectKey SubjectKey,
TSubclassOf< ULiveLinkRole Role,
FLiveLinkSubjectFrameData OutFrame 
)
pure virtual

Return the evaluated subject from a specific source snapshot for a specific role. A subject could have to go through a translator to output in the desired role.

Note
This will always return the same value for a specific frame.
The prefer method is EvaluateFrame_AnyThread this method should be used for diagnostic or replication.

◆ ForceTick()

virtual void ILiveLinkClient::ForceTick ( )
pure virtual

Performs an internal Tick(). This is to be used when we want to run live link outside of the normal engine tick workflow, for example when we need to export data that requires live link evaluation during the export process.

◆ GetSourceMachineName()

virtual FText ILiveLinkClient::GetSourceMachineName ( FGuid  EntryGuid) const
pure virtual

Get the machine name of the source.

◆ GetSourceNameOverride()

virtual FText ILiveLinkClient::GetSourceNameOverride ( const FLiveLinkSubjectKey SubjectKey) const
pure virtual

Get the source name override for a given subject. Allows subjects to modify the source's display name in the UI when needed.

◆ GetSourcePreset()

virtual FLiveLinkSourcePreset ILiveLinkClient::GetSourcePreset ( FGuid  SourceGuid,
UObject DuplicatedObjectOuter 
) const
pure virtual

Get the source preset from the live link client. The settings will be duplicated into DuplicatedObjectOuter.

◆ GetSources()

virtual TArray< FGuid > ILiveLinkClient::GetSources ( bool  bEvenIfPendingKill = false) const
pure virtual

Get a list of all the sources

Parameters
bEvenIfPendingKillWhether or not to include sources that are pending kill.
Returns
the list of sources.

◆ GetSourceSettings()

virtual ULiveLinkSourceSettings * ILiveLinkClient::GetSourceSettings ( const FGuid SourceKey) const
pure virtual

Get the Settings of this source.

◆ GetSourceStatus()

virtual FText ILiveLinkClient::GetSourceStatus ( FGuid  EntryGuid) const
pure virtual

Get the status of a source

◆ GetSourceToolTip()

virtual FText ILiveLinkClient::GetSourceToolTip ( FGuid  EntryGuid) const
pure virtual

Get the tooltip of a source

◆ GetSourceType()

virtual FText ILiveLinkClient::GetSourceType ( FGuid  SourceGuid) const
pure virtual

Get the type of a source

◆ GetSubjectDisplayName()

virtual FText ILiveLinkClient::GetSubjectDisplayName ( const FLiveLinkSubjectKey SubjectKey) const
pure virtual

Get the display name for a subject. Returns an empty text if the source is invalid.

◆ GetSubjectFrameTimes() [1/2]

virtual TArray< FLiveLinkTime > ILiveLinkClient::GetSubjectFrameTimes ( const FLiveLinkSubjectKey SubjectKey) const
pure virtual

Get the time of all the frames for a specific subject, including computed offsets.

Note
Use for debugging purposes.

◆ GetSubjectFrameTimes() [2/2]

virtual TArray< FLiveLinkTime > ILiveLinkClient::GetSubjectFrameTimes ( FLiveLinkSubjectName  SubjectName) const
pure virtual

Get the time of all the frames for a specific subject, including computed offsets.

Note
Use for debugging purposes.

◆ GetSubjectPreset()

virtual FLiveLinkSubjectPreset ILiveLinkClient::GetSubjectPreset ( const FLiveLinkSubjectKey SubjectKey,
UObject DuplicatedObjectOuter 
) const
pure virtual

Get the subject preset from the live link client. The settings will be duplicated into DuplicatedObjectOuter.

◆ GetSubjectRole_AnyThread() [1/2]

virtual TSubclassOf< ULiveLinkRole > ILiveLinkClient::GetSubjectRole_AnyThread ( const FLiveLinkSubjectKey SubjectKey) const
pure virtual

Get the role of a subject from a specific source

◆ GetSubjectRole_AnyThread() [2/2]

virtual TSubclassOf< ULiveLinkRole > ILiveLinkClient::GetSubjectRole_AnyThread ( FLiveLinkSubjectName  SubjectName) const
pure virtual

Get the role of the subject with this name

◆ GetSubjects()

virtual TArray< FLiveLinkSubjectKey > ILiveLinkClient::GetSubjects ( bool  bIncludeDisabledSubject,
bool  bIncludeVirtualSubject 
) const
pure virtual

Get a list of all subjects

◆ GetSubjectSettings()

virtual UObject * ILiveLinkClient::GetSubjectSettings ( const FLiveLinkSubjectKey SubjectKey) const
pure virtual

Get the Settings of this subject.

Note
If subject is a VirtualSubject, the VirtualSubject itself is returned.

◆ GetSubjectsSupportingRole()

virtual TArray< FLiveLinkSubjectKey > ILiveLinkClient::GetSubjectsSupportingRole ( TSubclassOf< ULiveLinkRole SupportedRole,
bool  bIncludeDisabledSubject,
bool  bIncludeVirtualSubject 
) const
pure virtual

Get a list of name of subjects supporting a certain role

◆ GetSubjectState()

virtual ELiveLinkSubjectState ILiveLinkClient::GetSubjectState ( FLiveLinkSubjectName  InSubjectName) const
pure virtual

Returns the state of the given subject name.

◆ GetSubjectStaticData_AnyThread()

virtual const FLiveLinkStaticDataStruct * ILiveLinkClient::GetSubjectStaticData_AnyThread ( const FLiveLinkSubjectKey InSubjectKey,
bool  bGetOverrideData = true 
) const
pure virtual

Utility method to grab a subject's static data. Used by the RecordingController when static data is missing from the recording.

Parameters
InSubjectKeyThe subject key to use.
bGetOverrideDataWhether to get static override data if it exists.

◆ GetSubjectTranslatedRole_AnyThread()

virtual TSubclassOf< ULiveLinkRole > ILiveLinkClient::GetSubjectTranslatedRole_AnyThread ( const FLiveLinkSubjectKey SubjectKey) const
pure virtual

Get the translated role of a subject (if it's being translated before being rebroadcast). If the subject is not being translated, this function will return an invalid TSubclassOf.

◆ GetVirtualSources()

virtual TArray< FGuid > ILiveLinkClient::GetVirtualSources ( bool  bEvenIfPendingKill = false) const
pure virtual

Get a list of all the VirtualSubjects sources

Parameters
bEvenIfPendingKillWhether or not to include sources that are pending kill.
Returns
the list of sources.

◆ HasPendingSubjectFrames()

virtual bool ILiveLinkClient::HasPendingSubjectFrames ( )
pure virtual

Returns true if the client has pending subject frames to process during its next tick

◆ HasSourceBeenAdded()

virtual bool ILiveLinkClient::HasSourceBeenAdded ( TSharedPtr< ILiveLinkSource Source) const
pure virtual

Is the source been added

◆ IsSourceStillValid()

virtual bool ILiveLinkClient::IsSourceStillValid ( FGuid  EntryGuid) const
pure virtual

Returns whether the Source is connected to its data provider and can still push valid data.

◆ IsSubjectEnabled() [1/2]

virtual bool ILiveLinkClient::IsSubjectEnabled ( const FLiveLinkSubjectKey SubjectKey,
bool  bForThisFrame 
) const
pure virtual

Whether or not a subject from the specific source is the enabled subject. Only 1 subject with the same name can be enabled. At the start of the frame, a snapshot of the enabled subjects will be made. That snapshot dictate which subject will be used for the duration of that frame.

◆ IsSubjectEnabled() [2/2]

virtual bool ILiveLinkClient::IsSubjectEnabled ( FLiveLinkSubjectName  SubjectName) const
pure virtual

Whether or not the client has a subject with this name enabled Only 1 subject with the same name can be enabled. At the start of the frame, a snapshot of the enabled subjects will be made. That snapshot dictate which subject will be used for the duration of that frame.

◆ IsSubjectTimeSynchronized() [1/2]

virtual bool ILiveLinkClient::IsSubjectTimeSynchronized ( const FLiveLinkSubjectKey SubjectKey) const
pure virtual

Whether or not the subject's data, from a specific source, is time synchronized or not

◆ IsSubjectTimeSynchronized() [2/2]

virtual bool ILiveLinkClient::IsSubjectTimeSynchronized ( FLiveLinkSubjectName  SubjectName) const
pure virtual

Whether or not the subject's data is time synchronized or not

◆ IsSubjectValid() [1/2]

virtual bool ILiveLinkClient::IsSubjectValid ( const FLiveLinkSubjectKey SubjectKey) const
pure virtual

Whether or not a subject from a specific source is valid and has valid snapshot data

◆ IsSubjectValid() [2/2]

virtual bool ILiveLinkClient::IsSubjectValid ( FLiveLinkSubjectName  SubjectName) const
pure virtual

Whether or not the client has a subject with this name that is valid and has valid snapshot data

◆ IsVirtualSubject()

virtual bool ILiveLinkClient::IsVirtualSubject ( const FLiveLinkSubjectKey SubjectKey) const
pure virtual

Whether the subject key points to a virtual subject

◆ OnLiveLinkSourceAdded()

virtual FOnLiveLinkSourceChangedDelegate & ILiveLinkClient::OnLiveLinkSourceAdded ( )
pure virtual

Notify when a new source has been added

◆ OnLiveLinkSourceRemoved()

virtual FOnLiveLinkSourceChangedDelegate & ILiveLinkClient::OnLiveLinkSourceRemoved ( )
pure virtual

Notify when a source has been removed

◆ OnLiveLinkSourcesChanged()

virtual FSimpleMulticastDelegate & ILiveLinkClient::OnLiveLinkSourcesChanged ( )
pure virtual

Notify when the list of sources has changed.

◆ OnLiveLinkSubjectAdded()

virtual FOnLiveLinkSubjectChangedDelegate & ILiveLinkClient::OnLiveLinkSubjectAdded ( )
pure virtual

Notify when a new subject has been added

◆ OnLiveLinkSubjectEnabledChanged()

virtual FOnLiveLinkSubjectEnabledDelegate & ILiveLinkClient::OnLiveLinkSubjectEnabledChanged ( )
pure virtual

Notify when a subject is enabled or disabled.

◆ OnLiveLinkSubjectRemoved()

virtual FOnLiveLinkSubjectChangedDelegate & ILiveLinkClient::OnLiveLinkSubjectRemoved ( )
pure virtual

Notify when a subject has been removed

◆ OnLiveLinkSubjectsChanged()

virtual FSimpleMulticastDelegate & ILiveLinkClient::OnLiveLinkSubjectsChanged ( )
pure virtual

Notify when the list of subject has changed.

◆ OnLiveLinkSubjectStateChanged()

virtual FOnLiveLinkSubjectStateChanged & ILiveLinkClient::OnLiveLinkSubjectStateChanged ( )
pure virtual

Notify when a subject's state has changed.

◆ OnLiveLinkTicked()

virtual FSimpleMulticastDelegate & ILiveLinkClient::OnLiveLinkTicked ( )
pure virtual

Notify when the LiveLinkClient has ticked.

◆ PauseSubject_AnyThread()

virtual void ILiveLinkClient::PauseSubject_AnyThread ( FLiveLinkSubjectName  SubjectName)
pure virtual

Pause a subject. It will keep its subject snapshot until it's unpaused.

◆ PushSubjectFrameData_AnyThread()

virtual void ILiveLinkClient::PushSubjectFrameData_AnyThread ( const FLiveLinkSubjectKey SubjectKey,
FLiveLinkFrameDataStruct &&  FrameData 
)
pure virtual

Push frame data for a specific subject for a certain role

◆ PushSubjectStaticData_AnyThread()

virtual void ILiveLinkClient::PushSubjectStaticData_AnyThread ( const FLiveLinkSubjectKey SubjectKey,
TSubclassOf< ULiveLinkRole Role,
FLiveLinkStaticDataStruct &&  StaticData 
)
pure virtual

Push static data for a specific subject for a certain role. This will clear all buffered frames

◆ RegisterForFrameDataReceived()

virtual void ILiveLinkClient::RegisterForFrameDataReceived ( const FLiveLinkSubjectKey InSubjectKey,
const FOnLiveLinkSubjectStaticDataReceived::FDelegate &  OnStaticDataReceived_AnyThread,
const FOnLiveLinkSubjectFrameDataReceived::FDelegate &  OnFrameDataReceived_AnyThread,
FDelegateHandle OutStaticDataReceivedHandle,
FDelegateHandle OutFrameDataReceivedHandleconst 
)
pure virtual

Register for when a frame data was received. This will be called as soon as it is received. It has not been validated or added. The frame is not ready to be used. The callback may be call on any thread.

◆ RegisterForSubjectFrames()

virtual bool ILiveLinkClient::RegisterForSubjectFrames ( FLiveLinkSubjectName  SubjectName,
const FOnLiveLinkSubjectStaticDataAdded::FDelegate &  OnStaticDataAdded,
const FOnLiveLinkSubjectFrameDataAdded::FDelegate &  OnFrameDataAddedd,
FDelegateHandle OutStaticDataAddedHandle,
FDelegateHandle OutFrameDataAddeddHandle,
TSubclassOf< ULiveLinkRole > &  OutSubjectRole,
FLiveLinkStaticDataStruct OutStaticData = nullptr 
)
pure virtual

Register for when a frame has been validated, added and ready to be used. If provided, OutStaticData may be invalid if the Subject has not received Static Data, or if the static data has not been processed yet.

Returns
True if the subject was found and the delegates were registered. False otherwise.

◆ RemoveSource() [1/2]

virtual void ILiveLinkClient::RemoveSource ( FGuid  SourceGuid)
pure virtual

Remove the source specified by the source Id from the live link client

◆ RemoveSource() [2/2]

virtual void ILiveLinkClient::RemoveSource ( TSharedPtr< ILiveLinkSource Source)
pure virtual

Remove the specified source from the live link client

◆ RemoveSubject_AnyThread()

virtual void ILiveLinkClient::RemoveSubject_AnyThread ( const FLiveLinkSubjectKey SubjectName)
pure virtual

Clear the subject from the specific source

◆ RemoveVirtualSubject()

virtual void ILiveLinkClient::RemoveVirtualSubject ( const FLiveLinkSubjectKey VirtualSubjectKey)
pure virtual

Removes a virtual subject from the client

◆ SetSubjectEnabled()

virtual void ILiveLinkClient::SetSubjectEnabled ( const FLiveLinkSubjectKey SubjectKey,
bool  bEnabled 
)
pure virtual

Set the subject's from a specific source to enabled, disabling the other in the process. Only 1 subject with the same name can be enabled. At the start of the frame, a snapshot of the enabled subjects will be made. That snapshot dictate which subject will be used for the duration of that frame. SetSubjectEnabled will take effect on the next frame.

◆ UnpauseSubject_AnyThread()

virtual void ILiveLinkClient::UnpauseSubject_AnyThread ( FLiveLinkSubjectName  SubjectName)
pure virtual

Unpause a subject, resuming its normal operation.

◆ UnregisterForFrameDataReceived()

virtual void ILiveLinkClient::UnregisterForFrameDataReceived ( const FLiveLinkSubjectKey InSubjectKey,
FDelegateHandle  InStaticDataReceivedHandle,
FDelegateHandle  InFrameDataReceivedHandle 
)
pure virtual

Unregister delegate registered with RegisterForFrameDataReceived.

◆ UnregisterSubjectFramesHandle()

virtual void ILiveLinkClient::UnregisterSubjectFramesHandle ( FLiveLinkSubjectName  SubjectName,
FDelegateHandle  StaticDataAddedHandle,
FDelegateHandle  FrameDataAddedHandle 
)
pure virtual

Unregister delegates registered with RegisterForSubjectFrames.

Member Data Documentation

◆ LIVELINK_VERSION

const int32 ILiveLinkClient::LIVELINK_VERSION = 2
static

◆ ModularFeatureName

FName ILiveLinkClient::ModularFeatureName = "ModularFeature_LiveLinkClient"
static

The documentation for this class was generated from the following files: