"L. Spiro Engine"
|
00001 00017 #ifndef __LSS_STATICSOUNDSOURCE_H__ 00018 #define __LSS_STATICSOUNDSOURCE_H__ 00019 00020 #include "../LSSSoundLib.h" 00021 #include "LSSSoundBuffer.h" 00022 #include "LSSSoundSource.h" 00023 00024 namespace lss { 00025 00032 class CStaticSoundSource : public CSoundSource { 00033 public : 00034 // == Various constructors. 00035 LSE_CALLCTOR CStaticSoundSource( LSUINT32 _ui32Id ); 00036 virtual LSE_CALLCTOR ~CStaticSoundSource(); 00037 00038 00039 // == Functions. 00045 virtual LSS_SOUND_SOURCE LSE_CALL GetType() const; 00046 00052 LSUINT32 LSE_CALL GetBufferId() const; 00053 00064 virtual LSBOOL LSE_CALL Play( LSUINT32 _ui32LoopCount = 1 ); 00065 00071 virtual LSBOOL LSE_CALL Pause(); 00072 00078 virtual LSBOOL LSE_CALL Stop(); 00079 00085 virtual LSBOOL LSE_CALL Static() const; 00086 00092 virtual LSVOID LSE_CALL SetBuffer( const CSoundBuffer * _psbBuffer ); 00093 00100 virtual LSVOID LSE_CALL Tick( LSUINT64 _ui64TimeSinceLastUpdate ); 00101 00102 protected : 00103 // == Members. 00107 const CSoundBuffer * m_psbBuffer; 00108 00112 LSBOOL m_bPlayStateDirty; 00113 00114 00115 // == Functions. 00124 virtual LSBOOL LSE_CALL DeviceActivated(); 00125 00129 virtual LSVOID LSE_CALL UpdatePlayState(); 00130 00131 private : 00132 typedef CSoundSource Parent; 00133 }; 00134 00135 } // namespace lss 00136 00137 #endif // __LSS_STATICSOUNDSOURCE_H__