/*] Copyright (c) 2009-2010, Charles McGarvey [************************** **] All rights reserved. * * vi:ts=4 sw=4 tw=75 * * Distributable under the terms and conditions of the 2-clause BSD license; * see the file COPYING for a complete text of the license. * **************************************************************************/ #ifndef _MOOF_SOUND_HH_ #define _MOOF_SOUND_HH_ /** * \file sound.hh * Load and play sounds, current supports ogg vorbis. */ #include #include #include namespace moof { class sound { public: sound(); explicit sound(const std::string& name); void sample(const std::string& name); void enqueue(const std::string& name); void play(); void stream(); void stop(); void pause(); void rewind(); void toggle(); bool is_playing() const; void position(const vector3& position); void velocity(const vector3& velocity); void gain(scalar gain); void pitch(scalar pitch); void loop(bool looping); static void listener_position(const vector3& position); static void listener_velocity(const vector3& velocity); static void listener_orientation(const vector3& forward, const vector3& up); private: class impl; boost::shared_ptr impl_; }; } // namespace moof #endif // _MOOF_SOUND_HH_