"L. Spiro Engine"
|
00001 00018 #ifndef __LSS_SOUNDBUFFEREX_H__ 00019 #define __LSS_SOUNDBUFFEREX_H__ 00020 00021 #include "../LSSSoundLib.h" 00022 #include "../SoundComponents/LSSSoundBuffer.h" 00023 00024 namespace lss { 00025 00034 class CSoundBufferEx : public CSoundBuffer { 00035 // Only the sound manager can create us. 00036 friend class CSoundManagerEx; 00037 00038 public : 00039 // == Various constructors. 00040 virtual LSE_CALLCTOR ~CSoundBufferEx(); 00041 00042 00043 // == Functions. 00049 LSE_INLINE const LSCHAR * LSE_CALL GetPath() const; 00050 00063 virtual LSBOOL LSH_CALL CanSoftUnload() const; 00064 00070 LSVOID LSE_CALL SetSoftUnloading( LSBOOL _bValue ); 00071 00072 00073 protected : 00074 // == Various constructors. 00075 LSE_CALLCTOR CSoundBufferEx( const LSUINT8 * _pui8Data, LSUINT32 _ui32Length, 00076 LSUINT32 _ui32Freq, LSUINT32 _ui32Bits, LSUINT32 _ui32Channels, CAllocator * _paAllocator, LSBOOL _bRetain, LSUINTPTR _uiptrUserData ); 00077 00078 00079 // == Members. 00080 // The file we load. 00081 LSCHAR * m_pcFile; 00082 00083 // Do we permit soft unloading? 00084 LSBOOL m_bSoftUnload; 00085 00086 00087 private : 00088 // == Functions. 00095 virtual LSBOOL LSH_CALL GetOriginalData(); 00096 }; 00097 00098 00099 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00100 // DEFINITIONS 00101 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00102 // == Functions. 00108 LSE_INLINE const LSCHAR * LSE_CALL CSoundBufferEx::GetPath() const { 00109 return m_pcFile; 00110 } 00111 00112 } // namespace lss 00113 00114 #endif // __LSS_SOUNDBUFFEREX_H__ 00115