public FFT(int frame_size, int overlap, IFFTFrameConsumer consumer,
IFFTService fftService)
{
m_window = new double[frame_size];
m_buffer_offset = 0;
m_buffer = new short[frame_size];
m_frame = new double[frame_size];
m_frame_size = frame_size;
m_increment = frame_size - overlap;
m_consumer = consumer;
Helper.PrepareHammingWindow(ref m_window, 0, frame_size);
for (int i = 0; i < frame_size; i++)
{
m_window[i] /= short.MaxValue;
}
m_lib = fftService;
m_lib.Initialize(frame_size, m_window);
m_input = new short[frame_size];
}