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;
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:
43
45 {
46 return mSoundHeap;
47 }
48
49 AudioRmtSpeakerMgrCafe* getRmtSpeakerMgr() const
50 {
51 return mRmtSpeakerMgr;
52 }
53
54 void setupDataManagement(u32 stream_buffer_size, u32 stream_read_cache_size, u32 user_param_size_per_sound, Heap* heap);
55 void createSoundHeap(u32 size, Heap* heap);
56
57protected:
67 AudioRmtSpeakerMgrCafe* mRmtSpeakerMgr;
72};
73#ifdef cafe
74static_assert(sizeof(AudioPlayerCafe) == 0x134, "sead::AudioPlayerCafe size mismatch");
75#endif // cafe
76
77} // namespace sead
78
79#endif // SEAD_AUDIO_PLAYER_CAFE_H_
Definition seadAudioPlayerCafe.h:17
u32 mPlayerBufferSize
Definition seadAudioPlayerCafe.h:59
bool holdSound(SoundHandle *, u32) override
virtual ~AudioPlayerCafe()
u8 _f0
Definition seadAudioPlayerCafe.h:68
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
void createSoundHeap(u32 size, Heap *heap)
u32 _d8
Definition seadAudioPlayerCafe.h:62
u32 getSoundId(const char *) const override
void calc() override
u32 mStreamBufferSize
Definition seadAudioPlayerCafe.h:61
bool startSound(SoundHandle *, const char *) override
AudioSoundHeapCafe * mSoundHeap
Definition seadAudioPlayerCafe.h:66
bool mIsValidUpdateLock
Definition seadAudioPlayerCafe.h:71
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:60
CriticalSection mUpdateLock
Definition seadAudioPlayerCafe.h:70
u32 mStreamCacheBufferSize
Definition seadAudioPlayerCafe.h:64
void setupDataManagement(u32 stream_buffer_size, u32 stream_read_cache_size, u32 user_param_size_per_sound, Heap *heap)
u8 * mPlayerBuffer
Definition seadAudioPlayerCafe.h:58
bool startSound(SoundHandle *, u32) override
AudioSoundHeapCafe * getSoundHeap() const
Definition seadAudioPlayerCafe.h:44
AudioRmtSpeakerMgrCafe * mRmtSpeakerMgr
Definition seadAudioPlayerCafe.h:67
u8 _f1
Definition seadAudioPlayerCafe.h:69
void finalize() override
AudioSoundDataMgrCafe * mSoundDataMgr
Definition seadAudioPlayerCafe.h:65
const char * getSoundName(u32) const override
u8 * mStreamCacheBuffer
Definition seadAudioPlayerCafe.h:63
Definition seadAudioPlayer.h:11
Definition seadAudioSoundDataMgrCafe.h:13
Definition seadAudioSoundHeapCafe.h:15
Definition seadCriticalSection.h:13
Definition seadHeap.h:23
Definition seadAssert.h:44
#define SEAD_RTTI_OVERRIDE(CLASS, BASE)
Definition seadRuntimeTypeInfo.h:96