CriWare Unreal Engine
Plug-ins for CriWare solutions.
読み取り中…
検索中…
一致する文字列を見つけられません
Atom::FMixerSourceManager クラス

#include <AtomMixerSourceManager.h>

クラス

struct  FAtomMixerThreadCommand
struct  FCommands
struct  FGameThreadInfo
struct  FPendingAudioBusConnection
struct  FSourceInfo

公開メンバ関数

 FMixerSourceManager (FAtomRuntime *InAtomRuntime)
 ~FMixerSourceManager ()
void AddPatchInputForAudioBus (FAudioBusKey InAudioBusKey, const Audio::FPatchInput &InPatchInput)
void AddPatchInputForAudioBus_AudioThread (FAudioBusKey InAudioBusKey, const Audio::FPatchInput &InPatchInput)
void AddPatchOutputForAudioBus (FAudioBusKey InAudioBusKey, const Audio::FPatchOutputStrongPtr &InPatchOutputStrongPtr)
void AddPatchOutputForAudioBus_AudioThread (FAudioBusKey InAudioBusKey, const Audio::FPatchOutputStrongPtr &InPatchOutputStrongPtr)
void AddPendingAudioBusConnection (FAudioBusKey AudioBusKey, int32 NumChannels, bool bIsAutomatic, Audio::FPatchInput PatchInput)
void AddPendingAudioBusConnection (FAudioBusKey AudioBusKey, int32 NumChannels, bool bIsAutomatic, Audio::FPatchOutputStrongPtr PatchOutputStrongPtr)
void AtomMixerThreadMPSCCommand (TFunction< void()> &&InCommand, const char *InDebugString=nullptr)
void CancelQuantizedSound (const int32 SourceID)
void ComputeNextBlockOfSamples ()
void FlushCommandQueue (bool bPumpCommandQueue=false)
void Get2DChannelMap (const int32 SourceId, int32 InNumOutputChannels, Atom::FAlignedFloatBuffer &OutChannelMap)
FAtomRuntimeGetAtomRuntime () const
int32 GetAudioBusNumChannels (FAudioBusKey InAudioBusKey) const
float GetEnvelopeValue (const int32 SourceId) const
bool GetFreeSourceID (int32 &OutSourceID)
int32 GetNumActiveAudioBuses () const
int32 GetNumActiveSources () const
int32 GetNumChannels (const int32 SourceID) const
int64 GetNumFramesPlayed (const int32 SourceId) const
int32 GetNumOutputFrames () const
const Atom::FAlignedFloatBufferGetPreDistanceAttenuationBuffer (const int32 SourceID) const
const Atom::FAlignedFloatBufferGetPreEffectBuffer (const int32 SourceID) const
const Atom::FAlignedFloatBufferGetPreviousAudioBusBuffer (const int32 AudioBusID) const
const Atom::FAlignedFloatBufferGetPreviousSourceBusBuffer (const int32 SourceID) const
void Init (const FSourceManagerInitParams &InitParams)
void InitSource (const int32 SourceID, const FMixerSourceVoiceInitParams &InitParams)
FAtomPlaybackId InitSourcePlayer (const int32 SourceID)
bool IsAudioBusActive (FAudioBusKey InAudioBusKey) const
bool IsAudioPlayerActive (FAtomExPlayerKey InAudioPlayerKey) const
bool IsSourceBus (const int32 SourceID) const
bool IsUsingHRTFSpatializer (const int32 SourceID) const
void IterateOverVoicePools (TFunctionRef< void(EMixerSourceVoiceCodecType CodecType, EMixerSourceVoiceStreamingType StreamingType, int32 ID, int32 NumUsedVoices, int32 MaxVoices, int32 MaxChannels, int32 MaxSampleRate)> Func) const
void Pause (const int32 SourceID)
void PauseSoundForQuantizationCommand (const int32 SourceID)
void Play (const int32 SourceID)
void PumpCommandQueue ()
void ReleaseSourceID (const int32 SourceID)
void SetBusSendInfo (const int32 SourceID, EAtomBusSendStage InAudioBusSendSTage, uint32 AudiobusID, float BusSendLevel, const FString &InBusName)
void SetModHPFFrequency (const int32 SourceID, const float InModFrequency)
void SetModLPFFrequency (const int32 SourceID, const float InModFrequency)
void SetModPitch (const int32 SourceID, const float InModPitch)
void SetModulationRouting (const int32 SourceID, FAtomSoundModulationDefaultSettings &ModulationSettings)
void SetModVolume (const int32 SourceID, const float InModVolume)
void SetSubBufferDelayForSound (const int32 SourceID, const int32 FramesToDelay)
void SetVoiceEffect (const int32 SourceID, const FAtomSourceVoiceEffect &Effect)
void StartAudioBus (FAudioBusKey InAudioBusKey, const FString &InAudioBusName, int32 InNumChannels, bool bInIsAutomatic)
void StartAudioPlayer (FAtomExPlayerKey InAudioPlayerKey)
void Stop (const int32 SourceID)
void StopAudioBus (FAudioBusKey InAudioBusKey)
void StopAudioPlayer (FAtomExPlayerKey InAudioPlayerKey)
void StopFade (const int32 SourceID)
void StopInternal (const int32 SourceID)
void SubmitBuffer (const int32 SourceID, float **Data, int32 NumChannels, int32 NumFrames)
void UnPauseSoundForQuantizationCommand (const int32 SourceID)
void Update (bool bTimedOut=false)
void UpdatePendingReleaseData (bool bForceWait=false)

