OpenAL in LWJGL/JOAL?

I’d like to know a bit more about OpenAL in LWJGL and JOAL, what version/implementation you are using, where you get it from, if you build it from the source code. The reason for this is that I want to do some C/C++ development, and I’d like to use the sound API that I’m most familiar with; OpenAL. Creativelab’s website hasn’t been that helpful, either.
Thank you for your time.

Are you developing in C++ or Java? LWJGL or JOAL?

If your end goal is to use C++, then just go straight to it rather than using Java first. There are subtle differences programming in C++ vs Java; namely having to learn about pointers and how it changes various method parameters. For example, in Java/LWJGL we can write this without needing to worry about buffers or pointers:

int src = alGenSources();
...
alSourcePlay(src);

(this “syntax sugar” is why I love LWJGL)

In C++ it looks like this:

ALuint source;
alGenSources(1, &source);
...
alSourcePlay(source);

If you’re just using LWJGL, there is no building or anything required. Pick up the latest release of LWJGL and OpenAL will be included. From there, simply start following some of the tutorials to get started. (Note that the Wiki might be slightly out of date; it doesn’t use the “syntax sugar” I explained above.)

also LWJGL uses and is bundled with OpenAL-Soft so can make use of many of the sound back-ends included with modern operating systems (doesn’t need anything extra installed to use).

I use JOAL with Paul Lamb Sound Library and I’m happy with them :smiley:

This is what I was aiming for. Thank you.

Oh, and I have been writing small prototypes in LWJGL for quite some time now, and I think that I can handle the C++'ey stuff. Just, you know, widening the borders a bit. I’m sorry if I was a bit unclear in the question.

Being someone that went from C/C++ game dev to Java game dev (all hobby of course), I can tell you it’s actually a bit of a step back if you use C++. When doing game dev in C++ you’re mostly dealing with micromanagement and doing stuff like plugging memory leaks. You’ll likely not learn more about actual game dev itself, just dealing with the additional baggage from native coding. Java (or C#) provides you the same learning experience with less overhead from the language and platform itself, I suggest you stick with it.

Of course the fact that you don’t need a Java runtime is nice, but especially when you dev on Windows platforms you’ll have similar dependencies - Its far from install and play. I created a game using Visual Studio 2005 once, compiled and worked just fine on my machine of course. Then I gave it to a friend and all he got was “can’t load DLL xxx, having a nice day”. Turns out he didn’t have the VS runtime redistributable installed. That was way back when, nowadays you can also have dependencies on a specific .NET runtime, XNA framework, …

IMO learning C++ for OpenGL is only worth it if you want to get serious in the game or film industry.

s/serious/employed.

I’m serious, just not employed :slight_smile:

Cas :slight_smile: