Home Information Classes Download Usage Mail List Requirements Links Tutorial

# Saxofony.h

    00001 /***************************************************/
    00036 /***************************************************/
    00037
    00038 #if !defined(__SAXOFONY_H)
    00039 #define __SAXOFONY_H
    00040
    00041 #include "Instrmnt.h"
    00042 #include "DelayL.h"
    00043 #include "ReedTabl.h"
    00044 #include "OneZero.h"
    00045 #include "Envelope.h"
    00046 #include "Noise.h"
    00047 #include "WaveLoop.h"
    00048
    00049 class Saxofony : public Instrmnt
    00050 {
    00051  public:
    00053   Saxofony(MY_FLOAT lowestFrequency);
    00054
    00056   ~Saxofony();
    00057
    00059   void clear();
    00060
    00062   void setFrequency(MY_FLOAT frequency);
    00063
    00065   void setBlowPosition(MY_FLOAT aPosition);
    00066
    00068   void startBlowing(MY_FLOAT amplitude, MY_FLOAT rate);
    00069
    00071   void stopBlowing(MY_FLOAT rate);
    00072
    00074   void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude);
    00075
    00077   void noteOff(MY_FLOAT amplitude);
    00078
    00080   MY_FLOAT tick();
    00081
    00083   void controlChange(int number, MY_FLOAT value);
    00084
    00085  protected:
    00086   DelayL *delays[2];
    00087   ReedTabl *reedTable;
    00088   OneZero *filter;
    00089   Envelope *envelope;
    00090   Noise *noise;
    00091   WaveLoop *vibrato;
    00092   long length;
    00093   MY_FLOAT outputGain;
    00094   MY_FLOAT noiseGain;
    00095   MY_FLOAT vibratoGain;
    00096   MY_FLOAT position;
    00097
    00098 };
    00099
    00100 #endif

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