Navigation
API > API/Runtime > API/Runtime/AudioMixer
| Name | UQuartzSubsystem |
| Type | class |
| Header File | /Engine/Source/Runtime/AudioMixer/Public/Quartz/QuartzSubsystem.h |
| Include Path | #include "Quartz/QuartzSubsystem.h" |
Syntax
UCLASS (DisplayName="Quartz", MinimalAPI)
class UQuartzSubsystem : public UTickableWorldSubsystem
Inheritance Hierarchy
- FTickableObjectBase → FTickableGameObject → UTickableWorldSubsystem → UQuartzSubsystem
- UObjectBase → UObjectBaseUtility → UObject → USubsystem → UWorldSubsystem → UTickableWorldSubsystem → UQuartzSubsystem
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UQuartzSubsystem() |
Ctor/dtor | Quartz/QuartzSubsystem.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~UQuartzSubsystem() |
Quartz/QuartzSubsystem.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bTickEvenWhenPaused | bool | Quartz/QuartzSubsystem.h | ||
| ClockManagerDataPtr | TSharedPtr< Audio::FPersistentQuartzSubsystemData > | Clock manager/proxy-related data that lives on the AudioDevice for persistence. | Quartz/QuartzSubsystem.h | |
| TickableObjectManagerPtr | TSharedPtr< FQuartzTickableObjectsManager > | Sharable tickable object manager to allow for non-UObject subscription / un-subscription | Quartz/QuartzSubsystem.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddProxyForExternalClock
(
const Audio::FQuartzClockProxy& InProxy |
Allow an external clock (not ticked by the Audio Mixer or QuartzSubsystem) to be accessible via this subsystem | Quartz/QuartzSubsystem.h | |
virtual void BeginDestroy() |
Quartz/QuartzSubsystem.h | ||
UQuartzClockHandle * CreateNewClock
(
const UObject* WorldContextObject, |
Clock Creation create a new clock (or return handle if clock already exists) | Quartz/QuartzSubsystem.h |
|
virtual void Deinitialize() |
Quartz/QuartzSubsystem.h | ||
void DeleteClockByHandle
(
const UObject* WorldContextObject, |
Delete an existing clock given its clock handle | Quartz/QuartzSubsystem.h |
|
| Delete an existing clock given its name | Quartz/QuartzSubsystem.h |
|
|
| Returns true if the clock exists | Quartz/QuartzSubsystem.h |
|
|
virtual bool DoesSupportWorldType
(
EWorldType::Type WorldType |
Quartz/QuartzSubsystem.h | ||
float GetAudioRenderThreadToGameThreadAverageLatency() |
Latency data (Audio Render Thread -> Game thread) | Quartz/QuartzSubsystem.h |
|
float GetAudioRenderThreadToGameThreadMaxLatency() |
Quartz/QuartzSubsystem.h |
|
|
float GetAudioRenderThreadToGameThreadMinLatency() |
Quartz/QuartzSubsystem.h |
|
|
| Retrieves a timestamp for the clock. | Quartz/QuartzSubsystem.h |
|
|
| Returns the duration in seconds of the given Quantization Type. | Quartz/QuartzSubsystem.h |
|
|
| Returns the amount of time, in seconds, the clock has been running. Caution: due to latency, this will not be perfectly accurate. | Quartz/QuartzSubsystem.h |
|
|
float GetGameThreadToAudioRenderThreadAverageLatency
(
const UObject* WorldContextObject |
Latency data (Game thread -> Audio Render Thread) | Quartz/QuartzSubsystem.h |
|
float GetGameThreadToAudioRenderThreadMaxLatency
(
const UObject* WorldContextObject |
Quartz/QuartzSubsystem.h |
|
|
float GetGameThreadToAudioRenderThreadMinLatency
(
const UObject* WorldContextObject |
Quartz/QuartzSubsystem.h |
|
|
UQuartzClockHandle * GetHandleForClock
(
const UObject* WorldContextObject, |
Get handle for existing clock | Quartz/QuartzSubsystem.h |
|
Audio::FQuartzClockProxy GetProxyForClock
(
FName ClockName |
Get C++ handle (proxy) to a clock if it exists | Quartz/QuartzSubsystem.h | |
float GetRoundTripAverageLatency
(
const UObject* WorldContextObject |
Latency data (Round trip) | Quartz/QuartzSubsystem.h |
|
float GetRoundTripMaxLatency
(
const UObject* WorldContextObject |
Quartz/QuartzSubsystem.h |
|
|
float GetRoundTripMinLatency
(
const UObject* WorldContextObject |
Quartz/QuartzSubsystem.h |
|
|
virtual TStatId GetStatId() |
Quartz/QuartzSubsystem.h | ||
TWeakPtr< FQuartzTickableObjectsManager > GetTickableObjectManager() |
Sharable to allow non-UObjects to un-subscribe if the Subsystem is going to outlive them | Quartz/QuartzSubsystem.h | |
virtual void Initialize
(
FSubsystemCollectionBase& Collection |
Quartz/QuartzSubsystem.h | ||
| Returns true if the clock is running | Quartz/QuartzSubsystem.h |
|
|
bool IsQuartzEnabled() |
Quartz/QuartzSubsystem.h |
|
|
virtual bool IsTickable() |
Quartz/QuartzSubsystem.h | ||
virtual bool IsTickableWhenPaused() |
Quartz/QuartzSubsystem.h | ||
void SetQuartzSubsystemTickableWhenPaused
(
const bool bInTickableWhenPaused |
Quartz/QuartzSubsystem.h |
|
|
void SubscribeToQuartzTick
(
FQuartzTickableObject* InObjectToTick |
These calls are forwarded to the internal FQuartzTickableObjectsManager | Quartz/QuartzSubsystem.h | |
virtual void Tick
(
float DeltaTime |
Quartz/QuartzSubsystem.h | ||
void UnsubscribeFromQuartzTick
(
FQuartzTickableObject* InObjectToTick |
Quartz/QuartzSubsystem.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static Audio::FQuartzQuantizedRequestData CreateRequestDataForQuantizedNotify
(
UQuartzClockHandle* InClockHandle, |
Quartz/QuartzSubsystem.h | ||
static Audio::FQuartzQuantizedRequestData CreateRequestDataForSchedulePlaySound
(
UQuartzClockHandle* InClockHandle, |
Quartz/QuartzSubsystem.h | ||
static Audio::FQuartzQuantizedRequestData CreateRequestDataForStartOtherClock
(
UQuartzClockHandle* InClockHandle, |
Quartz/QuartzSubsystem.h | ||
static Audio::FQuartzQuantizedRequestData CreateRequestDataForTickRateChange
(
UQuartzClockHandle* InClockHandle, |
Helper functions for initializing quantized command initialization struct (to consolidate eyesore) | Quartz/QuartzSubsystem.h | |
static Audio::FQuartzQuantizedRequestData CreateRequestDataForTransportReset
(
UQuartzClockHandle* InClockHandle, |
Quartz/QuartzSubsystem.h | ||
static UQuartzSubsystem * Get
(
const UWorld*const World |
Static methods | Quartz/QuartzSubsystem.h | |
static void PruneStaleProxiesInternal
(
TArray< Audio::FQuartzClockProxy >& ContainerToPrune |
Quartz/QuartzSubsystem.h |