Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/cd_ancient/src/lib/sound/sound_source.h @ 7504

Last change on this file since 7504 was 5386, checked in by bensch, 19 years ago

orxonox/trunk: split open the soundengine into
sound_engine: the Handler
sound_source: the sources
sound_buffers: playback-buffers

File size: 1.3 KB
Line 
1/*!
2 * @file sound_source.h
3 * @brief Definition of the SoundSource.
4*/
5
6#ifndef _SOUND_SOURCE_H
7#define _SOUND_SOURCE_H
8
9#include "base_object.h"
10#include "alincl.h"
11
12// FORWARD DECLARATION
13class SoundBuffer;
14class PNode;
15
16//! A class that represents a SoundSource
17class SoundSource : public BaseObject
18{
19  public:
20    SoundSource(const PNode* sourceNode = NULL, const SoundBuffer* buffer = NULL);
21    ~SoundSource();
22
23  // user interaction
24    void play();
25    void play(const SoundBuffer* buffer);
26    void stop();
27    void pause();
28    void rewind();
29
30  // development functions
31    /** @returns The ID of this Source */
32    inline ALuint getID() const { return this->sourceID; }
33    /** @returns the SoundBuffer of this Source */
34    inline const SoundBuffer* getBuffer() const { return this->buffer; }
35    /** @returns the SourceNode of this Source */
36    inline const PNode* getNode() const { return this->sourceNode;}
37
38    void setRolloffFactor(ALfloat rolloffFactor);
39
40  private:
41    ALuint                 sourceID;              //!< The ID of the Source
42    const SoundBuffer*     buffer;                //!< The buffer to play in this source.
43    const PNode*           sourceNode;            //!< The SourceNode represente the position/velocity... of this source.
44};
45#endif /* _SOUND_SOURCE_H */
Note: See TracBrowser for help on using the repository browser.