Esempio n. 1
0
        public MultiOsc(double samplerate, int bufferSize)
        {
            OutputBuffer    = new double[bufferSize];
            Samplerate      = samplerate;
            iterators       = new double[9];
            increments      = new double[9];
            incrementsDirty = true;
            wavetable       = WavetableContext.GetWavetable(Sawtooth.WavetableName)[0];

            var rand = new Random();

            for (int i = 0; i < iterators.Length; i++)
            {
                iterators[i] = rand.NextDouble();
            }
        }
Esempio n. 2
0
        public void SetParameter(OscParams parameter, object val)
        {
            switch (parameter)
            {
            case OscParams.Modulation:
                modulation = (double)val;
                break;

            case OscParams.Keytrack:
                keytrack = (bool)val;
                break;

            case OscParams.Note:
                note = (int)val;
                break;

            case OscParams.Octave:
                octave = (int)val;
                break;

            case OscParams.Semi:
                semi = (int)val;
                break;

            case OscParams.Cent:
                cent = (int)val;
                break;

            case OscParams.Position:
                TablePosition = (double)val;
                break;

            case OscParams.Phase:
                startPhase = (double)val;
                break;

            case OscParams.Wavetable:
                wavetable = WavetableContext.GetWavetable((string)val);
                break;
            }
            stepsizeDirty = true;
        }