非公開型

using FAtomMixerMpscCommand = FAtomMixerThreadCommand

非公開メンバ関数

void AtomMixerThreadCommand (TFunction< void()> &&InFunction, const char *InDebugString=nullptr, bool bInDeferExecution=false)
void ComputeBuses ()
void ComputeOutputBuffer (const bool bGenerateBuses, int32 SourceID)
void ComputeSourceBuffer (const bool bGenerateBuses, int32 SourceID)
void ConnectBusPatches ()
void DoStallDiagnostics ()
TSharedRef< FMixerAudioBusFindOrAddAudioBus (const FAudioBusKey BusKey, const int32 InNumChannels, const bool bIsAutomatic, bool *bOutAlreadyExisted=nullptr)
void GenerateSourceAudio (const bool bGenerateBuses)
float GetCommandQueueFillPercentage () const
float GetFloatCompareTolerance () const
void LogCallstack (uint32 InThreadID)
void LogCallstacks ()
void LogInflightAsyncTasks ()
void LogRenderThreadStall ()
void ReleaseSource (const int32 SourceID)
void UpdateBuses ()

非公開変数類

uint32 AtomRenderThreadID = INVALID_ATOM_RENDER_THREAD_ID
FAtomRuntimeAtomRuntime
TMap< FAudioBusKey, TSharedPtr< FMixerAudioBus > > AudioBuses
TArray< FAudioBusKeyAudioBusKeys_AudioThread
TMap< FAtomExPlayerKey, TSharedPtr< FAtomExPlayer > > AudioPlayers
uint8 bInitialized: 1
FThreadSafeBool bPumpQueue
uint8 bUsingSourceDataOverridePlugin: 1
uint8 bUsingSpatializationPlugin: 1
FCriticalSection CommandBufferIndexCriticalSection
FCommands CommandBuffers [2]
FEvent * CommandsProcessedEvent
FAtomMixerThreadCommand CurrentlyExecuteingCmd
FRWLock CurrentlyExecutingCmdLock
struct Atom::FMixerSourceManager::FGameThreadInfo GameThreadInfo
std::atomic< uint64 > LastPumpCompleteTimeInCycles = 0
TArray< FTransform > ListenerTransforms
TArray< FMixerSourceVoice * > MixerSources
TMpscQueue< FAtomMixerMpscCommandMpscCommandQueue
int32 NumActiveSources
FThreadSafeCounter NumCommands
int32 NumOutputFrames
int32 NumOutputSamples
int32 NumTotalSources
TMpscQueue< FPendingAudioBusConnectionPendingAudioBusConnections
TArray< FMixerSourcePlayerPendingSourcePlayers
FThreadSafeCounter RenderThreadCommandBufferIndex
std::atomic< EAtomSourceManagerRenderThreadPhaseRenderThreadPhase = EAtomSourceManagerRenderThreadPhase::Begin
TAtomSourceDataOverridePtr SourceDataOverridePlugin
TArray< FSourceInfoSourceInfos

