not getting >2 channels with irrKlang 0.4 & 0.5

Post your questions, suggestions and experiences regarding game design, integration of external libraries here. For irrEdit, irrXML and irrKlang, see the
ambiera forums
Post Reply
lonesock
Posts: 9
Joined: Sun Jan 14, 2007 12:54 am
Contact:

not getting >2 channels with irrKlang 0.4 & 0.5

Post by lonesock »

Hi, All.

I've been playing with irrKlang 0.4 now that a GCC version has been released(!), and I have a small problem. When running the 3D sound example code, the audio shifts from left to right correctly, but no speakers other than front-left and front-right produce sound. I have a 4-channel speaker setup, and have confirmed that I get surround audio from other apps (games & foobar2000 when playing 6-channel ogg files). I have verified that my Windows multimedia settings are configured for my speaker configuration.

Is this a limitation of the GCC version of irrKlang? Has anyone been able to get 4- or 6-channel audio working with the play3D function? Am I doing something wrong? I've tried flagging 3D_BUFFERS and not (to use the SW implementation) while calling createIrrKlangDevice, but no change.

Any help is appreciated! [8^)

thanks,
lonesock
Last edited by lonesock on Fri Feb 23, 2007 9:41 pm, edited 1 time in total.
lonesock
Piranha are people too.
IG_Chris
Posts: 1
Joined: Sun Jan 14, 2007 4:07 am

Post by IG_Chris »

I have a 5.1 speaker setup and I had the same problem when running the 3D sound example program. When I tried messing around with the sound's 3D position myself though, it seemed to work. However, even then it still acts a little strange. When the sound is at the same exact position as the listener, sound only comes from the center speaker, moving the sound source to the left moves it towards my right speakers, and the roll-off seems to be completely different for the front speakers than the rear ones. Also, when moving from the front towards the back sound will seem to abruptly start coming out or the rear speakers at a certain point (and the opposite happens from the other way around). I don't know if this is a problem with IrrKlang or DirectSound oor something else, but it's kind of strange. If the 3d positioning worked as good as OpenAL, then I think IrrKlang would be the best sound engine ever.
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

Too bad. I think I can fix the 2-channel limit in the next release. Although I don't have a possibility to test it, I only have 2 speakers :)

The GCC version should sound exactly as the VisualStudio version, if and with default parameters, sounds are emitted nearly directly by DirectSound, so if it sounds strange in the example, it's maybe just the ellipse on which the example sound is flying.

And BTW: the 3D_BUFFERS flag is on by default anyway :)
lonesock
Posts: 9
Joined: Sun Jan 14, 2007 12:54 am
Contact:

Post by lonesock »

niko wrote:Too bad. I think I can fix the 2-channel limit in the next release. Although I don't have a possibility to test it, I only have 2 speakers :)...the 3D_BUFFERS flag is on by default anyway :)
Thanks, that would be great! I'd be more than happy to test it out for you. :)

I've been playing around with various flags (i.e. omitting the ESEO_DEFAULT_OPTIONS and trying the flags separately), and they all work as advertised, except the ESEO_LOAD_PLUGINS flag...the debug output says it was loading the MP3 DLL anyway.

I have a few other questions/feature requests too (sorry for the long random post :oops: Is there a proper place for bug-reports & feature-requests?).

1) Is there a way to specify the update speed for the threaded version of the lib? Sometimes the sound seems to jump in the 3D sound demo, and it seems that sometimes it just isn't updated for a while, then jumps to the new "location"...and if that happens near the "center" it is noticeable.

2) Could you add a way to force a reload of a ISoundSource? In my engine I'd like the artists to be able change an asset then trigger a reload. Something like a ::flagAsDirty() or similar so the sound source will be reloaded the next time it is needed would be great. Maybe even a ::reloadAll() would be cool for the engine as a whole.

3) I can see how to pause individual sounds...could you add a global ::pauseAllSounds( bool ShouldIPause ) kind of function? It would also be cool if this is independent of the Music (I like the ::playMusic() idea!)

I think that's it for me! :D
I am really excited about this sound engine, thanks for all your hard work!
lonesock
Piranha are people too.
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

Rhe problem with the ESEO_LOAD_PLUGINS flag is a bug then. Going to fix it soon.
About your suggestions: They are all very useful, and I hope I can implement all them for the next release. Thanks!
lonesock
Posts: 9
Joined: Sun Jan 14, 2007 12:54 am
Contact:

various updates

Post by lonesock »

I'm playing with the 0.5 version now, thanks for the features and ESEO_LOAD_PLUGINS flag fix! It still seems to have only 2 channels :( So, I suggest an addition to the irrKlang webpage: put a PayPal [Donate] button to fund purchasing a 4- or 6- (or both) channel speaker system :wink:

(btw, it would also be nice to have a link to this forum from the irrKlang webpage)

Thanks again for this great library!
lonesock
Piranha are people too.
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

Yes, I had no time to add that feature, but I think I'll put it into the next release.
Link to the forum: It's already there, but maybe a bit hidden, right. :) http://www.ambiera.com/community.html#forum
Post Reply