cAudio 2.1.0 Release!

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
wildrj
Posts: 301
Joined: Thu Mar 23, 2006 12:49 am
Location: Texas/ Cyberspace
Contact:

cAudio 2.1.0 Release!

Post 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 is mainly a bug fix release, but we did add some new features as well. We also redid how we made our SDK packages, now the full source is included with all of them, saving you the hassle of finding and downloading a separate source package. We did this due to the large number of compiler defines available to customize cAudio. We know our official SDKs are not perfect for every environment, so we wanted to make it easier for our users to customize it as necessary.

New Features:
  • New Memory System (allows for the user to override all memory allocations by cAudio, providing a custom allocation scheme if necessary)
  • New Memory Tracker (for finding memory leaks and tracking memory usage statistics)
  • Official Mac OS X and IPhone support
Major changes:
  • Removed old memory system due to numerous bugs.
  • Added a ogg vorbis close callback function to prevent a crash on Mac/IPhone
  • Reorganized cAudioDefines to order by platform.
  • Added defines to disable portions or all of the plugin system.
  • Added defines for finer control of what is compiled into the library.
  • Removed the ogg/vorbis encoding lib that was mistakenly linked in, which doubled the binary's size.
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), Linux (Make and Codeblocks), Mac OS X (XCode) and IPhone (XCode) 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.
http://wild.deathtouchstudios.com << My gamedev blog
<Programming is a way of life>
If at first you don't succeed press the delete key till you do :)
pippy3
Posts: 155
Joined: Tue Dec 15, 2009 7:32 am

Post by pippy3 »

Great work! nice to see MacOS X and iPhone support
Ulf
Posts: 281
Joined: Mon Jun 15, 2009 8:53 am
Location: Australia

Post by Ulf »

Any chance of getting a MSVC2005 version of the project and solution files?
I can hear birds chirping
:twisted:

I live in the Eye of Insanity.
wildrj
Posts: 301
Joined: Thu Mar 23, 2006 12:49 am
Location: Texas/ Cyberspace
Contact:

Post by wildrj »

We have no plan to support vs2005 however in each "release" we supply you with the entire source and all the dependency's *precompiled*. So to create a project would be as simple has adding all the files in the source,headers, and include directory.. Then just linking the libs and headers inside the dependencies folder. Hit compile and your done . Hope this helped.
http://wild.deathtouchstudios.com << My gamedev blog
<Programming is a way of life>
If at first you don't succeed press the delete key till you do :)
freetimecoder
Posts: 226
Joined: Fri Aug 22, 2008 8:50 pm
Contact:

Post by freetimecoder »

Hi,

Nice work! :)

But I have a question, how does setMin- and setMaxDistance work?
Because when I place the sound at 110,0,0 and set the maxDistance to 100 the sound is much quieter than it is when I set maxDistance to 2? Shouldn't it be the other way around? I used the Tutorial 2 3D Sound Code.

greetings
wildrj
Posts: 301
Joined: Thu Mar 23, 2006 12:49 am
Location: Texas/ Cyberspace
Contact:

Post by wildrj »

This is something that openal is really weird about.. that value is 0.0 - 1.0 and all the values in between are 0% - 100% so when you set it to 2.0 thats 200% that volume so explains why its so loud. Now when you set it to 100 you increased it x 100 the volume therefore that audio sources volume cone is much more narrow at the start therefore its much quieter.. *at least thats how much i understand of it i suspect if im wrong Dark_Kilauea will come around and clear it up*

But i believe thats the effect thats happening so hope that clears it up.
http://wild.deathtouchstudios.com << My gamedev blog
<Programming is a way of life>
If at first you don't succeed press the delete key till you do :)
Ulf
Posts: 281
Joined: Mon Jun 15, 2009 8:53 am
Location: Australia

Post by Ulf »

wildrj wrote:So to create a project would be as simple has adding all the files in the source,headers, and include directory.. Then just linking the libs and headers inside the dependencies folder. Hit compile and your done . Hope this helped.
Yes thanks. I got it compiling.
I can hear birds chirping
:twisted:

