Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
nw4hbm::snd::detail::SeqPlayer Class Reference

#include <SeqPlayer.h>

+ Inheritance diagram for nw4hbm::snd::detail::SeqPlayer:
+ Collaboration diagram for nw4hbm::snd::detail::SeqPlayer:

Classes

struct  ParserPlayerParam
 

Public Types

enum  OffsetType { OFFSET_TYPE_TICK = 0 , OFFSET_TYPE_MILLISEC }
 
enum  SetupResult { SETUP_SUCCESS = 0 , SETUP_ERR_CANNOT_ALLOCATE_TRACK , SETUP_ERR_UNKNOWN }
 
typedef struct nw4hbm::snd::detail::SeqPlayer::ParserPlayerParam ParserPlayerParam
 
typedef enum nw4hbm::snd::detail::SeqPlayer::OffsetType OffsetType
 
typedef enum nw4hbm::snd::detail::SeqPlayer::SetupResult SetupResult
 

Public Member Functions

 SeqPlayer ()
 
virtual ~SeqPlayer ()
 
virtual bool Start ()
 
virtual void Stop ()
 
virtual void Pause (bool flag)
 
virtual bool IsActive () const
 
virtual bool IsPrepared () const
 
virtual bool IsStarted () const
 
virtual bool IsPause () const
 
virtual void SetVolume (f32 volume)
 
virtual void SetPitch (f32 pitch)
 
virtual void SetPan (f32 pan)
 
virtual void SetSurroundPan (f32 surroundPan)
 
virtual void SetPan2 (f32 pan2)
 
virtual void SetSurroundPan2 (f32 surroundPan2)
 
virtual void SetLpfFreq (f32 lpfFreq)
 
virtual f32 GetVolume () const
 
virtual f32 GetPitch () const
 
virtual f32 GetPan () const
 
virtual f32 GetSurroundPan () const
 
virtual f32 GetPan2 () const
 
virtual f32 GetSurroundPan2 () const
 
virtual f32 GetLpfFreq () const
 
virtual void SetOutputLine (int lineFlag)
 
virtual void SetMainOutVolume (f32 volume)
 
virtual void SetMainSend (f32 send)
 
virtual void SetFxSend (AuxBus bus, f32 send)
 
virtual void SetRemoteOutVolume (int remoteIndex, f32 volume)
 
virtual void SetRemoteSend (int remoteIndex, f32 send)
 
virtual void SetRemoteFxSend (int remoteIndex, f32 send)
 
virtual int GetOutputLine () const
 
virtual f32 GetMainOutVolume () const
 
virtual f32 GetMainSend () const
 
virtual f32 GetFxSend (AuxBus bus) const
 
virtual f32 GetRemoteOutVolume (int remoteIndex) const
 
virtual f32 GetRemoteSend (int remoteIndex) const
 
virtual f32 GetRemoteFxSend (int remoteIndex) const
 
virtual void InvalidateData (const void *start, const void *end)
 
virtual void InvalidateWaveData (const void *start, const void *end)
 
virtual void ChannelCallback (Channel *channel)
 
void InitParam (int voices, NoteOnCallback *callback)
 
SetupResult Setup (SeqTrackAllocator *allocator, u32 allocTrackFlags, int voices, NoteOnCallback *callback)
 
void SetSeqData (const void *base, s32 offset)
 
void Skip (OffsetType type, int offset)
 
void SetTempoRatio (f32 tempo)
 
void SetChannelPriority (int priority)
 
void SetReleasePriorityFix (bool flag)
 
void SetLocalVariable (int trackNo, s16 value)
 
void SetTrackVolume (u32 trackFlags, f32 volume)
 
void SetTrackPitch (u32 trackFlags, f32 pitch)
 
SeqTrackGetPlayerTrack (int trackNo)
 
vs16GetVariablePtr (int varNo)
 
void Update ()
 
ChannelNoteOn (int bankNo, const NoteOnInfo &noteOnInfo)
 
template<typename T >
void SetTrackParam (u32 trackFlags, void(SeqTrack::*setter)(T), T param)
 
f32 GetPanRange () const
 
int GetVoiceOutCount () const
 
ParserPlayerParamGetParserPlayerParam ()
 

Static Public Member Functions

static void SetGlobalVariable (int trackNo, s16 value)
 
static void UpdateAllPlayers ()
 
static void StopAllPlayers ()
 

Public Attributes

ut::LinkListNode mPlayerLink
 

