I’m using lowlevel FMOD api for my game and I came to one weird finding. I’m using general system reverb for most of the sounds except for specific ones like the main menu navigation.

Pseudo code:

Init() {
system->system->setReverbProperties( 0, FMOD_PRESET_HALLWAY );

PlaySound() {
if( useReverb == false ) channel->setReverbProperty( 0, 0.0f );

This worked totally find until recently, when I found that game menu sounds are using reverb while playing a specific map of the game.

Over further investigation with “getReverbProperty()” I found out in the update that the sound to which I set reverb to 0 has wet level 1.0. If I set it back to 0 in the update it will stay like that.

– I triple checked that sounds are not stealing each other’s channels
– There are enough free channels
– I checked FMOD_RESULT when setting reverb property and it it’s OK!
– After setting the reverb property to 0, I instantly called getReverbProperty for check and it’s properly set to 0.

1. Is it possible that I have some memory poisoning in my game code which will override FMOD’s memory?
2. Am I approaching this properly?

Anything will help really, thank you!

  • You must to post comments

A ChannelGroup reverb is optimal for the case where you want to send 1 mixed signal to the reverb, rather than a lot of individual channel reverb sends. But using with individual channels is still a valid option.

From what you have supplied I cannot see any reason why it wouldn’t work, is it possible that the wet level is being adjusted somewhere else?

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.