diff options
author | Stijn Buys <ingar@osirion.org> | 2008-05-18 21:52:13 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-05-18 21:52:13 +0000 |
commit | 4a4a5473b82d1f5b6f654cabac99272bce89854b (patch) | |
tree | fc782442ba0a650be5dad4023da401928899cd80 /src/audio/sources.h | |
parent | c6d7e54f4b3e18587e96a3aeb0f290becd93cbdc (diff) |
Forgot to add these
Diffstat (limited to 'src/audio/sources.h')
-rw-r--r-- | src/audio/sources.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/audio/sources.h b/src/audio/sources.h new file mode 100644 index 0000000..405b944 --- /dev/null +++ b/src/audio/sources.h @@ -0,0 +1,40 @@ +/* + audio/source.h + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_AUDIO_SOURCES_H__ +#define __INCLUDED_AUDIO_SOURCES_H__ + +#include "AL/al.h" +#include "AL/alc.h" + +#include <string> +#include <map> + +namespace audio { + +const size_t MAXSOURCES = 128; + +/// OpenAL sources wrapper class +class Sources { +public: + static void init(); + static void shutdown(); + + static bool available(size_t index) { return source_available[index]; } + + /// the sources for user interface sounds + static inline ALuint ui() { return sources[0]; } + +private: + static void clear(); + + static ALuint sources[MAXSOURCES]; + static bool source_available[MAXSOURCES]; +}; + +} + +#endif // __INCLUDED_AUDIO_SOURCES_H__ |