From 4a4a5473b82d1f5b6f654cabac99272bce89854b Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 18 May 2008 21:52:13 +0000 Subject: Forgot to add these --- src/audio/sources.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/audio/sources.h (limited to 'src/audio/sources.h') 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 +#include + +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__ -- cgit v1.2.3