00001 /* Crown and Cutlass 00002 * ISound Base Object Header 00003 */ 00004 00005 #if !defined( _ISOUND_H_ ) 00006 00007 #define _ISOUND_H_ 00008 00009 class OpenALSource; 00010 00011 class ISound { 00012 friend class SoundSystem; 00013 00014 public: 00015 ISound(); 00016 virtual ~ISound() = 0; 00017 00018 void SetLocked(bool lock); 00019 00020 protected: 00021 OpenALSource *m_source; 00022 00023 bool m_locked; 00024 00025 void Prepare(); 00026 00027 virtual void Play() = 0; 00028 virtual void Pause() = 0; 00029 virtual void Stop() = 0; 00030 virtual void Update(unsigned int ticks) = 0; 00031 00032 OpenALSource* GetSource(); 00033 void RevokeSource(); 00034 00035 // Called when a source is aquired 00036 virtual void InitializeSource() = 0; 00037 }; 00038 00039 #endif
1.4.7