public void Play(WaveForm wave, int freq, int length) { lock (_mutex) { _wave = wave; _oscLength = Rate / freq; _oscSamples = 0; if (length == -1) { _remainingSamples = 1; _playForever = true; } else { _remainingSamples = (Rate * length) / 1000; _playForever = false; } _mixedSamples = 0; } }