

#pragma once

#define PI 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068

#include <complex>
#include "fftw3.h"

using namespace std;
class synthesistransform
{

public:
    synthesistransform();
    synthesistransform(int windowsize, int signallength, int hopsize, int nofmics);
    void* IFFT(double* signal, double* realpart, double* imagpart);
    void* IFFT(double* istft_out, float* realpart, float* imagpart);
    void SetSourceSize(int nofsource);
private:
    void hamming(int windowLength, double* buffer);
    int signallength;
    int windowsize;
    int overlap;
    int nofmics;
    double* window;


};
