aboutsummaryrefslogtreecommitdiff
path: root/sc4pd/source/TIRand.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/TIRand.cpp
parent0f1258611b064b215d1dd877f69e694fedf0d109 (diff)
rng have setable seed and other changes
svn path=/trunk/externals/tb/; revision=1867
Diffstat (limited to 'sc4pd/source/TIRand.cpp')
-rw-r--r--sc4pd/source/TIRand.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/sc4pd/source/TIRand.cpp b/sc4pd/source/TIRand.cpp
index b68278e..93fdd09 100644
--- a/sc4pd/source/TIRand.cpp
+++ b/sc4pd/source/TIRand.cpp
@@ -73,6 +73,10 @@ protected:
range = hi - lo;
}
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
float m_sample;
@@ -84,6 +88,7 @@ private:
FLEXT_CALLBACK(m_bang);
FLEXT_CALLBACK_I(m_setlo);
FLEXT_CALLBACK_I(m_sethi);
+ FLEXT_CALLBACK_I(m_seed);
};
FLEXT_LIB_DSP_V("TIRand~",TIRand_ar);
@@ -101,13 +106,14 @@ TIRand_ar::TIRand_ar(int argc, t_atom *argv)
hi=int(sc_getfloatarg(Args,1));
range = 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 TIRand_ar::m_dsp(int n, t_sample *const *in, t_sample *const *out)
@@ -160,6 +166,11 @@ protected:
range = hi - lo;
}
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
+
private:
int lo;
int hi;
@@ -168,6 +179,7 @@ private:
FLEXT_CALLBACK(m_bang);
FLEXT_CALLBACK_I(m_setlo);
FLEXT_CALLBACK_I(m_sethi);
+ FLEXT_CALLBACK_I(m_seed);
};
FLEXT_LIB_V("TIRand",TIRand_kr);
@@ -184,13 +196,14 @@ TIRand_kr::TIRand_kr(int argc, t_atom *argv)
hi=int(sc_getfloatarg(Args,1));
range = hi - lo;
- rgen.init(0);
+ rgen.init(timeseed());
AddOutInt();
FLEXT_ADDBANG(0,m_bang);
FLEXT_ADDMETHOD_(0,"setlo",m_setlo);
FLEXT_ADDMETHOD_(0,"sethi",m_sethi);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
}
void TIRand_kr::m_loadbang()