diff options
author | Tim Blechmann <timblech@users.sourceforge.net> | 2004-07-15 19:05:05 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@iem.at> | 2015-10-14 15:11:55 +0200 |
commit | 9ecfff90135ec05498f9f55a39cd386c855a8571 (patch) | |
tree | 4df5eeeadcca3431512a2a6f4a22b29bbeb0756e /sc4pd/source/TExpRand.cpp | |
parent | 0f1258611b064b215d1dd877f69e694fedf0d109 (diff) |
rng have setable seed and other changes
svn path=/trunk/externals/tb/; revision=1867
Diffstat (limited to 'sc4pd/source/TExpRand.cpp')
-rw-r--r-- | sc4pd/source/TExpRand.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/sc4pd/source/TExpRand.cpp b/sc4pd/source/TExpRand.cpp index 806fba1..b7ee16e 100644 --- a/sc4pd/source/TExpRand.cpp +++ b/sc4pd/source/TExpRand.cpp @@ -72,6 +72,11 @@ protected: lo = f; ratio = hi / lo; } + + void m_seed(int i) + { + rgen.init(i); + } private: float m_sample; @@ -83,6 +88,7 @@ private: FLEXT_CALLBACK(m_bang); FLEXT_CALLBACK_F(m_setlo); FLEXT_CALLBACK_F(m_sethi); + FLEXT_CALLBACK_I(m_seed); }; FLEXT_LIB_DSP_V("TExpRand~",TExpRand_ar); @@ -100,13 +106,14 @@ TExpRand_ar::TExpRand_ar(int argc, t_atom *argv) hi=sc_getfloatarg(Args,1); ratio = hi / lo; - rgen.init(0); //this should be changed + rgen.init(timeseed()); AddOutSignal(); FLEXT_ADDBANG(0,m_bang); FLEXT_ADDMETHOD_(0,"setlo",m_setlo); FLEXT_ADDMETHOD_(0,"sethi",m_sethi); + FLEXT_ADDMETHOD_(0,"seed",m_seed); } void TExpRand_ar::m_dsp(int n, t_sample *const *in, t_sample *const *out) @@ -159,6 +166,11 @@ protected: ratio = hi / lo; } + void m_seed(int i) + { + rgen.init(i); + } + private: float lo; float hi; @@ -167,6 +179,7 @@ private: FLEXT_CALLBACK(m_bang); FLEXT_CALLBACK_F(m_setlo); FLEXT_CALLBACK_F(m_sethi); + FLEXT_CALLBACK_I(m_seed); }; FLEXT_LIB_V("TExpRand",TExpRand_kr); @@ -183,13 +196,14 @@ TExpRand_kr::TExpRand_kr(int argc, t_atom *argv) hi=sc_getfloatarg(Args,1); ratio = hi / lo; - rgen.init(0); + rgen.init(timeseed()); AddOutFloat(); FLEXT_ADDBANG(0,m_bang); FLEXT_ADDMETHOD_(0,"setlo",m_setlo); FLEXT_ADDMETHOD_(0,"sethi",m_sethi); + FLEXT_ADDMETHOD_(0,"seed",m_seed); } void TExpRand_kr::m_loadbang() |