Game Development Community

New openAL issue?

by Sam3d · in Torque Game Engine · 11/23/2005 (4:48 pm) · 37 replies

Anyone else having problems with the new OpenAL dll for 1.4 ?

I'm not getting any sound in the demos.

If I replace the new dll with the one from the 1.3 sdk, it works fine. ???
Page «Previous 1 2
#1
11/23/2005 (4:55 pm)
The crossbow weapon sound is fine in the 1.4 demo on my system but... I hear this sound like a marble in a tin can as if someone's shaking a can paint. Weird.
#2
11/23/2005 (6:40 pm)
This part of the joy of OpenAL. In 1.4 is the most recent build from the OpenAL website... which doesn't work for everyone. Neither does the previous build, as far as I can tell. If someone finds a comprehensive fix, or would like to co-ordinate with me on a sound layer rewrite, feel free to get in touch. (Warning - the last few folks that have tried have met with mysterious fates...)
#3
11/23/2005 (8:49 pm)
You might want to replace OpenAL alltogether... though I don't know of another free sound library.

http://www.portaudio.com -- might be interesting to look at.
#4
11/24/2005 (12:32 am)
Yes, that's sort of what I was getting at by saying "sound layer rewrite." It would be very smart to have an abstraction layer around sound, much like TSE has around the rendering API. Just a question of finding the right person & resources to make it happen.
#5
11/24/2005 (12:35 am)
So Ben, what your saying "is that with 1.4 theres no sound atm" ?

I misunderstood that one, right ?
#6
11/24/2005 (5:22 am)
No...what he said is that it "doesn't work for everyone". I and most people in the office (including the OSX users) have been happily running with sound

OpenAL has been in a broken state for a long, long time and quite often has compatibility issues. Sometimes upgrading your version OpenAL is the fix, sometimes upgrading your sound drivers is, while other times downgrading your OpenAL is, and every now and again apparently the trick is to sacrifice a philly cheesesteak sandwich. But here's the problem with OpenAL: you are looking at a minimum of $20,000 to replace it with anything decent *and* cross platform for Windows, OSX, and Linux. There are some free solutions out there that sort of cover any two of those but nothing that really covers all three in any useful way.

At this point the audio system in TGE is the weakest part of the codebase and we have been trying hard to find someone willing to help us fix it ($$$ included). If you spend enough time working with it, you can get decent results with OpenAL (look at ThinkTanks, Marble Blast, and Orbz) but it isn't currently a "newbie friendly" system...it will take effort to support on your part.
#7
11/24/2005 (5:46 am)
Couldn't GG use FMOD? I think they have a "Hobbist" license, which is $100(or 2.5x multiplier for unlimited lincenses). Perhaps GG could get an agreement with FMOD and put it in Torque.

Just a though...
#8
11/24/2005 (5:47 am)
I have made a build with the OpenAl 1.1 libs and includes,dll's ,so far it works fine.
But i havent checked out the 1.4 yet , if you want the changes i made Ben then i can send it to you when i done a try with 1.4.

Edit :
I dont have all platforms so i cant make the changes for mac and linux.
But so far it works on all my windows machines.
#9
11/24/2005 (10:31 am)
For what it's worth... a missing function?

Using the new dll, from the log

OpenAL Driver Init:
OpenAL
Missing OpenAL Extension function 'EAXSet'
Missing OpenAL Extension function 'EAXGet'
Vendor: Creative Labs Inc.
Version: 1.1
Renderer: Software
Extensions: EAX EAX2.0 EAX3.0 EAX4.0 EAX5.0 EAX3.0EMULATED EAX4.0EMULATED AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE
#10
11/24/2005 (11:50 am)
Billy - I'm excited it works for you, but like Matt says, on some systems different versions work. On windows, the newest build of OpenAL mostly works, except when it doesn't and you have to bump back to an older version. I think we have Mac working reliably now. Hopefully. And for Linux, it's a bit of a toss-up, too. :)

Basically, we need to move away from OpenAL and have some different audio backends so that we aren't dependent on a single library.

