public void QuickSetup(int sampleRate, LfoDescriptor lfoInfo) { _generator = lfoInfo.Generator; _delayTime = (int)(sampleRate * lfoInfo.DelayTime); Frequency = lfoInfo.Frequency; _increment = _generator.Period * Frequency / sampleRate; Depth = lfoInfo.Depth; Reset(); }
private void LoadLfos(Sf2Region region) { mod_lfo = new LfoDescriptor(); mod_lfo.DelayTime = (float)Math.Pow(2, region.Generators[(int)GeneratorEnum.DelayModulationLFO] / 1200.0); mod_lfo.Frequency = (float)(Math.Pow(2, region.Generators[(int)GeneratorEnum.FrequencyModulationLFO] / 1200.0) * 8.176); mod_lfo.Generator = DefaultGenerators.DefaultSine; vib_lfo = new LfoDescriptor(); vib_lfo.DelayTime = (float)Math.Pow(2, region.Generators[(int)GeneratorEnum.DelayVibratoLFO] / 1200.0); vib_lfo.Frequency = (float)(Math.Pow(2, region.Generators[(int)GeneratorEnum.FrequencyVibratoLFO] / 1200.0) * 8.176); vib_lfo.Generator = DefaultGenerators.DefaultSine; }