@Override
	public int queue(URI soundPath, String filename, boolean isLooped, boolean priority) {
		FilenameURL url = null;
		try {
			url = new FilenameURL(soundPath.toURL(), filename);
		} catch (MalformedURLException e) {
			e.printStackTrace();
			return -1;
		}
		
		for(int i = 0; i < this.midiChannels; i++) {
			if(!this.soundMap.containsKey(i)) {
				this.soundMap.put(i, url);
				this.soundSystem.loadSound(url.getURL(), url.getFilename()); //Load the sound into memory
				this.soundSystem.newStreamingSource(priority, url.getFilename(), url.getURL(), url.getFilename(),
						isLooped, 0, 0, 0, SoundSystemConfig.ATTENUATION_ROLLOFF, 0.9f); //Set it as a streaming source
				return i;
			}
		}
		
		return -1;
	}