Should the PB Team be encouraged to use OpenAL?

For everything that's not in any way related to PureBasic. General chat etc...

Do you want the PB Team to change the PB sound features to use OpenAL instead?

Yes (Fred and PB Team will hate us for this but :P
10
37%
No (Same as it is today)
11
41%
Community Effort (the "community" makes the code, Fred "slots" it in)
6
22%
 
Total votes: 27

User avatar
Rescator
Addict
Addict
Posts: 1769
Joined: Sat Feb 19, 2005 5:05 pm
Location: Norway

Should the PB Team be encouraged to use OpenAL?

Post by Rescator »

Please read this thread first.
(lots of nice tech info and diagrams by Creative on Vista's DirectSound and Wave devices)

http://forums.creative.com/creativelabs ... ge.id=1694

And some info on the OpenAL site http://www.openal.org/openal_vista.html

The benefit of OpenAL is high, if PB moved from DirectSound to OpenAL it would be easy for the PB Team to add more advanced PB sound features
as OpenAL provides some awesome and easy to use sound buffers and more. OpenAL is available for MacOS and Linux as well. This would allow more advanced PB sound features across platforms with much less coding needed (currently PB use different API's on all 3 platforms?.

OpenAL also has fallback (on Windows) to DirectSound and Wave
so even if there is no native OpenAL soundcard driver.

The OpenAL32 "manager" shared library and the fallback wrapper (wrap_oal is used only if no native openal card drivers are found) comes in a tiny 700KB installer (as of writing this)
http://www.openal.org/downloads.html

The shared libs could also be put in the program's own folder if installation is not wanted on a system. (I'd recommend just running the OpenAL installer during your program installation on Windows though)
http://www.openal.org/win_inst.html

Creative and Nvidia will be focusing more and more on OpenAL due to the Vista changes, especially Creative, and since the standard is open I suspect most other vendors will follow suit in the near future.
Don't be surprised to find "OpenAL" on the feature section of games and other software from now on as that is the only guarantee that you'll get hardware accelerated or 3D sound on Vista as DirectSound and Wave will be pure software mixing only.

Usage of OpenAL has a commercially and closed source compatible license. (LGPL)
Several major games use OpenAL (Doom3 and many more)
For a not complete list: http://www.openal.org/titles.html

OpenAL is implemented on most popular OS platforms.
http://www.openal.org/platforms.html


*chants*
We want PB to use OpenAL
We want PB to use OpenAL
We want PB to use OpenAL
*breathes*

Well at least I want, but I'm curious if I am alone in this or not,
so speak up folks, let me hear your voices :)
KarLKoX
Enthusiast
Enthusiast
Posts: 681
Joined: Mon Oct 06, 2003 7:13 pm
Location: France
Contact:

Post by KarLKoX »

OpenAL is the only API using my spu xram though (was really easy to implement this feature) ... btw, my first experience with this API was about 4 years ago, this is a mature API and should be, in fact, more considered.
"Qui baise trop bouffe un poil." P. Desproges

http://karlkox.blogspot.com/
rsts
Addict
Addict
Posts: 2736
Joined: Wed Aug 24, 2005 8:39 am
Location: Southwest OH - USA

Post by rsts »

It would seem to have some merit, however as sound is non-existant in my programs, I see little benefit personally.

If, employing this techniology were to mean less long term effort by fred and team providing support, I would vote for it, otherwise my vote is leave it up to fred and the team to decide :)

cheers
White Eagle
Enthusiast
Enthusiast
Posts: 215
Joined: Sun Jan 04, 2004 3:38 am
Location: Maryland

Post by White Eagle »

AFAIK, the info on this site:
http://www.openal.org/openal_vista.html

is slightly outdated and incorrect.

In specific:
However, our source at Creative Labs exclusively revealed to Custom PC that the company has developed a driver for its X-Fi range of sound cards that will allow for full hardware sound processing in all games, not only those that use OpenAL. The driver works by intercepting DirectSound 3D calls from the game code and converting them into OpenAL on the fly, before these calls reach the DirectX 10 API. By converting the calls to OpenAL, Creative circumvents the limitations of Windows Vista.
This reminds me of the OpenGL blubbering about nothing that happened several months ago.

Either way, the sound support in PB needs an overhaul. I have to admit that Blitz spoiled me when it comes to sound.
va!n
Addict
Addict
Posts: 1104
Joined: Wed Apr 20, 2005 12:48 pm

Post by va!n »

just one simple reason for me to say no to OpenAL....

windows has inbuild DirectSound, DirectMusic funtions... so, why not use this inbuild functions? (you just want move over to OpenAL only because of coding OS independent? If so, you have to think about OpenGL instead DirectX too)...

however, having OpenAL and other stuff for portable programming may be fine for the coder but i think its at least not nice for the enduser! I personally dont want like to install any 3rd part software like OpenAL, SDL or whatever to get a program work... (even if windows has all this features from M$ inbuild)
va!n aka Thorsten

Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
WishMaster
Enthusiast
Enthusiast
Posts: 277
Joined: Fri Jun 17, 2005 7:13 pm
Location: Franconia
Contact:

Post by WishMaster »

> you just want move over to OpenAL only because of coding OS independent?
It would save quite much time. For Fred and for us.

> If so, you have to think about OpenGL instead DirectX too
It would be reasonable, too.

> I personally dont want like to install any 3rd part software like OpenAL, SDL or whatever to get a program work...
On Windows, it's common to deliver all needed Libraries with the program. :roll:
Image Image
Konne
Enthusiast
Enthusiast
Posts: 434
Joined: Thu May 12, 2005 9:15 pm

Post by Konne »

WWhy don't we just make our own Lib. I guess Fred pretty busy right now anyway.
Apart from that Mrs Lincoln, how was the show?
User avatar
nco2k
Addict
Addict
Posts: 1344
Joined: Mon Sep 15, 2003 5:55 am

Post by nco2k »

a subsystem would be nice, then anyone can decide what to use. :wink:

c ya,
nco2k
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
dracflamloc
Addict
Addict
Posts: 1648
Joined: Mon Sep 20, 2004 3:52 pm
Contact:

Post by dracflamloc »

Its foolish to be against distributing DLLs with your program for no reason. Large DLLs like the absurd stuff that adds megabytes and megabytes of unused code is a good thing to avoid, however if you want to use directsound its very easy to use without the PB functions and you said you dont care about being cross-platform. For those of us who actually want powerful features in PBs sound-system OpenAL is the way to go. When you get right down to it, most sound card drivers include their openAL files anyway.
va!n
Addict
Addict
Posts: 1104
Joined: Wed Apr 20, 2005 12:48 pm

Post by va!n »

seems to be nearly the same like this topic:
http://www.purebasic.fr/english/viewtop ... hlight=sdl

distributing DLLs (also the full needed 3rd part Package) would be ok for you? I remember a lot people dont like programs required NetFramework... (its the same point in green) ^^ just my personaly opinion

the only different is, NetFramework is afaik inbuild in the Vista and possible all future windows versions... so i dont see any problem to use NetBased appz.
va!n aka Thorsten

Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
dracflamloc
Addict
Addict
Posts: 1648
Joined: Mon Sep 20, 2004 3:52 pm
Contact:

Post by dracflamloc »

Not many businesses are jumping to Vista. XP support is still very important and .NET is slow.

People don't want to use DLLs like .NET because its a 25MB framework. Thats pretty absurd if you're distributing a 0.5MB program.

However a 300KB OpenAL dll is really inconsequential.
Nik
Addict
Addict
Posts: 1017
Joined: Fri May 13, 2005 11:45 pm
Location: Germany
Contact:

Post by Nik »

If it's just about distribution, you could include the dll into the exe and write it to disk afterwards, as drac says it's the size that matters :lol:
Another point to mention is that software using sound is not very often the type of software that comes as one file, what does it matter wether you include sound files/images or configurationfile sor a dll, again it's the size that matters. The main advantage would be that Fred can develop faster without decreasing the quality. It seems that you are only interested in windows, that's fine by me but please do not think that just because you don't care for other OSes we all do.
User avatar
yoxola
Enthusiast
Enthusiast
Posts: 386
Joined: Sat Feb 25, 2006 4:23 pm

Post by yoxola »

If I ensure my app/game will sell a ton on Mac/Linux, I'll support you.

I'm using Audiere on Win32 and it works fine.
the_off_topic_guy
User
User
Posts: 24
Joined: Fri Dec 08, 2006 5:15 pm
Location: Off Topic

Post by the_off_topic_guy »

I would think the usage of OpenAL would be a good idea; cross-platform forever! :P
The Off Topic Guy strikes back, if you dared to stop his hack...
User avatar
Rescator
Addict
Addict
Posts: 1769
Joined: Sat Feb 19, 2005 5:05 pm
Location: Norway

Post by Rescator »

va!n wrote:just one simple reason for me to say no to OpenAL....

windows has inbuild DirectSound, DirectMusic funtions... so, why not use this inbuild functions? (you just want move over to OpenAL only because of coding OS independent? If so, you have to think about OpenGL instead DirectX too)...
There is one major difference between OpenAL and OpenGL, OpenAL falls back to hardware DirectSound 3D, Software Direct Sound or WaveOut if there is no native OpenAL available.

DirectSound (the core of it) is said to be pretty simple, but when you start trying to use mixing and more advanced stuff it's a pain in the neck. (or so the word goes) OpenAL is easier, and the code/implementation would be same on all 3 supported platforms, features would therefore be identical on all 3 platforms as well, only limited by the hardware on the individual system. (which OpenAL should handle gracefully)

I almost regret voting Yes, the 3rd option may be more interesting. (i.e a Subsystem, but which extends beyond what PB's current sound features can do, and when Fred feels it's mature enough he could "slot in" the subsytem as the default one and it would not break old/existing code (unless people do weird hacks to get to the DX stuff underneath that is)

EDIT:

PS! Thanks for taking the time to read and vote folks.
I'd be happy to help in any way I can (if it ends up a community project),
and I'm sure Fred and the PB Team appreciate serious threads and polls like these.
(lots of good points for and against)
Post Reply