raSystem  1.0 bata
raFMODStream.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace raSystem
4 {
5 
6 
7  class RAPI raFMODStream : public raStream
8  {
9  public:
10  raFMODStream(raSoundDriver *System) : raStream(System)
11  {
12  m_Sound = NULL;
13  m_Channel = NULL;
14  paused = false;
15  Position = raVector3(0.0f);
16  Velocity = raVector3(0.0f);
17  minDistance = 0.5f * DISTANCEFACTOR;
18  maxDistance = 5000.0f * DISTANCEFACTOR;
19  StreamBufferSize = 64*1024;
20  }
21  ~raFMODStream();
22 
23  virtual bool LoadStream(void);
24  virtual bool CloseStream(void);
25  virtual bool PlayStream(void);
26  virtual bool PauseStream(void);
27  virtual bool StopStream(void);
28 
29  bool IsPaused(void)
30  {
31  bool ispaused = false;;
32  if (m_Channel)
33  m_Channel->getPaused(&ispaused);
34  return ispaused;
35  }
36  bool IsPlayed(void)
37  {
38  bool isplaying = false;;
39  if (m_Channel)
40  m_Channel->isPlaying(&isplaying);
41  return isplaying;
42  }
43  virtual int GetPosition(void);
44  virtual void SetPosition(int ms);
45  virtual int GetStreamLänge(void);
46 
47  // 0.0 = silent, 1.0 = full volume
48  virtual bool SetVolume(float Volume = 1.0f);
49  // -1.0 = Full left, 0.0 = center, 1.0 = full right
50  virtual bool SetPan(float Pan = 0.0f);
51  virtual bool Set3DMinMaxDistance(float min, float max);
52  virtual bool SetMute(void);
53 
54  virtual bool GetMute(void);
55  virtual float GetPan();
56  virtual float GetVolume();
57 
58  virtual bool SetStreamPosition(raVector3& vec);
59  virtual raVector3 GetStreamPosition(void);
60  virtual bool SetSctreamVelocity(raVector3& vec);
61 
62  virtual raTag *GetTag(void);
63  private:
64  FMOD::Sound *m_Sound;
65  FMOD::Channel *m_Channel;
66  };
67 };
#define RAPI
Definition: raMain.h:11
raFMODStream(raSoundDriver *System)
Definition: raFMODStream.h:10