#ifndef _SoundObject_H_ #define _SoundObject_H_ #include "SoundGlobal.h" enum eSndObjType { SNDOBJTYPE_SOUNDBUFFER, SNDOBJTYPE_STREAMBUFFER, SNDOBJTYPE_MUSICBUFFER, SNDOBJTYPE_SOUNDOBJNONE }; ///////////////////////////////////////////////////////////////////////////////////////// // class ISoundObject { public: virtual ~ISoundObject() {} virtual void Destroy() = 0; virtual int Play( bool bLoop ) = 0; virtual void Play( DWORD dwIndex, bool bLoop ) = 0; virtual void Stop( unsigned ) = 0; virtual void StopAll() = 0; virtual void Reset( unsigned ) = 0; virtual void ResetAll() = 0; virtual HANDLE GetEventNotify() { return 0; } virtual void HandleNotification() {} virtual bool IsAllPlaying() = 0; virtual bool IsAllFree() = 0; virtual bool IsPlaying( unsigned ) = 0; virtual DWORD GetMemoryUse() = 0; virtual bool IsSameFile( const char * ) = 0; virtual const char * GetFilename() = 0; virtual eSndObjType GetType() = 0; virtual void SetPosition( DWORD dwIndex, D3DVALUE x, D3DVALUE y, D3DVALUE z ) = 0; virtual void SetDistance( DWORD dwIndex, D3DVALUE minDistance, D3DVALUE maxDistance ) = 0; }; ///////////////////////////////////////////////////////////////////////////////////////// #endif