Static Public Attributes

static const int LOCAL_VARIABLE_NUM = 16
 
static const int GLOBAL_VARIABLE_NUM = 16
 
static const int VARIABLE_NUM = LOCAL_VARIABLE_NUM + GLOBAL_VARIABLE_NUM
 
static const int TRACK_NUM = 16
 

Private Member Functions

void CloseTrack (int trackNo)
 
void SetPlayerTrack (int trackNo, SeqTrack *track)
 
void FinishPlayer ()
 
void UpdateChannelParam ()
 
int UpdateTempoCounter ()
 
int ParseNextTick (bool doNoteOn)
 
void UpdateTick (int msec)
 
void SkipTick ()
 

Static Private Member Functions

static void InitGlobalVariable ()
 

Private Attributes

bool mHomeButtonMenuFlag
 
u8 mActiveFlag
 
u8 mPreparedFlag
 
u8 mStartedFlag
 
u8 mPauseFlag
 
bool mSkipFlag
 
f32 mExtVolume
 
f32 mExtPan
 
f32 mExtSurroundPan
 
f32 mPanRange
 
f32 mExtPan2
 
f32 mExtSurroundPan2
 
f32 mExtPitch
 
f32 mExtLpfFreq
 
int mOutputLineFlag
 
f32 mMainOutVolume
 
f32 mMainSend
 
f32 mFxSend [AUX_BUS_NUM]
 
f32 mRemoteOutVolume [WPAD_MAX_CONTROLLERS]
 
f32 mRemoteSend [WPAD_MAX_CONTROLLERS]
 
f32 mRemoteFxSend [WPAD_MAX_CONTROLLERS]
 
f32 mTempoRatio
 
u16 mTempoCounter
 
s32 mVoiceOutCount
 
ParserPlayerParam mParserParam
 
SeqTrackAllocatormSeqTrackAllocator
 
SeqTrackmTracks [TRACK_NUM]
 
vs16 mLocalVariable [TRACK_NUM]
 
u32 mTickCounter
 

Static Private Attributes

static const int DEFAULT_TEMPO = 120
 
static const int DEFAULT_PRIORITY = 64
 
static const int DEFAULT_VARIABLE_VALUE = -1
 
static const int MAX_SKIP_TICK_PER_FRAME = 768
 
static vs16 mGlobalVariable [LOCAL_VARIABLE_NUM]
 

Member Typedef Documentation

◆ OffsetType

◆ ParserPlayerParam

struct nw4hbm::snd::detail::SeqPlayer::ParserPlayerParam nw4hbm::snd::detail::SeqPlayer::ParserPlayerParam

◆ SetupResult

Member Enumeration Documentation

◆ OffsetType

Enumerator
OFFSET_TYPE_TICK 
OFFSET_TYPE_MILLISEC 

◆ SetupResult

Enumerator
SETUP_SUCCESS 
SETUP_ERR_CANNOT_ALLOCATE_TRACK 
SETUP_ERR_UNKNOWN 

Constructor & Destructor Documentation

◆ SeqPlayer()

nw4hbm::snd::detail::SeqPlayer::SeqPlayer ( )

◆ ~SeqPlayer()

virtual nw4hbm::snd::detail::SeqPlayer::~SeqPlayer ( )
virtual

Member Function Documentation

◆ ChannelCallback()

virtual void nw4hbm::snd::detail::SeqPlayer::ChannelCallback ( Channel * channel)
virtual

◆ CloseTrack()

void nw4hbm::snd::detail::SeqPlayer::CloseTrack ( int trackNo)
private

◆ FinishPlayer()

void nw4hbm::snd::detail::SeqPlayer::FinishPlayer ( )
private

◆ GetFxSend()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetFxSend ( AuxBus bus) const
virtual

◆ GetLpfFreq()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetLpfFreq ( ) const
inlinevirtual

◆ GetMainOutVolume()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetMainOutVolume ( ) const
virtual

◆ GetMainSend()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetMainSend ( ) const
virtual

◆ GetOutputLine()

virtual int nw4hbm::snd::detail::SeqPlayer::GetOutputLine ( ) const
virtual

◆ GetPan()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetPan ( ) const
inlinevirtual

◆ GetPan2()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetPan2 ( ) const
inlinevirtual

◆ GetPanRange()

f32 nw4hbm::snd::detail::SeqPlayer::GetPanRange ( ) const
inline

◆ GetParserPlayerParam()

ParserPlayerParam & nw4hbm::snd::detail::SeqPlayer::GetParserPlayerParam ( )
inline

◆ GetPitch()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetPitch ( ) const
inlinevirtual

◆ GetPlayerTrack()

SeqTrack * nw4hbm::snd::detail::SeqPlayer::GetPlayerTrack ( int trackNo)

◆ GetRemoteFxSend()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetRemoteFxSend ( int remoteIndex) const
virtual

◆ GetRemoteOutVolume()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetRemoteOutVolume ( int remoteIndex) const
virtual

◆ GetRemoteSend()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetRemoteSend ( int remoteIndex) const
virtual

◆ GetSurroundPan()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetSurroundPan ( ) const
inlinevirtual

◆ GetSurroundPan2()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetSurroundPan2 ( ) const
inlinevirtual

◆ GetVariablePtr()

vs16 * nw4hbm::snd::detail::SeqPlayer::GetVariablePtr ( int varNo)

◆ GetVoiceOutCount()

int nw4hbm::snd::detail::SeqPlayer::GetVoiceOutCount ( ) const
inline

◆ GetVolume()

virtual f32 nw4hbm::snd::detail::SeqPlayer::GetVolume ( ) const
inlinevirtual

◆ InitGlobalVariable()

static void nw4hbm::snd::detail::SeqPlayer::InitGlobalVariable ( )
staticprivate

◆ InitParam()

void nw4hbm::snd::detail::SeqPlayer::InitParam ( int voices,
NoteOnCallback * callback )

◆ InvalidateData()

virtual void nw4hbm::snd::detail::SeqPlayer::InvalidateData ( const void * start,
const void * end )
virtual

◆ InvalidateWaveData()

virtual void nw4hbm::snd::detail::SeqPlayer::InvalidateWaveData ( const void * start,
const void * end )
inlinevirtual

◆ IsActive()

virtual bool nw4hbm::snd::detail::SeqPlayer::IsActive ( ) const
inlinevirtual

◆ IsPause()

virtual bool nw4hbm::snd::detail::SeqPlayer::IsPause ( ) const
inlinevirtual

◆ IsPrepared()

virtual bool nw4hbm::snd::detail::SeqPlayer::IsPrepared ( ) const
inlinevirtual

◆ IsStarted()

virtual bool nw4hbm::snd::detail::SeqPlayer::IsStarted ( ) const
inlinevirtual

◆ NoteOn()

Channel * nw4hbm::snd::detail::SeqPlayer::NoteOn ( int bankNo,
const NoteOnInfo & noteOnInfo )

◆ ParseNextTick()

int nw4hbm::snd::detail::SeqPlayer::ParseNextTick ( bool doNoteOn)
private

◆ Pause()

virtual void nw4hbm::snd::detail::SeqPlayer::Pause ( bool flag)
virtual

◆ SetChannelPriority()

void nw4hbm::snd::detail::SeqPlayer::SetChannelPriority ( int priority)

◆ SetFxSend()

virtual void nw4hbm::snd::detail::SeqPlayer::SetFxSend ( AuxBus bus,
f32 send )
virtual

◆ SetGlobalVariable()

static void nw4hbm::snd::detail::SeqPlayer::SetGlobalVariable ( int trackNo,
s16 value )
static

◆ SetLocalVariable()

void nw4hbm::snd::detail::SeqPlayer::SetLocalVariable ( int trackNo,
s16 value )

◆ SetLpfFreq()

virtual void nw4hbm::snd::detail::SeqPlayer::SetLpfFreq ( f32 lpfFreq)
virtual

◆ SetMainOutVolume()

virtual void nw4hbm::snd::detail::SeqPlayer::SetMainOutVolume ( f32 volume)
virtual

◆ SetMainSend()

virtual void nw4hbm::snd::detail::SeqPlayer::SetMainSend ( f32 send)
virtual

◆ SetOutputLine()

virtual void nw4hbm::snd::detail::SeqPlayer::SetOutputLine ( int lineFlag)
virtual

◆ SetPan()

virtual void nw4hbm::snd::detail::SeqPlayer::SetPan ( f32 pan)
virtual

◆ SetPan2()

virtual void nw4hbm::snd::detail::SeqPlayer::SetPan2 ( f32 pan2)
virtual

◆ SetPitch()

virtual void nw4hbm::snd::detail::SeqPlayer::SetPitch ( f32 pitch)
virtual

