Hi!
Did anybody wrote a small JOAL-Appliction which shows all Informations about the OpenAL implementation of the executing environment?
I have tried to but I must have forgotten something, because the results looked very strange to me.
That was my code:
import net.java.games.joal.*;
import net.java.games.joal.util.*;
public class OpenALInfo {
AL al;
ALC alc;
public void initOpenAL() {
try {
al = ALFactory.getAL();
alc = ALFactory.getALC();
alc.alcOpenDevice(null);
ALut.alutInit();
} catch (ALException exc){
print("Fehler bei der AL-Initialisierung: "+exc);
}
}
public void print(String str) {
System.out.println(str);
}
public void showALInfos() {
print("OpenAL Version: "+al.alGetString(AL.AL_VERSION));
print("Renderer: "+al.alGetString(AL.AL_RENDERER));
print("Vendor: "+al.alGetString(AL.AL_VENDOR));
print("Available Extensions: "+al.alGetString(AL.AL_EXTENSIONS));
print("");
String devSpecs = "";
if (alc.alcGetDeviceSpecifiers() != null) {
for (int i=0;i<alc.alcGetDeviceSpecifiers().length;i++) {
devSpecs.concat(alc.alcGetDeviceSpecifiers()[i]);
}
} else devSpecs = "none";
print("Available Devices: "+devSpecs);
print("ALC Extensions: "+alc.alcGetString(alc.alcGetContextsDevice(alc.alcGetCurrentContext()),ALC.ALC_EXTENSIONS));
String capDevSpecs = "";
if (alc.alcGetCaptureDeviceSpecifiers() != null) {
for (int i=0;i<alc.alcGetCaptureDeviceSpecifiers().length;i++) {
capDevSpecs.concat(alc.alcGetCaptureDeviceSpecifiers()[i]);
}
} else capDevSpecs = "none";
print("Available Capture Devices: "+capDevSpecs );
}
public static void main(String[] args) {
OpenALInfo oali = new OpenALInfo();
oali.initOpenAL();
oali.showALInfos();
System.exit(-1);
}
}
My results were:
Version: OpenAL 1.2.1 (I thought 1.1 is the latest ?)
Renderer: Software (makes sense)
Vendor: Any (strange but ok)
Extensions : (no result…)
Available Devices: none
ALC Extensions : null
Available Capture Devices: none
It looks like the AL Context hasn’t been created right…
Is there a problem with the code, my OpenAL-implementation or my hardware?
Greetings and thanks
Chris