aboutsummaryrefslogtreecommitdiff
path: root/sc4pd/source/BrownNoise.cpp
diff options
context:
space:
mode:
authorTim Blechmann <timblech@users.sourceforge.net>2004-07-15 19:05:05 +0000
committerIOhannes m zmölnig <zmoelnig@iem.at>2015-10-14 15:11:55 +0200
commit9ecfff90135ec05498f9f55a39cd386c855a8571 (patch)
tree4df5eeeadcca3431512a2a6f4a22b29bbeb0756e /sc4pd/source/BrownNoise.cpp
parent0f1258611b064b215d1dd877f69e694fedf0d109 (diff)
rng have setable seed and other changes
svn path=/trunk/externals/tb/; revision=1867
Diffstat (limited to 'sc4pd/source/BrownNoise.cpp')
-rw-r--r--sc4pd/source/BrownNoise.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/sc4pd/source/BrownNoise.cpp b/sc4pd/source/BrownNoise.cpp
index 39cbc26..b9bc138 100644
--- a/sc4pd/source/BrownNoise.cpp
+++ b/sc4pd/source/BrownNoise.cpp
@@ -58,22 +58,29 @@ public:
protected:
virtual void m_signal(int n, t_sample *const *in, t_sample *const *out);
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
+
private:
float m_level;
RGen rgen;
+ FLEXT_CALLBACK_I(m_seed);
};
FLEXT_LIB_DSP_V("BrownNoise~",BrownNoise_ar);
BrownNoise_ar::BrownNoise_ar(int argc, t_atom *argv)
{
-
//parse arguments
AtomList Args(argc,argv);
- rgen.init(0); //set seed to 0
+ rgen.init(timeseed());
m_level=rgen.frand2();
-
+
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
+
AddOutSignal();
}
@@ -115,11 +122,17 @@ public:
protected:
void m_perform();
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
float m_level;
RGen rgen;
FLEXT_CALLBACK(m_perform);
+ FLEXT_CALLBACK_I(m_seed);
};
FLEXT_LIB_V("BrownNoise",BrownNoise_kr);
@@ -127,11 +140,12 @@ FLEXT_LIB_V("BrownNoise",BrownNoise_kr);
BrownNoise_kr::BrownNoise_kr(int argc, t_atom *argv)
{
FLEXT_ADDBANG(0,m_perform);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
- rgen.init(0); //set seed to 0
+ rgen.init(timeseed());
m_level=rgen.frand2();
AddOutFloat();