Hey guys. I have a problem that I’m sure has a simple solution. I have three channel groups with different sounds in each group and I want to apply reverb to only one of the channel groups. The reverb ends up on all 3 channel groups and I’m not sure why.
I’m adding the reverb to the one channel group upon initialization like this:
fmodResult = fmodSystem->createDSPByType(FMOD_DSP_TYPE_SFXREVERB , &dspreverb); ERRCHECK(fmodResult); FMOD_REVERB_PROPERTIES prop_concert = FMOD_PRESET_CONCERTHALL; prop_concert.Room = 0; fmodResult = fmodSystem->setReverbProperties(&prop_concert); ERRCHECK(fmodResult); fmodResult = groupA->addDSP(dspreverb, 0); ERRCHECK(fmodResult);
And then I add each sound to the channel groups as I play them. I know the sounds are in the right channel groups because I can mute each group and silence the sounds in those groups. I can add other effects such as echo to each channel group individually and I only hear it on the group it was added to. It is only the SFXREVERB that seems to affect every channel group. Really tearing my hair out on this one. Any help would be greatly appreciated.
- decode asked 5 years ago
FMOD contains global instances of the SFX reverb for 3D environment simulation. Use System::setReverbProperties to modify the global reverb. This code snippet creates a new reverb, then applys settings to the global reverb, then attaches the uninitialized reverb DSP that was created to the channelgroup. Instead of calling setReverbProperties, call DSP::setParameter to initialize the reverb DSP that was created. Take a look at the ‘effects’ example in your FMOD install directory to see how to use DSP effects in FMOD.
- Guest answered 5 years ago
Please login first to submit.