Home   Information   Classes   Download   Usage   Mail List   Requirements   Tutorial


Modulate.h

00001 /***************************************************/
00011 /***************************************************/
00012 
00013 #if !defined(__MODULATE_H)
00014 #define __MODULATE_H
00015 
00016 #include "Stk.h"
00017 #include "WaveLoop.h"
00018 #include "SubNoise.h"
00019 #include "OnePole.h"
00020 
00021 class Modulate : public Stk
00022 {
00023  public:
00025   Modulate();
00026 
00028   ~Modulate();
00029 
00031   void reset();
00032 
00034   void setVibratoRate(MY_FLOAT aRate);
00035 
00037   void setVibratoGain(MY_FLOAT aGain);
00038 
00040   void setRandomGain(MY_FLOAT aGain);
00041 
00043   MY_FLOAT tick();
00044 
00046   virtual MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize);
00047 
00049   MY_FLOAT lastOut() const;
00050 
00051  protected:
00052   WaveLoop  *vibrato;
00053   SubNoise *noise;
00054   OnePole  *filter;
00055   MY_FLOAT vibratoGain;
00056   MY_FLOAT randomGain;
00057   MY_FLOAT lastOutput;
00058 
00059 };
00060 
00061 #endif

The Synthesis ToolKit in C++ (STK)
©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.