[Openal-devel] openal-soft
Lukasz Pawelczyk
havner at pld-linux.org
Wed Feb 6 17:58:09 PST 2008
Chris Robinson wrote:
> AvpSoundDevice = alcOpenDevice(buf);
>
> Seems its using an SI-specific initialization config (which the spec does
> allow for, but also says it's implementation dependant). Simply using NULL
> instead of buf, or an empty string for buf, should work.
Thank you again kind sir :-)
It worked, and quadro works as well.
Just the game started to crash every time on exit, probably some SI
specific device closing as well:
$ AvP
Now exiting Aliens vs Predator! At least it didn't crash!
AL lib: ALc.c:1238: exit() 1 device(s) and 1 context(s) NOT deleted
Segmentation fault
>> I perfectly know all of this, I wouldn't dare to report rear speakers
>> not working if I was using 2 channel device :-)
>
> My apologies.
There is nothing to apology for :-)
> HMm.. I'm not quite sure how it handles OpenAL. If it simply streams a
> pre-mixed stereo stream, it's possible that because the SI downmixed it to
> mono it then played out over all speakers equally, or in the later SVN
> revisions it kept it as stereo and duplicated the left and right channels..
> whereas OpenAL Soft keeps it as stereo and plays out only the front-left and
> front-right speakers.
>
> I guess I could make stereo duplicate to quad, but I'd worry about the extra
> loudness of it way overpowering the mono sources, which are properly scaled
> so it has the same perceived volume regardless of if it's playing on all 2
> (or 4) speakers or panned to one.
I'm even sure now that SI has stereo duplication to quad (more on that
later). But even if you'll decide to implement it, please, make it an
option. I like to know whether I'm having full quad or not, and having
only two speakers playing instead of four could answer this question
very fast. Besides all your worries described above could be solved by
making this optional.
And about BTRL, it seems it's rather wider topic. I don't know if you
want to (and I'm definitely not asking you to do that, as it might take
lots of time) look into it deeper here is some background info. BTRL is
based on FreeSpace 2 Open engine. Its sources are available here (I'm
using 3_6_9 branch):
http://www.hard-light.net/wiki/index.php/Fs2_open_on_Linux/Acquiring_the_Code
When I play original FS2 I have proper quadro, when playing BTRL, with
exactly the same binary (they are compatible) and exactly the same cmd
line options, just different data i have stereo (fake quadro on SI). So
it seems that it has to be defined somewhere within data files of these
games, not the AL initialization probably. So SI is duplicating all/most
the sounds that are set to stereo/mono, leaving positional ones intact.
> Personally, I'd not want to automatically make a static lib so as not to
> encourage static-linking. However, if it really is a requested "feature",
> I'll reconsider.
I wont request it as I fully agree with you, just wanted it for
completeness, but I don't recall any real need for static myself.
>> I'll be providing more user-kind feedback soon. For now I tested BTRL,
>> AvP and UT2004. I'll test Penumbra, X2, X3 (as soon as new beta comes
>> out) and probably some older Loki/LGP games I might have somewhere.
>
> I look forward to hearing about them. :)
Penumbra first.
It works, pretty much as it should. Its just that we hit the stereo
duplication again. With SI when I enter menu or intro the sound is
'fake' quadro (duplicated, at least most of it), with openal-soft menu
and intro has only stereo sound but in-game I get proper quadro, hearing
sounds behind me only in rear speakers. So I think it means that it is
handled as it should, but SI was duplicating those channels in case of
stere/mono sound.
Like I wrote above, would be nice to implement it, but definitely not as
an obligatory thing, just configurable. There are many cases where I'd
like to have current openal-soft behaviour.
One more thing about testing. I realize that it might be not the best
place to ask about it but please tell me in telegraphic short what is
EFX extension you mentioned in earlier post I found wandering through
this list's archives. Are they populary called eviromental effects? Like
differences in sounds made in open space and some small closed room with
metal walls? And if basically they are what I think do you know any game
that uses them that I could test it? UT2004 maybe?
If you made an effort to implement them would be nice to know what to
look for while testing games as well to provide some feedback about
that, and maybe compare to windows implementation.
It would be also nice to popularize this implementation a little to keep
you motivated to develop it and let people know that they got a solid
OpenAL alternative. Some freshmeat/sourceforge projects as mentioned
earlier would be nice. I also made short note on FS2 forums in my old
thread about sound statics, but there are windows users mainly :-)
--
Regards Havner {jid,mail}:havner(at)pld-linux.org
"Quis custodiet ipsos custodes?"
More information about the Openal-devel
mailing list