00001
00002
00003
00004
00005
00006 #ifndef INCLUDE_WhiteNoise_Instrument_H
00007 #define INCLUDE_WhiteNoise_Instrument_H
00008
00009 #include "Instrument.h"
00010 #include "CSL_All.h"
00011
00012 namespace csl {
00013
00014 enum {
00015
00016 kNumParameters = 16,
00017
00018 kThresh = 0,
00019 kWindowSize,
00020 kNumBins,
00021 kOut,
00022 kNumParams
00023 };
00024
00025 class WhiteNoiseInstrument : public Instrument {
00026
00027 protected:
00028 ADSR mAEnv;
00029 WhiteNoise mSig;
00030 Butter mLpfilter;
00031 MulOp mAPul;
00032
00033 public:
00034 WhiteNoiseInstrument();
00035 ~WhiteNoiseInstrument();
00036
00037
00038
00039 unsigned num_accessors();
00040 void get_accessors(Accessor **);
00041 void set_parameter(unsigned selector, void * value);
00042 void play_osc_note(char * types, void * args, char * endOfArgs);
00043 void playMIDI(float dur, int chan, int key, int vel);
00044
00045 };
00046
00047 }
00048
00049 #endif