5#include "Containers/Array.h"
40 const FQuartzClockTickRate&
GetTickRate()
const {
return CurrentTickRate; }
67 void RecalculateDurations();
77 uint64 LastTickCpuCycles64{ 0 };
79 int32 ListenerFlags{ 0 };
85 FQuartzClockTickRate CurrentTickRate;
90 struct FFramesInTimeValue
99 double FramesInTimeValueInternal[
static_cast<int32>(EQuartzCommandQuantization::Count)]{ 0.0 };
102 struct FMetronomeEventEntry
108 struct FPendingMetronomeEvents
114 FMetronomeEventEntry CurrentMetronomeEvents[
static_cast<int32>(EQuartzCommandQuantization::Count)];
115 } PendingMetronomeEvents;
118 FFramesInTimeValue MusicalDurationsInFrames;
121 FFramesInTimeValue FramesLeftInMusicalDuration;
127 int32 PulseDurationIndex{ -1 };
129 int32 LastFramesOfLatency{ 0 };
132 double TimeSinceStart;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EQuartzCommandQuantization
Definition QuartzQuantizationUtilities.h:46
Definition QuartzMetronome.h:19
const FQuartzClockTickRate & GetTickRate() const
Definition QuartzMetronome.h:40
void ResetTransport()
Definition QuartzMetronome.cpp:399
void SubscribeToAllTimeDivisions(MetronomeCommandQueuePtr InListenerQueue)
Definition QuartzMetronome.cpp:363
double GetFramesUntilBoundary(FQuartzQuantizationBoundary InQuantizationBoundary) const
Definition QuartzMetronome.cpp:130
const FQuartzTimeSignature & GetTimeSignature() const
Definition QuartzMetronome.h:44
void SetTickRate(FQuartzClockTickRate InNewTickRate, int32 NumFramesLeft=0)
Definition QuartzMetronome.cpp:95
void SetTimeSignature(const FQuartzTimeSignature &InNewTimeSignature)
Definition QuartzMetronome.cpp:124
FQuartzTransportTimeStamp GetTimeStamp() const
Definition QuartzMetronome.h:46
~FQuartzMetronome()
Definition QuartzMetronome.cpp:20
double GetTimeSinceStart() const
Definition QuartzMetronome.h:48
void SetSampleRate(float InNewSampleRate)
Definition QuartzMetronome.cpp:118
void CalculateDurationPhases(float(&OutPhases)[static_cast< int32 >(EQuartzCommandQuantization::Count)]) const
Definition QuartzMetronome.cpp:349
void UnsubscribeFromAllTimeDivisions(MetronomeCommandQueuePtr InListenerQueue)
Definition QuartzMetronome.cpp:383
void SubscribeToTimeDivision(MetronomeCommandQueuePtr InListenerQueue, EQuartzCommandQuantization InQuantizationBoundary)
Definition QuartzMetronome.cpp:357
uint64 GetLastTickCpuCycles64() const
Definition QuartzMetronome.h:50
void UnsubscribeFromTimeDivision(MetronomeCommandQueuePtr InListenerQueue, EQuartzCommandQuantization InQuantizationBoundary)
Definition QuartzMetronome.cpp:373
Definition NameTypes.h:617
Definition QuartzSubscription.h:49
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
U16 Index
Definition radfft.cpp:71
Definition QuartzQuantizationUtilities.h:489
Definition QuartzQuantizationUtilities.h:110
Definition QuartzQuantizationUtilities.h:142