静的非公開変数類

static const int32 NUM_BYTES_PER_SAMPLE = 2

フレンド

class FMixerSourceVoice

型定義メンバ詳解

◆ FAtomMixerMpscCommand

構築子と解体子

◆ FMixerSourceManager()

Atom::FMixerSourceManager::FMixerSourceManager ( FAtomRuntime * InAtomRuntime)

◆ ~FMixerSourceManager()

Atom::FMixerSourceManager::~FMixerSourceManager ( )

関数詳解

◆ AddPatchInputForAudioBus()

void Atom::FMixerSourceManager::AddPatchInputForAudioBus ( FAudioBusKey InAudioBusKey,
const Audio::FPatchInput & InPatchInput )

◆ AddPatchInputForAudioBus_AudioThread()

void Atom::FMixerSourceManager::AddPatchInputForAudioBus_AudioThread ( FAudioBusKey InAudioBusKey,
const Audio::FPatchInput & InPatchInput )

◆ AddPatchOutputForAudioBus()

void Atom::FMixerSourceManager::AddPatchOutputForAudioBus ( FAudioBusKey InAudioBusKey,
const Audio::FPatchOutputStrongPtr & InPatchOutputStrongPtr )

◆ AddPatchOutputForAudioBus_AudioThread()

void Atom::FMixerSourceManager::AddPatchOutputForAudioBus_AudioThread ( FAudioBusKey InAudioBusKey,
const Audio::FPatchOutputStrongPtr & InPatchOutputStrongPtr )

◆ AddPendingAudioBusConnection() [1/2]

void Atom::FMixerSourceManager::AddPendingAudioBusConnection ( FAudioBusKey AudioBusKey,
int32 NumChannels,
bool bIsAutomatic,
Audio::FPatchInput PatchInput )
inline

◆ AddPendingAudioBusConnection() [2/2]

void Atom::FMixerSourceManager::AddPendingAudioBusConnection ( FAudioBusKey AudioBusKey,
int32 NumChannels,
bool bIsAutomatic,
Audio::FPatchOutputStrongPtr PatchOutputStrongPtr )
inline

◆ AtomMixerThreadCommand()

void Atom::FMixerSourceManager::AtomMixerThreadCommand ( TFunction< void()> && InFunction,
const char * InDebugString = nullptr,
bool bInDeferExecution = false )
private

◆ AtomMixerThreadMPSCCommand()

void Atom::FMixerSourceManager::AtomMixerThreadMPSCCommand ( TFunction< void()> && InCommand,
const char * InDebugString = nullptr )

◆ CancelQuantizedSound()

void Atom::FMixerSourceManager::CancelQuantizedSound ( const int32 SourceID)

◆ ComputeBuses()

void Atom::FMixerSourceManager::ComputeBuses ( )
private

◆ ComputeNextBlockOfSamples()

void Atom::FMixerSourceManager::ComputeNextBlockOfSamples ( )

◆ ComputeOutputBuffer()

void Atom::FMixerSourceManager::ComputeOutputBuffer ( const bool bGenerateBuses,
int32 SourceID )
private

◆ ComputeSourceBuffer()

void Atom::FMixerSourceManager::ComputeSourceBuffer ( const bool bGenerateBuses,
int32 SourceID )
private

◆ ConnectBusPatches()

void Atom::FMixerSourceManager::ConnectBusPatches ( )
private

◆ DoStallDiagnostics()

void Atom::FMixerSourceManager::DoStallDiagnostics ( )
private

◆ FindOrAddAudioBus()

TSharedRef< FMixerAudioBus > Atom::FMixerSourceManager::FindOrAddAudioBus ( const FAudioBusKey BusKey,
const int32 InNumChannels,
const bool bIsAutomatic,
bool * bOutAlreadyExisted = nullptr )
private

◆ FlushCommandQueue()

void Atom::FMixerSourceManager::FlushCommandQueue ( bool bPumpCommandQueue = false)

◆ GenerateSourceAudio()

void Atom::FMixerSourceManager::GenerateSourceAudio ( const bool bGenerateBuses)
private

