-/*] Copyright (c) 2009-2010, Charles McGarvey [**************************
+/*] Copyright (c) 2009-2011, 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.
+ * Load and play sounds, currently supports ogg vorbis.
*/
#include <string>
namespace moof {
+// forward declarations
+class script;
+
class sound
{
public:
sound();
- explicit sound(const std::string& path);
+ explicit sound(const std::string& name);
- void sample(const std::string& path);
- void enqueue(const std::string& path);
+ void sample(const std::string& name);
+ void queue(const std::string& name);
void play();
- void stream();
void stop();
void pause();
- void rewind();
void toggle();
bool is_playing() const;
+ void buffer_size(scalar seconds);
+
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);
- void listener_position(const vector3& position);
- void listener_velocity(const vector3& velocity);
- void listener_orientation(const vector3& forward,
- const vector3& up);
-
+ static void import(script& script, const std::string& nspace = "");
private: