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); }
public static EqualizerBand GetEqualizerBand(FMOD.System system, bool isActive, float centerValue, float bandwithValue, float gainValue) { FMOD.DSPConnection dspConnTemp = null; FMOD.DSP dspParamEq = null; if (isActive) { var result = system.createDSPByType(FMOD.DSP_TYPE.PARAMEQ, ref dspParamEq); if (!result.ERRCHECK()) { return(null); } result = system.addDSP(dspParamEq, ref dspConnTemp); if (!result.ERRCHECK()) { return(null); } result = dspParamEq.setParameter((int)FMOD.DSP_PARAMEQ.CENTER, centerValue); if (!result.ERRCHECK()) { return(null); } result = dspParamEq.setParameter((int)FMOD.DSP_PARAMEQ.BANDWIDTH, bandwithValue); if (!result.ERRCHECK()) { return(null); } result = dspParamEq.setParameter((int)FMOD.DSP_PARAMEQ.GAIN, gainValue); if (!result.ERRCHECK()) { return(null); } result = dspParamEq.setActive(true); if (!result.ERRCHECK()) { return(null); } } var band = new EqualizerBand(dspParamEq, centerValue, gainValue, isActive); return(band); }