UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Audio::FQuartzClock Class Reference

#include <AudioMixerClock.h>

+ Inheritance diagram for Audio::FQuartzClock:

Public Member Functions

UE_API FQuartzClock (const FName &InName, const FQuartzClockSettings &InClockSettings, FQuartzClockManager *InOwningClockManagerPtr=nullptr)
 
virtual UE_API ~FQuartzClock () override
 
UE_API void ChangeTickRate (FQuartzClockTickRate InNewTickRate, int32 NumFramesLeft=0)
 
UE_API void ChangeTimeSignature (const FQuartzTimeSignature &InNewTimeSignature)
 
virtual UE_API void Resume () override
 
virtual UE_API void Pause () override
 
virtual UE_API void Restart (bool bPause=true) override
 
virtual UE_API void Stop (bool CancelPendingEvents) override
 
UE_API void SetSampleRate (float InNewSampleRate)
 
UE_API void ResetTransport (const int32 NumFramesToTickBeforeReset=0)
 
UE_API void AddToTickDelay (int32 NumFramesOfDelayToAdd)
 
UE_API void SetTickDelay (int32 NumFramesOfDelay)
 
UE_API void Shutdown ()
 
UE_API FQuartzClockTickRate GetTickRate ()
 
UE_API FName GetName () const
 
UE_API bool IgnoresFlush () const
 
UE_API bool DoesMatchSettings (const FQuartzClockSettings &InClockSettings) const
 
UE_API bool HasPendingEvents () const
 
UE_API int32 NumPendingEvents () const
 
UE_API bool IsRunning () const
 
UE_API float GetDurationOfQuantizationTypeInSeconds (const EQuartzCommandQuantization &QuantizationType, float Multiplier)
 
UE_API float GetBeatProgressPercent (const EQuartzCommandQuantization &QuantizationType) const
 
UE_API FQuartzTransportTimeStamp GetCurrentTimestamp ()
 
UE_API float GetEstimatedRunTime ()
 
UE_API FMixerDeviceGetMixerDevice ()
 
UE_API FMixerSourceManagerGetSourceManager ()
 
UE_API FQuartzClockManagerGetClockManager ()
 
UE_API FQuartzClockCommandQueueWeakPtr GetCommandQueue () const
 
virtual UE_API void SubscribeToTimeDivision (FQuartzGameThreadSubscriber InSubscriber, EQuartzCommandQuantization InQuantizationBoundary) override
 
virtual UE_API void SubscribeToAllTimeDivisions (FQuartzGameThreadSubscriber InSubscriber) override
 
virtual UE_API void UnsubscribeFromTimeDivision (FQuartzGameThreadSubscriber InSubscriber, EQuartzCommandQuantization InQuantizationBoundary) override
 
virtual UE_API void UnsubscribeFromAllTimeDivisions (FQuartzGameThreadSubscriber InSubscriber) override
 
virtual UE_API void AddQuantizedCommand (FQuartzQuantizedRequestData &InQuantizedRequestData) override
 
virtual UE_API void AddQuantizedCommand (FQuartzQuantizedCommandInitInfo &InQuantizationCommandInitInfo) override
 
virtual UE_API void AddQuantizedCommand (FQuartzQuantizationBoundary InQuantizationBoundary, TSharedPtr< IQuartzQuantizedCommand > InNewEvent) override
 
UE_API bool CancelQuantizedCommand (TSharedPtr< IQuartzQuantizedCommand > InCommandPtr)
 
UE_API void LowResolutionTick (float InDeltaTimeSeconds)
 
UE_API void Tick (int32 InNumFramesUntilNextTick)
 

Detailed Description

FQuartzClock:

This class receives, schedules, and fires quantized commands. 
The underlying FQuartzMetronome handles all counting / timing logic.

This class gets ticked externally (i.e. by some Clock Manager)
and counts down the time-to-fire the commands in audio frames.


UpdateCachedState() updates a game-thread copy of data accessed via FQuartzClockProxy
(see FQuartzClockState)

Constructor & Destructor Documentation

◆ FQuartzClock()

Audio::FQuartzClock::FQuartzClock ( const FName InName,
const FQuartzClockSettings InClockSettings,
FQuartzClockManager InOwningClockManagerPtr = nullptr 
)

◆ ~FQuartzClock()

Audio::FQuartzClock::~FQuartzClock ( )
overridevirtual

Member Function Documentation

◆ AddQuantizedCommand() [1/3]

void Audio::FQuartzClock::AddQuantizedCommand ( FQuartzQuantizationBoundary  InQuantizationBoundary,
TSharedPtr< IQuartzQuantizedCommand InNewEvent 
)
overridevirtual

◆ AddQuantizedCommand() [2/3]

void Audio::FQuartzClock::AddQuantizedCommand ( FQuartzQuantizedCommandInitInfo InQuantizationCommandInitInfo)
overridevirtual

