Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
244 chris 1
#ifndef __DSOUNDINSTANCE_H__
2
#define __DSOUNDINSTANCE_H__
3
 
4
#include "SoundInstance.h"
5
#include "dsoundversion.h"
6
 
7
namespace Sexy
8
{
9
 
10
class DSoundManager;
11
 
12
class DSoundInstance : public SoundInstance
13
{
14
        friend class DSoundManager;
15
 
16
protected:
17
        DSoundManager*                  mSoundManagerP;
18
        LPDIRECTSOUNDBUFFER             mSourceSoundBuffer;
19
        LPDIRECTSOUNDBUFFER             mSoundBuffer;
20
        bool                                    mAutoRelease;
21
        bool                                    mHasPlayed;
22
        bool                                    mReleased;
23
 
24
        int                                             mBasePan;
25
        double                                  mBaseVolume;
26
 
27
        int                                             mPan;
28
        double                                  mVolume;       
29
 
30
        DWORD                                   mDefaultFrequency;
31
 
32
protected:
33
        void                                    RehupVolume();
34
        void                                    RehupPan();
35
 
36
public:
37
        DSoundInstance(DSoundManager* theSoundManager, LPDIRECTSOUNDBUFFER theSourceSound);
38
        virtual ~DSoundInstance();     
39
        virtual void                    Release();
40
 
41
        virtual void                    SetBaseVolume(double theBaseVolume);
42
        virtual void                    SetBasePan(int theBasePan);
43
 
44
        virtual void                    SetVolume(double theVolume);
45
        virtual void                    SetPan(int thePosition); //-hundredth db to +hundredth db = left to right       
46
        virtual void                    AdjustPitch(double theNumSteps);
47
 
48
        virtual bool                    Play(bool looping, bool autoRelease);
49
        virtual void                    Stop();
50
        virtual bool                    IsPlaying();
51
        virtual bool                    IsReleased();
52
        virtual double                  GetVolume();
53
 
54
};
55
 
56
}
57
 
58
#endif //__DSOUNDINSTANCE_H__