|
CriWare Unreal Engine
Plug-ins for CriWare solutions.
|
#include <AtomMixerClock.h>
クラス | |
| struct | FQuartzClockState |
| struct | PendingCommand |
公開メンバ関数 | |
| CRI_API | FQuartzClock (const FName &InName, const FQuartzClockSettings &InClockSettings, FQuartzClockManager *InOwningClockManagerPtr=nullptr) |
| CRI_API | ~FQuartzClock () |
| CRI_API void | AddQuantizedCommand (FQuartzQuantizationBoundary InQuantizationBoundary, TSharedPtr< Atom::IQuartzQuantizedCommand > InNewEvent) |
| CRI_API void | AddQuantizedCommand (FQuartzQuantizedCommandInitInfo &InQuantizationCommandInitInfo) |
| CRI_API void | AddQuantizedCommand (FQuartzQuantizedRequestData &InQuantizedRequestData) |
| CRI_API void | AddToTickDelay (int32 NumFramesOfDelayToAdd) |
| CRI_API bool | CancelQuantizedCommand (TSharedPtr< IQuartzQuantizedCommand > InCommandPtr) |
| CRI_API void | ChangeTickRate (Audio::FQuartzClockTickRate InNewTickRate, int32 NumFramesLeft=0) |
| CRI_API void | ChangeTimeSignature (const FQuartzTimeSignature &InNewTimeSignature) |
| CRI_API bool | DoesMatchSettings (const FQuartzClockSettings &InClockSettings) const |
| CRI_API FAtomRuntime * | GetAtomRuntime () |
| CRI_API float | GetBeatProgressPercent (const EQuartzCommandQuantization &QuantizationType) const |
| CRI_API FQuartzClockManager * | GetClockManager () |
| CRI_API FQuartzClockCommandQueueWeakPtr | GetCommandQueue () const |
| CRI_API FQuartzTransportTimeStamp | GetCurrentTimestamp () |
| CRI_API float | GetDurationOfQuantizationTypeInSeconds (const EQuartzCommandQuantization &QuantizationType, float Multiplier) |
| CRI_API float | GetEstimatedRunTime () |
| CRI_API FName | GetName () const |
| CRI_API FMixerSourceManager * | GetSourceManager () |
| CRI_API Audio::FQuartzClockTickRate | GetTickRate () |
| CRI_API bool | HasPendingEvents () const |
| CRI_API bool | IgnoresFlush () const |
| CRI_API bool | IsRunning () const |
| CRI_API void | LowResolutionTick (float InDeltaTimeSeconds) |
| CRI_API int32 | NumPendingEvents () const |
| CRI_API void | Pause () |
| CRI_API void | ResetTransport (const int32 NumFramesToTickBeforeReset=0) |
| CRI_API void | Restart (bool bPause=true) |
| CRI_API void | Resume () |
| CRI_API void | SetSampleRate (float InNewSampleRate) |
| CRI_API void | SetTickDelay (int32 NumFramesOfDelay) |
| CRI_API void | Shutdown () |
| CRI_API void | Stop (bool CancelPendingEvents) |
| CRI_API void | SubscribeToAllTimeDivisions (Audio::FQuartzGameThreadSubscriber InSubscriber) |
| CRI_API void | SubscribeToTimeDivision (Audio::FQuartzGameThreadSubscriber InSubscriber, EQuartzCommandQuantization InQuantizationBoundary) |
| CRI_API void | Tick (int32 InNumFramesUntilNextTick) |
| CRI_API void | UnsubscribeFromAllTimeDivisions (Audio::FQuartzGameThreadSubscriber InSubscriber) |
| CRI_API void | UnsubscribeFromTimeDivision (Audio::FQuartzGameThreadSubscriber InSubscriber, EQuartzCommandQuantization InQuantizationBoundary) |
非公開メンバ関数 | |
| FQuartzClock ()=delete | |
| bool | CancelQuantizedCommandInternal (TSharedPtr< IQuartzQuantizedCommand > InCommandPtr, TArray< PendingCommand > &CommandsToTick) |
| void | TickInternal (int32 InNumFramesUntilNextTick, TArray< PendingCommand > &CommandsToTick, int32 FramesOfLatency=0, int32 FramesOfDelay=0) |
| void | UpdateCachedState () |
非公開変数類 | |
| bool | bIgnoresFlush { false } |
| FThreadSafeBool | bIsRunning { true } |
| struct Atom::FQuartzClock::FQuartzClockState | CachedClockState |
| FCriticalSection | CachedClockStateCritSec |
| TArray< PendingCommand > | ClockAlteringPendingCommands |
| FQuartzMetronome | Metronome |
| FName | Name |
| FQuartzClockManager * | OwningClockManagerPtr { nullptr } |
| TArray< PendingCommand > | PendingCommands |
| FQuartzClockCommandQueuePtr | PreTickCommands |
| float | ThreadLatencyInMilliseconds { 40.f } |
| int32 | TickDelayLengthInFrames { 0 } |
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)
| Atom::FQuartzClock::FQuartzClock | ( | const FName & | InName, |
| const FQuartzClockSettings & | InClockSettings, | ||
| FQuartzClockManager * | InOwningClockManagerPtr = nullptr ) |
| Atom::FQuartzClock::~FQuartzClock | ( | ) |
|
privatedelete |
| CRI_API void Atom::FQuartzClock::AddQuantizedCommand | ( | FQuartzQuantizationBoundary | InQuantizationBoundary, |
| TSharedPtr< Atom::IQuartzQuantizedCommand > | InNewEvent ) |
| void Atom::FQuartzClock::AddQuantizedCommand | ( | FQuartzQuantizedCommandInitInfo & | InQuantizationCommandInitInfo | ) |
| void Atom::FQuartzClock::AddQuantizedCommand | ( | FQuartzQuantizedRequestData & | InQuantizedRequestData | ) |
| void Atom::FQuartzClock::AddToTickDelay | ( | int32 | NumFramesOfDelayToAdd | ) |
| bool Atom::FQuartzClock::CancelQuantizedCommand | ( | TSharedPtr< IQuartzQuantizedCommand > | InCommandPtr | ) |
|
private |
| void Atom::FQuartzClock::ChangeTickRate | ( | Audio::FQuartzClockTickRate | InNewTickRate, |
| int32 | NumFramesLeft = 0 ) |
| void Atom::FQuartzClock::ChangeTimeSignature | ( | const FQuartzTimeSignature & | InNewTimeSignature | ) |
| bool Atom::FQuartzClock::DoesMatchSettings | ( | const FQuartzClockSettings & | InClockSettings | ) | const |
| FAtomRuntime * Atom::FQuartzClock::GetAtomRuntime | ( | ) |
| float Atom::FQuartzClock::GetBeatProgressPercent | ( | const EQuartzCommandQuantization & | QuantizationType | ) | const |
| FQuartzClockManager * Atom::FQuartzClock::GetClockManager | ( | ) |
| FQuartzClockCommandQueueWeakPtr Atom::FQuartzClock::GetCommandQueue | ( | ) | const |
| FQuartzTransportTimeStamp Atom::FQuartzClock::GetCurrentTimestamp | ( | ) |
| float Atom::FQuartzClock::GetDurationOfQuantizationTypeInSeconds | ( | const EQuartzCommandQuantization & | QuantizationType, |
| float | Multiplier ) |
| float Atom::FQuartzClock::GetEstimatedRunTime | ( | ) |
| FName Atom::FQuartzClock::GetName | ( | ) | const |
| FMixerSourceManager * Atom::FQuartzClock::GetSourceManager | ( | ) |
| Audio::FQuartzClockTickRate Atom::FQuartzClock::GetTickRate | ( | ) |
| bool Atom::FQuartzClock::HasPendingEvents | ( | ) | const |
| bool Atom::FQuartzClock::IgnoresFlush | ( | ) | const |
| bool Atom::FQuartzClock::IsRunning | ( | ) | const |
| void Atom::FQuartzClock::LowResolutionTick | ( | float | InDeltaTimeSeconds | ) |
| int32 Atom::FQuartzClock::NumPendingEvents | ( | ) | const |
| void Atom::FQuartzClock::Pause | ( | ) |
| void Atom::FQuartzClock::ResetTransport | ( | const int32 | NumFramesToTickBeforeReset = 0 | ) |
| void Atom::FQuartzClock::Restart | ( | bool | bPause = true | ) |
| void Atom::FQuartzClock::Resume | ( | ) |
| void Atom::FQuartzClock::SetSampleRate | ( | float | InNewSampleRate | ) |
| void Atom::FQuartzClock::SetTickDelay | ( | int32 | NumFramesOfDelay | ) |
| void Atom::FQuartzClock::Shutdown | ( | ) |
| void Atom::FQuartzClock::Stop | ( | bool | CancelPendingEvents | ) |
| void Atom::FQuartzClock::SubscribeToAllTimeDivisions | ( | Audio::FQuartzGameThreadSubscriber | InSubscriber | ) |
| void Atom::FQuartzClock::SubscribeToTimeDivision | ( | Audio::FQuartzGameThreadSubscriber | InSubscriber, |
| EQuartzCommandQuantization | InQuantizationBoundary ) |
| void Atom::FQuartzClock::Tick | ( | int32 | InNumFramesUntilNextTick | ) |
|
private |
| void Atom::FQuartzClock::UnsubscribeFromAllTimeDivisions | ( | Audio::FQuartzGameThreadSubscriber | InSubscriber | ) |
| void Atom::FQuartzClock::UnsubscribeFromTimeDivision | ( | Audio::FQuartzGameThreadSubscriber | InSubscriber, |
| EQuartzCommandQuantization | InQuantizationBoundary ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |