Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }