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