RFC: OpenAL Winmm driver and OpenAL32.dll thunk -- 2

Nick Burns adger44 at hotmail.com
Fri Nov 24 02:16:08 CST 2006


(due to alut changes -- im asking for comments again -- if no problems -- 
ill try and submit)
------

Very cool audio worked for you as well...
I too noticed the stereo effects in ut2004 and was taken aback -- first it 
was like -- its only on the right -- the the sound zipped over (never heard 
it like that before) good thing i had my airsick-bag handy.

--
Ok those build failures are not totally unexpected -- depending on yer impl 
of openal -- they may have broken binary compat (i would 'nm' (list exported 
symbols of) your openal lib) and look for alut*.
Very surprising that those functions are missing thou -- they are supposed 
to be there...

freealut will fix the binary compat issues -- so its not the biggest problem 
-- what i could do is be safer with alut and have the configure test for 
each alut function that SHOULD be in the openal lib.

OR better yet I can just IMPL the lame (OLD DEPRECATED) alut functions on 
top of openal inside openal32.dll -- this is probably the most portable and 
best solution...
(I would just copy the impl from freealut) Looking at freealut... It is 
doable -- but it quite a bit of extra code...

OR I can drop alut support altogether

so the possibilities...
1 - require freealut
2 - impl alut functions on openal (using freealut code 5 functions -> 7 
files)
3 - stub alut -- then use freealut to impl these (never used dead 
deprecated) functions
4 - remove alut

I have choosen 3 -- attaching my patch with those changes in (and removed 
some meaningless comments)

These stubs will FIXME -- if hit.

The stubbing is controlled with 'USE_BUILTIN_ALUT' in openal.c

---
btw if you dont have openal it will still build -- but spew at you if it is 
used -- that openal is not supported...

- Nick

>From: Stefan Dösinger <stefandoesinger at gmx.at>
>To: wine-devel at winehq.org
>CC: Nick Burns <adger44 at hotmail.com>
>Subject: Re: RFC: OpenAL Winmm driver and OpenAL32.dll thunk was 
>Re:OpenALand DirectSound
>Date: Thu, 23 Nov 2006 21:56:52 +0100
>
>Am Mittwoch 22 November 2006 11:44 schrieb Nick Burns:
> > Good luck
> > And may the Sound be with you...
>Ok, after cleaning up the d3d mess in my tree a bit I gave your patch a 
>try:
>
>It applied fine, found AL/al.h after creating configure with autoconf, but
>compilation failed in dlls/openal:
>
>openal.o: In function `wine_alutLoadWAVMemory':
>/usr/src/wine/dlls/openal32/openal.c:327: undefined reference to
>`alutLoadWAVMemory'
>openal.o: In function `wine_alutLoadWAVFile':
>/usr/src/wine/dlls/openal32/openal.c:327: undefined reference to
>`alutLoadWAVFile'
>openal.o: In function `wine_alutUnloadWAV':
>/usr/src/wine/dlls/openal32/openal.c:326: undefined reference to
>`alutUnloadWAV'
>openal.o: In function `wine_alutExit':
>/usr/src/wine/dlls/openal32/openal.c:326: undefined reference to `alutExit'
>openal.o: In function `wine_alutInit':
>/usr/src/wine/dlls/openal32/openal.c:326: undefined reference to `alutInit'
>collect2: ld returned 1 exit status
>winegcc: gcc failed.
>
>turned out that I needed the freealut package(gentoo). Stangely wine didn't
>link against that lib automatically, I had to specify -lalut manually.
>
>Once the thing was compiled it worked perfectly with Jedi Academy :-) . 
>Wine
>loaded openal32.dll builtin, and I had sound although I had no sound driver
>selected in winecfg, which shows that the whole api rollercoaster is
>bypassed. I had to configure the game to use openal first.
>
>The sound appeared strange at first, but after using headphones instead of 
>my
>broken notebook speakers it turned out that those were just stereo effects 
>I
>never heard before :-) . I also used to wonder what that promiently
>marked "EAX Sound" option was that used to crash wine: Apparently exactly
>that openal option I enabled first in the config files :-)
>
>/me joins the dark side of the sound
>
>Great job!
>Stefan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: winePatchOpenALWinmmAndThunk2.diff
Type: application/octet-stream
Size: 136961 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20061124/b38fa1c7/winePatchOpenALWinmmAndThunk2-0001.obj


More information about the wine-devel mailing list