/**********************************************/
/*  A click generator - generates an impulse  */
/*  every T samples.                          */
/**********************************************/
#include "Object.h"

#if !defined(__Click_h)
#define __Click_h

#define CorrectionThreshold 30

class Click : public Object
{
  private:
    int T;			// Period (in samples)
    double count;		// This is a count of iterations
                                // computed after the last correction
    
  public:
    double f;			// frequency
    double phase;		// phase
    double A;			// amplitude
    void setFreq(double aF);
    void setPhase(double aPhase);
    void setAmp(double aA);
    Click(double aF=440, double aA=1, double aPhase=0);
    ~Click();
    double tick();
};


#endif // defined(__Click_h)
