To allow sounds to be moved after the initially playing them: in com.jmex.sound.openAL.objects.Sample3D:
the method setPosition changed to:
public void setPosition(float x, float y, float z){
position.clear();
position.put(x);
position.put(y);
position.put(z);
//positionChanged=true;
if(sourceNumber>=0){
AL10.alSource3f(sourceNumber, AL10.AL_POSITION, position.get(0), position.get(1), position.get(2));
}
}
And in com.jmex.sound.openAL.objects.util.SampleLoader loadOgg() (NOT loadWav()) for the following to be commented out:
if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
{
ShortBuffer tmp2 = data.duplicate().order(ByteOrder.LITTLE_ENDIAN).asShortBuffer();
while(tmp2.hasRemaining())
data.putShort(tmp2.get());
data.rewind();
}
Something has changed in the library that makes this step no longer necessary as described here.
Also, it would be REALLY nice if SoundSystem.create3DSample() took a URL instead of an absolute path.