cAudio 2.0.0 Release!

The next version of cAudio has been released. cAudio is an advanced C++ wrapper around OpenAL that makes it easier to put 3D audio into your games and other applications. This version includes some major API rework, many new features, and a brand new plugin system. It also includes much better API documentation to make it easier to incorporate into your projects. Also included is a large number of bug fixes.

New Features:

  • All OpenAL “Effects Extension” audio effects and filters are now supported by the engine. This means you can easily drop in effects like EAX Reverberation, Distortion, Flanger into your application and attach them to any number of audio sources in your world. Use them to create the illusion of large caverns, or tiny hallways, or virtually any other environment.
  • Audio Capture is now supported. Stream audio from a microphone, line in, or virtually any other capture device into your application using a simple interface.
  • cAudio now uses multiple threads internally to handle loading and playback of sounds (as well as background capture of audio). cAudio is also now thread safe.
  • Ability for users to override where cAudio gets its file data for playing sources. Instead of only being able to get files from the hard drive or from a memory location in your program, you can now supply an interface for cAudio to use. Thus you can stream data into cAudio from virtually any location, whether that is a zip archive, TCP/IP stream, or Ogre/Irrlicht resource system.
  • New logging system with user definable log receivers, allowing the developer to have full control of where the log messages go. cAudio also provides default console and html file log receivers.
  • New Event system. cAudio can now automatically call functions in your code when certain events happen in the engine. For example, you can get an event when a source stops playback.
  • New Plugin System. This system supports both dynamically linked libraries and static plugin definitions. Plugins have full control of the engine and can be used to add new audio decoders, log receivers, data sources, and act upon events in the engine.
  • New MP3 Decoder plugin. Many of our users have been asking for mp3 playback capability and now it is offered as an official plugin.
  • New EAX Legacy Preset plugin. Offers all of the classic EAX Legacy presets for EAX Reverberation effects. This makes it easy to drop in an reverberation effect that sounds close to the environment you are modeling and then tweak it later.
  • Several new examples to show off the new features of the engine.
  • Advanced Memory Manager

Major changes:

  • The Audio Playback Manager is no longer a singleton. It must be created using the createAudioManager() API function. This is to support the possibility of multiple playback managers someday in the future, though this feature is not currently supported.
  • A 3D vector class is now provided by the engine and is required by several API functions. This means no more entering 3 floats into a function constantly.
  • Several components of the library are now reference counted. This is to ease issues when the user may want to retain an object even after they remove it from the engine, as well as make deletion of unused objects easier internally.
  • A cross platform sleep function is included for example usage.
  • The Audio source class has been renamed from cAudio to cAudioSource.
  • Added a global include file “cAudio.h” that will automatically include all the major headers in the engine.

We also have a new web site, SourceForge project, and forums.
Official Web Site:
Official Forums:
SourceForge Project:
API Documentation: … index.html
SVN Trunk:

Windows (MSVC 2008 and Codeblocks) and Linux (Make and Codeblocks) SDK downloads are available.
Get them here:

Thank you for your time and we hope that cAudio is useful to you. Remember, you can always drop us a line at our forums to ask questions, report bugs, or discuss with other developers.

Very cool. What license does it use?

It is currently under the z-lib license.

Hi, looks very good but OpenAL is LGPL, right? So is this library as a whole subject to the LGPL terms? Or have you used an OpenAL implementation I haven’t heard of?

Our code itself is under the zlib license this allows you to distribute cAudio statically compiled. However openal is lgpl so it must remain has a dynamic include to cAudio. Unless the company has permission to statically compile it such as apple with there iphone.

Hope that made some sense.

Yeah, that makes perfect sense, thanks. If I may bug you a little more, I may give your library a try and I’m unsure whether I should use openalsoft or the closed source creative SDK for the Windows platform. (It’s my understanding that you can choose among the 2, correct me if I’m wrong.) Do both of them work with your library? Do you have any recommendation about which one is more stable?