package com.nilunder.bdx.audio; import com.badlogic.gdx.*; import com.badlogic.gdx.audio.Sound; import com.badlogic.gdx.files.FileHandle; import com.nilunder.bdx.Bdx; public class BDXSound { Sound data; BDXSound(FileHandle filePath){ data = Gdx.audio.newSound(filePath); } public long play() { return play(1, 1, 0); } public long play(float volume) { return play(volume, 1, 0); } public long play(float volume, float pitch, float pan) { long l = data.play(Math.max(volume * Bdx.audio.volume() * Bdx.audio.sounds.volume(), 0), pitch * Bdx.audio.sounds.pitch(), pan + Bdx.audio.pan() + Bdx.audio.sounds.pan()); return l; } public long loop() { return loop(1, 1, 0); } public long loop(float volume) { return loop(volume, 1, 0); } public long loop(float volume, float pitch, float pan) { long l = data.loop(Math.max(volume * Bdx.audio.volume() * Bdx.audio.sounds.volume(), 0), pitch * Bdx.audio.sounds.pitch(), pan + Bdx.audio.pan() + Bdx.audio.sounds.pan()); return l; } public void stop() { data.stop(); } public void stop(long handleID) { data.stop(handleID); } public void pause() { data.pause(); } public void resume() { data.resume(); } public void resume(long handleID) { data.resume(handleID); } public void dispose() { data.dispose(); } public void pause(long handleID) { data.pause(handleID); } public void setLooping(long handleID, boolean looping) { data.setLooping(handleID, looping); } public void setPitch(long handleID, float pitch) { data.setPitch(handleID, pitch); } public void setVolume(long handleID, float volume) { data.setVolume(handleID, Math.max(0, volume)); } public void setPan(long handleID, float pan, float volume) { data.setPan(handleID, pan, Math.max(0, volume)); } }