#include <iostream>
#include <cmath>
#include <random>
#include "AudioFile.h"

using namespace std;

int main()
{
    //---------------------------------------------------------------
    // 1. Let's setup our AudioFile instance

    const int RATE  = 44100;             // Samples per second

    AudioFile<float> a;
    a.setNumChannels (1);                // We generate mono
    a.setNumSamplesPerChannel (5*RATE);  // 5 seconds of sound

    //---------------------------------------------------------------
    // 2. Create some variables to help us generate a sine wave

    const double TWOPI      = 2.0*M_PI;

    //---------------------------------------------------------------
    // 3. Write the samples to the AudioFile sample buffer

    default_random_engine re;
    uniform_real_distribution<double> distribution(-1.0,1.0);

    int channel=0;
    for (int i = 0; i < a.getNumSamplesPerChannel(); i++)
      {
         double t=1.0*i/RATE;

         // Random noise
         a.samples[channel][i] = distribution(re);
      }

    //---------------------------------------------------------------
    // 4. Save the AudioFile

    a.save ("noise.wav", AudioFileFormat::Wave);
    return 0;
}

