public IntBuffer playSound(String sound, float x, float y, float volume, boolean loop) {
        IntBuffer source = addSource();
        
        IntBuffer buf = Application.get().getResourceManager().getAudioManager().getSound(sound);
        float X = x / (Display.getWidth() * 3);
        float Y = y / (Display.getHeight() * 3);
        float Z = 0.0f;
        
        FloatBuffer sourcePos = BufferUtils.createFloatBuffer(3).put(X).put(Y).put(Z);
        FloatBuffer sourceVel = BufferUtils.createFloatBuffer(3).put(new float[] { 0.0f, 0.0f, 0.0f });

        sourcePos.flip();
        sourceVel.flip();
        
        AL10.alSourcei(source.get(0), AL10.AL_BUFFER, buf.get(0));
        AL10.alSourcef(source.get(0), AL10.AL_PITCH, 1.0f);
        AL10.alSourcef(source.get(0), AL10.AL_GAIN, volume);
        AL10.alSource(source.get(0), AL10.AL_POSITION, sourcePos);
        AL10.alSource(source.get(0), AL10.AL_VELOCITY, sourceVel);
        
        if(loop) {
            AL10.alSourcei(source.get(0), AL10.AL_LOOPING, AL10.AL_TRUE);
        }
        else {
            AL10.alSourcei(source.get(0), AL10.AL_LOOPING, AL10.AL_FALSE);
        }
        
        AL10.alSourcePlay(source.get(0));
        
        return source;
    }