/* 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__