Beispiel #1
0
 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();
 }
Beispiel #2
0
 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;
 }