Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
WsdPlayer.h
Go to the documentation of this file.
1#ifndef NW4HBM_SND_WSD_PLAYER_H
2#define NW4HBM_SND_WSD_PLAYER_H
3
4#include <revolution/types.h>
5
6#include "BasicPlayer.h"
7#include "WsdTrack.h"
8
9namespace nw4hbm {
10 namespace snd {
11 namespace detail {
12
13 class WsdPlayer : public BasicPlayer, public DisposeCallback {
14 public:
16
17 void InitParam(int voices, const WsdTrack::WsdCallback* callback, u32 callbackData);
18
19 bool Prepare(const void* waveSoundBase, int index, int voices,
20 const WsdTrack::WsdCallback* callback, u32 callbackData);
21
22 /* 0x0C */ virtual bool Start();
23 /* 0x10 */ virtual void Stop();
24 /* 0x14 */ virtual void Pause(bool flag);
25 /* 0x18 */ virtual bool IsActive() const { return mActiveFlag; }
26 /* 0x20 */ virtual bool IsStarted() const { return mStartedFlag; };
27 /* 0x1C */ virtual bool IsPrepared() const { return mPreparedFlag; };
28 /* 0x24 */ virtual bool IsPause() const { return mPauseFlag; };
29 /* 0x28 */ virtual void SetVolume(f32 volume);
30 /* 0x2C */ virtual void SetPitch(f32 pitch);
31 /* 0x30 */ virtual void SetPan(f32 pan);
32 /* 0x34 */ virtual void SetSurroundPan(f32 surroundPan);
33 /* 0x38 */ virtual void SetPan2(f32 pan2);
34 /* 0x3C */ virtual void SetSurroundPan2(f32 surroundPan2);
35 /* 0x40 */ virtual void SetLpfFreq(f32 lpfFreq);
36 /* 0x44 */ virtual f32 GetVolume() const { return mExtVolume; };
37 /* 0x48 */ virtual f32 GetPitch() const { return mExtPitch; };
38 /* 0x4C */ virtual f32 GetPan() const { return mExtPan; };
39 /* 0x50 */ virtual f32 GetSurroundPan() const { return mExtSurroundPan; };
40 /* 0x54 */ virtual f32 GetPan2() const { return mExtPan2; };
41 /* 0x58 */ virtual f32 GetSurroundPan2() const { return mExtSurroundPan2; };
42 /* 0x5C */ virtual f32 GetLpfFreq() const { return mExtLpfFreq; };
43 /* 0x60 */ virtual void SetOutputLine(int lineFlag);
44 /* 0x64 */ virtual void SetMainOutVolume(f32 volume);
45 /* 0x68 */ virtual void SetMainSend(f32 send);
46 /* 0x6C */ virtual void SetFxSend(AuxBus bus, f32 send);
47 /* 0x70 */ virtual void SetRemoteOutVolume(int remoteIndex, f32 volume);
48 /* 0x74 */ virtual void SetRemoteSend(int remoteIndex, f32 send);
49 /* 0x78 */ virtual void SetRemoteFxSend(int remoteIndex, f32 send);
50 /* 0x7C */ virtual int GetOutputLine() const;
51 /* 0x80 */ virtual f32 GetMainOutVolume() const;
52 /* 0x84 */ virtual f32 GetMainSend() const;
53 /* 0x88 */ virtual f32 GetFxSend(AuxBus bus) const;
54 /* 0x8C */ virtual f32 GetRemoteOutVolume(int remoteIndex) const;
55 /* 0x90 */ virtual f32 GetRemoteSend(int remoteIndex) const;
56 /* 0x94 */ virtual f32 GetRemoteFxSend(int remoteIndex) const;
57
58 void SetChannelPriority(int prio);
60
62
64
66
67 BOOL ParseNextTick(bool doNoteOn);
68
70 void Update();
71
72 static void UpdateAllPlayers();
73 static void StopAllPlayers();
74
75 virtual void InvalidateData(const void* start, const void* end);
76 virtual void InvalidateWaveData(const void* start, const void* end) {}
77
79
80 private:
81 /* 0x1C */ bool mHomeButtonMenuFlag;
82 /* 0x1D */ u8 mActiveFlag;
83 /* 0x1E */ u8 mPreparedFlag;
84 /* 0x1F */ u8 mStartedFlag;
85 /* 0x20 */ u8 mPauseFlag;
86 /* 0x21 */ u8 mSkipFlag;
87 /* 0x24 */ f32 mExtVolume;
88 /* 0x28 */ f32 mExtPan;
89 /* 0x2C */ f32 mExtSurroundPan;
90 /* 0x30 */ f32 mPanRange;
91 /* 0x34 */ f32 mExtPan2;
93 /* 0x3C */ f32 mExtPitch;
94 /* 0x40 */ f32 mExtLpfFreq;
95 /* 0x44 */ int mOutputLineFlag;
96 /* 0x48 */ f32 mMainOutVolume;
97 /* 0x4C */ f32 mMainSend;
98 /* 0x50 */ f32 mFxSend[AUX_BUS_NUM];
99 /* 0x5C */ f32 mRemoteOutVolume[WPAD_MAX_CONTROLLERS];
100 /* 0x6C */ f32 mRemoteSend[WPAD_MAX_CONTROLLERS];
101 /* 0x7C */ f32 mRemoteFxSend[WPAD_MAX_CONTROLLERS];
102 /* 0x8C */ int mVoiceOutCount;
103 /* 0x90 */ u8 mPriority;
105 /* 0x98 */ u32 mCallbackData;
106 /* 0x9C */ WsdTrack mTrack;
107 /* 0xD0 */ u32 mTickCounter;
108 };
109
110 typedef ut::LinkList<WsdPlayer, offsetof(WsdPlayer, mPlayerLink)> WsdPlayerList;
111
112 } // namespace detail
113 } // namespace snd
114} // namespace nw4hbm
115
116#endif
static BOOL flag
Definition DEMOAVX.c:20
Definition WsdPlayer.h:13
u8 GetChannelPriority()
Definition WsdPlayer.h:59
f32 GetPanRange()
Definition WsdPlayer.h:61
u32 mTickCounter
Definition WsdPlayer.h:107
const WsdTrack::WsdCallback * mCallback
Definition WsdPlayer.h:104
virtual void SetPan2(f32 pan2)
virtual f32 GetRemoteFxSend(int remoteIndex) const
f32 mFxSend[AUX_BUS_NUM]
Definition WsdPlayer.h:98
virtual f32 GetPan() const
Definition WsdPlayer.h:38
virtual void SetRemoteOutVolume(int remoteIndex, f32 volume)
virtual bool IsPrepared() const
Definition WsdPlayer.h:27
virtual f32 GetRemoteOutVolume(int remoteIndex) const
f32 mPanRange
Definition WsdPlayer.h:90
u8 mStartedFlag
Definition WsdPlayer.h:84
virtual void SetVolume(f32 volume)
virtual f32 GetSurroundPan() const
Definition WsdPlayer.h:39
virtual void SetMainSend(f32 send)
u8 mSkipFlag
Definition WsdPlayer.h:86
int GetVoiceOutCount()
Definition WsdPlayer.h:63
virtual f32 GetSurroundPan2() const
Definition WsdPlayer.h:41
f32 mMainOutVolume
Definition WsdPlayer.h:96
virtual void SetSurroundPan(f32 surroundPan)
BOOL ParseNextTick(bool doNoteOn)
u8 mPriority
Definition WsdPlayer.h:103
virtual bool IsPause() const
Definition WsdPlayer.h:28
virtual void SetRemoteSend(int remoteIndex, f32 send)
u32 mCallbackData
Definition WsdPlayer.h:105
virtual f32 GetFxSend(AuxBus bus) const
virtual void SetFxSend(AuxBus bus, f32 send)
virtual f32 GetMainOutVolume() const
virtual void SetLpfFreq(f32 lpfFreq)
f32 mExtSurroundPan2
Definition WsdPlayer.h:92
virtual void SetMainOutVolume(f32 volume)
virtual bool IsStarted() const
Definition WsdPlayer.h:26
f32 mMainSend
Definition WsdPlayer.h:97
int mOutputLineFlag
Definition WsdPlayer.h:95
f32 mExtSurroundPan
Definition WsdPlayer.h:89
f32 mExtPan
Definition WsdPlayer.h:88
f32 mExtPitch
Definition WsdPlayer.h:93
int mVoiceOutCount
Definition WsdPlayer.h:102
virtual void InvalidateData(const void *start, const void *end)
virtual bool IsActive() const
Definition WsdPlayer.h:25
void InitParam(int voices, const WsdTrack::WsdCallback *callback, u32 callbackData)
bool Prepare(const void *waveSoundBase, int index, int voices, const WsdTrack::WsdCallback *callback, u32 callbackData)
virtual void SetRemoteFxSend(int remoteIndex, f32 send)
virtual void SetOutputLine(int lineFlag)
virtual f32 GetPan2() const
Definition WsdPlayer.h:40
f32 mExtPan2
Definition WsdPlayer.h:91
u8 mPauseFlag
Definition WsdPlayer.h:85
f32 mExtLpfFreq
Definition WsdPlayer.h:94
ut::LinkListNode mPlayerLink
Definition WsdPlayer.h:78
virtual f32 GetVolume() const
Definition WsdPlayer.h:36
virtual void InvalidateWaveData(const void *start, const void *end)
Definition WsdPlayer.h:76
WsdTrack mTrack
Definition WsdPlayer.h:106
f32 mRemoteFxSend[WPAD_MAX_CONTROLLERS]
Definition WsdPlayer.h:101
virtual void SetPitch(f32 pitch)
u8 mActiveFlag
Definition WsdPlayer.h:82
virtual void SetPan(f32 pan)
f32 mExtVolume
Definition WsdPlayer.h:87
bool mHomeButtonMenuFlag
Definition WsdPlayer.h:81
virtual f32 GetLpfFreq() const
Definition WsdPlayer.h:42
f32 mRemoteOutVolume[WPAD_MAX_CONTROLLERS]
Definition WsdPlayer.h:99
virtual int GetOutputLine() const
u8 mPreparedFlag
Definition WsdPlayer.h:83
virtual f32 GetPitch() const
Definition WsdPlayer.h:37
virtual f32 GetRemoteSend(int remoteIndex) const
virtual void Pause(bool flag)
virtual f32 GetMainSend() const
virtual void SetSurroundPan2(f32 surroundPan2)
f32 mRemoteSend[WPAD_MAX_CONTROLLERS]
Definition WsdPlayer.h:100
Definition WsdTrack.h:14
Definition LinkList.h:23
static void end(b_oh_class *i_this)
Definition d_a_b_oh.cpp:343
static u8 index[20][3]
Definition GXDraw.c:434
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned char u8
Definition types.h:8
ut::LinkList< WsdPlayer, offsetof(WsdPlayer, mPlayerLink)> WsdPlayerList
Definition WsdPlayer.h:110
AuxBus
Definition snd_types.h:73
@ AUX_BUS_NUM
Definition snd_types.h:73
Definition HBMAnmController.h:6
static void callback(u32 param_0)
Definition OSExec.c:308
@ start
Definition strtold.c:23