#ifndef EGG_AUDIO_SYSTEM_H #define EGG_AUDIO_SYSTEM_H #include "common.h" namespace EGG { class AudioSystem { public: AudioSystem(); ~AudioSystem(); // TODO - this seems to use milliseconds as the unit, but // calling code seems to pass frame counts... void reset(s32 ms); void recoverReset(); // TODO - see reset void shutdown(s32 ms); void calc(); // Non-official inline names bool isReset() { return mResetStatus == 2; } bool isShutdown() { return mShutdownStatus == 2; } bool isShuttingDown() { return mShutdownStatus != 0; } bool isResetting() { return mResetStatus != 0; } static AudioSystem *sInstanse; ///< sic private: /* 0x00 */ f32 mSavedMasterVolume; /* 0x04 */ s32 mResetStatus; /* 0x08 */ s32 mShutdownStatus; }; } // namespace EGG #endif