00001
00012
00013
00014 #ifndef RANDOM_H
00015 #define RANDOM_H
00016
00017 #include "AudioDrome.h"
00018 #include "Trigger.h"
00019
00020 class Random : public AudioDrome
00021 {
00022 public:
00024
00032 Random (const float &sr=44100, const bool &seed=true);
00033
00035 virtual ~Random ();
00036
00038
00042 void setRange (const float &range=1);
00043
00045 void setSeed (const bool &seed);
00046
00048
00054 void setPolar (const bool &polariti=false);
00055
00057
00061 void setSigma (const float &sigma);
00062
00064
00068 virtual float outSig ();
00069
00071
00075 float rangeRand (const float &min=0, const float &max=1);
00076
00078
00082 float gaussRand ();
00083
00085
00090 float uniRand (const float &range);
00091
00093
00098 float biRand (const float &range);
00099
00100 protected:
00101 float _range;
00102 float _sigma;
00103 private:
00104 float(Random::*_polarFun) (const float &);
00105
00106 };
00107 #endif