Example #1
0
        public override void RequestProcessing(int samples)
        {
            var inputData = new float[samples];

            SoundInput.Read(inputData, 0, inputData.Length);

            double[] levelData = null;
            if (CvInput.IsConnected)
            {
                levelData = new double[samples];
                CvInput.Read(levelData, 0, levelData.Length);
            }

            for (var i = 0; i < samples; i++)
            {
                inputData[i] = (float)(inputData[i] * Math.Max(0.0, Math.Min(1.0, levelData?[i] ?? Level)));
            }

            SoundOutput.Write(inputData, 0, inputData.Length);
        }
        public override void RequestProcessing(int samples)
        {
            var buffer = new float[samples];

            double[] cvBuffer = null;

            if (CvInput.IsConnected)
            {
                cvBuffer = new double[samples];
                CvInput.Read(cvBuffer, 0, cvBuffer.Length);
            }

            for (var i = 0; i < samples; i++)
            {
                buffer[i] = (float)Math.Sin((Math.PI * 2 * (cvBuffer == null ? Frequency : GetFrequency(cvBuffer[i]))
                                             / Processor.Config.SampleRate) * sampleIndex);
                sampleIndex++;
            }

            SoundOutput.Write(buffer, 0, buffer.Length);
        }