Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 16, 2005, 3:16:33 PM (19 years ago)
Author:
bensch
Message:

orxonox/branches/openAL: implemented some basic Functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/branches/openAL/src/lib/sound/sound_engine.h

    r4195 r4196  
    99
    1010#include "base_object.h"
     11#include "alincl.h"
    1112
    1213// FORWARD DEFINITION
     14class PNode;
     15template<class T> class tList;
    1316
    14 //! A Class that handles audio via the openAudioLibrary
     17
     18//! A class that represents a datastructure to play Sounds.
     19class SoundBuffer
     20{
     21 public:
     22  SoundBuffer(const char* fileName);
     23  ~SoundBuffer(void);
     24
     25 private:
     26  ALuint bufferID;              //!< The address of the Buffer.
     27
     28  ALsizei size;                 //!< The size of the Buffer.
     29  ALboolean loop;               //!< loop information.
     30};
     31
     32//! A class that represents a SoundSource
     33class SoundSource
     34{
     35 public:
     36  SoundSource(SoundBuffer* buffer, PNode* sourceNode = NULL);
     37  ~SoundSource(void);
     38
     39  /** \retruns The ID of the Source */
     40  inline ALuint getID(void) { return this->sourceID; }
     41  /** \returns the SourceNode of this Source */
     42  inline PNode* getNode(void) { return this->sourceNode;}
     43
     44 private:
     45  ALuint sourceID;              //!< The ID of the Source
     46  SoundBuffer* buffer;          //!< The buffer to play in this source.
     47  PNode* sourceNode;            //!< The SourceNode represente the position/velocity... of this source.
     48};
     49
     50
     51
     52//! A class that handles audio via the openAudioLibrary
    1553class SoundEngine : public BaseObject {
    1654
     
    1957  virtual ~SoundEngine(void);
    2058
     59  void setListener(PNode* listener);
     60
     61  void addBuffer(SoundBuffer* buffer);
     62  void removeBuffer(SoundBuffer* buffer);
     63  void addSource(SoundSource* source);
     64  void removeSource(SoundSource* source);
     65
     66
     67  void update(void);
     68
    2169 private:
    2270  SoundEngine(void);
    2371  static SoundEngine* singletonRef;
     72
     73  bool initAudio(void);
     74
     75  PNode* listener;                 //!< The listener of the Scene
     76  tList<SoundBuffer>* bufferList;  //!< A list of buffers
     77  tList<SoundSource>* sourceList;  //!< A list for all the sources in the scene.
     78
    2479};
    2580
Note: See TracChangeset for help on using the changeset viewer.