77 lines
3.5 KiB
Java
77 lines
3.5 KiB
Java
package electrosphere.menu.debug;
|
|
|
|
import electrosphere.audio.AudioBuffer;
|
|
import electrosphere.audio.VirtualAudioSource;
|
|
import electrosphere.engine.Globals;
|
|
import electrosphere.renderer.ui.imgui.ImGuiWindow;
|
|
import electrosphere.renderer.ui.imgui.ImGuiWindow.ImGuiWindowCallback;
|
|
import imgui.ImGui;
|
|
import imgui.type.ImString;
|
|
|
|
/**
|
|
* Audio debug menus
|
|
*/
|
|
public class ImGuiAudio {
|
|
|
|
//audio debug menu
|
|
public static ImGuiWindow audioDebugMenu;
|
|
|
|
//the audio buffer list filter
|
|
private static ImString bufferListFilter = new ImString();
|
|
|
|
/**
|
|
* Create audio debug menu
|
|
*/
|
|
public static void createAudioDebugMenu(){
|
|
audioDebugMenu = new ImGuiWindow("Audio");
|
|
audioDebugMenu.setCallback(new ImGuiWindowCallback() {
|
|
@Override
|
|
public void exec() {
|
|
//audio engine details
|
|
ImGui.text("Audio Engine Details");
|
|
ImGui.text("Virtual Audio Source Manager Details");
|
|
ImGui.text("Total number active virtual sources: " + Globals.virtualAudioSourceManager.getSourceQueue().size());
|
|
if(ImGui.collapsingHeader("Engine Configuration")){
|
|
ImGui.text("Current audio device: " + Globals.audioEngine.getDevice());
|
|
ImGui.text("Default audio device: " + Globals.audioEngine.getDefaultDevice());
|
|
ImGui.text("Has HRTF: " + Globals.audioEngine.getHRTFStatus());
|
|
ImGui.text("Listener location: " + Globals.audioEngine.getListener().getPosition());
|
|
ImGui.text("Listener eye vector: " + Globals.audioEngine.getListener().getEyeVector());
|
|
ImGui.text("Listener up vector: " + Globals.audioEngine.getListener().getUpVector());
|
|
}
|
|
//only active children
|
|
if(ImGui.collapsingHeader("Mapped Virtual Sources")){
|
|
for(VirtualAudioSource source : Globals.virtualAudioSourceManager.getMappedSources()){
|
|
ImGui.text("Source " + source.getPriority());
|
|
ImGui.text(" - Position " + source.getPosition());
|
|
ImGui.text(" - Gain " + source.getGain());
|
|
ImGui.text(" - Type " + source.getType());
|
|
ImGui.text(" - Total time played " + source.getTotalTimePlayed());
|
|
ImGui.text(" - Buffer Lenth " + source.getBufferLength());
|
|
}
|
|
}
|
|
//all virtual children
|
|
if(ImGui.collapsingHeader("All Virtual Sources")){
|
|
for(VirtualAudioSource source : Globals.virtualAudioSourceManager.getSourceQueue()){
|
|
ImGui.text("Position " + source.getPosition());
|
|
}
|
|
}
|
|
//all buffers loaded into memory and stats about them
|
|
if(ImGui.collapsingHeader("All Loaded Audio Buffers")){
|
|
if(ImGui.inputText("Filter", bufferListFilter)){
|
|
|
|
}
|
|
for(AudioBuffer buffer : Globals.assetManager.getAllAudio()){
|
|
if(buffer.getFilePath().contains(bufferListFilter.get()) && ImGui.collapsingHeader(buffer.getFilePath())){
|
|
ImGui.text("Length: " + buffer.getLength());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
audioDebugMenu.setOpen(false);
|
|
Globals.renderingEngine.getImGuiPipeline().addImGuiWindow(audioDebugMenu);
|
|
}
|
|
|
|
}
|