/* apply filter to an array of values, adding result to output array */ public void Apply( float[] XinVector, int XInVectorOffset, float[] YoutVector, int YoutVectorOffset, int VectorLength, float OutputScaling, SynthParamRec SynthParams) { ParametricEqualizer2Rec Filter = this; IIR2DirectIMAcc( ref Filter.iir, XinVector, XInVectorOffset, YoutVector, YoutVectorOffset, VectorLength, OutputScaling); }
public static void SetParametricEqualizer2Coefficients( ParametricEqualizer2Rec Filter, double Cutoff, double Bandwidth, double Gain, double SamplingRate) { if ((Cutoff == Filter.OldCutoff) && (Bandwidth == Filter.OldBandwidth) && (Gain == Filter.OldGain)) { return; } Filter.OldCutoff = Cutoff; Filter.OldBandwidth = Bandwidth; Filter.OldGain = Gain; ComputeParametricEqualizer2Coefficients( ref Filter.iir, Cutoff, Bandwidth, Gain, SamplingRate); }