**FFT**

**Class methods**

**prepare**

Allocates the buffers required for processing.

`FFT.prepare(int powerOfTwoSize, int maxNumChannels)`

**process**

Process the given data (either a buffer or a array of buffers.

`FFT.process(var dataToProcess)`

**setEnableInverseFFT**

This enables the inverse transform that will reconstruct the signal from the processed FFT.

`FFT.setEnableInverseFFT(bool shouldApplyReverseTransformToInput)`

**setEnableSpectrum2D**

Enables the creation of a 2D spectrograph image.

`FFT.setEnableSpectrum2D(bool shouldBeEnabled)`

**setMagnitudeFunction**

Sets a function that will be executed with the amplitude information of the FFT bins.

`FFT.setMagnitudeFunction(var newMagnitudeFunction, bool convertToDecibels)`

**setOverlap**

Sets an overlap (from 0...1) for the chunks.

`FFT.setOverlap(double percentageOfOverlap)`

**setPhaseFunction**

Sets a function that will be executed with the phase information of the FFT bins.

`FFT.setPhaseFunction(var newPhaseFunction)`

**setWindowType**

Sets a window function that will be applied to the data chunks before processing.

`FFT.setWindowType(int windowType)`