/* Analyzer.h */

#ifndef Included_Analyzer_h
#define Included_Analyzer_h

/* Analyzer module depends on */
/* MiscInfo.h */
/* Audit */
/* Debug */
/* Definitions */
/* FixedPoint */
/* MainWindowStuff */
/* AnalyzerSpec */
/* Memory */
/* InteractionWindow */
/* DataMunging */
/* Numbers */

#include "FixedPoint.h"

struct AnalyzerRec;
typedef struct AnalyzerRec AnalyzerRec;

/* forwards */
struct MainWindowRec;
struct AnalyzerSpecRec;

/* flush free list elements */
void							FlushCachedAnalyzerStuff(void);

/* create a new analyzer processor */
AnalyzerRec*			NewAnalyzer(struct MainWindowRec* MainWindow,
										struct AnalyzerSpecRec* Template, MyBoolean StereoFlag,
										float InverseVolume);

/* dispose of the analyzer; write data to window */
void							DisposeAnalyzer(AnalyzerRec* Analyzer);

/* apply analyzer to some stuff */
void							ApplyAnalyzer(largefixedsigned* Data, long NumFrames,
										AnalyzerRec* Analyzer);

#endif
