X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FSound.hh;h=e5d312a776acfe26533a2224260a16c95bd1d2e6;hp=32f4c87097fed36cf82c651c0a32dad75ad2082d;hb=ca0f7bdfba63140dca0bd20586d31980f3938eb2;hpb=57b78ebe21b1b48acd337daa5a1cb8c383959cfa diff --git a/src/Moof/Sound.hh b/src/Moof/Sound.hh index 32f4c87..e5d312a 100644 --- a/src/Moof/Sound.hh +++ b/src/Moof/Sound.hh @@ -31,7 +31,7 @@ /** * @file Sound.hh - * Image-loading and OpenGL texture loading. + * Load and play sounds, current supports ogg vorbis. */ #include @@ -55,7 +55,7 @@ class Sound : public Resource public: - inline static SoundP alloc(const std::string& name) + static SoundP alloc(const std::string& name) { return SoundP(new Sound(name)); } @@ -64,9 +64,11 @@ public: void play(); - void stream(); - void update(Scalar t, Scalar dt); + + // TODO - i don't like how there are two different methods that essentially + // do the same thing; the API should be exactly the same for both types of + // sounds; need a different way to distinguish how to handle the sound void stop(); void pause(); @@ -78,12 +80,17 @@ public: bool isPlaying() const; - void setPosition(Vector3 position); - void setVelocity(Vector3 velocity); + void setPosition(const Vector3& position); + void setVelocity(const Vector3& velocity); void setGain(Scalar gain); void setPitch(Scalar pitch); void setLooping(bool looping); + static void setListenerPosition(const Vector3& position); + static void setListenerVelocity(const Vector3& velocity); + static void setListenerOrientation(const Vector3& forward, + const Vector3& up); + static std::string getPath(const std::string& name);