aboutsummaryrefslogtreecommitdiff
path: root/sc4pd/source/TExpRand.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/TExpRand.cpp
parent0f1258611b064b215d1dd877f69e694fedf0d109 (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.cpp18
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()