From df556f4e8114948d0e8862d955f4c21d79566103 Mon Sep 17 00:00:00 2001 From: Mike Thomas Date: Fri, 20 Aug 2010 21:17:55 +0000 Subject: [PATCH] Pass through our parameters so that looping works just like playing and we can set positions and gain and such. git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@997 ed5b42cb-e716-0410-a449-f6a68f950b19 --- .../threerings/openal/OpenALSoundPlayer.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/java/com/threerings/openal/OpenALSoundPlayer.java b/src/java/com/threerings/openal/OpenALSoundPlayer.java index 09d4c0ca..0af1eee0 100644 --- a/src/java/com/threerings/openal/OpenALSoundPlayer.java +++ b/src/java/com/threerings/openal/OpenALSoundPlayer.java @@ -238,11 +238,26 @@ public class OpenALSoundPlayer extends SoundPlayer } @Override - protected Frob loop (String pkgPath, String key, float pan) + public Frob loop (String pkgPath, String key, float pan) + { + return loop(pkgPath, key, pan, 1f); + } + + public Frob loop (String pkgPath, String key, float pan, float gain) + { + return loop(null, pkgPath, key, gain, null); + } + + public Frob loop (SoundType type, String pkgPath, String key, final float gain, + final float[] pos) { final SoundGrabber loader = new SoundGrabber(pkgPath, key) { @Override protected void soundLoaded () { + sound.setGain(gain); + if (pos != null) { + sound.setPosition(pos[0], pos[1], pos[2]); + } sound.loop(true); }}; getSoundQueue().postRunnable(loader);