#ifndef MULTITAP_ECHO_H
#define MULTITAP_ECHO_H

#include "common.h"

// Constants
#define N_TAP 4
#define ECHO_MAX_LENGTH 4000

/////////////////////////////////////////////////////////////////////////////////
// Control state structure
/////////////////////////////////////////////////////////////////////////////////
typedef struct
{
	DSPfract* pEchoBuff;
	DSPint bufferLength;
	DSPfract* writePointer;
	DSPfract* readPointer[N_TAP];
	DSPint delay[N_TAP];
	DSPfract input_gain;
	DSPfract tap_gain[N_TAP];
	DSPint n_tap;
} EchoState;
/////////////////////////////////////////////////////////////////////////////////

void multitap_echo_init();

void multitap_echo(DSPfract *pInbuf, DSPfract *pOutbuf);

#endif
