CriWare Unreal Engine
Plug-ins for CriWare solutions.
読み取り中…
検索中…
一致する文字列を見つけられません
AtomMixerSourceManager.cpp ファイル
#include "Atom/Mixer/AtomMixerSourceManager.h"
#include "ProfilingDebugging/CsvProfiler.h"
#include "Async/Async.h"
#include "ProfilingDebugging/CountersTrace.h"
#include "Stats/Stats.h"
#include "Trace/Trace.h"
#include "DSP/FloatArrayMath.h"
#include "CriWareDefines.h"
#include "CriWareLLM.h"
#include "Atom/Atom.h"
#include "Atom/AtomThread.h"
#include "Atom/AtomRack.h"
#include "Atom/AtomSourceVoiceEffect.h"
#include "Atom/Mixer/AtomMixerTrace.h"
#include "Atom/Mixer/AtomMixerSourceVoice.h"
#include "Atom/Modulation/AtomModulationDestination.h"
#include "Extensions/IAtomExtensionPlugin.h"
#include "Atom/Mixer/AtomMixerSource.h"
#include <UE_INLINE_GENERATED_CPP_BY_NAME(AtomMixerSourceManager)>

名前空間

namespace  Atom
namespace  Atom::Trace
namespace  Atom::Trace::EventLog
namespace  Atom::Trace::EventLog::ID

マクロ定義

#define ATOM_MIXER_DEBUG_LOG(SourceId, Message)
#define ATOM_MIXER_THREAD_COMMAND_STRING(X)
#define ATOM_SUBFRAME_ENABLED   0
#define CASE_ENUM_TO_TEXT(TXT)
#define ENVELOPE_TAIL_THRESHOLD   (1.58489e-5f)
#define VALIDATE_SOURCE_MIXER_STATE   1

関数

 CSV_DECLARE_CATEGORY_MODULE_EXTERN (CRIWARECORE_API, Atom)
FAutoConsoleVariableRef CVarAtomCommandBufferFlushWaitTimeMs (TEXT("atom.CommandBufferFlushWaitTimeMs"), AtomCommandBufferFlushWaitTimeMsCvar, TEXT("How long to wait for the command buffer flush to complete.\n"), ECVF_Default)
FAutoConsoleVariableRef CVarAtomCommandBufferInitialCapacity (TEXT("atom.CommandBufferInitialCapacity"), AtomCommandBufferInitialCapacityCvar, TEXT("How many elements to initialize the command buffer capacity with"), ECVF_Default)
FAutoConsoleVariableRef CVarAtomCommandBufferMaxSizeMb (TEXT("atom.CommandBufferMaxSizeInMb"), AtomCommandBufferMaxSizeInMbCvar, TEXT("How big to allow the command buffer to grow before ignoring more commands"), ECVF_Default)
FAutoConsoleVariableRef CVarAtomDisableDistanceAttenuation (TEXT("atom.DisableDistanceAttenuation"), AtomDisableDistanceAttenuationCvar, TEXT("0: Not Disabled, 1: Disabled"), ECVF_Default)
FAutoConsoleVariableRef CVarAtomDisableEnvelopeFollowing (TEXT("atom.DisableEnvelopeFollowing"), AtomDisableEnvelopeFollowingCvar, TEXT("0: Not Disabled, 1: Disabled"), ECVF_Default)
FAutoConsoleVariableRef CVarAtomDisableSourceEffects (TEXT("atom.DisableSourceEffects"), AtomDisableSourceEffectsCvar, TEXT("0: Not Disabled, 1: Disabled"), ECVF_Default)
FAutoConsoleVariableRef CVarAtomFloatCompareMaxScale (TEXT("atom.FloatCompareMaxScale"), AtomFloatCompareMaxScaleCVar, TEXT("Maximum parameter float compare tolerance"), ECVF_Default)
FAutoConsoleVariableRef CVarAtomFloatCompareMinScale (TEXT("atom.FloatCompareMinScale"), AtomFloatCompareMinScaleCVar, TEXT("Minimum parameter float compare tolerance"), ECVF_Default)
FAutoConsoleVariableRef CVarAtomFlushCommandBufferOnTimeout (TEXT("atom.FlushCommandBufferOnTimeout"), AtomFlushCommandBufferOnTimeoutCvar, TEXT("0: Not Disabled, 1: Disabled"), ECVF_Default)
FAutoConsoleVariableRef CVarAtomNumCmdsConsideredFullCVar (TEXT("atom.NumCmdsConsideredFullCVar"), AtomNumCmdsConsideredFullCVar, TEXT("Num of commands in the queue is considered full"), ECVF_Default)
 DEFINE_LOG_CATEGORY (LogCriWareAtomMixer)
 DEFINE_LOG_CATEGORY (LogCriWareAtomMixerDebug)
 DEFINE_STAT (STAT_AtomMixerSourceManagerUpdate)
