public void GetSamplesSync(out short[] samples, out int nsamp) { nsamp = GetSampleCount(); samples = new short[nsamp * 2]; //*2 for stereo sound fixed(short *data = samples) { GetSamples(data, nsamp); } // BizHawk requires a sample rate of 44100 Hz. _resampler.EnqueueSamples(samples, nsamp); _resampler.GetSamplesSync(out samples, out nsamp); }
public void GetSamplesSync(out short[] samples, out int nsamp) { int nsampin = framebuffer.SoundBufferByteLength; unsafe { fixed(byte *src = framebuffer.SoundBuffer) { for (int i = 0; i < nsampin; i++) { // the buffer values don't really get very large at all, // so this doesn't overflow short s = (short)(src[i] * 200); resampler.EnqueueSample(s, s); } } } resampler.GetSamplesSync(out samples, out nsamp); dcfilter.PushThroughSamples(samples, nsamp * 2); }