#ifndef Z2SOUNDHANDLES_H #define Z2SOUNDHANDLES_H #include "JSystem/JAudio2/JAISound.h" #include "JSystem/JSupport/JSUList.h" #include "dolphin/types.h" class Z2SoundHandlePool : public JAISoundHandle, JSULink {}; class Z2SoundHandles : protected JSUList { public: Z2SoundHandles(); ~Z2SoundHandles(); void initHandlesPool(u8 pNumHandles); void deleteHandlesPool(); void getFreeHandle(); void getLowPrioSound(JAISoundID); bool isActive() const; JAISoundHandle* getHandleSoundID(JAISoundID pSoundId); JAISoundHandle* getHandleUserData(u32 pUserData); void stopAllSounds(u32 fadeout); void setPos(const JGeometry::TVec3& pos); u32 getNumHandles() const { return this->getNumLinks(); } private: u8 mNumHandles; }; #endif /* Z2SOUNDHANDLES_H */