Ohhh, the JavaSound bit does make perfect sense. Have any idea of how I could "emulate" this? I know Java was smart and removed support for the default mixer...
As for the code, sorry I didn't post it originally. You, seemingly, are one of the few people alive who still employ anti-spam. Here it is...
public void playSound(boolean priority, String identifier, boolean loop, float x, float y, float z, float pitch) {
sound.newSource(priority, identifier, identifier, loop, x, y, z, SoundSystemConfig.ATTENUATION_ROLLOFF, SoundSystemConfig.getDefaultRolloff());
if(LibraryLWJGLOpenAL.alPitchSupported()) sound.setPitch(identifier, pitch);
sound.setVolume(identifier,getSoundVolume());
sound.play(identifier);
}
...and for moving my player...
public void repositionListener(EntityPlayer player, float x, float y) {
sound.setListenerPosition(x, y, 0F);
sound.setListenerOrientation(Mineblock.getSingleplayerGame().getPlayerController().getPlayer().getEyeLocation().getX(), Mineblock.getSingleplayerGame().getPlayerController().getPlayer().getEyeLocation().getY(), 0F, x, y, 0F);
sound.checkFadeVolumes();
}
...this method, which gets called every player step.
Really appreciate your help, Paul.