From 9ecfff90135ec05498f9f55a39cd386c855a8571 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Thu, 15 Jul 2004 19:05:05 +0000 Subject: rng have setable seed and other changes svn path=/trunk/externals/tb/; revision=1867 --- sc4pd/source/BrownNoise.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'sc4pd/source/BrownNoise.cpp') 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(); -- cgit v1.2.1