NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
nw4r::snd::detail::AxManager Class Reference

Description

Definition at line 45 of file snd_AxManager.h.

Classes

struct  CallbackListNode
 

Public Member Functions

void Init ()
 
void Update ()
 
void Shutdown ()
 
OutputMode GetOutputMode ()
 
void const * GetZeroBufferAddress ()
 
bool CheckInit ()
 
f32 GetOutputVolume () const
 
FxBase::LinkListGetEffectList (AuxBus bus)
 
BiquadFilterCallback const * GetBiquadFilterCallback (int index)
 
void SetOutputMode (OutputMode mode)
 
void SetMainOutVolume (f32 volume, int frames)
 
void SetBiquadFilterCallback (int type, BiquadFilterCallback const *callback)
 
void RegisterCallback (CallbackListNode *node, AXFrameCallback *callback)
 
void UnregisterCallback (CallbackListNode *node)
 
bool AppendEffect (AuxBus bus, FxBase *pFx)
 
void ClearEffect (AuxBus bus, int frame)
 
void ShutdownEffect (AuxBus bus)
 
f32 GetMasterVolume () const
 
void SetMasterVolume (f32 volume, int frame)
 
void PrepareReset ()
 
bool IsResetReady () const
 
AxVoice::SrcType GetSrcType () const
 

Static Public Member Functions

static AxManagerGetInstance ()
 

Static Private Member Functions

static void AxCallbackFunc ()
 
static void AuxCallbackFunc (void *pChans, void *pContext)
 
static void AiDmaCallbackFunc ()
 

Private Attributes

OutputMode mOutputMode
 
void * mZeroBufferAddress
 
CallbackListNode::LinkList mCallbackList
 
AXFrameCallback * mNextAxRegisterCallback
 
bool mInitialized
 
bool mUpdateVoicePrioFlag
 
MoveValue< f32, int > mMasterVolume
 
MoveValue< f32, int > mMainOutVolume
 
MoveValue< f32, int > mVolumeForReset
 
AIDMACallback mOldAidCallback
 
volatile s32 mResetReadyCounter
 
MoveValue< f32, int > mAuxFadeVolume [AUX_BUS_NUM]
 
MoveValue< f32, int > mAuxUserVolume [AUX_BUS_NUM]
 
FxBase::LinkList mFxList [AUX_BUS_NUM]
 
AXAuxCallback mAuxCallback [AUX_BUS_NUM]
 
void * mAuxCallbackContext [AUX_BUS_NUM]
 
u8 mAuxCallbackWaitCounter [AUX_BUS_NUM]
 
ulong mEffectProcessTick [AUX_BUS_NUM]
 
AxVoice::SrcType mSrcType
 

Static Private Attributes

static u8 const AUX_CALLBACK_WAIT_FRAME = 6
 
static u16 const AUX_RETURN_VOLUME_MAX = AX_MAX_VOLUME
 
static int const FX_SAMPLE_RATE = 32000
 
static SampleFormat const FX_SAMPLE_FORMAT = SAMPLE_FORMAT_PCM_S32
 
static int const FX_BUFFER_SIZE = 0x180
 
static int const ZERO_BUFFER_SIZE = 256
 
static int const SAMPLES_PAR_AUDIO_FRAME
 
static int const AUDIO_FRAME_INTERVAL
 
static byte_t sZeroBuffer [ZERO_BUFFER_SIZE]
 
static BiquadFilterCallback const * sBiquadFilterCallbackTable [128]
 
static BiquadFilterLpf sBiquadFilterLpf
 
static BiquadFilterHpf sBiquadFilterHpf
 
static BiquadFilterBpf512 sBiquadFilterBpf512
 
static BiquadFilterBpf1024 sBiquadFilterBpf1024
 
static BiquadFilterBpf2048 sBiquadFilterBpf2048
 

Member Function Documentation

◆ CheckInit()

bool nw4r::snd::detail::AxManager::CheckInit ( )
inline

