CriWare Unreal Engine
Plug-ins for CriWare solutions.
Loading...
Searching...
No Matches
Atom::FQuartzMetronome Class Reference

#include <AtomQuartzMetronome.h>

Classes

struct  FFramesInTimeValue
struct  FMetronomeEventEntry
struct  FPendingMetronomeEvents

Public Member Functions

 FQuartzMetronome (const FQuartzTimeSignature &InTimeSignature, FName InClockName={})
 FQuartzMetronome (FName InClockName={})
 ~FQuartzMetronome ()
void CalculateDurationPhases (float(&OutPhases)[static_cast< int32 >(EQuartzCommandQuantization::Count)]) const
double GetFramesUntilBoundary (FQuartzQuantizationBoundary InQuantizationBoundary) const
uint64 GetLastTickCpuCycles64 () const
const Audio::FQuartzClockTickRate & GetTickRate () const
const FQuartzTimeSignature & GetTimeSignature () const
double GetTimeSinceStart () const
FQuartzTransportTimeStamp GetTimeStamp () const
void ResetTransport ()
void SetSampleRate (float InNewSampleRate)
void SetTickRate (Audio::FQuartzClockTickRate InNewTickRate, int32 NumFramesLeft=0)
void SetTimeSignature (const FQuartzTimeSignature &InNewTimeSignature)
void SubscribeToAllTimeDivisions (MetronomeCommandQueuePtr InListenerQueue)
void SubscribeToTimeDivision (MetronomeCommandQueuePtr InListenerQueue, EQuartzCommandQuantization InQuantizationBoundary)
void Tick (int32 InNumSamples, int32 FramesOfLatency=0)
void UnsubscribeFromAllTimeDivisions (MetronomeCommandQueuePtr InListenerQueue)
void UnsubscribeFromTimeDivision (MetronomeCommandQueuePtr InListenerQueue, EQuartzCommandQuantization InQuantizationBoundary)

Private Member Functions

float CountNumSubdivisionsPerBar (EQuartzCommandQuantization InSubdivision) const
float CountNumSubdivisionsSinceBarStart (EQuartzCommandQuantization InSubdivision) const
float CountNumSubdivisionsSinceStart (EQuartzCommandQuantization InSubdivision) const
void FireEvents (int32 EventFlags)
void RecalculateDurations ()

Private Attributes

FName ClockName
Audio::FQuartzClockTickRate CurrentTickRate
FQuartzTimeSignature CurrentTimeSignature
FQuartzTransportTimeStamp CurrentTimeStamp
FFramesInTimeValue FramesLeftInMusicalDuration
int32 LastFramesOfLatency = 0
uint64 LastTickCpuCycles64 = 0
int32 ListenerFlags = 0
TArray< MetronomeCommandQueuePtr > MetronomeSubscriptionMatrix [static_cast< int32 >(EQuartzCommandQuantization::Count)]
FFramesInTimeValue MusicalDurationsInFrames
struct Atom::FQuartzMetronome::FPendingMetronomeEvents PendingMetronomeEvents
int32 PulseDurationIndex = -1
TArray< double > PulseDurations
double TimeSinceStart

Constructor & Destructor Documentation

◆ FQuartzMetronome() [1/2]

Atom::FQuartzMetronome::FQuartzMetronome ( FName InClockName = {})

◆ FQuartzMetronome() [2/2]

Atom::FQuartzMetronome::FQuartzMetronome ( const FQuartzTimeSignature & InTimeSignature,
FName InClockName = {} )

◆ ~FQuartzMetronome()

Atom::FQuartzMetronome::~FQuartzMetronome ( )

Member Function Documentation

◆ CalculateDurationPhases()

void Atom::FQuartzMetronome::CalculateDurationPhases ( float(&) OutPhases[static_cast< int32 >(EQuartzCommandQuantization::Count)]) const

◆ CountNumSubdivisionsPerBar()

float Atom::FQuartzMetronome::CountNumSubdivisionsPerBar ( EQuartzCommandQuantization InSubdivision) const
private

◆ CountNumSubdivisionsSinceBarStart()

float Atom::FQuartzMetronome::CountNumSubdivisionsSinceBarStart ( EQuartzCommandQuantization InSubdivision) const
private

◆ CountNumSubdivisionsSinceStart()

float Atom::FQuartzMetronome::CountNumSubdivisionsSinceStart ( EQuartzCommandQuantization InSubdivision) const
private

◆ FireEvents()

void Atom::FQuartzMetronome::FireEvents ( int32 EventFlags)
private

◆ GetFramesUntilBoundary()

