|
CriWare Unreal Engine
Plug-ins for CriWare solutions.
|
#include <AtomQuartzSubsystem.h>
Public Member Functions | |
| UAtomQuartzSubsystem ()=default | |
| virtual | ~UAtomQuartzSubsystem () override=default |
| CRI_API void | AddProxyForExternalClock (const Atom::FQuartzClockProxy &InProxy) |
| CRI_API virtual void | BeginDestroy () override |
| CRI_API UAtomQuartzClockHandle * | CreateNewClock (const UObject *WorldContextObject, FName ClockName, FQuartzClockSettings InSettings, bool bOverrideSettingsIfClockExists=false, bool bUseAtomAudioEngineClockManager=true) |
| virtual CRI_API void | Deinitialize () override |
| CRI_API void | DeleteClockByHandle (const UObject *WorldContextObject, UPARAM(ref) UAtomQuartzClockHandle *&InClockHandle) |
| CRI_API void | DeleteClockByName (const UObject *WorldContextObject, FName ClockName) |
| CRI_API bool | DoesClockExist (const UObject *WorldContextObject, FName ClockName) |
| virtual CRI_API bool | DoesSupportWorldType (EWorldType::Type WorldType) const override |
| CRI_API float | GetAtomRenderThreadToGameThreadAverageLatency () |
| CRI_API float | GetAtomRenderThreadToGameThreadMaxLatency () |
| CRI_API float | GetAtomRenderThreadToGameThreadMinLatency () |
| CRI_API FQuartzTransportTimeStamp | GetCurrentClockTimestamp (const UObject *WorldContextObject, const FName &InClockName) |
| CRI_API float | GetDurationOfQuantizationTypeInSeconds (const UObject *WorldContextObject, FName ClockName, const EQuartzCommandQuantization &QuantizationType, float Multiplier=1.0f) |
| CRI_API float | GetEstimatedClockRunTime (const UObject *WorldContextObject, const FName &InClockName) |
| CRI_API float | GetGameThreadToAtomRenderThreadAverageLatency (const UObject *WorldContextObject) |
| CRI_API float | GetGameThreadToAtomRenderThreadMaxLatency (const UObject *WorldContextObject) |
| CRI_API float | GetGameThreadToAtomRenderThreadMinLatency (const UObject *WorldContextObject) |
| CRI_API UAtomQuartzClockHandle * | GetHandleForClock (const UObject *WorldContextObject, FName ClockName) |
| CRI_API Atom::FQuartzClockProxy | GetProxyForClock (FName ClockName) const |
| CRI_API float | GetRoundTripAverageLatency (const UObject *WorldContextObject) |
| CRI_API float | GetRoundTripMaxLatency (const UObject *WorldContextObject) |
| CRI_API float | GetRoundTripMinLatency (const UObject *WorldContextObject) |
| virtual CRI_API TStatId | GetStatId () const override |
| CRI_API TWeakPtr< FAtomQuartzTickableObjectsManager > | GetTickableObjectManager () const |
| virtual CRI_API void | Initialize (FSubsystemCollectionBase &Collection) override |
| CRI_API bool | IsClockRunning (const UObject *WorldContextObject, FName ClockName) |
| CRI_API bool | IsQuartzEnabled () |
| virtual CRI_API bool | IsTickable () const override |
| virtual CRI_API bool | IsTickableWhenPaused () const override |
| CRI_API void | SetQuartzSubsystemTickableWhenPaused (const bool bInTickableWhenPaused) |
| CRI_API void | SubscribeToQuartzTick (FQuartzTickableObject *InObjectToTick) |
| virtual CRI_API void | Tick (float DeltaTime) override |
| CRI_API void | UnsubscribeFromQuartzTick (FQuartzTickableObject *InObjectToTick) |
Static Public Member Functions | |
| static CRI_API Atom::FQuartzQuantizedRequestData | CreateRequestDataForQuantizedNotify (UAtomQuartzClockHandle *InClockHandle, const FQuartzQuantizationBoundary &InQuantizationBoundary, const FOnQuartzCommandEventBP &InDelegate, float InMsOffset=0.f) |
| static CRI_API Atom::FQuartzQuantizedRequestData | CreateRequestDataForSchedulePlaySound (UAtomQuartzClockHandle *InClockHandle, const FOnQuartzCommandEventBP &InDelegate, const FQuartzQuantizationBoundary &InQuantizationBoundary) |
| static CRI_API Atom::FQuartzQuantizedRequestData | CreateRequestDataForStartOtherClock (UAtomQuartzClockHandle *InClockHandle, FName InClockToStart, const FQuartzQuantizationBoundary &InQuantizationBoundary, const FOnQuartzCommandEventBP &InDelegate) |
| static CRI_API Atom::FQuartzQuantizedRequestData | CreateRequestDataForTickRateChange (UAtomQuartzClockHandle *InClockHandle, const FOnQuartzCommandEventBP &InDelegate, const Audio::FQuartzClockTickRate &InNewTickRate, const FQuartzQuantizationBoundary &InQuantizationBoundary) |
| static CRI_API Atom::FQuartzQuantizedRequestData | CreateRequestDataForTransportReset (UAtomQuartzClockHandle *InClockHandle, const FQuartzQuantizationBoundary &InQuantizationBoundary, const FOnQuartzCommandEventBP &InDelegate) |
| static CRI_API UAtomQuartzSubsystem * | Get (const UWorld *const World) |
Private Member Functions | |
| CRI_API Atom::FQuartzClockProxy * | FindProxyByName (const FName &ClockName) |
| CRI_API Atom::FQuartzClockProxy const * | FindProxyByName (const FName &ClockName) const |
| CRI_API Atom::FQuartzClockManager * | GetClockManager (const UObject *WorldContextObject, bool bUseAtomAudioEngineClockManager=true) |
| CRI_API void | PruneStaleProxies () |
Static Private Member Functions | |
| static CRI_API void | PruneStaleProxiesInternal (TArray< Atom::FQuartzClockProxy > &ContainerToPrune) |
Private Attributes | |
| bool | bTickEvenWhenPaused = false |
| TSharedPtr< Atom::FPersistentQuartzSubsystemData > | ClockManagerDataPtr { nullptr } |
| TSharedPtr< FAtomQuartzTickableObjectsManager > | TickableObjectManagerPtr { MakeShared<FAtomQuartzTickableObjectsManager>() } |
|
default |
|
overridevirtualdefault |
| void UAtomQuartzSubsystem::AddProxyForExternalClock | ( | const Atom::FQuartzClockProxy & | InProxy | ) |
|
overridevirtual |
| UAtomQuartzClockHandle * UAtomQuartzSubsystem::CreateNewClock | ( | const UObject * | WorldContextObject, |
| FName | ClockName, | ||
| FQuartzClockSettings | InSettings, | ||
| bool | bOverrideSettingsIfClockExists = false, | ||
| bool | bUseAtomAudioEngineClockManager = true ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
overridevirtual |
| void UAtomQuartzSubsystem::DeleteClockByHandle | ( | const UObject * | WorldContextObject, |
| UPARAM(ref) UAtomQuartzClockHandle *& | InClockHandle ) |
| void UAtomQuartzSubsystem::DeleteClockByName | ( | const UObject * | WorldContextObject, |
| FName | ClockName ) |
| bool UAtomQuartzSubsystem::DoesClockExist | ( | const UObject * | WorldContextObject, |
| FName | ClockName ) |
|
overridevirtual |
|
private |
|
private |
|
static |
| float UAtomQuartzSubsystem::GetAtomRenderThreadToGameThreadAverageLatency | ( | ) |
| float UAtomQuartzSubsystem::GetAtomRenderThreadToGameThreadMaxLatency | ( | ) |
| float UAtomQuartzSubsystem::GetAtomRenderThreadToGameThreadMinLatency | ( | ) |
|
private |
| FQuartzTransportTimeStamp UAtomQuartzSubsystem::GetCurrentClockTimestamp | ( | const UObject * | WorldContextObject, |
| const FName & | InClockName ) |
| float UAtomQuartzSubsystem::GetDurationOfQuantizationTypeInSeconds | ( | const UObject * | WorldContextObject, |
| FName | ClockName, | ||
| const EQuartzCommandQuantization & | QuantizationType, | ||
| float | Multiplier = 1.0f ) |
| float UAtomQuartzSubsystem::GetEstimatedClockRunTime | ( | const UObject * | WorldContextObject, |
| const FName & | InClockName ) |
| float UAtomQuartzSubsystem::GetGameThreadToAtomRenderThreadAverageLatency | ( | const UObject * | WorldContextObject | ) |
| float UAtomQuartzSubsystem::GetGameThreadToAtomRenderThreadMaxLatency | ( | const UObject * | WorldContextObject | ) |
| float UAtomQuartzSubsystem::GetGameThreadToAtomRenderThreadMinLatency | ( | const UObject * | WorldContextObject | ) |
| UAtomQuartzClockHandle * UAtomQuartzSubsystem::GetHandleForClock | ( | const UObject * | WorldContextObject, |
| FName | ClockName ) |
| Atom::FQuartzClockProxy UAtomQuartzSubsystem::GetProxyForClock | ( | FName | ClockName | ) | const |
| float UAtomQuartzSubsystem::GetRoundTripAverageLatency | ( | const UObject * | WorldContextObject | ) |
| float UAtomQuartzSubsystem::GetRoundTripMaxLatency | ( | const UObject * | WorldContextObject | ) |
| float UAtomQuartzSubsystem::GetRoundTripMinLatency | ( | const UObject * | WorldContextObject | ) |
|
overridevirtual |
| TWeakPtr< FAtomQuartzTickableObjectsManager > UAtomQuartzSubsystem::GetTickableObjectManager | ( | ) | const |
|
overridevirtual |
| bool UAtomQuartzSubsystem::IsClockRunning | ( | const UObject * | WorldContextObject, |
| FName | ClockName ) |
| bool UAtomQuartzSubsystem::IsQuartzEnabled | ( | ) |
|
overridevirtual |
|
overridevirtual |
|
private |
|
staticprivate |
| void UAtomQuartzSubsystem::SetQuartzSubsystemTickableWhenPaused | ( | const bool | bInTickableWhenPaused | ) |
| void UAtomQuartzSubsystem::SubscribeToQuartzTick | ( | FQuartzTickableObject * | InObjectToTick | ) |
|
overridevirtual |
| void UAtomQuartzSubsystem::UnsubscribeFromQuartzTick | ( | FQuartzTickableObject * | InObjectToTick | ) |
|
private |
|
private |
|
private |