package de.lessvoid.nifty.slick2d.sound.sound.loader;
import de.lessvoid.nifty.slick2d.sound.sound.SlickLoadSoundException;
import de.lessvoid.nifty.slick2d.sound.sound.SlickSoundHandle;
import de.lessvoid.nifty.slick2d.sound.sound.SoundSlickSoundHandle;
import de.lessvoid.nifty.sound.SoundSystem;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.Sound;
import javax.annotation.Nonnull;
/**
* Load a Slick sound handle that wraps a slick sound.
*
* @author Martin Karing <nitram@illarion.org>
*/
public final class SoundSlickSoundLoader implements SlickSoundLoader {
/**
* Load the sound.
*/
@Nonnull
@Override
public SlickSoundHandle loadSound(
final SoundSystem soundSystem, final String filename) throws SlickLoadSoundException {
try {
return new SoundSlickSoundHandle(soundSystem, new Sound(filename));
} catch (@Nonnull final SlickException e) {
throw new SlickLoadSoundException("Loading the sound \"" + filename + "\" failed.", e);
}
}
}