double Atom::FQuartzMetronome::GetFramesUntilBoundary ( FQuartzQuantizationBoundary InQuantizationBoundary) const

◆ GetLastTickCpuCycles64()

uint64 Atom::FQuartzMetronome::GetLastTickCpuCycles64 ( ) const
inline

◆ GetTickRate()

const Audio::FQuartzClockTickRate & Atom::FQuartzMetronome::GetTickRate ( ) const
inline

◆ GetTimeSignature()

const FQuartzTimeSignature & Atom::FQuartzMetronome::GetTimeSignature ( ) const
inline

◆ GetTimeSinceStart()

double Atom::FQuartzMetronome::GetTimeSinceStart ( ) const
inline

◆ GetTimeStamp()

FQuartzTransportTimeStamp Atom::FQuartzMetronome::GetTimeStamp ( ) const
inline

◆ RecalculateDurations()

void Atom::FQuartzMetronome::RecalculateDurations ( )
private

◆ ResetTransport()

void Atom::FQuartzMetronome::ResetTransport ( )

◆ SetSampleRate()

void Atom::FQuartzMetronome::SetSampleRate ( float InNewSampleRate)

◆ SetTickRate()

void Atom::FQuartzMetronome::SetTickRate ( Audio::FQuartzClockTickRate InNewTickRate,
int32 NumFramesLeft = 0 )

◆ SetTimeSignature()

void Atom::FQuartzMetronome::SetTimeSignature ( const FQuartzTimeSignature & InNewTimeSignature)

◆ SubscribeToAllTimeDivisions()

void Atom::FQuartzMetronome::SubscribeToAllTimeDivisions ( MetronomeCommandQueuePtr InListenerQueue)

◆ SubscribeToTimeDivision()

void Atom::FQuartzMetronome::SubscribeToTimeDivision ( MetronomeCommandQueuePtr InListenerQueue,
EQuartzCommandQuantization InQuantizationBoundary )

◆ Tick()

void Atom::FQuartzMetronome::Tick ( int32 InNumSamples,
int32 FramesOfLatency = 0 )

◆ UnsubscribeFromAllTimeDivisions()

void Atom::FQuartzMetronome::UnsubscribeFromAllTimeDivisions ( MetronomeCommandQueuePtr InListenerQueue)

◆ UnsubscribeFromTimeDivision()

void Atom::FQuartzMetronome::UnsubscribeFromTimeDivision ( MetronomeCommandQueuePtr InListenerQueue,
EQuartzCommandQuantization InQuantizationBoundary )

Member Data Documentation

◆ ClockName

FName Atom::FQuartzMetronome::ClockName
private

◆ CurrentTickRate

Audio::FQuartzClockTickRate Atom::FQuartzMetronome::CurrentTickRate
private

◆ CurrentTimeSignature

FQuartzTimeSignature Atom::FQuartzMetronome::CurrentTimeSignature
private

◆ CurrentTimeStamp

FQuartzTransportTimeStamp Atom::FQuartzMetronome::CurrentTimeStamp
private

◆ FramesLeftInMusicalDuration

FFramesInTimeValue Atom::FQuartzMetronome::FramesLeftInMusicalDuration
private

◆ LastFramesOfLatency

int32 Atom::FQuartzMetronome::LastFramesOfLatency = 0
private

◆ LastTickCpuCycles64

uint64 Atom::FQuartzMetronome::LastTickCpuCycles64 = 0
private

◆ ListenerFlags

int32 Atom::FQuartzMetronome::ListenerFlags = 0
private

◆ MetronomeSubscriptionMatrix

TArray<MetronomeCommandQueuePtr> Atom::FQuartzMetronome::MetronomeSubscriptionMatrix[static_cast< int32 >(EQuartzCommandQuantization::Count)]
private

◆ MusicalDurationsInFrames

FFramesInTimeValue Atom::FQuartzMetronome::MusicalDurationsInFrames
private

◆ PendingMetronomeEvents

struct Atom::FQuartzMetronome::FPendingMetronomeEvents Atom::FQuartzMetronome::PendingMetronomeEvents
private

◆ PulseDurationIndex

int32 Atom::FQuartzMetronome::PulseDurationIndex = -1
private

◆ PulseDurations

TArray<double> Atom::FQuartzMetronome::PulseDurations
private

◆ TimeSinceStart

double Atom::FQuartzMetronome::TimeSinceStart
private

The documentation for this class was generated from the following files:
  • C:/git/uev2/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Public/Atom/Mixer/Quartz/AtomQuartzMetronome.h
  • C:/git/uev2/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Private/Atom/Mixer/Quartz/AtomQuartzMetronome.cpp