sead
Loading...
Searching...
No Matches
seadAudioSystem.h
Go to the documentation of this file.
1#ifndef SEAD_AUDIOSYSTEM_H_
2#define SEAD_AUDIOSYSTEM_H_
3
4#include <audio/seadAudioGlobal.h>
5#include <prim/seadRuntimeTypeInfo.h>
6
7namespace sead {
8
9class AudioFx;
10class ISoundFrameCallback;
11
13{
15
16public:
18 virtual ~AudioSystem() { }
19
20 virtual void initialize() = 0;
21 virtual void finalize() = 0;
22 virtual bool setOutputMode(AudioGlobal::OutputMode) = 0;
23 virtual AudioGlobal::OutputMode getOutputMode() const = 0;
24 virtual bool appendEffect(AudioGlobal::AuxBus, AudioFx*) = 0;
25 virtual void clearEffect(AudioGlobal::AuxBus, s32) = 0;
26 virtual bool isFinishedClearEffect(AudioGlobal::AuxBus) = 0;
27 virtual void appendSoundFrameCallback(ISoundFrameCallback&) = 0;
28 virtual void removeSoundFrameCallback(ISoundFrameCallback&) = 0;
29 virtual void clearSoundFrameCallback() = 0;
30
31protected:
32 virtual void initializeSdk_() = 0;
33 virtual void finalizeSdk_() = 0;
34 virtual void initializeNw_() = 0;
35};
36#ifdef cafe
37static_assert(sizeof(AudioSystem) == 4, "sead::AudioSystem size mismatch");
38#endif // cafe
39
40} // namespace sead
41
42#endif // SEAD_AUDIOSYSTEM_H_
Definition seadAudioGlobal.h:9
Definition seadAudioSystem.h:13
virtual void appendSoundFrameCallback(ISoundFrameCallback &)=0
virtual void initializeNw_()=0
virtual void clearEffect(AudioGlobal::AuxBus, s32)=0
AudioSystem()
Definition seadAudioSystem.h:17
virtual void clearSoundFrameCallback()=0
virtual bool isFinishedClearEffect(AudioGlobal::AuxBus)=0
virtual bool appendEffect(AudioGlobal::AuxBus, AudioFx *)=0
virtual void removeSoundFrameCallback(ISoundFrameCallback &)=0
virtual void finalizeSdk_()=0
virtual void initialize()=0
virtual AudioGlobal::OutputMode getOutputMode() const =0
virtual bool setOutputMode(AudioGlobal::OutputMode)=0
virtual void finalize()=0
virtual void initializeSdk_()=0
virtual ~AudioSystem()
Definition seadAudioSystem.h:18
Definition seadAssert.h:44
#define SEAD_RTTI_BASE(CLASS)
Definition seadRuntimeTypeInfo.h:75