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

Description

Definition at line 149 of file snd_AxVoice.h.

Classes

struct  MixParam
 
struct  RemoteMixParam
 

Public Types

enum  AxVoiceCallbackStatus {
  CALLBACK_STATUS_CANCEL ,
  CALLBACK_STATUS_DROP_DSP
}
 
enum  VoiceType {
  VOICE_TYPE_NORMAL ,
  VOICE_TYPE_STREAM
}
 
enum  SrcType {
  SRC_NONE ,
  SRC_LINEAR ,
  SRC_4TAP_8K ,
  SRC_4TAP_12K ,
  SRC_4TAP_16K ,
  SRC_4TAP_AUTO
}
 
typedef ut::LinkList< AxVoice, 0x40 > LinkList
 
typedef void Callback(AxVoice *dropVoice, AxVoiceCallbackStatus status, void *callbackData)
 

Public Member Functions

void Setup (void const *waveAddr, SampleFormat format, int sampleRate)
 
SampleFormat GetFormat () const
 
ulong GetCurrentPlayingSample () const
 
ulong GetCurrentPlayingDspAddress () const
 
ulong GetLoopEndDspAddress () const
 
f32 GetDspRatio (f32 ratio) const
 
void SetLoopStart (void const *baseAddress, ulong samples)
 
void SetLoopEnd (void const *baseAddress, ulong samples)
 
void SetLoopFlag (bool loopFlag)
 
void SetPriority (ulong priority)
 
void SetVoiceType (VoiceType type)
 
void EnableRemote (bool enable)
 
void ResetDelta ()
 
void SetAddr (bool loopFlag, void const *waveAddr, ulong startOffset, ulong loopStart, ulong loopEnd)
 
void SetSrcType (SrcType type, f32 pitch)
 
void SetAdpcm (AdpcmParam const *param)
 
void SetAdpcmLoop (AdpcmLoopParam const *param)
 
bool SetMix (MixParam const &param)
 
void SetRmtMix (const RemoteMixParam &param)
 
void SetSrc (f32 ratio, bool initialUpdate)
 
void SetVe (f32 volume, f32 initVolume)
 
void SetLpf (u16 freq)
 
void SetBiquad (u8 filterType, f32 value)
 
void SetRemoteFilter (u8 filter)
 
bool IsDataAddressCoverd (void const *beginAddress, void const *endAddress) const
 
bool IsNeedNextUpdate (MixParam const &param) const
 
bool IsPlayFinished () const
 
void Run ()
 
bool IsRun () const
 
void Stop ()
 
void StopAtPoint (void const *baseAddress, ulong samples)
 
void Sync ()
 

Static Public Member Functions

static ulong GetDspAddressBySample (void const *baseAddress, ulong samples, SampleFormat format)
 
static ulong GetSampleByDspAddress (void const *baseAddress, ulong addr, SampleFormat format)
 
static u16 GetAxFormatFromSampleFormat (SampleFormat sampleFormat)
 
static void CalcOffsetAdpcmParam (u16 *outPredScale, u16 *outYn1, u16 *outYn2, ulong offset, const void *dataAddr, AdpcmParam const &adpcmParam)
 

Public Attributes

ut::LinkListNode node
 

Static Public Attributes

static u16 const VOICE_GAIN_MAX
 

Static Private Member Functions

static void VoiceCallback (void *callbackData)
 

Private Attributes

AxVoiceParamBlock mVpb
 
void const * mWaveData
 
SampleFormat mFormat
 
int mSampleRate
 
bool mFirstMixUpdateFlag
 
bool mReserveForFreeFlag
 
MixParam mMixPrev
 
Callback * mCallback
 
void * mCallbackData
 

Member Typedef Documentation

◆ LinkList

Definition at line 180 of file snd_AxVoice.h.

◆ Callback

typedef void nw4r::snd::detail::AxVoice::Callback(AxVoice *dropVoice, AxVoiceCallbackStatus status, void *callbackData)

Definition at line 182 of file snd_AxVoice.h.

Member Enumeration Documentation

◆ AxVoiceCallbackStatus

enum nw4r::snd::detail::AxVoice::AxVoiceCallbackStatus

Definition at line 154 of file snd_AxVoice.h.

◆ VoiceType

enum nw4r::snd::detail::AxVoice::VoiceType

Definition at line 161 of file snd_AxVoice.h.

◆ SrcType

enum nw4r::snd::detail::AxVoice::SrcType

Definition at line 168 of file snd_AxVoice.h.

Member Function Documentation

◆ GetFormat()

SampleFormat nw4r::snd::detail::AxVoice::GetFormat ( ) const
inline

Definition at line 226 of file snd_AxVoice.h.

◆ GetDspRatio()

f32 nw4r::snd::detail::AxVoice::GetDspRatio ( f32 ratio) const
inline

Definition at line 230 of file snd_AxVoice.h.

◆ Run()

void nw4r::snd::detail::AxVoice::Run ( )
inline

Definition at line 261 of file snd_AxVoice.h.

◆ IsRun()

bool nw4r::snd::detail::AxVoice::IsRun ( ) const
inline

Definition at line 262 of file snd_AxVoice.h.

◆ Stop()

void nw4r::snd::detail::AxVoice::Stop ( )
inline

Definition at line 263 of file snd_AxVoice.h.

◆ Sync()

void nw4r::snd::detail::AxVoice::Sync ( )
inline

Definition at line 265 of file snd_AxVoice.h.

Member Data Documentation

◆ VOICE_GAIN_MAX

u16 const nw4r::snd::detail::AxVoice::VOICE_GAIN_MAX
static

Definition at line 285 of file snd_AxVoice.h.

◆ mVpb

AxVoiceParamBlock nw4r::snd::detail::AxVoice::mVpb
private

Definition at line 289 of file snd_AxVoice.h.

◆ mWaveData

void const* nw4r::snd::detail::AxVoice::mWaveData
private

Definition at line 290 of file snd_AxVoice.h.

◆ mFormat

SampleFormat nw4r::snd::detail::AxVoice::mFormat
private

Definition at line 291 of file snd_AxVoice.h.

◆ mSampleRate

int nw4r::snd::detail::AxVoice::mSampleRate
private

Definition at line 292 of file snd_AxVoice.h.

◆ mFirstMixUpdateFlag

bool nw4r::snd::detail::AxVoice::mFirstMixUpdateFlag
private

Definition at line 293 of file snd_AxVoice.h.

◆ mReserveForFreeFlag

bool nw4r::snd::detail::AxVoice::mReserveForFreeFlag
private

Definition at line 294 of file snd_AxVoice.h.

◆ mMixPrev

MixParam nw4r::snd::detail::AxVoice::mMixPrev
private

Definition at line 296 of file snd_AxVoice.h.

◆ mCallback

Callback* nw4r::snd::detail::AxVoice::mCallback
private

Definition at line 297 of file snd_AxVoice.h.

◆ mCallbackData

void* nw4r::snd::detail::AxVoice::mCallbackData
private

Definition at line 298 of file snd_AxVoice.h.

◆ node

ut::LinkListNode nw4r::snd::detail::AxVoice::node

Definition at line 300 of file snd_AxVoice.h.