band pass filters worked in FMOD_DSP_TYPE_MULTIBAND_EQ, however shelf and peak filters doesn’t. Is it somewhere I wrote wrong?
FMOD::DSP* channelHead;
channel->getDSP(FMOD_CHANNELCONTROL_DSP_HEAD, &channelHead);
ERRCHECK(result);
FMOD::DSP* eq;
system->createDSPByType(FMOD_DSP_TYPE_MULTIBAND_EQ, &eq);
eq->setParameterFloat(FMOD_DSP_MULTIBAND_EQ_A_FILTER, FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHSHELF);
eq->setParameterFloat(FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY, 7000.0f);
eq->setParameterFloat(FMOD_DSP_MULTIBAND_EQ_A_GAIN, 8.0f);
eq->setParameterFloat(FMOD_DSP_MULTIBAND_EQ_B_FILTER, FMOD_DSP_MULTIBAND_EQ_FILTER_PEAKING);
eq->setParameterFloat(FMOD_DSP_MULTIBAND_EQ_B_FREQUENCY, 1000.0f);
eq->setParameterFloat(FMOD_DSP_MULTIBAND_EQ_B_GAIN, 8.0f);
eq->setActive(true);
eq->addInput(channelHead);
//channel->addDSP(FMOD_CHANNELCONTROL_DSP_TAIL, eq);
FMOD::DSPConnection* reverbConnection;
result = reverbUnit->addInput(channelHead, &reverbConnection, FMOD_DSPCONNECTION_TYPE_SEND);
ERRCHECK(result);
result = channel->setPaused(false);
ERRCHECK(result);