public void updatePlaying(double freq, WaveGenerator.WaveType wavetype)
        {
            frequencies.Clear();
            frequencies.Add(freq);
            mixer.RemoveAllSources();
            VolumeSource  vol;
            WaveGenerator generator = new WaveGenerator(wavetype, freq, 1.0, 0);

            mixer.AddSource(
                generator.ToWaveSource()
                .AppendSource(x => new DmoChannelResampler(x, monoToStereoChannelMatrix, sampleRate))
                .AppendSource(x => new VolumeSource(x.ToSampleSource()), out vol)
                );

            Debug.WriteLine(frequencies.Count().ToString() + " frequencies");
        }
Exemplo n.º 2
0
        public static WaveGenerator.WaveType Next(WaveGenerator.WaveType myEnum)
        {
            switch (myEnum)
            {
            case WaveGenerator.WaveType.SineWave:
                return(WaveGenerator.WaveType.SquareWave);

            case WaveGenerator.WaveType.SquareWave:
                return(WaveGenerator.WaveType.TriangleWave);

            case WaveGenerator.WaveType.TriangleWave:
                return(WaveGenerator.WaveType.SawtoothWave);

            case WaveGenerator.WaveType.SawtoothWave:
                return(WaveGenerator.WaveType.InverseSawtoothWave);

            case WaveGenerator.WaveType.InverseSawtoothWave:
                return(WaveGenerator.WaveType.SineWave);

            default:
                return(WaveGenerator.WaveType.SineWave);
            }
        }