logo       


RE: New Library - Lots of Questions: msg#00010

Subject: RE: New Library - Lots of Questions
Yep, I'm running PlayStaticWin32.exe from the Samples\Bin\Win32 folder. It runs alright using other OpenAL drivers - I think the problem is that it's trying to load the soundfile using EFX extensions. (?)
 
Any suggestions on recent PC games that might be suitable test hosts?
 
I'm not sure calling CoInitialize() separately will help - the code that initialises ASIO is already within the DLL and seems sensible enough (Steinberg provide some sample code that u can just bolt into your application - it's not a separate library). I guess it's just that the code assumes that it's running from a top-level executable rather than from within a DLL. I could remove CoInitialize and CoUninitialize entirely in case they're already called by the host - but isn't that a bit of a lottery?
 
Cheers,
 
--Richard
-----Original Message-----
From: Daniel PEACOCK [mailto:dpeacock@xxxxxxxxxxxxxxxx]
Sent: 03 August 2007 19:44
To: Richard Furse
Cc: openal-devel@xxxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [Openal-devel] New Library - Lots of Questions
  

Hi,
 
> If I copy the DLL into WINDOWS\system32\ and provide an MN script that
> writes audio to file (and does *NOT* use ASIO) then the library loads
> successfully into EFXEnumerateWin32.exe and is listed (without EFX
> features as you'd expect). So things are working this far!

Sounds good so far.   Although EnumerateWin32 would be a better test application to use because it doesn't involve EFX calls.
 
> 1. First problem: I'm struggling to find a test host. The binary
> PlayStaticWin32.exe fails to load footsteps.wav - I think because it
> needs EFX extensions to store the file - although the script does run
> and I then end up with a file on disk full of silence.


Are you running the PlayStaticWin32.exe from the SDK's \Samples\Bin\win32 folder?  The footsteps.wav file is expected to be found in ..\..\media relative to where the exectuable is (this is the layout of the SDK).

> EFX10ShowWin.exe
> fails with an uninformative error message "Error initializing audio
> engine:", but then it's probably just requiring EFX.


You are probably right about that.

> Battlefield 2142
> doesn't seem to offer an option to specify the OpenAL driver (?) and
> when I run EFXEnumerateWin32.exe my SoundMax card is the default. Is
> there a way to specify the default OpenAL driver? Is there another test
> host that folk would recommend?

BF2142 (and BF2) may not be the best games to test out because they use a local (renamed) wrap_oal.dll and only use the 'default' OpenAL device when an X-Fi is detected (they are using some advanced features that are only available on that card).

The 'default' OpenAL Audio Device (as determined by the OpenAL32.dll router) searches in this order ...

- An OpenAL device that matches the name of the preferred audio playback device according to Windows
- An OpenAL device called "Generic Hardware"
- An OpenAL device called "Generic Software"
- The first AL device cound!

So, you can make your DLL the default device by making it return the name of the preferred audio device in Windows.

Some better games for testing are the ones that use the Device Enumeration extension *and* expose the names of all the OpenAL devices on the system for the user to select from.

For testing ONLY ... you might find it easier to simply rename your DLL to OpenAL32.dll and allowing it to work regardless of the device name requested in the alcOpenDevice function call.


> 2. Second problem: if the MN script does use ASIO then at the point that
> the ASIO MOTU driver initialises, an error is reported by the ASIO code
> I'm using that Steinberg provide. Digging into this, the error comes
> from a call to CoCreateInstance(), which is claiming that CoInitialize
> has not been called.


Have you tried calling CoInitialize in your DLL before initializing ASIO?

Dan

_______________________________________________
Openal-devel mailing list
Openal-devel@xxxxxxxxxxxxxxxxxxxxxxx
http://opensource.creative.com/mailman/listinfo/openal-devel
Ruby Jobs
Java Jobs
Jobs in California
more...
what
job title, keywords
where
city, state, zip
jobs by job search
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
encryption.gpg....    ietf.rfc822/199...    freebsd.devel.i...    lang.haskell.li...    mail.squirrelma...    web.zope.plone....    yellowdog.gener...    text.xml.xalan....    recreation.phot...    kde.devel.educa...    hardware.bus.ca...    printing.ghosts...    voip.peering/20...    assembly/2006-0...    org.user-groups...    culture.interne...    network.i2p/200...    boot-loaders.ya...    xfree86.render/...    qnx.openqnx.dev...    jakarta.velocit...    user-groups.pal...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe