public static EqualizerBand GetEqualizerBand(FMOD.System system, bool isActive, float centerValue, float bandwithValue, float gainValue)
{
FMOD.DSP dspParamEq = null;
if (isActive)
{
if (!system.createDSPByType(FMOD.DSP_TYPE.PARAMEQ, out dspParamEq).ERRCHECK())
{
return(null);
}
FMOD.ChannelGroup masterChannelGroup;
if (!system.getMasterChannelGroup(out masterChannelGroup).ERRCHECK())
{
return(null);
}
int numDSPs;
if (!masterChannelGroup.getNumDSPs(out numDSPs).ERRCHECK())
{
return(null);
}
if (!masterChannelGroup.addDSP(numDSPs, dspParamEq).ERRCHECK())
{
return(null);
}
if (!dspParamEq.setParameterFloat((int)FMOD.DSP_PARAMEQ.CENTER, centerValue).ERRCHECK())
{
return(null);
}
if (!dspParamEq.setParameterFloat((int)FMOD.DSP_PARAMEQ.BANDWIDTH, bandwithValue).ERRCHECK())
{
return(null);
}
if (!dspParamEq.setParameterFloat((int)FMOD.DSP_PARAMEQ.GAIN, gainValue).ERRCHECK())
{
return(null);
}
if (!dspParamEq.setActive(true).ERRCHECK())
{
return(null);
}
}
var band = new EqualizerBand(system, dspParamEq, centerValue, gainValue, isActive);
return(band);
}