My Project
ParaSimpleAudioEngine.h
1 #pragma once
2 #ifndef STATIC_PLUGIN_CAUDIOENGINE
3 #include "IParaAudioEngine.h"
4 #include <map>
5 
6 namespace ParaEngine
7 {
8  class CParaSimpleAudioSource;
9 
12  {
13  public:
14  typedef std::map<std::string, CParaSimpleAudioSource*> AudioMap_Type;
15 
17 
18  void PrepareAndCleanTempDirectory();
19 
20  virtual ~CParaSimpleAudioEngine();
21 
22  static CParaSimpleAudioEngine* GetInstance();
23 
24  public:
25  virtual void Release();
26 
27  virtual bool initialize(const char* deviceName = 0x0, int outputFrequency = -1, int eaxEffectSlots = 4);
28 
29  virtual void shutDown();
30 
31  virtual void update();
32 
33  virtual IParaAudioSource* getSoundByName(const char* name);
34 
35  virtual void releaseAllSources();
36 
37  virtual void release(IParaAudioSource* source);
38 
39  virtual const char* getAvailableDeviceName(unsigned int index);
40 
41  virtual unsigned int getAvailableDeviceCount();
42 
43  virtual const char* getDefaultDeviceName();
44 
45  virtual IParaAudioSource* create(const char* name, const char* filename, bool stream = false);
46 
47  virtual IParaAudioSource* createFromMemory(const char* name, const char* data, size_t length, const char* extension);
48 
49  virtual IParaAudioSource* createFromRaw(const char* name, const char* data, size_t length, unsigned int frequency, ParaAudioFormats format);
50 
51  virtual void SetDistanceModel(ParaAudioDistanceModelEnum eDistModel);
52 
53  virtual void setPosition(const PARAVECTOR3& pos);
54 
55  virtual void setDirection(const PARAVECTOR3& dir);
56 
57  virtual void setUpVector(const PARAVECTOR3& up);
58 
59  virtual void setVelocity(const PARAVECTOR3& vel);
60 
61  virtual void setMasterVolume(const float& volume);
62 
63  virtual void move(const PARAVECTOR3& pos);
64 
65  virtual PARAVECTOR3 getPosition(void) const;
66 
67  virtual PARAVECTOR3 getDirection(void) const;
68 
69  virtual PARAVECTOR3 getUpVector(void) const;
70 
71  virtual PARAVECTOR3 getVelocity(void) const;
72 
73  virtual float getMasterVolume(void) const;
74 
75  virtual void SetCoordinateSystem(int nLeftHand);
76 
77  protected:
78  std::string GetTempFileName(const char* filename, bool* bIsFileExist = NULL);
79 
80  AudioMap_Type m_audio_source_map;
81  std::map<std::string, int32> m_temporary_ids;
82  int m_nLastFileID;
83  std::string m_sTempAudioDirectory;
84  };
85 }
86 
87 #endif
virtual IParaAudioSource * create(const char *name, const char *filename, bool stream=false)
Creates an Audio Source object using the highest priority data source that has the referenced filenam...
Definition: ParaSimpleAudioEngine.cpp:134
virtual const char * getDefaultDeviceName()
Returns the name of the default system playback device.
Definition: ParaSimpleAudioEngine.cpp:129
virtual void move(const PARAVECTOR3 &pos)
Convenience function to automatically set the velocity and position for you in a single call...
Definition: ParaSimpleAudioEngine.cpp:273
virtual void SetCoordinateSystem(int nLeftHand)
set the default coordinate system used.
Definition: ParaSimpleAudioEngine.cpp:304
different physics engine has different winding order.
Definition: EventBinding.h:32
virtual void shutDown()
Shuts the manager down, cleaning up audio sources in the process. Does not clean up decoders...
Definition: ParaSimpleAudioEngine.cpp:68
virtual void setPosition(const PARAVECTOR3 &pos)
Interface for the listener in cAudio. This class provides abilities to move and orient where your cam...
Definition: ParaSimpleAudioEngine.cpp:247
virtual void setMasterVolume(const float &volume)
Sets the global volume modifier (will effect all sources)
Definition: ParaSimpleAudioEngine.cpp:267
virtual PARAVECTOR3 getVelocity(void) const
Returns the current velocity of the listener.
Definition: ParaSimpleAudioEngine.cpp:293
virtual unsigned int getAvailableDeviceCount()
Returns the number of playback devices available for use.
Definition: ParaSimpleAudioEngine.cpp:124
virtual void setUpVector(const PARAVECTOR3 &up)
Sets the up vector to use for the listener Default up vector is Y+, same as OpenGL.
Definition: ParaSimpleAudioEngine.cpp:257
simple cross platform implementation of the IParaAudioEngine interface.
Definition: ParaSimpleAudioEngine.h:11
virtual float getMasterVolume(void) const
Returns the global volume modifier for all sources.
Definition: ParaSimpleAudioEngine.cpp:298
virtual const char * getAvailableDeviceName(unsigned int index)
Returns the name of an available playback device.
Definition: ParaSimpleAudioEngine.cpp:119
virtual void SetDistanceModel(ParaAudioDistanceModelEnum eDistModel)
set the audio distance model.
Definition: ParaSimpleAudioEngine.cpp:242
ParaAudioFormats
Enumeration of audio formats supported by the engine.
Definition: IParaAudioEngine.h:7
virtual void update()
If threading is disabled, you must call this function every frame to update the playback buffers of a...
Definition: ParaSimpleAudioEngine.cpp:73
an audio source
Definition: IParaAudioEngine.h:55
virtual PARAVECTOR3 getDirection(void) const
Returns the current direction of the listener.
Definition: ParaSimpleAudioEngine.cpp:283
virtual IParaAudioSource * createFromMemory(const char *name, const char *data, size_t length, const char *extension)
Creates an Audio Source from a memory buffer using a specific audio codec.
Definition: ParaSimpleAudioEngine.cpp:199
virtual void setDirection(const PARAVECTOR3 &dir)
Sets the direction the listener is facing.
Definition: ParaSimpleAudioEngine.cpp:252
ParaAudioEngine core interface.
Definition: IParaAudioEngine.h:278
Definition: PEtypes.h:298
virtual void release(IParaAudioSource *source)
Releases a single Audio Source, removing it from the manager.
Definition: ParaSimpleAudioEngine.cpp:102
virtual bool initialize(const char *deviceName=0x0, int outputFrequency=-1, int eaxEffectSlots=4)
Initializes the manager.
Definition: ParaSimpleAudioEngine.cpp:63
virtual void releaseAllSources()
Releases ALL Audio Sources (but does not shutdown the manager)
Definition: ParaSimpleAudioEngine.cpp:89
virtual PARAVECTOR3 getPosition(void) const
Returns the current position of the listener.
Definition: ParaSimpleAudioEngine.cpp:278
virtual PARAVECTOR3 getUpVector(void) const
Returns the current up vector of the listener.
Definition: ParaSimpleAudioEngine.cpp:288
virtual IParaAudioSource * createFromRaw(const char *name, const char *data, size_t length, unsigned int frequency, ParaAudioFormats format)
Creates an Audio Source from raw audio data in a memory buffer.
Definition: ParaSimpleAudioEngine.cpp:237
virtual IParaAudioSource * getSoundByName(const char *name)
Returns an Audio Source by its "name" and NULL if the name is not found.
Definition: ParaSimpleAudioEngine.cpp:83
ParaAudioDistanceModelEnum
Audio flags.
Definition: IParaAudioEngine.h:23
virtual void setVelocity(const PARAVECTOR3 &vel)
Sets the current velocity of the listener for doppler effects.
Definition: ParaSimpleAudioEngine.cpp:262