diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/audio/Listener.java b/api/src/main/java/com/bartlomiejpluta/base/api/audio/Listener.java deleted file mode 100644 index 4233ac36..00000000 --- a/api/src/main/java/com/bartlomiejpluta/base/api/audio/Listener.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.bartlomiejpluta.base.api.audio; - -import org.joml.Vector3fc; - -public interface Listener { - - void setPosition(Vector3fc position); - - void setSpeed(Vector3fc speed); - - void setOrientation(Vector3fc at, Vector3fc up); -} diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/audio/Sound.java b/api/src/main/java/com/bartlomiejpluta/base/api/audio/Sound.java index a0aa86ce..0fcf58fb 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/audio/Sound.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/audio/Sound.java @@ -1,7 +1,5 @@ package com.bartlomiejpluta.base.api.audio; -import org.joml.Vector3fc; - public interface Sound { void play(); @@ -14,10 +12,4 @@ public interface Sound { void setGain(float gain); void setRepeat(boolean repeat); - - void setRelative(boolean relative); - - void setPosition(Vector3fc position); - - void setSpeed(Vector3fc speed); } diff --git a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/engine/DefaultAudioEngine.java b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/engine/DefaultAudioEngine.java index abed9978..95b11016 100644 --- a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/engine/DefaultAudioEngine.java +++ b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/engine/DefaultAudioEngine.java @@ -71,8 +71,7 @@ public class DefaultAudioEngine implements AudioEngine { throw new AppException("Audio buffer with name [%s] does not exist", name); } - var source = new AudioSource(); - source.setBuffer(buffer); + var source = new AudioSource(buffer); sources.add(source); diff --git a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/listener/AudioListener.java b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/listener/AudioListener.java index 8ed79aa4..1993daa8 100644 --- a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/listener/AudioListener.java +++ b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/listener/AudioListener.java @@ -1,13 +1,12 @@ package com.bartlomiejpluta.base.engine.core.al.listener; -import com.bartlomiejpluta.base.api.audio.Listener; import org.joml.Vector3f; import org.joml.Vector3fc; import static org.lwjgl.openal.AL10.*; import static org.lwjgl.openal.AL11.alListener3f; -public class AudioListener implements Listener { +public class AudioListener { public AudioListener() { this(new Vector3f(0, 0, 0)); @@ -18,17 +17,14 @@ public class AudioListener implements Listener { alListener3f(AL_VELOCITY, 0, 0, 0); } - @Override public void setPosition(Vector3fc position) { alListener3f(AL_POSITION, position.x(), position.y(), position.z()); } - @Override public void setSpeed(Vector3fc speed) { alListener3f(AL_VELOCITY, speed.x(), speed.y(), speed.z()); } - @Override public void setOrientation(Vector3fc at, Vector3fc up) { var data = new float[6]; data[0] = at.x(); diff --git a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/source/AudioSource.java b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/source/AudioSource.java index 2284e002..7356133e 100644 --- a/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/source/AudioSource.java +++ b/engine/src/main/java/com/bartlomiejpluta/base/engine/core/al/source/AudioSource.java @@ -9,9 +9,11 @@ import static org.lwjgl.openal.AL10.*; import static org.lwjgl.openal.AL11.alGenSources; public class AudioSource implements Sound, Disposable { - private final int id = alGenSources(); + private final int id; + + public AudioSource(AudioBuffer buffer) { + this.id = alGenSources(); - public void setBuffer(AudioBuffer buffer) { stop(); alSourcei(id, AL_BUFFER, buffer.getId()); } @@ -20,16 +22,18 @@ public class AudioSource implements Sound, Disposable { alSourcef(id, param, value); } - @Override public void setPosition(Vector3fc position) { alSource3f(id, AL_POSITION, position.x(), position.y(), position.z()); } - @Override public void setSpeed(Vector3fc speed) { alSource3f(id, AL_VELOCITY, speed.x(), speed.y(), speed.z()); } + public void setRelative(boolean relative) { + alSourcei(id, AL_SOURCE_RELATIVE, relative ? AL_TRUE : AL_FALSE); + } + @Override public void setGain(float gain) { alSourcef(id, AL_GAIN, gain); @@ -60,11 +64,6 @@ public class AudioSource implements Sound, Disposable { alSourcei(id, AL_LOOPING, repeat ? AL_TRUE : AL_FALSE); } - @Override - public void setRelative(boolean relative) { - alSourcei(id, AL_SOURCE_RELATIVE, relative ? AL_TRUE : AL_FALSE); - } - @Override public void dispose() { stop();