Definition at line 74 of file snd_AxManager.h.

◆ GetEffectList()

FxBase::LinkList & nw4r::snd::detail::AxManager::GetEffectList ( AuxBus bus)
inline

Definition at line 76 of file snd_AxManager.h.

◆ GetBiquadFilterCallback()

BiquadFilterCallback const * nw4r::snd::detail::AxManager::GetBiquadFilterCallback ( int index)
inline

Definition at line 82 of file snd_AxManager.h.

◆ GetMasterVolume()

f32 nw4r::snd::detail::AxManager::GetMasterVolume ( ) const
inline

Definition at line 100 of file snd_AxManager.h.

◆ IsResetReady()

bool nw4r::snd::detail::AxManager::IsResetReady ( ) const
inline

Definition at line 106 of file snd_AxManager.h.

◆ GetSrcType()

AxVoice::SrcType nw4r::snd::detail::AxManager::GetSrcType ( ) const
inline

Definition at line 110 of file snd_AxManager.h.

Member Data Documentation

◆ AUX_CALLBACK_WAIT_FRAME

u8 const nw4r::snd::detail::AxManager::AUX_CALLBACK_WAIT_FRAME = 6
staticprivate

Definition at line 125 of file snd_AxManager.h.

◆ AUX_RETURN_VOLUME_MAX

u16 const nw4r::snd::detail::AxManager::AUX_RETURN_VOLUME_MAX = AX_MAX_VOLUME
staticprivate

Definition at line 126 of file snd_AxManager.h.

◆ FX_SAMPLE_RATE

int const nw4r::snd::detail::AxManager::FX_SAMPLE_RATE = 32000
staticprivate

Definition at line 127 of file snd_AxManager.h.

◆ FX_SAMPLE_FORMAT

SampleFormat const nw4r::snd::detail::AxManager::FX_SAMPLE_FORMAT = SAMPLE_FORMAT_PCM_S32
staticprivate

Definition at line 128 of file snd_AxManager.h.

◆ FX_BUFFER_SIZE

int const nw4r::snd::detail::AxManager::FX_BUFFER_SIZE = 0x180
staticprivate

Definition at line 129 of file snd_AxManager.h.

◆ ZERO_BUFFER_SIZE

int const nw4r::snd::detail::AxManager::ZERO_BUFFER_SIZE = 256
staticprivate

Definition at line 130 of file snd_AxManager.h.

◆ SAMPLES_PAR_AUDIO_FRAME

int const nw4r::snd::detail::AxManager::SAMPLES_PAR_AUDIO_FRAME
staticprivate

Definition at line 131 of file snd_AxManager.h.

◆ AUDIO_FRAME_INTERVAL

int const nw4r::snd::detail::AxManager::AUDIO_FRAME_INTERVAL
staticprivate

Definition at line 132 of file snd_AxManager.h.

◆ sZeroBuffer

byte_t nw4r::snd::detail::AxManager::sZeroBuffer[ZERO_BUFFER_SIZE]
staticprivate

Definition at line 134 of file snd_AxManager.h.

◆ sBiquadFilterCallbackTable

BiquadFilterCallback const* nw4r::snd::detail::AxManager::sBiquadFilterCallbackTable[128]
staticprivate

Definition at line 135 of file snd_AxManager.h.

◆ sBiquadFilterLpf

BiquadFilterLpf nw4r::snd::detail::AxManager::sBiquadFilterLpf
staticprivate

Definition at line 136 of file snd_AxManager.h.

◆ sBiquadFilterHpf

BiquadFilterHpf nw4r::snd::detail::AxManager::sBiquadFilterHpf
staticprivate

Definition at line 137 of file snd_AxManager.h.

◆ sBiquadFilterBpf512

BiquadFilterBpf512 nw4r::snd::detail::AxManager::sBiquadFilterBpf512
staticprivate

Definition at line 138 of file snd_AxManager.h.

◆ sBiquadFilterBpf1024

BiquadFilterBpf1024 nw4r::snd::detail::AxManager::sBiquadFilterBpf1024
staticprivate

Definition at line 139 of file snd_AxManager.h.

◆ sBiquadFilterBpf2048

BiquadFilterBpf2048 nw4r::snd::detail::AxManager::sBiquadFilterBpf2048
staticprivate

Definition at line 140 of file snd_AxManager.h.

◆ mOutputMode

OutputMode nw4r::snd::detail::AxManager::mOutputMode
private

Definition at line 144 of file snd_AxManager.h.

◆ mZeroBufferAddress

void* nw4r::snd::detail::AxManager::mZeroBufferAddress
private

Definition at line 145 of file snd_AxManager.h.

◆ mCallbackList

CallbackListNode::LinkList nw4r::snd::detail::AxManager::mCallbackList
private

Definition at line 146 of file snd_AxManager.h.

◆ mNextAxRegisterCallback

AXFrameCallback* nw4r::snd::detail::AxManager::mNextAxRegisterCallback
private

Definition at line 147 of file snd_AxManager.h.

◆ mInitialized

bool nw4r::snd::detail::AxManager::mInitialized
private

Definition at line 148 of file snd_AxManager.h.

◆ mUpdateVoicePrioFlag

bool nw4r::snd::detail::AxManager::mUpdateVoicePrioFlag
private

Definition at line 149 of file snd_AxManager.h.

◆ mMasterVolume

MoveValue<f32, int> nw4r::snd::detail::AxManager::mMasterVolume
private

Definition at line 151 of file snd_AxManager.h.

◆ mMainOutVolume

MoveValue<f32, int> nw4r::snd::detail::AxManager::mMainOutVolume
private

Definition at line 152 of file snd_AxManager.h.

◆ mVolumeForReset

MoveValue<f32, int> nw4r::snd::detail::AxManager::mVolumeForReset
private

Definition at line 153 of file snd_AxManager.h.

◆ mOldAidCallback

AIDMACallback nw4r::snd::detail::AxManager::mOldAidCallback
private

Definition at line 154 of file snd_AxManager.h.

◆ mResetReadyCounter

volatile s32 nw4r::snd::detail::AxManager::mResetReadyCounter
private

Definition at line 155 of file snd_AxManager.h.

◆ mAuxFadeVolume

MoveValue<f32, int> nw4r::snd::detail::AxManager::mAuxFadeVolume[AUX_BUS_NUM]
private

Definition at line 156 of file snd_AxManager.h.

◆ mAuxUserVolume

MoveValue<f32, int> nw4r::snd::detail::AxManager::mAuxUserVolume[AUX_BUS_NUM]
private

Definition at line 157 of file snd_AxManager.h.

◆ mFxList

FxBase::LinkList nw4r::snd::detail::AxManager::mFxList[AUX_BUS_NUM]
private

Definition at line 158 of file snd_AxManager.h.

◆ mAuxCallback

AXAuxCallback nw4r::snd::detail::AxManager::mAuxCallback[AUX_BUS_NUM]
private

Definition at line 159 of file snd_AxManager.h.

◆ mAuxCallbackContext

void* nw4r::snd::detail::AxManager::mAuxCallbackContext[AUX_BUS_NUM]
private

Definition at line 160 of file snd_AxManager.h.

◆ mAuxCallbackWaitCounter

u8 nw4r::snd::detail::AxManager::mAuxCallbackWaitCounter[AUX_BUS_NUM]
private

Definition at line 161 of file snd_AxManager.h.

◆ mEffectProcessTick

ulong nw4r::snd::detail::AxManager::mEffectProcessTick[AUX_BUS_NUM]
private

Definition at line 163 of file snd_AxManager.h.

◆ mSrcType

AxVoice::SrcType nw4r::snd::detail::AxManager::mSrcType
private

Definition at line 164 of file snd_AxManager.h.