source:
orxonox.OLD/trunk/src/lib/sound/sound_buffer_data.h
@
10518
Last change on this file since 10518 was 9869, checked in by bensch, 18 years ago | |
---|---|
File size: 1.3 KB |
Rev | Line | |
---|---|---|
[4838] | 1 | /*! |
[9803] | 2 | * @file sound_buffer_data.h |
3 | * @brief Definition of the sound-buffer-datacontainer-class | |
[3245] | 4 | */ |
[1853] | 5 | |
[9803] | 6 | #ifndef _SOUND_BUFFER_DATA_H |
7 | #define _SOUND_BUFFER_DATA_H | |
[1853] | 8 | |
[3543] | 9 | #include "base_object.h" |
[5386] | 10 | #include "alincl.h" |
[9803] | 11 | #include "util/count_pointer.h" |
[1853] | 12 | |
[4838] | 13 | // FORWARD DECLARATION |
[6836] | 14 | typedef struct SDL_AudioSpec; |
[3543] | 15 | |
[7460] | 16 | namespace OrxSound |
[5386] | 17 | { |
[7460] | 18 | //! A class that represents a datastructure to play Sounds. |
[9803] | 19 | class SoundBufferData : public BaseObject |
[7460] | 20 | { |
[9803] | 21 | ObjectListDeclaration(SoundBufferData); |
[5386] | 22 | public: |
[9803] | 23 | typedef CountPointer<SoundBufferData> Pointer; |
[3543] | 24 | |
[9803] | 25 | public: |
26 | SoundBufferData(); | |
27 | virtual ~SoundBufferData(); | |
28 | ||
29 | bool load(const std::string& fileName); | |
[7221] | 30 | bool loadWAV(const std::string& fileName); |
[8969] | 31 | bool loadOGG(const std::string& fileName); |
[6836] | 32 | |
[5386] | 33 | /** @returns the ID of the buffer used in this SoundBuffer */ |
34 | inline ALuint getID() const { return this->bufferID; } | |
[9805] | 35 | inline bool loaded() const { return bLoaded; }; |
[2036] | 36 | |
[5386] | 37 | private: |
[6836] | 38 | ALenum sdlAudioSpecToAlFormat(const SDL_AudioSpec* audiospec); |
39 | ||
40 | private: | |
[5386] | 41 | ALuint bufferID; //!< The address of the Buffer. |
[1853] | 42 | |
[5386] | 43 | ALsizei size; //!< The size of the Buffer. |
44 | ALboolean loop; //!< loop information. | |
[9805] | 45 | bool bLoaded; //!< If the Sound was loaded this is true. |
[7460] | 46 | }; |
47 | } | |
[9803] | 48 | #endif /* _SOUND_BUFFER_DATA_H */ |
Note: See TracBrowser
for help on using the repository browser.