◆ Get2DChannelMap()

void Atom::FMixerSourceManager::Get2DChannelMap ( const int32 SourceId,
int32 InNumOutputChannels,
Atom::FAlignedFloatBuffer & OutChannelMap )

◆ GetAtomRuntime()

FAtomRuntime * Atom::FMixerSourceManager::GetAtomRuntime ( ) const
inline

◆ GetAudioBusNumChannels()

int32 Atom::FMixerSourceManager::GetAudioBusNumChannels ( FAudioBusKey InAudioBusKey) const

◆ GetCommandQueueFillPercentage()

float Atom::FMixerSourceManager::GetCommandQueueFillPercentage ( ) const
private

◆ GetEnvelopeValue()

float Atom::FMixerSourceManager::GetEnvelopeValue ( const int32 SourceId) const

◆ GetFloatCompareTolerance()

float Atom::FMixerSourceManager::GetFloatCompareTolerance ( ) const
private

◆ GetFreeSourceID()

bool Atom::FMixerSourceManager::GetFreeSourceID ( int32 & OutSourceID)

◆ GetNumActiveAudioBuses()

int32 Atom::FMixerSourceManager::GetNumActiveAudioBuses ( ) const

◆ GetNumActiveSources()

int32 Atom::FMixerSourceManager::GetNumActiveSources ( ) const

◆ GetNumChannels()

int32 Atom::FMixerSourceManager::GetNumChannels ( const int32 SourceID) const

◆ GetNumFramesPlayed()

int64 Atom::FMixerSourceManager::GetNumFramesPlayed ( const int32 SourceId) const

◆ GetNumOutputFrames()

int32 Atom::FMixerSourceManager::GetNumOutputFrames ( ) const
inline

◆ GetPreDistanceAttenuationBuffer()

const Atom::FAlignedFloatBuffer & Atom::FMixerSourceManager::GetPreDistanceAttenuationBuffer ( const int32 SourceID) const

◆ GetPreEffectBuffer()

const Atom::FAlignedFloatBuffer & Atom::FMixerSourceManager::GetPreEffectBuffer ( const int32 SourceID) const

◆ GetPreviousAudioBusBuffer()

const Atom::FAlignedFloatBuffer & Atom::FMixerSourceManager::GetPreviousAudioBusBuffer ( const int32 AudioBusID) const

◆ GetPreviousSourceBusBuffer()

const Atom::FAlignedFloatBuffer & Atom::FMixerSourceManager::GetPreviousSourceBusBuffer ( const int32 SourceID) const

◆ Init()

void Atom::FMixerSourceManager::Init ( const FSourceManagerInitParams & InitParams)

◆ InitSource()

void Atom::FMixerSourceManager::InitSource ( const int32 SourceID,
const FMixerSourceVoiceInitParams & InitParams )

◆ InitSourcePlayer()

FAtomPlaybackId Atom::FMixerSourceManager::InitSourcePlayer ( const int32 SourceID)

◆ IsAudioBusActive()

bool Atom::FMixerSourceManager::IsAudioBusActive ( FAudioBusKey InAudioBusKey) const

◆ IsAudioPlayerActive()

bool Atom::FMixerSourceManager::IsAudioPlayerActive ( FAtomExPlayerKey InAudioPlayerKey) const

◆ IsSourceBus()

bool Atom::FMixerSourceManager::IsSourceBus ( const int32 SourceID) const

◆ IsUsingHRTFSpatializer()

bool Atom::FMixerSourceManager::IsUsingHRTFSpatializer ( const int32 SourceID) const

◆ IterateOverVoicePools()

void Atom::FMixerSourceManager::IterateOverVoicePools ( TFunctionRef< void(EMixerSourceVoiceCodecType CodecType, EMixerSourceVoiceStreamingType StreamingType, int32 ID, int32 NumUsedVoices, int32 MaxVoices, int32 MaxChannels, int32 MaxSampleRate)> Func) const

◆ LogCallstack()

void Atom::FMixerSourceManager::LogCallstack ( uint32 InThreadID)
private

◆ LogCallstacks()

void Atom::FMixerSourceManager::LogCallstacks ( )
private

