[Openal] Effects Objects

Bailey, Kyle kbailey at midway.com
Mon May 22 16:58:57 PDT 2006


Thanks for the quick and concise responses guys!!! This helps a lot.

-Kyle


-----Original Message-----
From:	Garin Hiebert [mailto:garinh at cheesetoast.net]
Sent:	Mon 5/22/2006 6:33 PM
To:	Bailey, Kyle
Cc:	openal at opensource.creative.com
Subject:	Re: [Openal] Effects Objects


> I was under the idea that
> specifying NULL would make openAL choose the "best" implementation
> available.  In this case however the best implementation is not being
> chosen and I cannot get effects unless I specify the device.
>   

The OpenAL router isn't even close to being that smart -- it doesn't try 
to figure out what the "best" EFX implementation is for you.  When 
opening a device, NULL can be useful in that the router will try to find 
an OpenAL implementation which matches the Windows preferred audio 
output device, but that's the limit on how smart the router tries to be.

You do want to use enumeration, combined with some filtering, to get an 
appropriate device list for your app.  Take a look at "PlayEFX" in the 
current SDK.  The ALDeviceList class shows how to do this kind of thing.

> The next problem is that when I specify "Generic Software" I can only
> get one effect - AL_EFFECT_REVERB, whereas with Generic Hardware I can
> get all effect types, but then I cannot create any Auxiliary Effect
> Slots using alGenAuxiliaryEffectSlots( 1, &ID ); (I just get an
> AL_OUT_OF_MEMORY error).
>   
On this Generic Hardware problem, you're probably running across an 
issue that we're planning to fix with a behavior change in the next SDK 
update.  Right now, if you start up your app and then kill it 
prematurely (through the debugger or through a crash), then all the 
Auxiliary Effect Slots on your card (an Audigy 2 ZS in this case) will 
remain locked and unavailable.  You can try to fix it by disabling the 
Audigy device in Device Manager and then re-enabling it, or you can 
restart Windows.  In the next SDK update, we're going to stop locking 
this resource, which will potentially create problems if someone tries 
to run multiple EFX applications at the same time, but will eliminate 
this silly issue.

Garin







More information about the Openal mailing list