@Override
    public void quickPlay(boolean priority, boolean toStream, boolean toLoop,
            String sourcename, FilenameURL filenameURL, float x,
            float y, float z, int attModel, float distOrRoll,
            boolean temporary) {
        IntBuffer myBuffer = null;
        if (!toStream) {
            // Grab the sound buffer for this file:
            myBuffer = ALBufferMap.get(filenameURL.getFilename());
            // if not found, try loading it:
            if (myBuffer == null) {
                loadSound(filenameURL);
            }
            // try and grab the sound buffer again:
            myBuffer = ALBufferMap.get(filenameURL.getFilename());
            // see if it was there this time:
            if (myBuffer == null) {
                errorMessage("Sound buffer was not created for "
                        + filenameURL.getFilename());
                return;
            }
        }

        SoundBuffer buffer = null;

        if (!toStream) {
            // Grab the sound buffer for this file:
            buffer = bufferMap.get(filenameURL.getFilename());
            // if not found, try loading it:
            if (buffer == null) {
                if (!loadSound(filenameURL)) {
                    errorMessage("Source '" + sourcename + "' was not created "
                            + "because an error occurred while loading "
                            + filenameURL.getFilename());
                    return;
                }
            }
            // try and grab the sound buffer again:
            buffer = bufferMap.get(filenameURL.getFilename());
            // see if it was there this time:
            if (buffer == null) {
                errorMessage("Source '" + sourcename + "' was not created "
                        + "because audio data was not found for "
                        + filenameURL.getFilename());
                return;
            }
        }
        SourceLWJGLOpenAL s = new SourceLWJGLOpenAL(listenerPositionAL,
                myBuffer, priority,
                toStream, toLoop,
                sourcename, filenameURL,
                buffer, x, y, z,
                attModel, distOrRoll,
                false);

        sourceMap.put(sourcename, s);
        play(s);
        if (temporary) {
            s.setTemporary(true);
        }
    }