◆ LogInflightAsyncTasks()

void Atom::FMixerSourceManager::LogInflightAsyncTasks ( )
private

◆ LogRenderThreadStall()

void Atom::FMixerSourceManager::LogRenderThreadStall ( )
private

◆ Pause()

void Atom::FMixerSourceManager::Pause ( const int32 SourceID)

◆ PauseSoundForQuantizationCommand()

void Atom::FMixerSourceManager::PauseSoundForQuantizationCommand ( const int32 SourceID)

◆ Play()

void Atom::FMixerSourceManager::Play ( const int32 SourceID)

◆ PumpCommandQueue()

void Atom::FMixerSourceManager::PumpCommandQueue ( )

◆ ReleaseSource()

void Atom::FMixerSourceManager::ReleaseSource ( const int32 SourceID)
private

◆ ReleaseSourceID()

void Atom::FMixerSourceManager::ReleaseSourceID ( const int32 SourceID)

◆ SetBusSendInfo()

void Atom::FMixerSourceManager::SetBusSendInfo ( const int32 SourceID,
EAtomBusSendStage InAudioBusSendSTage,
uint32 AudiobusID,
float BusSendLevel,
const FString & InBusName )

◆ SetModHPFFrequency()

void Atom::FMixerSourceManager::SetModHPFFrequency ( const int32 SourceID,
const float InModFrequency )

◆ SetModLPFFrequency()

void Atom::FMixerSourceManager::SetModLPFFrequency ( const int32 SourceID,
const float InModFrequency )

◆ SetModPitch()

void Atom::FMixerSourceManager::SetModPitch ( const int32 SourceID,
const float InModPitch )

◆ SetModulationRouting()

void Atom::FMixerSourceManager::SetModulationRouting ( const int32 SourceID,
FAtomSoundModulationDefaultSettings & ModulationSettings )

◆ SetModVolume()

void Atom::FMixerSourceManager::SetModVolume ( const int32 SourceID,
const float InModVolume )

◆ SetSubBufferDelayForSound()

void Atom::FMixerSourceManager::SetSubBufferDelayForSound ( const int32 SourceID,
const int32 FramesToDelay )

◆ SetVoiceEffect()

void Atom::FMixerSourceManager::SetVoiceEffect ( const int32 SourceID,
const FAtomSourceVoiceEffect & Effect )

◆ StartAudioBus()

void Atom::FMixerSourceManager::StartAudioBus ( FAudioBusKey InAudioBusKey,
const FString & InAudioBusName,
int32 InNumChannels,
bool bInIsAutomatic )

◆ StartAudioPlayer()

void Atom::FMixerSourceManager::StartAudioPlayer ( FAtomExPlayerKey InAudioPlayerKey)

◆ Stop()

void Atom::FMixerSourceManager::Stop ( const int32 SourceID)

◆ StopAudioBus()

void Atom::FMixerSourceManager::StopAudioBus ( FAudioBusKey InAudioBusKey)

◆ StopAudioPlayer()

void Atom::FMixerSourceManager::StopAudioPlayer ( FAtomExPlayerKey InAudioPlayerKey)

◆ StopFade()

void Atom::FMixerSourceManager::StopFade ( const int32 SourceID)

◆ StopInternal()

void Atom::FMixerSourceManager::StopInternal ( const int32 SourceID)

◆ SubmitBuffer()

void Atom::FMixerSourceManager::SubmitBuffer ( const int32 SourceID,
float ** Data,
int32 NumChannels,
int32 NumFrames )

◆ UnPauseSoundForQuantizationCommand()

void Atom::FMixerSourceManager::UnPauseSoundForQuantizationCommand ( const int32 SourceID)

◆ Update()

void Atom::FMixerSourceManager::Update ( bool bTimedOut = false)

◆ UpdateBuses()

void Atom::FMixerSourceManager::UpdateBuses ( )
private

◆ UpdatePendingReleaseData()

void Atom::FMixerSourceManager::UpdatePendingReleaseData ( bool bForceWait = false)

◆ FMixerSourceVoice

friend class FMixerSourceVoice
friend

メンバ詳解

◆ AtomRenderThreadID

uint32 Atom::FMixerSourceManager::AtomRenderThreadID = INVALID_ATOM_RENDER_THREAD_ID
private

