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"); }
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); } }