FMod, Miles, Mikmod, and many other sound libraries have great functionality, but often restrictive licensing terms. We don't necessarily need a whole library, just a way to talk to DirectSound/OpenAL/whatever so we can have options if something breaks in one of them. Having a backend of our own (a la Miles) would be gravy, but not immediately necessary.
#11
11/24/2005 (11:59 am)
What about Torque keeps the standard implementation of OpenAL, but provides a layer and example glue code for the major Audio libs out there? This way it's up to the developer which library he drops into his project.
#12
11/24/2005 (12:39 pm)
Are you sure it's OpenAL's problem? from my experience in the TGE 1.3 codebase, it's mainly problems with the TGE code I've run into, lack of error checking, bad/old ogg code, incorrect usage of openal (see my various threads here on sound issues). but of course I'm only one machine, so I don't really know. If any agreement could be struck with FMOD that would be amazing, I've always been impressed with their api's ease of use and functionality, but I think you could go a long way by just fixing the existing code, checking for errors, and brining in the updated ogg libraries.
#13
11/24/2005 (12:46 pm)
Well, http://www.portaudio.com/ 's license seems OK for Torque -- I just don't know what features it has... after today (Thanksgiving takes up time), maybe I will look into it.
#14
11/24/2005 (12:54 pm)
@Dirk - Well, if you want to rip out the audio code and rewrite it, that's fairly straightforward. ;) I think a real win would come from having an API similar to TSE's GFX setup, where multiple backend implementations are abstracted behind a single front end. That way we can use any API/backend without having to touch our core game code.

@Clint - Could be a contributing factor! The audio code needs a rewrite in any case, which I think is an excellent time to acheive the goal I just mentioned to Dirk.

@Mike - doesn't seem to do mixing or have positional 3d audio. No way to expose more advanced features, either. It's too low level, basically. We could use DirectSound and get more bang for the buck. But of course it's not cross platform. Which leads us back to my first point vis a vis abstraction.
#15
11/24/2005 (1:12 pm)
I completely support abstracting -- but in order to abstract, you still need to write support code for every library... just like the abstraction in TSE for GFX.
#16
11/24/2005 (2:44 pm)
Yes, which, after the first two or three, becomes almost trivial. Worst case you have to do it all in software - which is pretty easy, too, insofar as there is a vast field of prior art to draw from. And in many situations where it's really important you can do things like license Miles and just wrap it...
#17
11/24/2005 (10:20 pm)
Really, I would just include the support code for all the major APIs, like OpenAL and DirectSound (given), and even MILES, and leave it up to the licensee to buy a MILES license and such. I don't know if you are allowed to add MILES support though, under their licensing?

I really should stop talking here though -- I know very little about audio programming :/
#18
12/01/2005 (4:12 am)
I took the liberty of writing FMOD developers. Here's the reply... I think it's quite interesting for GG to look at this...
@Ben : What do you make of it?
-----------------------------------------------------
Thanks for writing. Sorry I didn't reply sooner, we have been at conferences this week.
If you sell your engine, what price do you charge for it? Do you sell many?
Normally, if we allow this, we charge an 'engine license' which is 2.5x the price of a site license, so 6.25x total. This allows you to sell your engine with fmod. This would be $625 for budget/shareware license.

Brett Paterson,
CEO / Lead Programmer,
Firelight Technologies.
www.fmod.org



> -----Original Message-----
> From:
> Sent: Saturday, 26 November 2005 3:28 AM
> To: sales@fmod.org
> Subject: License question
> Importance: High
>
> Hello!
>
> I'm a GarageGames.com Torque Indie developer.
> There has been a discussion going on on the forums there and I
> suggested that GarageGames incorporated FMOD into their product.
> Since it's a indie engine and the normal channel of distribution is
> through GarageGames own website, could the engine itself be considered
> as hobbyist and FMOD be included it with payment of $100x2.5?
>
> I mean, could Garagegames include FMOD in their engine, sell it for
> hobbyist/indies to develop games and pay the hobbyist license ?
>
> If somehow this email was not clear, please contac me as english is
> not my birth language.
>
> Thanks!
>
#19
12/01/2005 (6:10 am)
We had the "no audio" issue when using lastest OpenAL libraries, but we found the solution on this very forum.

The audio was not playing at all in certain integrated sound cards (C-Media/Crystal/PCChips ones, to be more specific). It is a bug in *their* drivers, regarding the distance model.

In audio.cc, in OpenALInit() replace this:

alDistanceModel(AL_INVERSE_DISTANCE)

By this:

alDistanceModel(AL_INVERSE_DISTANCE_CLAMPED);

That seems to sort the issue with the integrated cards, but I haven't tested it widely. Anyone getting no sound at all should try this fix and say if it works.

But I'm too in favor of abstracting it, so each developer can have the option of licensing 3rd party libraries and wrap them if they want. It would help a lot with console ports as well, since now every SDK comes with some sort of audio library.
#20
12/06/2005 (10:25 am)
After trying that fix, I get the same issue:

OpenAL Driver Init:
OpenAL
Missing OpenAL Extension function 'EAXSet'
Missing OpenAL Extension function 'EAXGet'
Vendor: Creative Labs Inc.
Version: 1.1
Renderer: Software
Extensions: EAX EAX2.0 EAX3.0 EAX4.0 EAX5.0 EAX3.0EMULATED EAX4.0EMULATED AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE

What does that mean?
Page «Previous 1 2