13#define UE_API AUDIOMIXER_API
20 class FMixerSourceManager;
21 class FQuartzClockManager;
82 operator const FName&()
const {
return ClockId; }
203 struct PendingCommand
216 int32 NumFramesUntilExec{ 0 };
221 void UpdateCachedState();
224 struct FQuartzClockState
226 FQuartzClockTickRate TickRate;
228 float RunTimeInSeconds;
229 float MusicalDurationPhases[
static_cast<int32>(EQuartzCommandQuantization::Count)] { 0 };
230 float MusicalDurationPhaseDeltas[
static_cast<int32>(EQuartzCommandQuantization::Count)] { 0 };
231 uint64 LastCacheTickCpuCycles64 = 0;
232 uint64 LastCacheTickDeltaCpuCycles64 = 0;
250 float ThreadLatencyInMilliseconds{ 40.f };
261 bool bIgnoresFlush{
false };
263 int32 TickDelayLengthInFrames{ 0 };
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
const bool
Definition NetworkReplayStreaming.h:178
@ Restart
Definition PrecomputedVolumetricLightmapStreaming.cpp:25
@ Stop
Definition PrecomputedVolumetricLightmapStreaming.cpp:26
EQuartzCommandQuantization
Definition QuartzQuantizationUtilities.h:46
#define UE_API
Definition SColorGradingComponentViewer.h:12
Definition AudioMixerDevice.h:117
Definition AudioMixerSourceManager.h:192
Definition AudioMixerClockManager.h:18
Definition AudioMixerClock.h:50
FName GetClockName() const
Definition AudioMixerClock.h:57
FQuartzClockProxy()
Definition AudioMixerClock.h:53
TWeakPtr< FQuartzClock, ESPMode::ThreadSafe > ClockWeakPtr
Definition AudioMixerClock.h:90
UE_API bool SendCommandToClock(TFunction< void(FQuartzClock *)> InCommand)
Definition AudioMixerClock.cpp:107
bool operator==(const FName &Name) const
Definition AudioMixerClock.h:62
UE_API bool IsValid() const
Definition AudioMixerClock.cpp:29
UE_API bool IsClockRunning() const
Definition AudioMixerClock.cpp:39
UE_API Audio::FQuartzClockTickRate GetTickRate() const
Definition AudioMixerClock.cpp:73
UE_API float GetBeatProgressPercent(const EQuartzCommandQuantization &QuantizationType) const
Definition AudioMixerClock.cpp:61
UE_API bool DoesClockExist() const
Definition AudioMixerClock.cpp:34
FQuartzClockProxy(const FName &Name)
Definition AudioMixerClock.h:54
UE_API FQuartzTransportTimeStamp GetCurrentClockTimestamp() const
Definition AudioMixerClock.cpp:84
UE_API float GetDurationOfQuantizationTypeInSeconds(const EQuartzCommandQuantization &QuantizationType, float Multiplier) const
Definition AudioMixerClock.cpp:50
UE_API float GetEstimatedClockRunTimeSeconds() const
Definition AudioMixerClock.cpp:95
Definition AudioMixerClock.h:111
UE_API bool CancelQuantizedCommand(TSharedPtr< IQuartzQuantizedCommand > InCommandPtr)
Definition AudioMixerClock.cpp:524
UE_API int32 NumPendingEvents() const
Definition AudioMixerClock.cpp:540
UE_API bool DoesMatchSettings(const FQuartzClockSettings &InClockSettings) const
Definition AudioMixerClock.cpp:422
UE_API void Shutdown()
Definition AudioMixerClock.cpp:264
UE_API bool IsRunning() const
Definition AudioMixerClock.cpp:545
virtual UE_API void SubscribeToAllTimeDivisions(FQuartzGameThreadSubscriber InSubscriber) override
Definition AudioMixerClock.cpp:432
UE_API FQuartzTransportTimeStamp GetCurrentTimestamp()
Definition AudioMixerClock.cpp:592
UE_API void AddToTickDelay(int32 NumFramesOfDelayToAdd)
Definition AudioMixerClock.cpp:699
UE_API FName GetName() const
Definition AudioMixerClock.cpp:674
UE_API float GetEstimatedRunTime()
Definition AudioMixerClock.cpp:598
UE_API void SetSampleRate(float InNewSampleRate)
Definition AudioMixerClock.cpp:404
UE_API bool HasPendingEvents() const
Definition AudioMixerClock.cpp:534
virtual UE_API void Resume() override
Definition AudioMixerClock.cpp:195
UE_API void ChangeTimeSignature(const FQuartzTimeSignature &InNewTimeSignature)
Definition AudioMixerClock.cpp:189
virtual UE_API void Pause() override
Definition AudioMixerClock.cpp:238
virtual UE_API void UnsubscribeFromAllTimeDivisions(FQuartzGameThreadSubscriber InSubscriber) override
Definition AudioMixerClock.cpp:442
UE_API void LowResolutionTick(float InDeltaTimeSeconds)
Definition AudioMixerClock.cpp:280
UE_API FQuartzClockCommandQueueWeakPtr GetCommandQueue() const
Definition AudioMixerClock.cpp:326
UE_API FMixerDevice * GetMixerDevice()
Definition AudioMixerClock.cpp:604
UE_API float GetBeatProgressPercent(const EQuartzCommandQuantization &QuantizationType) const
Definition AudioMixerClock.cpp:576
virtual UE_API void UnsubscribeFromTimeDivision(FQuartzGameThreadSubscriber InSubscriber, EQuartzCommandQuantization InQuantizationBoundary) override
Definition AudioMixerClock.cpp:437
UE_API FMixerSourceManager * GetSourceManager()
Definition AudioMixerClock.cpp:655
UE_API void ResetTransport(const int32 NumFramesToTickBeforeReset=0)
Definition AudioMixerClock.cpp:689
UE_API void ChangeTickRate(FQuartzClockTickRate InNewTickRate, int32 NumFramesLeft=0)
Definition AudioMixerClock.cpp:150
UE_API FQuartzClockTickRate GetTickRate()
Definition AudioMixerClock.cpp:668
UE_API void SetTickDelay(int32 NumFramesOfDelay)
Definition AudioMixerClock.cpp:704
UE_API bool IgnoresFlush() const
Definition AudioMixerClock.cpp:417
UE_API float GetDurationOfQuantizationTypeInSeconds(const EQuartzCommandQuantization &QuantizationType, float Multiplier)
Definition AudioMixerClock.cpp:550
virtual UE_API void SubscribeToTimeDivision(FQuartzGameThreadSubscriber InSubscriber, EQuartzCommandQuantization InQuantizationBoundary) override
Definition AudioMixerClock.cpp:427
virtual UE_API void AddQuantizedCommand(FQuartzQuantizedRequestData &InQuantizedRequestData) override
Definition AudioMixerClock.cpp:615
virtual UE_API ~FQuartzClock() override
Definition AudioMixerClock.cpp:145
UE_API FQuartzClockManager * GetClockManager()
Definition AudioMixerClock.cpp:679
Definition QuartzMetronome.h:19
Definition QuartzCommandQueue.h:16
typename TVisitorPatternBase< Ts... >::template TElementBase< ConsumerInterfaces... > TConsumerBase
Definition QuartzCommandQueue.h:30
Definition NameTypes.h:617
Definition ThreadSafeBool.h:17
Definition AndroidPlatformMisc.h:14
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition QuartzQuantizationUtilities.h:557
Definition QuartzQuantizationUtilities.h:543
Definition QuartzQuantizationUtilities.h:227
Definition QuartzQuantizationUtilities.h:489
Definition QuartzQuantizationUtilities.h:110
Definition QuartzQuantizationUtilities.h:142