sead
Loading...
Searching...
No Matches
seadAudioPlayerCafe.h
Go to the documentation of this file.
1#ifndef SEAD_AUDIO_PLAYER_CAFE_H_
2#define SEAD_AUDIO_PLAYER_CAFE_H_
3
4#include <audio/seadAudioPlayer.h>
5#include <thread/seadCriticalSection.h>
6
7#include <nw/snd/snd_SoundArchivePlayer.h>
8
9namespace sead {
10
11class AudioRmtSpeakerMgrCafe;
12class AudioSoundDataMgrCafe;
14class SoundHandle;
15
17{
19
20public:
22 virtual ~AudioPlayerCafe();
23
24 void initialize() override;
25 void finalize() override;
26 void calc() override;
27 bool startSound(SoundHandle*, u32) override;
28 bool startSound(SoundHandle*, const char*) override;
29 bool holdSound(SoundHandle*, u32) override;
30 bool holdSound(SoundHandle*, const char*) override;
31 u32 getSoundCount() const override;
32 const char* getSoundName(u32) const override;
33 u32 getSoundId(const char*) const override;
34
35protected:
36 nw::snd::SoundStartable::StartResult detail_SetupSound(nw::snd::SoundHandle* handle, u32 soundId, bool holdFlag, const nw::snd::SoundStartable::StartInfo* startInfo) override;
37
38public:
39 AudioSoundDataMgrCafe* getSoundDataMgr() const
40 {
41 return mSoundDataMgr;
42 }
43
45 {
46 return mSoundHeap;
47 }
48
49 AudioRmtSpeakerMgrCafe* getRmtSpeakerMgr() const
50 {
51 return mRmtSpeakerMgr;
52 }
53
54protected:
62 AudioSoundDataMgrCafe* mSoundDataMgr;
64 AudioRmtSpeakerMgrCafe* mRmtSpeakerMgr;
69};
70#ifdef cafe
71static_assert(sizeof(AudioPlayerCafe) == 0x134, "sead::AudioPlayerCafe size mismatch");
72#endif // cafe
73
74} // namespace sead
75
76#endif // SEAD_AUDIO_PLAYER_CAFE_H_
Definition seadAudioPlayerCafe.h:17
u32 mPlayerBufferSize
Definition seadAudioPlayerCafe.h:56
bool holdSound(SoundHandle *, u32) override
virtual ~AudioPlayerCafe()
u8 _f0
Definition seadAudioPlayerCafe.h:65
void initialize() override
u32 getSoundCount() const override
nw::snd::SoundStartable::StartResult detail_SetupSound(nw::snd::SoundHandle *handle, u32 soundId, bool holdFlag, const nw::snd::SoundStartable::StartInfo *startInfo) override
u32 _d8
Definition seadAudioPlayerCafe.h:59
u32 getSoundId(const char *) const override
void calc() override
u32 mStreamBufferSize
Definition seadAudioPlayerCafe.h:58
bool startSound(SoundHandle *, const char *) override
AudioSoundHeapCafe * mSoundHeap
Definition seadAudioPlayerCafe.h:63
bool mIsValidUpdateLock
Definition seadAudioPlayerCafe.h:68
bool holdSound(SoundHandle *, const char *) override
AudioRmtSpeakerMgrCafe * getRmtSpeakerMgr() const
Definition seadAudioPlayerCafe.h:49
AudioSoundDataMgrCafe * getSoundDataMgr() const
Definition seadAudioPlayerCafe.h:39
u8 * mStreamBuffer
Definition seadAudioPlayerCafe.h:57
CriticalSection mUpdateLock
Definition seadAudioPlayerCafe.h:67
u32 mStreamCacheBufferSize
Definition seadAudioPlayerCafe.h:61
u8 * mPlayerBuffer
Definition seadAudioPlayerCafe.h:55
bool startSound(SoundHandle *, u32) override
AudioSoundHeapCafe * getSoundHeap() const
Definition seadAudioPlayerCafe.h:44
AudioRmtSpeakerMgrCafe * mRmtSpeakerMgr
Definition seadAudioPlayerCafe.h:64
u8 _f1
Definition seadAudioPlayerCafe.h:66
void finalize() override
AudioSoundDataMgrCafe * mSoundDataMgr
Definition seadAudioPlayerCafe.h:62
const char * getSoundName(u32) const override
u8 * mStreamCacheBuffer
Definition seadAudioPlayerCafe.h:60
Definition seadAudioPlayer.h:11
Definition seadAudioSoundHeapCafe.h:15
Definition seadCriticalSection.h:13
Definition seadAssert.h:44
#define SEAD_RTTI_OVERRIDE(CLASS, BASE)
Definition seadRuntimeTypeInfo.h:96