package de.lessvoid.nifty.slick2d.sound;
import de.lessvoid.nifty.slick2d.loaders.SlickMusicLoaders;
import de.lessvoid.nifty.slick2d.loaders.SlickSoundLoaders;
import de.lessvoid.nifty.sound.SoundSystem;
import de.lessvoid.nifty.spi.sound.SoundDevice;
import de.lessvoid.nifty.spi.sound.SoundHandle;
import de.lessvoid.nifty.tools.resourceloader.NiftyResourceLoader;
import javax.annotation.Nonnull;
/**
* Slick Implementation of the SoundLoader.
*
* @author Martin Karing <nitram@illarion.org>
*/
public final class SlickSoundDevice implements SoundDevice {
/**
* Load a music piece.
*
* @param soundSystem soundSystem
* @param filename file to load
* @return the music piece
*/
@Override
public SoundHandle loadMusic(@Nonnull final SoundSystem soundSystem, @Nonnull final String filename) {
return SlickMusicLoaders.getInstance().loadMusic(soundSystem, filename);
}
/**
* Load a sound.
*
* @param soundSystem soundSystem
* @param filename filename of sound
* @return handle to sound
*/
@Override
public SoundHandle loadSound(@Nonnull final SoundSystem soundSystem, @Nonnull final String filename) {
return SlickSoundLoaders.getInstance().loadSound(soundSystem, filename);
}
@Override
public void setResourceLoader(@Nonnull final NiftyResourceLoader resourceLoader) {
// no need for the resource loader
}
/**
* Update the sound device.
*/
@Override
public void update(final int delta) {
// nothing to do
}
}