UQuartzSubsystem

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

AudioMixer

Header

/Engine/Source/Runtime/AudioMixer/Public/Quartz/QuartzSubsystem.h

Include

#include "Quartz/QuartzSubsystem.h"

Syntax

class UQuartzSubsystem :
    public UTickableWorldSubsystem,
    public FQuartLatencyTracker

Constructors

Name Description

Public function

UQuartzSubsystem()

Ctor/dtor

Destructors

Name Description

Public function

~UQuartzSubsystem()

Functions

Name Description

Public function

void

 

AddCommandToClock

(
    const UObject* WorldContextObj...,
    Audio::FQuartzQuantizedCommandInitI...,
    FName ClockName
)

Public function

Audio::FQuar...

 

CreateDataDataForSchedulePlaySound

(
    UQuartzClockHandle* InClockHan...,
    const FOnQuartzCommandEventBP& InD...,
    const FQuartzQuantizationBoundary&...
)

Public function

Audio::FQuar...

 

CreateDataForStartOtherClock

(
    UQuartzClockHandle* InClockHan...,
    FName InClockToStart,
    const FQuartzQuantizationBoundary&...,
    const FOnQuartzCommandEventBP& InD...
)

Public function

Audio::FQuar...

 

CreateDataForTickRateChange

(
    UQuartzClockHandle* InClockHan...,
    const FOnQuartzCommandEventBP& InD...,
    const Audio::FQuartzClockTickRate&...,
    const FQuartzQuantizationBoundary&...
)

Helper functions for initializing quantized command initialization struct (to consolidate eyesore)

Public function

Audio::FQuar...

 

CreateDataForTransportReset

(
    UQuartzClockHandle* InClockHan...,
    const FQuartzQuantizationBoundary&...,
    const FOnQuartzCommandEventBP& InD...
)

Public function

UQuartzClock...

 

CreateNewClock

(
    const UObject* WorldContextObj...,
    FName ClockName,
    FQuartzClockSettings InSettings,
    bool bOverrideSettingsIfClockExists,
    bool bUseAudioEngineClockManager
)

Clock Creation create a new clock (or return handle if clock already exists)

Public function Static

TSharedPtr< ...

 

CreateQuartzCommandQueue()

Create a new command queue to be shared between ClockHandles and other threads

Public function

void

 

DeleteClockByHandle

(
    const UObject* WorldContextObj...,
    UQuartzClockHandle*& InClockHa...
)

Delete an existing clock given its clock handle

Public function

void

 

DeleteClockByName

(
    const UObject* WorldContextObj...,
    FName ClockName
)

Delete an existing clock given its name

Public function

bool

 

DoesClockExist

(
    const UObject* WorldContextObj...,
    FName ClockName
)

Returns true if the clock exists

Public function Static

UQuartzSubsy...

 

Get

(
    UWorld* World
)

Static methods

Public function

float

 

GetAudioRenderThreadToGameThreadAverageLatency()

Latency data (Audio Render Thread -> Game thread)

Public function

float

 

GetAudioRenderThreadToGameThreadMaxLatency()

Public function

float

 

GetAudioRenderThreadToGameThreadMinLatency()

Public function

float

 

GetDurationOfQuantizationTypeInSeconds

(
    const UObject* WorldContextObj...,
    FName ClockName,
    const EQuartzCommandQuantization& ...,
    float Multiplier
)

Returns the duration in seconds of the given Quantization Type

Public function

float

 

GetGameThreadToAudioRenderThreadAverageLatency

(
    const UObject* WorldContextObj...
)

Latency data (Game thread -> Audio Render Thread)

Public function

float

 

GetGameThreadToAudioRenderThreadMaxLatency

(
    const UObject* WorldContextObj...
)

Public function

float

 

GetGameThreadToAudioRenderThreadMinLatency

(
    const UObject* WorldContextObj...
)

Public function

UQuartzClock...

 

GetHandleForClock

(
    const UObject* WorldContextObj...,
    FName ClockName
)

Get handle for existing clock

Public function

Audio::FQuar...

 

GetManagerForClock

(
    const UObject* WorldContextObj...,
    FName ExistingClockName
)

Public function

float

 

GetRoundTripAverageLatency

(
    const UObject* WorldContextObj...
)

Latency data (Round trip)

Public function

float

 

GetRoundTripMaxLatency

(
    const UObject* WorldContextObj...
)

Public function

float

 

GetRoundTripMinLatency

(
    const UObject* WorldContextObj...
)

Public function

bool

 

IsClockRunning

(
    const UObject* WorldContextObj...,
    FName ClockName
)

Returns true if the clock is running

Public function

bool

 

IsQuartzEnabled()

Public function

void

 

SubscribeToQuartzTick

(
    UQuartzClockHandle* InObjectTo...
)

If we have another stakeholder later we can use polymorphism here.

Public function

void

 

UnsubscribeFromQuartzTick

(
    UQuartzClockHandle* InObjectTo...
)

Overridden from UWorldSubsystem

Name Description

Public function Virtual Const

bool

 

DoesSupportWorldType

(
    EWorldType::Type WorldType
)

Overridden from FTickableObjectBase

Name Description

Public function Virtual Const

TStatId

 

GetStatId()

Return the stat id to use for this tickable

Public function Virtual Const

bool

 

IsTickable()

Virtual that can be overloaded by the inheriting class.

Public function Virtual

void

 

Tick

(
    float DeltaTime
)

Pure virtual that must be overloaded by the inheriting class.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss