Create basic Audio API

This commit is contained in:
2021-03-23 22:52:57 +01:00
parent e3d7ce2b73
commit b8f316f9d5
15 changed files with 484 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
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);
}

View File

@@ -0,0 +1,23 @@
package com.bartlomiejpluta.base.api.audio;
import org.joml.Vector3fc;
public interface Sound {
void play();
void pause();
void stop();
boolean isPlaying();
void setGain(float gain);
void setRepeat(boolean repeat);
void setRelative(boolean relative);
void setPosition(Vector3fc position);
void setSpeed(Vector3fc speed);
}

View File

@@ -1,6 +1,7 @@
package com.bartlomiejpluta.base.api.context;
import com.bartlomiejpluta.base.api.animation.Animation;
import com.bartlomiejpluta.base.api.audio.Sound;
import com.bartlomiejpluta.base.api.camera.Camera;
import com.bartlomiejpluta.base.api.entity.Entity;
import com.bartlomiejpluta.base.api.gui.GUI;
@@ -35,6 +36,14 @@ public interface Context extends Updatable, Renderable, Disposable {
GUI newGUI();
Sound createSound(String soundUid);
void disposeSound(Sound sound);
void playSound(String soundUid);
void playSound(String soundUid, float gain);
boolean isRunning();
void close();