static FAutoConsoleCommand GAtomModulationSetMaxPitchRange (TEXT("atom.Modulation.SetPitchRange"), TEXT("Sets max final modulation range of pitch (in semitones). Default: 96 semitones (+/- 4 octaves)"), FConsoleCommandWithArgsDelegate::CreateStatic([](const TArray< FString > &Args) { if(Args.Num()< 1) { UE_LOG(LogCriWareAtom, Error, TEXT("Failed to set max modulation pitch range: Range not provided"));return;} const float Range=FCString::Atof(*Args[0]);AtomMaxModulationPitchRangeFreqCVar=Atom::GetFrequencyMultiplier(Range *0.5f);AtomMaxModulationPitchRangeFreqCVar=Atom::GetFrequencyMultiplier(Range *-0.5f);}))
int32 Atom::GetCommandBufferInitialCapacity ()
bool Atom::IsAudioBufferSilent (const float *AudioBuffer, const int32 NumSamples)
const TCHAR * LexToString (EAtomSourceManagerRenderThreadPhase InPhase)

変数

static int32 AtomCommandBufferFlushWaitTimeMsCvar = 1000
static int32 AtomCommandBufferInitialCapacityCvar = 500
static int32 AtomCommandBufferMaxSizeInMbCvar = 10
static int32 AtomDisableDistanceAttenuationCvar = 0
static int32 AtomDisableEnvelopeFollowingCvar = 0
static int32 AtomDisableSourceEffectsCvar = 0
static float AtomFloatCompareMaxScaleCVar = 0.1
static float AtomFloatCompareMinScaleCVar = 0.001
static int32 AtomFlushCommandBufferOnTimeoutCvar = 0
static float AtomMaxModulationPitchRangeFreqCVar = 16.0f
static float AtomMinModulationPitchRangeFreqCVar = 0.0625f
static int32 AtomNumCmdsConsideredFullCVar = 1000
static const Atom::FAlignedFloatBuffer Atom::EmptyBuffer
const FString Atom::Trace::EventLog::ID::FlushAtomRuntimeRequested = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_FlushAtomRuntimeRequested", "Flush Atom Runtime").ToString()
const FString Atom::Trace::EventLog::ID::PauseSoundRequested = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PauseSoundRequested", "Paused").ToString()
const FString Atom::Trace::EventLog::ID::PlayFailedConcurrency = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayFailedConcurrency", "Play Failed : Concurrency").ToString()
const FString Atom::Trace::EventLog::ID::PlayFailedDebugFiltered = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayFailedDebugFiltered", "Play Failed : Debug filtered").ToString()
const FString Atom::Trace::EventLog::ID::PlayFailedNotPlayable = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayFailedNotPlayable", "Play Failed : Not playable").ToString()
const FString Atom::Trace::EventLog::ID::PlayFailedOutOfRange = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayFailedOutOfRange", "Play Failed : Out of range").ToString()
const FString Atom::Trace::EventLog::ID::PlayRequestAtomComponent = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayRequestedAtomComponent", "Play Request : Atom Component").ToString()
const FString Atom::Trace::EventLog::ID::PlayRequestOneShot = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayRequestedOneShot", "Play Request : One shot").ToString()
const FString Atom::Trace::EventLog::ID::PlayRequestSlateSound = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayRequestedSlateSound", "Play Request : Slate Sound").ToString()
const FString Atom::Trace::EventLog::ID::PlayRequestSound2D = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayRequested2DSound", "Play Request : Play Sound 2D").ToString()
const FString Atom::Trace::EventLog::ID::PlayRequestSoundAtLocation = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayRequestedSoundAtLocation", "Play Request : Sound at location").ToString()
const FString Atom::Trace::EventLog::ID::PlayRequestSoundHandle = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_PlayRequestedSoundHandle", "Play Request : Sound Handle").ToString()
const FString Atom::Trace::EventLog::ID::ResumeSoundRequested = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_ResumeSoundRequested", "Resumed").ToString()
const FString Atom::Trace::EventLog::ID::SoundRealized = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_Realize", "Realized").ToString()
const FString Atom::Trace::EventLog::ID::SoundStart = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_Playing", "Playing").ToString()
const FString Atom::Trace::EventLog::ID::SoundStop = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_Stopped", "Stopped").ToString()
const FString Atom::Trace::EventLog::ID::SoundVirtualized = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_Virtualize", "Virtualized").ToString()
const FString Atom::Trace::EventLog::ID::StopAllRequested = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_StopAllRequested", "Stop All").ToString()
const FString Atom::Trace::EventLog::ID::StopRequestActiveSound = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_StopRequestedActiveSound", "Stop Request : Active Sound").ToString()
const FString Atom::Trace::EventLog::ID::StopRequestAtomComponent = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_StopRequestedAtomComponent", "Stop Request : Atom Component").ToString()
const FString Atom::Trace::EventLog::ID::StopRequestConcurrency = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_StopRequestedConcurrency", "Stop Request : Concurrency").ToString()
const FString Atom::Trace::EventLog::ID::StopRequestedSoundHandle = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_StopRequestedSoundHandle", "Stop Request : Sound Handle").ToString()
const FString Atom::Trace::EventLog::ID::StopRequestSoundsUsingResource = NSLOCTEXT("AtomInsightsEventLog", "EventLogTraceMessage_StopRequestedSoundsUsingResource", "Stop Request : Sounds using resource").ToString()