I live in the Eye of Insanity.
Dark_Kilauea
Posts: 368
Joined: Tue Aug 21, 2007 1:43 am
Location: The Middle of Nowhere

Post by Dark_Kilauea »

The equation used for distance calculations is:

Code: Select all

volume = MinDist / (MinDist + RolloffFactor * (distance - MinDist));
MinDist being the value in setMinDistance, RolloffFactor being the value set in setRolloffFactor (default 1), and distance being how far away the source is from the listener. The volume is clamped by the setMaxDistance and setMinDistance values. So yes, a max distance of 2 will be louder, since the source is not allowed to continue to drop off past that point. Very strange, but that is the way OpenAL does it.
rogerborg wrote:Every time someone learns to use a debugger, an angel gets their wings.
3DModelerMan
Posts: 1691
Joined: Sun May 18, 2008 9:42 pm

Post by 3DModelerMan »

Does this output in Dolby 5.1 surround sound if your sound card supports it?
That would be illogical captain...

My first full game:
http://www.kongregate.com/games/3DModel ... tor#tipjar
freetimecoder
Posts: 226
Joined: Fri Aug 22, 2008 8:50 pm
Contact:

Post by freetimecoder »

@Dark_Kilauea: Is there an error in the calculation? Or does OpenAl use a different function for maxDistance?

greetings
Dark_Kilauea
Posts: 368
Joined: Tue Aug 21, 2007 1:43 am
Location: The Middle of Nowhere

Post by Dark_Kilauea »

@3DModelerMan I believe so, if your OpenAL implementation supports that.

@freetimecoder We are using the exact same function as OpenAL, we will probably change it later to be a little more user friendly, but it is exactly the same as if you entered the value into the OpenAL property for a source.
rogerborg wrote:Every time someone learns to use a debugger, an angel gets their wings.
freetimecoder
Posts: 226
Joined: Fri Aug 22, 2008 8:50 pm
Contact:

Post by freetimecoder »

No, I mean if the qouted function is wrong:
Dark_Kilauea wrote:The equation used for distance calculations is:

Code: Select all

volume = MinDist / (MinDist + RolloffFactor * (distance - MinDist));
It does not contain MaxDist, making it redundant.

greetings
kevinsbro
Posts: 51
Joined: Fri Nov 05, 2010 8:18 pm

Re: cAudio 2.1.0 Release!

Post by kevinsbro »

I don't seem to understand. Whenever I play a sound effect it appears to get loaded into memory every time. Is there a way to have multiple sources share the same buffer data?
RdR
Competition winner
Posts: 273
Joined: Tue Mar 29, 2011 2:58 pm
Contact:

Re: cAudio 2.1.0 Release!

Post by RdR »

I seem to have problems using the sound->setMaxDistance(), it doenst affect the sound attenuation at all.

Updating listener:

Code: Select all

 
//Get the listener position and direction from the values of our current camera
const core::vector3df direction = view->getCurrentCamera()->getAbsolutePosition() - view->getCurrentCamera()->getTarget();
const core::vector3df position = view->getCurrentCamera()->getAbsolutePosition();
 
//Set position, velocity and orientation information on the listener
cAudio::IListener* listener = soundManager->getListener();
listener->move(irrlichtToCAudioVector(position));
listener->setDirection(irrlichtToCAudioVector(direction));
 
Adding some sound

Code: Select all

 
cAudio::IAudioSource* sound = soundManager->create(filename, filename);
sound->setVolume(soundVolume);
sound->setMinDistance(30.f);
sound->setMaxDistance(100.f);
 
cAudio::cVector3 position = irrlichtToCAudioVector(getAbsolutePosition());
sound->setPosition(position);
sound->play3d(position, sound->getStrength(), sound->isLooping());
 
RdR
Competition winner
Posts: 273
Joined: Tue Mar 29, 2011 2:58 pm
Contact:

Re: cAudio 2.1.0 Release!

Post by RdR »

Bump! Anyone got a solution for my problem?
Post Reply