UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
QuartzInterfaces.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7
8namespace Audio
9{
10 // Struct used to communicate command state back to the game play thread
11 struct FQuartzQuantizedCommandDelegateData : public FQuartzCrossThreadMessage
12 {
15
16 // ID so the clock handle knows which delegate to fire
18
19 }; // struct FQuartzQuantizedCommandDelegateData
20
21 // Struct used to communicate metronome events back to the game play thread
22 struct FQuartzMetronomeDelegateData : public FQuartzCrossThreadMessage
23 {
30 }; // struct FQuartzMetronomeDelegateData
31
32 // Struct used to queue events to be sent to the Audio Render thread closer to their start time
43}
44
45namespace Audio::Quartz
46{
48 {
49 public:
50 virtual ~IMetronomeEventListener() = default;
52 }; // class IMetronomeEventListener
53
55 {
56 public:
57 virtual ~ICommandListener() = default;
59 }; // class ICommandListener
60
62 {
63 public:
64 virtual ~IQueueCommandListener() = default;
66 };
67
69 {
70 public:
71 virtual ~IQuartzClock() = default;
72
73 // Transport control
74 virtual void Resume() = 0;
75 virtual void Pause() = 0;
76 virtual void Restart(bool bPause = true) = 0;
77 virtual void Stop(bool CancelPendingEvents) = 0; // Pause + Restart
78
79 // Metronome Event Subscription:
81 virtual void SubscribeToAllTimeDivisions(FQuartzGameThreadSubscriber InSubscriber) = 0;
83 virtual void UnsubscribeFromAllTimeDivisions(FQuartzGameThreadSubscriber InSubscriber) = 0;
84
85 // Quantized Command Management:
89 }; // IQuartzClock
90} // namespace Audio::Quartz
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EQuartzCommandType
Definition QuartzQuantizationUtilities.h:205
EQuartzCommandQuantization
Definition QuartzQuantizationUtilities.h:46
EQuartzCommandDelegateSubType
Definition QuartzQuantizationUtilities.h:192
Definition QuartzInterfaces.h:55
virtual ~ICommandListener()=default
virtual void OnCommandEvent(const FQuartzQuantizedCommandDelegateData &)=0
Definition QuartzInterfaces.h:48
virtual void OnMetronomeEvent(const FQuartzMetronomeDelegateData &)=0
Definition QuartzInterfaces.h:69
virtual void Stop(bool CancelPendingEvents)=0
virtual void AddQuantizedCommand(FQuartzQuantizedRequestData &InQuantizedRequestData)=0
virtual void UnsubscribeFromAllTimeDivisions(FQuartzGameThreadSubscriber InSubscriber)=0
virtual void Restart(bool bPause=true)=0
virtual void AddQuantizedCommand(FQuartzQuantizedCommandInitInfo &InQuantizationCommandInitInfo)=0
virtual void SubscribeToTimeDivision(FQuartzGameThreadSubscriber InSubscriber, EQuartzCommandQuantization InQuantizationBoundary)=0
virtual void SubscribeToAllTimeDivisions(FQuartzGameThreadSubscriber InSubscriber)=0
virtual void AddQuantizedCommand(FQuartzQuantizationBoundary InQuantizationBoundary, TSharedPtr< IQuartzQuantizedCommand > InNewEvent)=0
virtual void UnsubscribeFromTimeDivision(FQuartzGameThreadSubscriber InSubscriber, EQuartzCommandQuantization InQuantizationBoundary)=0
virtual ~IQuartzClock()=default
Definition QuartzInterfaces.h:62
virtual ~IQueueCommandListener()=default
virtual void OnQueueCommandEvent(const FQuartzQueueCommandData &)=0
Definition NameTypes.h:617
Definition SharedPointer.h:692
Definition QuartzCommandQueue.h:13
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition QuartzInterfaces.h:23
int32 FrameOffset
Definition QuartzInterfaces.h:29
float BeatFraction
Definition QuartzInterfaces.h:26
EQuartzCommandQuantization Quantization
Definition QuartzInterfaces.h:27
FName ClockName
Definition QuartzInterfaces.h:28
int32 Beat
Definition QuartzInterfaces.h:25
int32 Bar
Definition QuartzInterfaces.h:24
Definition QuartzInterfaces.h:12
EQuartzCommandType CommandType
Definition QuartzInterfaces.h:13
int32 DelegateID
Definition QuartzInterfaces.h:17
EQuartzCommandDelegateSubType DelegateSubType
Definition QuartzInterfaces.h:14
Definition QuartzQuantizationUtilities.h:557
Definition QuartzQuantizationUtilities.h:543
Definition QuartzInterfaces.h:34
FAudioComponentCommandInfo AudioComponentCommandInfo
Definition QuartzInterfaces.h:35
FName ClockName
Definition QuartzInterfaces.h:36
FQuartzQueueCommandData(const FAudioComponentCommandInfo &InAudioComponentCommandInfo, FName InClockName)
Definition QuartzInterfaces.h:38
Definition QuartzQuantizationUtilities.h:676
Definition QuartzQuantizationUtilities.h:489