home *** CD-ROM | disk | FTP | other *** search
- /*******************************************/
- /* Sweepable Formant (2-pole) */
- /* Filter Class, by Perry R. Cook, 1995-96*/
- /* See books on filters to understand */
- /* more about how this works. Nothing */
- /* out of the ordinary in this version. */
- /*******************************************/
-
- #if !defined(__FormSwep_h)
- #define __FormSwep_h
-
- #include "Filter.h"
-
- class FormSwep : public Filter
- {
- protected:
- MY_FLOAT poleCoeffs[2];
- MY_FLOAT freq;
- MY_FLOAT reson;
- int dirty;
- MY_FLOAT targetFreq;
- MY_FLOAT targetReson;
- MY_FLOAT targetGain;
- MY_FLOAT currentFreq;
- MY_FLOAT currentReson;
- MY_FLOAT currentGain;
- MY_FLOAT deltaFreq;
- MY_FLOAT deltaReson;
- MY_FLOAT deltaGain;
- MY_FLOAT sweepState;
- MY_FLOAT sweepRate;
- public:
- FormSwep();
- ~FormSwep();
- void clear();
- void setPoleCoeffs(MY_FLOAT *coeffs);
- void setGain(MY_FLOAT aValue);
- void setFreqAndReson(MY_FLOAT aFreq, MY_FLOAT aReson);
- void setStates(MY_FLOAT aFreq, MY_FLOAT aReson, MY_FLOAT aGain);
- void setTargets(MY_FLOAT aFreq, MY_FLOAT aReson, MY_FLOAT aGain);
- void setSweepRate(MY_FLOAT aRate);
- void setSweepTime(MY_FLOAT aTime);
- MY_FLOAT tick(MY_FLOAT sample);
- };
-
- #endif
-