Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/heathaze/src/lib/sound/sound_buffer.h

Last change on this file was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 1.8 KB
Line 
1/*!
2 * @file sound_buffer.h
3 * @brief Definition of the sound-buffer-class
4*/
5
6#ifndef _SOUND_BUFFER_H
7#define _SOUND_BUFFER_H
8
9#include "base_object.h"
10#include "sound_buffer_data.h"
11
12namespace OrxSound
13{
14  //! A class that represents a datastructure to play Sounds.
15  class SoundBuffer : virtual public BaseObject
16  {
17    ObjectListDeclaration(SoundBuffer);
18  public:
19    SoundBuffer();
20    SoundBuffer(const SoundBuffer& buffer);
21    SoundBuffer(const SoundBufferData::Pointer& dataPointer);
22    SoundBuffer(const std::string& fileName);
23    virtual ~SoundBuffer();
24
25    /** @brief assignment operator */
26    SoundBuffer& operator=(const SoundBuffer& buffer) { this->data = buffer.data; return *this; };
27    bool operator==(const SoundBuffer& buffer) const {return this->data == buffer.data; };
28
29    /** @see SoundBufferData::load */
30    inline bool load(const std::string& fileName) { return this->data->load(fileName); };
31    /** @see SoundBufferData::loadWav */
32    inline bool loadWAV(const std::string& fileName) { return this->data->loadWAV(fileName); };
33    /** @see SoundBufferData::loadOgg */
34    inline bool loadOGG(const std::string& fileName) { return this->data->loadOGG(fileName); };
35
36    /** @returns the ID of the buffer used in this SoundBuffer */
37    inline ALuint getID() const { return this->data->getID(); }
38    inline bool loaded() const { return this->data->loaded(); }
39
40    /** @returns the DataPointer */
41    const SoundBufferData::Pointer& dataPointer() const { return data; }
42    /** @param dataPointer the data to acquire @brief Buffer shall acquire dataPointers data */
43    void acquireData(const SoundBufferData::Pointer& dataPointer)  { data = dataPointer; };
44
45  private:
46    SoundBufferData::Pointer    data;                //!< Pointer to the Stored Data
47  };
48}
49#endif /* _SOUND_BUFFER_H */
Note: See TracBrowser for help on using the repository browser.