Page 1 of 2

cAudio 2.0.0 Release!

Posted: Sun Feb 21, 2010 11:16 pm
by wildrj
Image

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: http://caudio.deathtouchstudios.com/
Official Forums: http://www.deathtouchstudios.com/phpBB3/
SourceForge Project: http://sourceforge.net/projects/caudio/
API Documentation: http://caudio.deathtouchstudios.com/doc ... index.html
SVN Trunk: http://www.svn.deathtouchstudios.com/cAudio/Trunk

Windows (MSVC 2008 and Codeblocks) and Linux (Make and Codeblocks) SDK downloads are available.
Get them here: http://sourceforge.net/projects/caudio/files/

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.

Posted: Mon Feb 22, 2010 12:31 am
by sudi
Wow!!! great job wildj.
I used your last version for a long time even though it had no memory management. Nice that u improved it. Thanks a lot :D

Posted: Mon Feb 22, 2010 12:36 am
by wildrj
Thanks but im not the only one who's responsible. Dark_Kilauea and I have put alot of hours behind this release. I believe we put managed to squeeze every feature request we have gotten into 2.0.0

Posted: Mon Feb 22, 2010 10:08 am
by varmint
wildrj wrote:Thanks but im not the only one who's responsible. Dark_Kilauea and I have put alot of hours behind this release. I believe we put managed to squeeze every feature request we have gotten into 2.0.0
what :o thats not what you told me you said you did this single handed :P LOL
j/k Great job guys.. I've been playing with!!! BTW really like the MMGR :P

Posted: Mon Feb 22, 2010 5:25 pm
by sudi
varmint wrote:
wildrj wrote:Thanks but im not the only one who's responsible. Dark_Kilauea and I have put alot of hours behind this release. I believe we put managed to squeeze every feature request we have gotten into 2.0.0
what :o thats not what you told me you said you did this single handed :P LOL
j/k Great job guys.. I've been playing with!!! BTW really like the MMGR :P
well i moded it a little bit. used it as a codebase and some mangement but this is way better than the stuff i had.

Posted: Mon Mar 01, 2010 7:51 am
by Arcoroc
Many thanks for the library, and the latest update. Very nice job.

Starting from the new mac/iphone project in 2.0.0, i have managed to make it work on iphone - The single unit test i ran was successful and played an ogg file in my own iphone 3.0 application.

I had to recompile the libvorbis libraries, and link them statically to cAudio on my iPhone 3.0 target.
If you would like to grab the static libraries, i have shared a container zip file at google:

https://docs.google.com/leaf?id=0B82mW- ... OTU5&hl=en

That is, with the hope that will be useful to somebody else.

Posted: Mon Mar 01, 2010 10:33 am
by BlindSide
Haha I saw this on Ompf.org, sadly you accidentally double posted and the mods thought it was spam. :P

Posted: Mon Mar 01, 2010 11:12 am
by Virion
Wow, great improvement!

Posted: Mon Mar 01, 2010 7:15 pm
by Arcoroc
BlindSide wrote:Haha I saw this on Ompf.org, sadly you accidentally double posted and the mods thought it was spam. :P
Ompf.org? double posted?
Ah, just checked on the site and this was about cAudio announcement, not about my post. For a moment there i was being too self centered.

Posted: Tue Mar 02, 2010 12:17 am
by wildrj
Thanks for the kind words guys :)..

Blindside: yes i did post this on ompf but when i refreshed i didnt see it on the boards so i thought the submit failed :/ o well lol.

Arcoroc: I appreciate you sharing your library with everyone and i commend you on getting it on the iphone. We do officially support the iphone platform in our trunk on your svn. If your going to be using cAudio on the iphone i highly suggest you grab a copy of the svn as there are fixes to certain issues that appeared on the iphone.

Edit: Ahh you are using the latest svn. Currently we are working with the 3.1.3 platform so maybe there was some difference from 3.0 to 3.1.3?

Posted: Tue Mar 02, 2010 1:25 am
by Arcoroc
wildrj wrote:Thanks for the kind words guys :)..

Arcoroc: I appreciate you sharing your library with everyone and i commend you on getting it on the iphone. We do officially support the iphone platform in our trunk on your svn. If your going to be using cAudio on the iphone i highly suggest you grab a copy of the svn as there are fixes to certain issues that appeared on the iphone.

Edit: Ahh you are using the latest svn. Currently we are working with the 3.1.3 platform so maybe there was some difference from 3.0 to 3.1.3?
Yes, i am using the latest svn, and i started from the iphone project that you conveniently set up.

From what i could see in the iphone project, its main xcode target links to "libvorbis.a" which, in the latest svn version i downloaded, appears to be for I386 architecture (as shown by otool -hv).

Consequently cAudio did work on the simulator, but not on device - Which is why i recompiled libvorbis, libvorbisenc, and libvorbisfile into static libs for iphone. Once added to your iPhone target, everything worked like a charm.

Note that i linked all libraries using the 'prelink' field in build options, and set OTHER_LDFLAGS to "-all_load -ObjC".

Posted: Tue Mar 02, 2010 1:54 am
by wildrj
You were completely right arcoroc it seems i packaged the wrong version of libvorbis.a hehe thanks for the catch i uploaded the correct arm architecture version of it to the svn.

Also the version of vorbis and ogg that is packaged with cAudio is called Tremor it is a library made to work well on embedded devices.

Posted: Tue Mar 02, 2010 7:25 am
by Arcoroc
wildrj wrote:You were completely right arcoroc it seems i packaged the wrong version of libvorbis.a hehe thanks for the catch i uploaded the correct arm architecture version of it to the svn.

Also the version of vorbis and ogg that is packaged with cAudio is called Tremor it is a library made to work well on embedded devices.
Even better. Thanks for the update. And to think you had already done all the hard work :)

EDIT: Might i suggest to generate libvorbis.a as a universal binary (arm6 and arm7), so that the arm7 target linking it may compile as well.

Posted: Thu Mar 04, 2010 9:08 pm
by GameDude
Very nice work, however when I try to compile my program using cAudio 2, it says there is an error in cAudioplatforms.h? I'm using wxDev-CPP with the GCC compiler.

Posted: Sat Mar 06, 2010 11:36 pm
by wildrj
Can you be a bit more descriptive? Whats the error and im unsure if wxDevcpp by defualt uses a WIN32 define so in your cflags area of your project properties you can try to define CAUDIO_OS_WIN