◆ SetPlayerTrack()

void nw4hbm::snd::detail::SeqPlayer::SetPlayerTrack ( int trackNo,
SeqTrack * track )
private

◆ SetReleasePriorityFix()

void nw4hbm::snd::detail::SeqPlayer::SetReleasePriorityFix ( bool flag)

◆ SetRemoteFxSend()

virtual void nw4hbm::snd::detail::SeqPlayer::SetRemoteFxSend ( int remoteIndex,
f32 send )
virtual

◆ SetRemoteOutVolume()

virtual void nw4hbm::snd::detail::SeqPlayer::SetRemoteOutVolume ( int remoteIndex,
f32 volume )
virtual

◆ SetRemoteSend()

virtual void nw4hbm::snd::detail::SeqPlayer::SetRemoteSend ( int remoteIndex,
f32 send )
virtual

◆ SetSeqData()

void nw4hbm::snd::detail::SeqPlayer::SetSeqData ( const void * base,
s32 offset )

◆ SetSurroundPan()

virtual void nw4hbm::snd::detail::SeqPlayer::SetSurroundPan ( f32 surroundPan)
virtual

◆ SetSurroundPan2()

virtual void nw4hbm::snd::detail::SeqPlayer::SetSurroundPan2 ( f32 surroundPan2)
virtual

◆ SetTempoRatio()

void nw4hbm::snd::detail::SeqPlayer::SetTempoRatio ( f32 tempo)

◆ SetTrackParam()

template<typename T >
void nw4hbm::snd::detail::SeqPlayer::SetTrackParam ( u32 trackFlags,
void(SeqTrack::* setter )(T),
T param )
inline

◆ SetTrackPitch()

void nw4hbm::snd::detail::SeqPlayer::SetTrackPitch ( u32 trackFlags,
f32 pitch )

◆ SetTrackVolume()

void nw4hbm::snd::detail::SeqPlayer::SetTrackVolume ( u32 trackFlags,
f32 volume )

◆ Setup()

SetupResult nw4hbm::snd::detail::SeqPlayer::Setup ( SeqTrackAllocator * allocator,
u32 allocTrackFlags,
int voices,
NoteOnCallback * callback )

◆ SetVolume()

virtual void nw4hbm::snd::detail::SeqPlayer::SetVolume ( f32 volume)
virtual

◆ Skip()

void nw4hbm::snd::detail::SeqPlayer::Skip ( OffsetType type,
int offset )

◆ SkipTick()

void nw4hbm::snd::detail::SeqPlayer::SkipTick ( )
private

◆ Start()

virtual bool nw4hbm::snd::detail::SeqPlayer::Start ( )
virtual

◆ Stop()

virtual void nw4hbm::snd::detail::SeqPlayer::Stop ( )
virtual

◆ StopAllPlayers()

static void nw4hbm::snd::detail::SeqPlayer::StopAllPlayers ( )
static

◆ Update()

void nw4hbm::snd::detail::SeqPlayer::Update ( )

◆ UpdateAllPlayers()

static void nw4hbm::snd::detail::SeqPlayer::UpdateAllPlayers ( )
static

◆ UpdateChannelParam()

void nw4hbm::snd::detail::SeqPlayer::UpdateChannelParam ( )
private

◆ UpdateTempoCounter()

int nw4hbm::snd::detail::SeqPlayer::UpdateTempoCounter ( )
private

◆ UpdateTick()

void nw4hbm::snd::detail::SeqPlayer::UpdateTick ( int msec)
private

Member Data Documentation

◆ DEFAULT_PRIORITY

const int nw4hbm::snd::detail::SeqPlayer::DEFAULT_PRIORITY = 64
staticprivate

◆ DEFAULT_TEMPO

const int nw4hbm::snd::detail::SeqPlayer::DEFAULT_TEMPO = 120
staticprivate

◆ DEFAULT_VARIABLE_VALUE

const int nw4hbm::snd::detail::SeqPlayer::DEFAULT_VARIABLE_VALUE = -1
staticprivate

◆ GLOBAL_VARIABLE_NUM

const int nw4hbm::snd::detail::SeqPlayer::GLOBAL_VARIABLE_NUM = 16
static

◆ LOCAL_VARIABLE_NUM

const int nw4hbm::snd::detail::SeqPlayer::LOCAL_VARIABLE_NUM = 16
static

◆ mActiveFlag

