#ifndef COMPUTE_H
#define COMPUTE_H

#include <gtk/gtk.h>

gfloat compute_level(const float *data, size_t nsamples, size_t nchan);

void compute_spectrom(float * data, int width, double rate, float *output);
void PowerSpectrum(float *In, float *Out);
void FFT(int NumSamples, gboolean InverseTransform,
	float *RealIn, float *ImagIn, float *RealOut, float *ImagOut);
void InitFFT();
int NumberOfBitsNeeded(int PowerOfTwo);
inline int FastReverseBits(int i, int NumBits);
int ReverseBits(int index, int NumBits);


void audio2hsv_1(gint audio_level, gint *light_h, gint *light_s, gint *light_v);
void hsv2rgb(gint h, gint s, gint v, gint *r, gint *g, gint *b);

#endif