CriWare Unreal Engine
Plug-ins for CriWare solutions.
Loading...
Searching...
No Matches
Atom::FMixerAudioBus Class Reference

#include <AtomMixerBus.h>

Public Member Functions

 FMixerAudioBus (FMixerSourceManager *SourceManager, const FAudioBusKey &InBusKey, bool bInIsAutomatic, int32 InNumChannels, int32 InSampleRate=48000)
void AddNewPatchInput (const Audio::FPatchInput &InPatchInput)
void AddNewPatchOutput (const Audio::FPatchOutputStrongPtr &InPatchOutputStrongPtr)
void RemovePatchInput (const Audio::FPatchInput &InPatchInput)

Private Member Functions

void AddInstanceID (const int32 InSourceInstanceID, const uint64 InTransmitterID, int32 InNumOutputChannels)
void AddSend (EAtomBusSendStage BusSendStage, const FAudioBusSend &InBusSend)
const Atom::FAlignedFloatBuffer & GetCurrentBusBuffer () const
int32 GetNumChannels () const
const Atom::FAlignedFloatBuffer & GetPreviousBusBuffer () const
int32 GetSampleRate () const
bool IsAutomatic () const
void MixBuffer ()
bool RemoveInstanceID (const int32 InSourceID, const uint64 InTransmitterID)
bool RemoveSend (EAtomBusSendStage BusSendStage, const int32 InSourceId)
void SetAutomatic (bool bInIsAutomatic)
void SetNumOutputChannels (int32 InNumOutputChannels)
void Update ()

Private Attributes

TArray< FAudioBusSend > AudioBusSends [(int32) EAtomBusSendStage::Count]
bool bIsAutomatic
FAudioBusKey BusKey
int32 CurrentBufferIndex
friend FMixerSourceManager
friend FMixerSubmix
float InitialSilenceFillRatio = 0.0f
TArray< int32 > InstanceIDs
float IntermediateBufferRatio = 2.0f
FAlignedFloatBuffer IntermediateBuffers [2]
Atom::FCircularSampleBuffer MixedSourceData
int32 NumChannels
int32 NumFrames
Audio::FPatchMixer PatchMixer
Audio::FPatchSplitter PatchSplitter
FAlignedFloatBuffer PushBuffer
int32 SampleRate
FMixerSourceManager * SourceManager

Constructor & Destructor Documentation

◆ FMixerAudioBus()

Atom::FMixerAudioBus::FMixerAudioBus ( FMixerSourceManager * SourceManager,
const FAudioBusKey & InBusKey,
bool bInIsAutomatic,
int32 InNumChannels,
int32 InSampleRate = 48000 )

Member Function Documentation

◆ AddInstanceID()

void Atom::FMixerAudioBus::AddInstanceID ( const int32 InSourceInstanceID,
const uint64 InTransmitterID,
int32 InNumOutputChannels )
private

◆ AddNewPatchInput()

void Atom::FMixerAudioBus::AddNewPatchInput ( const Audio::FPatchInput & InPatchInput)

◆ AddNewPatchOutput()

void Atom::FMixerAudioBus::AddNewPatchOutput ( const Audio::FPatchOutputStrongPtr & InPatchOutputStrongPtr)

◆ AddSend()

void Atom::FMixerAudioBus::AddSend ( EAtomBusSendStage BusSendStage,
const FAudioBusSend & InBusSend )
private

◆ GetCurrentBusBuffer()

const Atom::FAlignedFloatBuffer & Atom::FMixerAudioBus::GetCurrentBusBuffer ( ) const
private

◆ GetNumChannels()

int32 Atom::FMixerAudioBus::GetNumChannels ( ) const
inlineprivate

◆ GetPreviousBusBuffer()

const Atom::FAlignedFloatBuffer & Atom::FMixerAudioBus::GetPreviousBusBuffer ( ) const
private

◆ GetSampleRate()

int32 Atom::FMixerAudioBus::GetSampleRate ( ) const
inlineprivate

◆ IsAutomatic()

bool Atom::FMixerAudioBus::IsAutomatic ( ) const
inlineprivate

◆ MixBuffer()

void Atom::FMixerAudioBus::MixBuffer ( )
private

◆ RemoveInstanceID()

bool Atom::FMixerAudioBus::RemoveInstanceID ( const int32 InSourceID,
const uint64 InTransmitterID )
private

◆ RemovePatchInput()

void Atom::FMixerAudioBus::RemovePatchInput ( const Audio::FPatchInput & InPatchInput)

◆ RemoveSend()

bool Atom::FMixerAudioBus::RemoveSend ( EAtomBusSendStage BusSendStage,
const int32 InSourceId )
private

◆ SetAutomatic()

void Atom::FMixerAudioBus::SetAutomatic ( bool bInIsAutomatic)
inlineprivate

◆ SetNumOutputChannels()

void Atom::FMixerAudioBus::SetNumOutputChannels ( int32 InNumOutputChannels)
private

◆ Update()

void Atom::FMixerAudioBus::Update ( )
private

Member Data Documentation

◆ AudioBusSends

TArray<FAudioBusSend> Atom::FMixerAudioBus::AudioBusSends[(int32) EAtomBusSendStage::Count]
private

◆ bIsAutomatic

bool Atom::FMixerAudioBus::bIsAutomatic
private

◆ BusKey

FAudioBusKey Atom::FMixerAudioBus::BusKey
private

◆ CurrentBufferIndex

int32 Atom::FMixerAudioBus::CurrentBufferIndex
private

◆ FMixerSourceManager

friend Atom::FMixerAudioBus::FMixerSourceManager
private

◆ FMixerSubmix

friend Atom::FMixerAudioBus::FMixerSubmix
private

◆ InitialSilenceFillRatio

float Atom::FMixerAudioBus::InitialSilenceFillRatio = 0.0f
private

◆ InstanceIDs

TArray<int32> Atom::FMixerAudioBus::InstanceIDs
private

◆ IntermediateBufferRatio

float Atom::FMixerAudioBus::IntermediateBufferRatio = 2.0f
private

◆ IntermediateBuffers

FAlignedFloatBuffer Atom::FMixerAudioBus::IntermediateBuffers[2]
private

◆ MixedSourceData

Atom::FCircularSampleBuffer Atom::FMixerAudioBus::MixedSourceData
private

◆ NumChannels

int32 Atom::FMixerAudioBus::NumChannels
private

◆ NumFrames

int32 Atom::FMixerAudioBus::NumFrames
private

◆ PatchMixer

Audio::FPatchMixer Atom::FMixerAudioBus::PatchMixer
private

◆ PatchSplitter

Audio::FPatchSplitter Atom::FMixerAudioBus::PatchSplitter
private

◆ PushBuffer

FAlignedFloatBuffer Atom::FMixerAudioBus::PushBuffer
private

◆ SampleRate

int32 Atom::FMixerAudioBus::SampleRate
private

◆ SourceManager

FMixerSourceManager* Atom::FMixerAudioBus::SourceManager
private

The documentation for this class was generated from the following files:
  • C:/git/uev2/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Public/Atom/Mixer/AtomMixerBus.h
  • C:/git/uev2/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Private/Atom/Mixer/AtomMixerBus.cpp