u8 nw4hbm::snd::detail::SeqPlayer::mActiveFlag
private

◆ MAX_SKIP_TICK_PER_FRAME

const int nw4hbm::snd::detail::SeqPlayer::MAX_SKIP_TICK_PER_FRAME = 768
staticprivate

◆ mExtLpfFreq

f32 nw4hbm::snd::detail::SeqPlayer::mExtLpfFreq
private

◆ mExtPan

f32 nw4hbm::snd::detail::SeqPlayer::mExtPan
private

◆ mExtPan2

f32 nw4hbm::snd::detail::SeqPlayer::mExtPan2
private

◆ mExtPitch

f32 nw4hbm::snd::detail::SeqPlayer::mExtPitch
private

◆ mExtSurroundPan

f32 nw4hbm::snd::detail::SeqPlayer::mExtSurroundPan
private

◆ mExtSurroundPan2

f32 nw4hbm::snd::detail::SeqPlayer::mExtSurroundPan2
private

◆ mExtVolume

f32 nw4hbm::snd::detail::SeqPlayer::mExtVolume
private

◆ mFxSend

f32 nw4hbm::snd::detail::SeqPlayer::mFxSend[AUX_BUS_NUM]
private

◆ mGlobalVariable

vs16 nw4hbm::snd::detail::SeqPlayer::mGlobalVariable[LOCAL_VARIABLE_NUM]
staticprivate

◆ mHomeButtonMenuFlag

bool nw4hbm::snd::detail::SeqPlayer::mHomeButtonMenuFlag
private

◆ mLocalVariable

vs16 nw4hbm::snd::detail::SeqPlayer::mLocalVariable[TRACK_NUM]
private

◆ mMainOutVolume

f32 nw4hbm::snd::detail::SeqPlayer::mMainOutVolume
private

◆ mMainSend

f32 nw4hbm::snd::detail::SeqPlayer::mMainSend
private

◆ mOutputLineFlag

int nw4hbm::snd::detail::SeqPlayer::mOutputLineFlag
private

◆ mPanRange

f32 nw4hbm::snd::detail::SeqPlayer::mPanRange
private

◆ mParserParam

ParserPlayerParam nw4hbm::snd::detail::SeqPlayer::mParserParam
private

◆ mPauseFlag

u8 nw4hbm::snd::detail::SeqPlayer::mPauseFlag
private

◆ mPlayerLink

ut::LinkListNode nw4hbm::snd::detail::SeqPlayer::mPlayerLink

◆ mPreparedFlag

u8 nw4hbm::snd::detail::SeqPlayer::mPreparedFlag
private

◆ mRemoteFxSend

f32 nw4hbm::snd::detail::SeqPlayer::mRemoteFxSend[WPAD_MAX_CONTROLLERS]
private

◆ mRemoteOutVolume

f32 nw4hbm::snd::detail::SeqPlayer::mRemoteOutVolume[WPAD_MAX_CONTROLLERS]
private

◆ mRemoteSend

f32 nw4hbm::snd::detail::SeqPlayer::mRemoteSend[WPAD_MAX_CONTROLLERS]
private

◆ mSeqTrackAllocator

SeqTrackAllocator* nw4hbm::snd::detail::SeqPlayer::mSeqTrackAllocator
private

◆ mSkipFlag

bool nw4hbm::snd::detail::SeqPlayer::mSkipFlag
private

◆ mStartedFlag

u8 nw4hbm::snd::detail::SeqPlayer::mStartedFlag
private

◆ mTempoCounter

u16 nw4hbm::snd::detail::SeqPlayer::mTempoCounter
private

◆ mTempoRatio

f32 nw4hbm::snd::detail::SeqPlayer::mTempoRatio
private

◆ mTickCounter

u32 nw4hbm::snd::detail::SeqPlayer::mTickCounter
private

◆ mTracks

SeqTrack* nw4hbm::snd::detail::SeqPlayer::mTracks[TRACK_NUM]
private

◆ mVoiceOutCount

s32 nw4hbm::snd::detail::SeqPlayer::mVoiceOutCount
private

◆ TRACK_NUM

const int nw4hbm::snd::detail::SeqPlayer::TRACK_NUM = 16
static

◆ VARIABLE_NUM

const int nw4hbm::snd::detail::SeqPlayer::VARIABLE_NUM = LOCAL_VARIABLE_NUM + GLOBAL_VARIABLE_NUM
static

The documentation for this class was generated from the following file: