All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.lessvoid.nifty.sound.openal.OpenALMusicHandle Maven / Gradle / Ivy

Go to download

This is an OpenAL/lwjgl based SoundDevice for Nifty GUI. It was extracted out of Slick2D to be independent of the whole Slick2D library and to be used with none Slick2D based renderes. All credits for the original code go to Kevin Glass and all Slick2D contributers.

The newest version!
package de.lessvoid.nifty.sound.openal;


import de.lessvoid.nifty.sound.SoundSystem;
import de.lessvoid.nifty.spi.sound.SoundHandle;

/**
 * A Slick handle to music.
 *
 * @author void
 */
public class OpenALMusicHandle implements SoundHandle {
  private final SoundSystem soundSystem;
  private final Music slickMusic;

  /**
   * Create new instance.
   *
   * @param newSoundSystem the soundsystem we are connected to
   * @param newSlickMusic  the Slick Music thing
   */
  public OpenALMusicHandle(final SoundSystem newSoundSystem, final Music newSlickMusic) {
    this.soundSystem = newSoundSystem;
    this.slickMusic = newSlickMusic;
  }

  @Override
  public void play() {
    slickMusic.play(1.0f, soundSystem.getMusicVolume());
  }

  @Override
  public void stop() {
    slickMusic.stop();
  }

  @Override
  public void setVolume(final float volume) {
    slickMusic.setVolume(volume);
  }

  @Override
  public float getVolume() {
    return slickMusic.getVolume();
  }

  @Override
  public boolean isPlaying() {
    return slickMusic.playing();
  }

  @Override
  public void dispose() {

  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy