foobar2000 OpenAL output component
Important note regarding an updated version compatible with foobar2000 0.9x:
There is currently NO version of the OpenAL output component for foobar 0.9x, the reason is that the SDK is in a very early state and that there is NO support for 3rd party output components. From the foobar2000 forum http://www.hydrogenaudio.org/forums/index.php?showtopic=42612# :
Peter (foobar2000 developer)
"In my opinion, current "output API" as used by the Kernel Streaming output is not ready for SDK inclusion and should not be used because of various design issues (flooding device list, no proper output switcher GUI) and will likely change with upcoming 0.9.X releases."
In other words, there will be NO 3rd party output components for foobar2000 0.9. So for now, please stay with foobar2000 0.83 if you want to use OpenAL as output API.
Update : Started a forum thread about it, read it here : http://www.hydrogenaudio.org/forums/index.php?act=ST&f=34&t=43929
Current versions :
V 0.81 (09.04.2004)
Download :
Download the latest version for foobar2000
V0.8x by clicking on this link :
foo_output_oal.zipRequirements : The OpenAL output component has the following software requirements .
- The foobar2000 V0.8x application.
Installation : Follow these steps to install and run the OpenAL component :
- Unpack the ZIP file to a temporary directory.
- Copy the DefOpenAL32.DLL to your foobar2000 installation directory. (this can be skipped if the soundcard supports OpenAL through driver DLL. If unsure, copy the DLL, it won't harm.)
- Copy the foo_output_oal.dll to the "component" subdirectory of your foobar2000 installation directory.
- You need the C-Runtime DLL MSVCR71.DLL to run the component. If you don't have it download it here and copy it to your Windows/sytem(32) directory.
- Start foobar2000, go to output preferences and choose OpenAL.
- The component should autodetect the best rendering mode, feel free to edit the options in the configuration dialog.
Known limitations : There are some known limitations :
- This version is only tested on Creative Audigy hardware with latest drivers and emulation driver. Other hardware may or may not work.
- Only support for 8 and 16 Bit fixed-point samples on non nVidia nForce soundchips. This is a limitation of the OpenAL API V1.0. 24/32 bit support through nVidia extension (nForce1/2 only but see problem below)
- Only support for 1 or 2 channels. This is a limitation of the OpenAL API V1.0.
- It won't work with nForce APU with current drivers (2.45 or below). This is a driver bug and NOT a bug in my component. I filed a bug report to nVidia but never received an answer from nVidia. I'm still waiting for an updated driver or any hint from nVidia...here is a decription of the bug as send to nVidia by mail :
<snip>
Bug description : It isn't possible to create a OpenAL hardware device after creating/destroying the same device before in one process. This sequence will fail : alCreateDevice()...alDestroyDevice()alCreateDevice()The second alCreateDevice will return a NULL pointer, the creation fails.I modified the OpenALEnum sample from the nVidia Audio SDK to show the bug. There are only two changes to the original sample code. 1. I changed the name of the device because the latest OpenAL driver has changed the name too.2. I loop the original code 10 times, two times would be enough to show the bug. If there is any workaround for current drivers please let me know.
<snip>
Bug reports, comments and suggestions : Use the official foobar2000 forum to discuss problems. You can find the forum
here. I'm a regular visitor of this forum too.
Version history : - V0.81 :
- Some changes to OpenAL (de-)initialisation.
- Removed some obsolete console messages
- Based on foobar2000 SDK 0.81
- V0.8 :
- Revised the configuration dialog
- Based on foobar2000 SDK 0.8
- V0.71 :
- Component now handles changes of bitrate, samplerate or channels during playback correctly
- Fixed some possible crashes after a failure in OpenAL initialization
- Updated DefOpenAL32.DLL to 0.9.9.5
- Updated to new foobar2000 SDK.
- Based on foobar2000 SDK 0.7.1
- V0.7 :
- Added possibility to enable EAX effects for mono channel streams.
- Changes to string handling related to changes in foobar SDK 0.7.
- One unified version for WinNT and Win9x now.
- Some changes to init code, this was a try to workaround the nVidia nForce driver bug.
- Reverted back to original Creative OpenAL DLL.
- Component is no longer static linked to C-runtime, so you need the MSVCR71.DLL to run it.
- Synced component version to foobar2000 version.
- Updated to new foobar2000 SDK.
- Based on foobar2000 SDK 0.7
- V0.5 :
- Added support for nVidia nForce APU 24/32 bit extension.
- Updated to new foobar2000 SDK.
- Other minor changes.
- Based on foobar2000 SDK 0.62
- V0.4 :
- Now the OpenAL32.DLL decides which device is the best to use.
- Added more information about the OpenAL renderer to configuration dialog.
- Optimized OpenAL32.DLL loading. This should reduce loading time of the component.
- Updated to new foobar2000 SDK.
- Removed emulation OpenAL32.DLL from Creative Labs and added OpenAL32.DLL build from latest CVS checkout.
- Added README.TXT.
- Other minor changes.
- Based on foobar2000 SDK 0.61a
- V0.3 :
- Added possibility to choose renderer in configuration dialog
- Added some information about the renderer in configuration dialog.
- Added the ANSI version of the component for Win9x.
- Added latest emulation OpenAL32.DLL library for software rendering to package, no need for an additional download anymore.
- Removed some obsolete stuff.
- Other minor changes.
- Based on foobar2000 SDK 0.6
- V0.2 :
- OpenAL32.DLL will be loaded dynamically now, loading of component won't fail if OpenAL32.DLL isn't present on system.
- Reduced memory footprint if component isn't used.
- Changed AL context creation, this may increase output quality on certain cards.
- Other minor changes
- Based on foobar2000 SDK 0.6
- V0.1 :
- Initial revision
- Based on foobar2000 SDK 0.6
Links : foobar2000 player :
http://www.foobar2000.org/OpenAL Specification :
http://www.openal.org中文站首发:
http://www.foobar2000.com.cn