Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (406)
games submitted by our members
Games in WIP (289)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  OpenAL Info-App  (Read 1619 times)
0 Members and 1 Guest are viewing this topic.
Offline SurfChris

Junior Newbie





« Posted 2007-05-09 19:53:36 »

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:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
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
Offline Ultraq

Junior Member




That's what she said


« Reply #1 - Posted 2007-05-10 08:45:49 »

What shows-up is dependant on what you've set as your default audio device, plus what your OpenAL driver is like.
Like you, I did write a similar sort of program a while ago.  I've attached it in-case you wanna take a look, but it seems to do the same job as yours.  Adjusting it to print-out in the same order as yours, here's what I get:

OpenAL version: OpenAL version 1.1
Vendor: Creative Labs Inc.
Device name: SB X-Fi Audio [DCE0]
AL extensions:
 - EAX
 - EAX1.0
 - EAX2.0
 - EAX3.0

Available output devices:
 - Generic Hardware
 - Generic Software
 - SB X-Fi Audio [DCE0]
Available capture devices:
 - SB X-Fi Audio [DCE0]
ALC extensions:
 - None

---
If anything, I'm kinda suspicious of the 'None' under ALC extensions, because I know it supports EFX (if I do alcIsExtensionPresent("ALC_EXT_EFX") it returns true).

As for your results, even though OpenAL 1.1 is the latest, your driver could return any old thing.  I think Mac's have what they call OpenAL 1.2, but I don't know what makes it different.
Curious: what kind of sound hardware and OS do you have?

Ultraq's Final MooCow
Bits and Pieces by Emanuel Rabina
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Try the Free Demo of Revenge of the Titans

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (60 views)
2013-05-17 21:29:12

alaslipknot (69 views)
2013-05-16 21:24:48

gouessej (99 views)
2013-05-16 00:53:38

gouessej (96 views)
2013-05-16 00:17:58

theagentd (107 views)
2013-05-15 15:01:13

theagentd (98 views)
2013-05-15 15:00:54

StreetDoggy (144 views)
2013-05-14 15:56:26

kutucuk (167 views)
2013-05-12 17:10:36

kutucuk (166 views)
2013-05-12 15:36:09

UnluckyDevil (175 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.099 seconds with 20 queries.