// Copyright (C) 2012-2014 ChaosForge Ltd // http://chaosforge.org/ // // This file is part of NV Libraries. // For conditions of distribution and use, see copyright notice in nv.hh /** * @file fmod_audio.hh * @author Kornel Kisielewicz epyon@chaosforge.org * @brief FMOD Audio interface */ #ifndef NV_FMOD_AUDIO_HH #define NV_FMOD_AUDIO_HH #include #include namespace nv { namespace fmod { class audio; class sound : public nv::sound { private: friend class nv::fmod::audio; sound( void* data ) : m_sound( data ) {} public: virtual ~sound(); private: void* m_sound; }; class channel : public nv::channel { private: friend class nv::fmod::audio; virtual ~channel() {} }; class audio : public nv::audio { public: audio(); virtual nv::channel* play_sound( nv::sound* a_sound ); virtual nv::sound* load_sound( const std::string& a_path ); virtual void update(); virtual ~audio(); private: void* m_system; }; } } #endif // NV_FMOD_AUDIO_HH