public AudioProcessor(PluginController pluginController) : base(0, 2, 0) { _mainStream = (AudioStream)CreateAudioStream(); PluginController = pluginController; Input = new Input(this); Commutator = new Routing(this); OscillatorA = new Oscillator(this); EnvelopeA = new ADSR(this); OscillatorB = new Oscillator(this); EnvelopeB = new ADSR(this); Filter = new ButterworthFilter(this); Distortion = new Distortion(this); Clip = new Clip(this); Delay = new Delay(this); LFOModifier = new LFO(this); Master = new Master(this); Oscillograph = new Oscillograph(this); OnBypassChanged += (sender, args) => { Commutator.Power.Value = (Bypass) ? EPowerStatus.Off : EPowerStatus.On; }; }
public override IEnumerable <Parameter> CreateParameters() { var parameters = new List <Parameter>(); parameters.AddRange(Commutator.CreateParameters("C")); parameters.AddRange(OscillatorA.CreateParameters("A")); parameters.AddRange(EnvelopeA.CreateParameters("EA")); parameters.AddRange(OscillatorB.CreateParameters("B")); parameters.AddRange(EnvelopeB.CreateParameters("EB")); parameters.AddRange(Filter.CreateParameters("F")); parameters.AddRange(Distortion.CreateParameters("D")); parameters.AddRange(Delay.CreateParameters("Dly")); parameters.AddRange(Clip.CreateParameters("K")); parameters.AddRange(LFOModifier.CreateParameters("G")); parameters.AddRange(Master.CreateParameters("M")); parameters.AddRange(Oscillograph.CreateParameters("O")); return(parameters); }