From 4f2ed0cb0dfa02a40c6818d85c0ce5de0f57b3b8 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Mon, 23 Apr 2007 14:12:36 +0000 Subject: [PATCH] Added is playing method --- src/ei/engine/sound/Sound.java | 9 +++++++++ src/ei/engine/sound/SoundManager.java | 12 ++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/ei/engine/sound/Sound.java b/src/ei/engine/sound/Sound.java index 82d7677..7eacae1 100644 --- a/src/ei/engine/sound/Sound.java +++ b/src/ei/engine/sound/Sound.java @@ -2,6 +2,8 @@ package ei.engine.sound; import java.awt.Rectangle; +import org.lwjgl.openal.AL10; + import ei.engine.math.Vector3f; import ei.engine.scene.Entity; import ei.engine.texture.Texture; @@ -108,5 +110,12 @@ public class Sound extends Entity{ public Texture getTexture() { return null; } + + public boolean isPlaying(){ + if(SoundManager.getInstnace().getSoundState(this) == AL10.AL_PLAYING){ + return true; + } + return false; + } } diff --git a/src/ei/engine/sound/SoundManager.java b/src/ei/engine/sound/SoundManager.java index d6f8a18..41cc1c2 100644 --- a/src/ei/engine/sound/SoundManager.java +++ b/src/ei/engine/sound/SoundManager.java @@ -154,6 +154,18 @@ public class SoundManager { return source; } + /** + * Returns the state of the sound class + * @param sound The sound to get state of + * @return The state of the sound + */ + public int getSoundState(Sound sound){ + if(sound.getSourceId() >= 0 && sources.get(sound.getSourceId()).soundId == sound.getSoundId()){ + AL10.alGetSourcei(sources.get(sound.getSourceId()).source, AL10.AL_SOURCE_STATE); + } + return -1; + } + /** * Stops playing a sound *