0
0

I am re-implementing our reverb after updating FMOD, because FMOD_DSP_TYPE_REVERB was discontinued.

I have successfully set up a reverb filter like so:

[code:1ab6jlwx]FMOD_REVERB_PROPERTIES prop = FMOD_PRESET_ROOM;
prop.Instance = 0;
FMOD_RESULT result = system->setReverbProperties(&prop);[/code:1ab6jlwx]

This seems to be working correctly when I play sounds. However, I have been unable to change the Wet/Dry Mix of an individual channel. My code to play a sound looks like this:

[code:1ab6jlwx]FMOD_RESULT result = system->playSound(FMOD_CHANNEL_FREE, allSounds[soundindex]->sound, true, &allSounds[soundindex]->channel);

FMOD_REVERB_CHANNELPROPERTIES prop = { 0 };
prop.Flags = FMOD_REVERB_CHANNELFLAGS_INSTANCE0;
result = allSounds[soundindex]->channel->getReverbProperties(&prop);
if (result != FMOD_OK)
return result; <— result here is equal to FMOD_ERR_SUBSOUND_CANTMOVE
prop.Room = -10000;
prop.Direct = -10000;
result = this->allSounds[soundindex]->channel->setReverbProperties(&prop);
if (result != FMOD_OK)
return result;[/code:1ab6jlwx]

Am I missing a step somewhere in here? Setting other channel attributes (Volume, Pan) is working correctly. Why would trying to get the reverb properties cause FMOD_ERR_SUBSOUND_CANTMOVE?

Any help would be much appreciated.

  • You must to post comments
0
0

This is from Fmod Ex help:

"One more thing – it’s important to distinguish between FMOD_REVERB_PROPERTIES and FMOD_REVERB_CHANNELPROPERTIES. The latter is just used for controlling the a channel’s input gain to the reverb, and doesn’t affect the characteristics of the reverb unit itself."

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.