We are trying to change the reverb properties on a channel group while the sound is playing, but we are getting FMOD_ERR_REVERB_CHANNELGROUP.

Here’s our basic code:

// definition of globals
struct FModSound_Globals
FMOD::System *system;
FMOD::ChannelGroup *reverb[VolumeClass_Count];
FMOD::ChannelGroup *noReverb;
FModSound_Globals g_fmod_sound_globals;
// we create the channel groups like this
for ( uintf volumeClassIndex = 0; volumeClassIndex < VolumeClass_Count; ++volumeClassIndex ){
// when we play a sound, we disable the reverb first
FMOD_VERIFY(info->>setReverbProperties(0, 0.0f));
// (FMOD_VERIFY() just makes sure the return result is FMOD_OK)
// then we assign the channel to one of the the channel groups
// if we update the wet volume of the reverb like this:
FMOD_VERIFY(g_fmod_sound_globals.reverb[cls]->setReverbProperties(0, newGain));
// if the channel group contains a playing channel, this returns "FMOD_ERR_REVERB_CHANNELGROUP".
// If there is no channel attached to the group, it works fine.

So, it seems like if a sound is playing (and belongs to that channel group), you cannot change the reverb properties of the channel group. Is that correct? Is there any way to get around that limit?

Thanks for your help!

  • You must to post comments
Best Answer

Hi , actually you just hit on a bug we already fixed for 1.06.12 or 1.07.01, these builds will be coming out on Monday.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.