◆ AtomRuntime

FAtomRuntime* Atom::FMixerSourceManager::AtomRuntime
private

◆ AudioBuses

TMap<FAudioBusKey, TSharedPtr<FMixerAudioBus> > Atom::FMixerSourceManager::AudioBuses
private

◆ AudioBusKeys_AudioThread

TArray<FAudioBusKey> Atom::FMixerSourceManager::AudioBusKeys_AudioThread
private

◆ AudioPlayers

TMap<FAtomExPlayerKey, TSharedPtr<FAtomExPlayer> > Atom::FMixerSourceManager::AudioPlayers
private

◆ bInitialized

uint8 Atom::FMixerSourceManager::bInitialized
private

◆ bPumpQueue

FThreadSafeBool Atom::FMixerSourceManager::bPumpQueue
private

◆ bUsingSourceDataOverridePlugin

uint8 Atom::FMixerSourceManager::bUsingSourceDataOverridePlugin
private

◆ bUsingSpatializationPlugin

uint8 Atom::FMixerSourceManager::bUsingSpatializationPlugin
private

◆ CommandBufferIndexCriticalSection

FCriticalSection Atom::FMixerSourceManager::CommandBufferIndexCriticalSection
private

◆ CommandBuffers

FCommands Atom::FMixerSourceManager::CommandBuffers[2]
private

◆ CommandsProcessedEvent

FEvent* Atom::FMixerSourceManager::CommandsProcessedEvent
private

◆ CurrentlyExecuteingCmd

FAtomMixerThreadCommand Atom::FMixerSourceManager::CurrentlyExecuteingCmd
private

◆ CurrentlyExecutingCmdLock

FRWLock Atom::FMixerSourceManager::CurrentlyExecutingCmdLock
private

◆ GameThreadInfo

struct Atom::FMixerSourceManager::FGameThreadInfo Atom::FMixerSourceManager::GameThreadInfo
private

◆ LastPumpCompleteTimeInCycles

std::atomic<uint64> Atom::FMixerSourceManager::LastPumpCompleteTimeInCycles = 0
private

◆ ListenerTransforms

TArray<FTransform> Atom::FMixerSourceManager::ListenerTransforms
private

◆ MixerSources

TArray<FMixerSourceVoice*> Atom::FMixerSourceManager::MixerSources
private

◆ MpscCommandQueue

TMpscQueue<FAtomMixerMpscCommand> Atom::FMixerSourceManager::MpscCommandQueue
private

◆ NUM_BYTES_PER_SAMPLE

const int32 Atom::FMixerSourceManager::NUM_BYTES_PER_SAMPLE = 2
staticprivate

◆ NumActiveSources

int32 Atom::FMixerSourceManager::NumActiveSources
private

◆ NumCommands

FThreadSafeCounter Atom::FMixerSourceManager::NumCommands
private

◆ NumOutputFrames

int32 Atom::FMixerSourceManager::NumOutputFrames
private

◆ NumOutputSamples

int32 Atom::FMixerSourceManager::NumOutputSamples
private

◆ NumTotalSources

int32 Atom::FMixerSourceManager::NumTotalSources
private

◆ PendingAudioBusConnections

TMpscQueue<FPendingAudioBusConnection> Atom::FMixerSourceManager::PendingAudioBusConnections
private

◆ PendingSourcePlayers

TArray<FMixerSourcePlayer> Atom::FMixerSourceManager::PendingSourcePlayers
private

◆ RenderThreadCommandBufferIndex

FThreadSafeCounter Atom::FMixerSourceManager::RenderThreadCommandBufferIndex
private

◆ RenderThreadPhase

std::atomic<EAtomSourceManagerRenderThreadPhase> Atom::FMixerSourceManager::RenderThreadPhase = EAtomSourceManagerRenderThreadPhase::Begin
private

◆ SourceDataOverridePlugin

TAtomSourceDataOverridePtr Atom::FMixerSourceManager::SourceDataOverridePlugin
private

◆ SourceInfos

TArray<FSourceInfo> Atom::FMixerSourceManager::SourceInfos
private

このクラス詳解は次のファイルから抽出されました: