mirror of https://github.com/zeldaret/tp.git
57 lines
1.1 KiB
C++
57 lines
1.1 KiB
C++
#ifndef JAISOUNDHANDLES_H
|
|
#define JAISOUNDHANDLES_H
|
|
|
|
#include "JSystem/JAudio2/JAISound.h"
|
|
#include "JSystem/JUtility/JUTAssert.h"
|
|
|
|
class JAISound;
|
|
class JAISoundID;
|
|
|
|
/**
|
|
* @ingroup jsystem-jaudio
|
|
*
|
|
*/
|
|
class JAISoundHandle {
|
|
public:
|
|
JAISoundHandle() {sound_ = NULL;};
|
|
~JAISoundHandle() { releaseSound(); }
|
|
|
|
bool isSoundAttached() const { return sound_ != NULL; }
|
|
|
|
JAISound* operator->() const {
|
|
JUT_ASSERT(58, sound_ != 0);
|
|
return sound_;
|
|
}
|
|
|
|
operator bool() const { return isSoundAttached(); }
|
|
|
|
void releaseSound();
|
|
|
|
JAISound* getSound() { return sound_; }
|
|
|
|
JAISound* sound_; // member from assert in operator->()
|
|
};
|
|
|
|
/**
|
|
* @ingroup jsystem-jaudio
|
|
*
|
|
*/
|
|
class JAISoundHandles {
|
|
public:
|
|
JAISoundHandles(JAISoundHandle* pHandle, int param_1) {
|
|
mSoundHandle = pHandle;
|
|
numHandles_ = param_1;
|
|
};
|
|
|
|
JAISoundHandle& operator[](int n) { return mSoundHandle[n]; }
|
|
|
|
JAISoundHandle* getHandleSoundID(JAISoundID);
|
|
JAISoundHandle* getFreeHandle();
|
|
|
|
private:
|
|
JAISoundHandle* mSoundHandle;
|
|
int numHandles_;
|
|
};
|
|
|
|
#endif /* JAISOUNDHANDLES_H */
|