◆ AddQuantizedCommand() [3/3]

void Audio::FQuartzClock::AddQuantizedCommand ( FQuartzQuantizedRequestData InQuantizedRequestData)
overridevirtual

◆ AddToTickDelay()

void Audio::FQuartzClock::AddToTickDelay ( int32  NumFramesOfDelayToAdd)

◆ CancelQuantizedCommand()

bool Audio::FQuartzClock::CancelQuantizedCommand ( TSharedPtr< IQuartzQuantizedCommand InCommandPtr)

◆ ChangeTickRate()

void Audio::FQuartzClock::ChangeTickRate ( FQuartzClockTickRate  InNewTickRate,
int32  NumFramesLeft = 0 
)

◆ ChangeTimeSignature()

void Audio::FQuartzClock::ChangeTimeSignature ( const FQuartzTimeSignature InNewTimeSignature)

◆ DoesMatchSettings()

bool Audio::FQuartzClock::DoesMatchSettings ( const FQuartzClockSettings InClockSettings) const

◆ GetBeatProgressPercent()

float Audio::FQuartzClock::GetBeatProgressPercent ( const EQuartzCommandQuantization QuantizationType) const

◆ GetClockManager()

FQuartzClockManager * Audio::FQuartzClock::GetClockManager ( )

◆ GetCommandQueue()

FQuartzClockCommandQueueWeakPtr Audio::FQuartzClock::GetCommandQueue ( ) const

◆ GetCurrentTimestamp()

FQuartzTransportTimeStamp Audio::FQuartzClock::GetCurrentTimestamp ( )

◆ GetDurationOfQuantizationTypeInSeconds()

float Audio::FQuartzClock::GetDurationOfQuantizationTypeInSeconds ( const EQuartzCommandQuantization QuantizationType,
float  Multiplier 
)

◆ GetEstimatedRunTime()

float Audio::FQuartzClock::GetEstimatedRunTime ( )

◆ GetMixerDevice()

FMixerDevice * Audio::FQuartzClock::GetMixerDevice ( )

◆ GetName()

FName Audio::FQuartzClock::GetName ( ) const

◆ GetSourceManager()

FMixerSourceManager * Audio::FQuartzClock::GetSourceManager ( )

◆ GetTickRate()

FQuartzClockTickRate Audio::FQuartzClock::GetTickRate ( )

◆ HasPendingEvents()

bool Audio::FQuartzClock::HasPendingEvents ( ) const

◆ IgnoresFlush()

bool Audio::FQuartzClock::IgnoresFlush ( ) const

◆ IsRunning()

bool Audio::FQuartzClock::IsRunning ( ) const

◆ LowResolutionTick()

void Audio::FQuartzClock::LowResolutionTick ( float  InDeltaTimeSeconds)

◆ NumPendingEvents()

int32 Audio::FQuartzClock::NumPendingEvents ( ) const

◆ Pause()

void Audio::FQuartzClock::Pause ( )
overridevirtual

◆ ResetTransport()

void Audio::FQuartzClock::ResetTransport ( const int32  NumFramesToTickBeforeReset = 0)

◆ Restart()

void Audio::FQuartzClock::Restart ( bool  bPause = true)
overridevirtual

◆ Resume()

void Audio::FQuartzClock::Resume ( )
overridevirtual

◆ SetSampleRate()

void Audio::FQuartzClock::SetSampleRate ( float  InNewSampleRate)

◆ SetTickDelay()

void Audio::FQuartzClock::SetTickDelay ( int32  NumFramesOfDelay)

◆ Shutdown()

void Audio::FQuartzClock::Shutdown ( )

◆ Stop()

void Audio::FQuartzClock::Stop ( bool  CancelPendingEvents)
overridevirtual

◆ SubscribeToAllTimeDivisions()

void Audio::FQuartzClock::SubscribeToAllTimeDivisions ( FQuartzGameThreadSubscriber  InSubscriber)
overridevirtual

◆ SubscribeToTimeDivision()

void Audio::FQuartzClock::SubscribeToTimeDivision ( FQuartzGameThreadSubscriber  InSubscriber,
EQuartzCommandQuantization  InQuantizationBoundary 
)
overridevirtual

◆ Tick()

void Audio::FQuartzClock::Tick ( int32  InNumFramesUntilNextTick)

◆ UnsubscribeFromAllTimeDivisions()

void Audio::FQuartzClock::UnsubscribeFromAllTimeDivisions ( FQuartzGameThreadSubscriber  InSubscriber)
overridevirtual

◆ UnsubscribeFromTimeDivision()

void Audio::FQuartzClock::UnsubscribeFromTimeDivision ( FQuartzGameThreadSubscriber  InSubscriber,
EQuartzCommandQuantization  InQuantizationBoundary 
)
overridevirtual

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