private static void LoadWaveFormat(RIFFData riff)
        {
            WaveFormatEx *format = GetWaveFormat();

            format->nChannels       = (ushort)riff.Channels;
            format->nSamplesPerSec  = (uint)riff.SampleRate;
            format->nAvgBytesPerSec = (uint)(format->nSamplesPerSec * riff.BlockAlign);
            format->nBlockAlign     = (ushort)riff.BlockAlign;
            format->wBitsPerSample  = (ushort)riff.BitsPerSample;
        }
        public static void SetPlayBuffer(RIFFData riff)
        {
            LoadWaveFormat(riff);

            if (!(riff.Data == null || riff.Data.Length == 0))
            {
                fixed(byte *pointer = &riff.Data[0])
                {
                    SetPlayBuffer(pointer, riff.Data.Length);
                }
            }
        }
 public static void Record(RIFFData riff)
 {
     LoadWaveFormat(riff);
     BeginRecording();
 }
 private void ThreadedDFT(List <int> selection, RIFFData riff, int index, int binStart, int binEnd)
 {
     dftResults[index] = FourierMath.DFTIntegers(selection, type, riff, binStart, binEnd);
 }