マクロ定義詳解

◆ ATOM_MIXER_DEBUG_LOG

#define ATOM_MIXER_DEBUG_LOG ( SourceId,
Message )

◆ ATOM_MIXER_THREAD_COMMAND_STRING

#define ATOM_MIXER_THREAD_COMMAND_STRING ( X)
値:
("")

◆ ATOM_SUBFRAME_ENABLED

#define ATOM_SUBFRAME_ENABLED   0

◆ CASE_ENUM_TO_TEXT

#define CASE_ENUM_TO_TEXT ( TXT)
値:
case TXT: return TEXT(#TXT);

◆ ENVELOPE_TAIL_THRESHOLD

#define ENVELOPE_TAIL_THRESHOLD   (1.58489e-5f)

◆ VALIDATE_SOURCE_MIXER_STATE

#define VALIDATE_SOURCE_MIXER_STATE   1

関数詳解

◆ CSV_DECLARE_CATEGORY_MODULE_EXTERN()

CSV_DECLARE_CATEGORY_MODULE_EXTERN ( CRIWARECORE_API ,
Atom  )

◆ CVarAtomCommandBufferFlushWaitTimeMs()

FAutoConsoleVariableRef CVarAtomCommandBufferFlushWaitTimeMs ( TEXT("atom.CommandBufferFlushWaitTimeMs") ,
AtomCommandBufferFlushWaitTimeMsCvar ,
TEXT("How long to wait for the command buffer flush to complete.\n") ,
ECVF_Default  )

◆ CVarAtomCommandBufferInitialCapacity()

FAutoConsoleVariableRef CVarAtomCommandBufferInitialCapacity ( TEXT("atom.CommandBufferInitialCapacity") ,
AtomCommandBufferInitialCapacityCvar ,
TEXT("How many elements to initialize the command buffer capacity with") ,
ECVF_Default  )

◆ CVarAtomCommandBufferMaxSizeMb()

FAutoConsoleVariableRef CVarAtomCommandBufferMaxSizeMb ( TEXT("atom.CommandBufferMaxSizeInMb") ,
AtomCommandBufferMaxSizeInMbCvar ,
TEXT("How big to allow the command buffer to grow before ignoring more commands") ,
ECVF_Default  )

◆ CVarAtomDisableDistanceAttenuation()

FAutoConsoleVariableRef CVarAtomDisableDistanceAttenuation ( TEXT("atom.DisableDistanceAttenuation") ,
AtomDisableDistanceAttenuationCvar ,
TEXT("0: Not Disabled, 1: Disabled") ,
ECVF_Default  )

◆ CVarAtomDisableEnvelopeFollowing()

FAutoConsoleVariableRef CVarAtomDisableEnvelopeFollowing ( TEXT("atom.DisableEnvelopeFollowing") ,
AtomDisableEnvelopeFollowingCvar ,
TEXT("0: Not Disabled, 1: Disabled") ,
ECVF_Default  )

◆ CVarAtomDisableSourceEffects()

FAutoConsoleVariableRef CVarAtomDisableSourceEffects ( TEXT("atom.DisableSourceEffects") ,
AtomDisableSourceEffectsCvar ,
TEXT("0: Not Disabled, 1: Disabled") ,
ECVF_Default  )

◆ CVarAtomFloatCompareMaxScale()

FAutoConsoleVariableRef CVarAtomFloatCompareMaxScale ( TEXT("atom.FloatCompareMaxScale") ,
AtomFloatCompareMaxScaleCVar ,
TEXT("Maximum parameter float compare tolerance") ,
ECVF_Default  )

◆ CVarAtomFloatCompareMinScale()

FAutoConsoleVariableRef CVarAtomFloatCompareMinScale ( TEXT("atom.FloatCompareMinScale") ,
AtomFloatCompareMinScaleCVar ,
TEXT("Minimum parameter float compare tolerance") ,
ECVF_Default  )

◆ CVarAtomFlushCommandBufferOnTimeout()

FAutoConsoleVariableRef CVarAtomFlushCommandBufferOnTimeout ( TEXT("atom.FlushCommandBufferOnTimeout") ,
AtomFlushCommandBufferOnTimeoutCvar ,
TEXT("0: Not Disabled, 1: Disabled") ,
ECVF_Default  )

◆ CVarAtomNumCmdsConsideredFullCVar()

FAutoConsoleVariableRef CVarAtomNumCmdsConsideredFullCVar ( TEXT("atom.NumCmdsConsideredFullCVar") ,
AtomNumCmdsConsideredFullCVar ,
TEXT("Num of commands in the queue is considered full") ,
ECVF_Default  )

◆ DEFINE_LOG_CATEGORY() [1/2]

DEFINE_LOG_CATEGORY ( LogCriWareAtomMixer )

◆ DEFINE_LOG_CATEGORY() [2/2]

DEFINE_LOG_CATEGORY ( LogCriWareAtomMixerDebug )

◆ DEFINE_STAT()

DEFINE_STAT ( STAT_AtomMixerSourceManagerUpdate )

◆ GAtomModulationSetMaxPitchRange()

FAutoConsoleCommand GAtomModulationSetMaxPitchRange ( TEXT("atom.Modulation.SetPitchRange") ,
TEXT("Sets max final modulation range of pitch (in semitones). Default: 96 semitones (+/- 4 octaves)") ,
FConsoleCommandWithArgsDelegate::CreateStatic([](const TArray< FString > &Args) { if(Args.Num()< 1) { UE_LOG(LogCriWareAtom, Error, TEXT("Failed to set max modulation pitch range: Range not provided"));return;} const float Range=FCString::Atof(*Args[0]);AtomMaxModulationPitchRangeFreqCVar=Atom::GetFrequencyMultiplier(Range *0.5f);AtomMaxModulationPitchRangeFreqCVar=Atom::GetFrequencyMultiplier(Range *-0.5f);})  )
static

◆ LexToString()

const TCHAR * LexToString ( EAtomSourceManagerRenderThreadPhase InPhase)

変数詳解

◆ AtomCommandBufferFlushWaitTimeMsCvar

int32 AtomCommandBufferFlushWaitTimeMsCvar = 1000
static

◆ AtomCommandBufferInitialCapacityCvar

int32 AtomCommandBufferInitialCapacityCvar = 500
static

◆ AtomCommandBufferMaxSizeInMbCvar

int32 AtomCommandBufferMaxSizeInMbCvar = 10
static

◆ AtomDisableDistanceAttenuationCvar

int32 AtomDisableDistanceAttenuationCvar = 0
static

◆ AtomDisableEnvelopeFollowingCvar

int32 AtomDisableEnvelopeFollowingCvar = 0
static

◆ AtomDisableSourceEffectsCvar

int32 AtomDisableSourceEffectsCvar = 0
static

◆ AtomFloatCompareMaxScaleCVar

float AtomFloatCompareMaxScaleCVar = 0.1
static

◆ AtomFloatCompareMinScaleCVar

float AtomFloatCompareMinScaleCVar = 0.001
static

◆ AtomFlushCommandBufferOnTimeoutCvar

int32 AtomFlushCommandBufferOnTimeoutCvar = 0
static

◆ AtomMaxModulationPitchRangeFreqCVar

float AtomMaxModulationPitchRangeFreqCVar = 16.0f
static

◆ AtomMinModulationPitchRangeFreqCVar

float AtomMinModulationPitchRangeFreqCVar = 0.0625f
static

◆ AtomNumCmdsConsideredFullCVar

int32 AtomNumCmdsConsideredFullCVar = 1000
static