[PD-cvs] externals/sc4pd/source ExpRand.cpp,NONE,1.1 BrownNoise.cpp,1.1.1.1,1.2 ClipNoise.cpp,1.1.1.1,1.2 Dust.cpp,1.2,1.3 Dust2.cpp,1.2,1.3 GrayNoise.cpp,1.1.1.1,1.2 IRand.cpp,1.1,1.2 PinkNoise.cpp,1.1.1.1,1.2 Rand.cpp,1.1,1.2 TExpRand.cpp,1.1,1.2 TIRand.cpp,1.1,1.2 TRand.cpp,1.1,1.2 WhiteNoise.cpp,1.1.1.1,1.2 main.cpp,1.3,1.4 support.hpp,1.2,1.3
Tim Blechmann
timblech at users.sourceforge.net
Thu Jul 15 21:05:08 CEST 2004
Update of /cvsroot/pure-data/externals/sc4pd/source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1574/source
Modified Files:
BrownNoise.cpp ClipNoise.cpp Dust.cpp Dust2.cpp GrayNoise.cpp
IRand.cpp PinkNoise.cpp Rand.cpp TExpRand.cpp TIRand.cpp
TRand.cpp WhiteNoise.cpp main.cpp support.hpp
Added Files:
ExpRand.cpp
Log Message:
rng have setable seed and other changes
Index: support.hpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/support.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** support.hpp 14 Jul 2004 18:29:52 -0000 1.2
--- support.hpp 15 Jul 2004 19:05:05 -0000 1.3
***************
*** 36,84 ****
#include <flext.h>
! #include <flsupport.h>
! #include <strings.h>
#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 406)
#error You need at least FLEXT version 0.4.6
#endif
- inline bool sc_add (flext::AtomList a)
- {
- for (int i = 0; i!=a.Count();++i)
- {
- if ( flext::IsSymbol(a[i]) )
- {
- const char * teststring;
- teststring = flext::GetString(a[i]);
- if((strcmp(teststring,"add"))==0)
- return true;
- }
- }
- return false;
- }
-
- inline float sc_getfloatarg (flext::AtomList a,int i)
- {
- if (a.Count() > 0 && a.Count() > i)
- return flext::GetAFloat(a[i]);
- else
- return 0;
- }
! inline bool sc_ar(flext::AtomList a)
! {
! for (int i = 0; i!=a.Count();++i)
! {
! if ( flext::IsSymbol(a[i]) )
! {
! const char * teststring;
! teststring = flext::GetString(a[i]);
! if((strcmp(teststring,"ar"))==0)
! return true;
! }
! }
! return false;
! }
// macros to put rgen state in registers
--- 36,55 ----
#include <flext.h>
! //#include <flsupport.h>
! #include "SC_PlugIn.h"
!
! //#include <strings.h>
#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 406)
#error You need at least FLEXT version 0.4.6
#endif
+ /* for argument parsing */
+ bool sc_add (flext::AtomList a);
+ float sc_getfloatarg (flext::AtomList a,int i);
+ bool sc_ar(flext::AtomList a);
! /* for rngs */
// macros to put rgen state in registers
***************
*** 93,94 ****
--- 64,66 ----
rgen.s3 = s3;
+ int32 timeseed();
Index: TExpRand.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/TExpRand.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TExpRand.cpp 14 Jul 2004 22:07:27 -0000 1.1
--- TExpRand.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 73,76 ****
--- 73,81 ----
ratio = hi / lo;
}
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 84,87 ****
--- 89,93 ----
FLEXT_CALLBACK_F(m_setlo);
FLEXT_CALLBACK_F(m_sethi);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 101,105 ****
ratio = hi / lo;
! rgen.init(0); //this should be changed
AddOutSignal();
--- 107,111 ----
ratio = hi / lo;
! rgen.init(timeseed());
AddOutSignal();
***************
*** 108,111 ****
--- 114,118 ----
FLEXT_ADDMETHOD_(0,"setlo",m_setlo);
FLEXT_ADDMETHOD_(0,"sethi",m_sethi);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
}
***************
*** 160,163 ****
--- 167,175 ----
}
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
+
private:
float lo;
***************
*** 168,171 ****
--- 180,184 ----
FLEXT_CALLBACK_F(m_setlo);
FLEXT_CALLBACK_F(m_sethi);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 184,188 ****
ratio = hi / lo;
! rgen.init(0);
AddOutFloat();
--- 197,201 ----
ratio = hi / lo;
! rgen.init(timeseed());
AddOutFloat();
***************
*** 191,194 ****
--- 204,208 ----
FLEXT_ADDMETHOD_(0,"setlo",m_setlo);
FLEXT_ADDMETHOD_(0,"sethi",m_sethi);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
}
Index: main.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/main.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** main.cpp 14 Jul 2004 22:09:37 -0000 1.3
--- main.cpp 15 Jul 2004 19:05:05 -0000 1.4
***************
*** 37,40 ****
--- 37,41 ----
#include <flext.h>
+ #include "SC_PlugIn.h"
#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 406)
***************
*** 44,47 ****
--- 45,49 ----
#define SC4PD_VERSION "0.01"
+
void sc4pd_library_setup()
{
***************
*** 54,58 ****
" ClipNoise(~), GrayNoise(~), Dust2(~), WhiteNoise(~), "
"PinkNoise(~), \n Crackle(~), Rand(~), TRand(~), "
! "TExpRand(~), IRand(~), TIRand(~)\n");
//initialize objects
--- 56,61 ----
" ClipNoise(~), GrayNoise(~), Dust2(~), WhiteNoise(~), "
"PinkNoise(~), \n Crackle(~), Rand(~), TRand(~), "
! "TExpRand(~), IRand(~), TIRand(~),\n CoinGate, "
! "LinRand(~), NRand(~), ExpRand(~)\n");
//initialize objects
***************
*** 104,107 ****
--- 107,121 ----
FLEXT_DSP_SETUP(TIRand_ar);
FLEXT_SETUP(TIRand_kr);
+
+ FLEXT_SETUP(CoinGate_kr);
+
+ FLEXT_DSP_SETUP(LinRand_ar);
+ FLEXT_SETUP(LinRand_kr);
+
+ FLEXT_DSP_SETUP(NRand_ar);
+ FLEXT_SETUP(NRand_kr);
+
+ FLEXT_DSP_SETUP(ExpRand_ar);
+ FLEXT_SETUP(ExpRand_kr);
}
Index: IRand.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/IRand.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** IRand.cpp 14 Jul 2004 22:07:27 -0000 1.1
--- IRand.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 59,62 ****
--- 59,67 ----
virtual void m_signal(int n, t_sample *const *in, t_sample *const *out);
virtual void m_dsp(int n, t_sample *const *in, t_sample *const *out);
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 65,68 ****
--- 70,74 ----
int hi;
RGen rgen;
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 71,74 ****
--- 77,82 ----
IRand_ar::IRand_ar(int argc, t_atom *argv)
{
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
+
AtomList Args(argc,argv);
***************
*** 81,85 ****
hi=int(sc_getfloatarg(Args,1));
! rgen.init(0); //this should be changed
AddOutSignal();
--- 89,93 ----
hi=int(sc_getfloatarg(Args,1));
! rgen.init(timeseed());
AddOutSignal();
***************
*** 120,127 ****
--- 128,141 ----
void m_loadbang();
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
+
private:
int lo;
int hi;
RGen rgen;
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 130,133 ****
--- 144,149 ----
IRand_kr::IRand_kr(int argc, t_atom *argv)
{
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
+
AtomList Args(argc,argv);
if (Args.Count() != 2)
***************
*** 139,143 ****
hi=int(sc_getfloatarg(Args,1));
! rgen.init(0);
AddOutInt();
--- 155,159 ----
hi=int(sc_getfloatarg(Args,1));
! rgen.init(timeseed());
AddOutInt();
Index: Dust2.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/Dust2.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Dust2.cpp 14 Jul 2004 18:29:52 -0000 1.2
--- Dust2.cpp 15 Jul 2004 19:05:05 -0000 1.3
***************
*** 65,71 ****
--- 65,77 ----
m_scale = m_thresh > 0.f ? 1.f / m_thresh : 0.f;
}
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
FLEXT_CALLBACK_F(m_set);
+ FLEXT_CALLBACK_I(m_seed);
float m_density, m_thresh, m_scale;
RGen rgen;
***************
*** 78,81 ****
--- 84,88 ----
{
FLEXT_ADDMETHOD_(0,"set",m_set);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
***************
*** 83,87 ****
m_density=sc_getfloatarg(Args,0);
! rgen.init(0); //set seed to 0
AddOutSignal();
--- 90,94 ----
m_density=sc_getfloatarg(Args,0);
! rgen.init(timeseed());
AddOutSignal();
***************
*** 131,134 ****
--- 138,146 ----
Timer Dust2_timer;
void m_doit(void*);
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 137,140 ****
--- 149,153 ----
RGen rgen;
FLEXT_CALLBACK_1(m_set,float);
+ FLEXT_CALLBACK_I(m_seed);
FLEXT_CALLBACK_T(m_doit);
};
***************
*** 146,149 ****
--- 159,163 ----
{
FLEXT_ADDMETHOD(0,m_set);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
***************
*** 151,155 ****
m_density=sc_getfloatarg(Args,0);
! rgen.init(0); //set seed to 0
AddOutFloat();
--- 165,169 ----
m_density=sc_getfloatarg(Args,0);
! rgen.init(timeseed());
AddOutFloat();
Index: PinkNoise.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/PinkNoise.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** PinkNoise.cpp 14 Jul 2004 16:21:44 -0000 1.1.1.1
--- PinkNoise.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 58,61 ****
--- 58,66 ----
protected:
virtual void m_signal(int n, t_sample *const *in, t_sample *const *out);
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 63,66 ****
--- 68,72 ----
int32 m_total;
RGen rgen;
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 70,78 ****
: m_total(0)
{
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
for (int i=0; i<16; ++i)
--- 76,85 ----
: m_total(0)
{
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
for (int i=0; i<16; ++i)
***************
*** 124,127 ****
--- 131,139 ----
protected:
void m_perform();
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 130,133 ****
--- 142,146 ----
RGen rgen;
FLEXT_CALLBACK(m_perform);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 138,146 ****
{
FLEXT_ADDBANG(0,m_perform);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
for (int i=0; i<16; ++i)
--- 151,160 ----
{
FLEXT_ADDBANG(0,m_perform);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
for (int i=0; i<16; ++i)
Index: Rand.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/Rand.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Rand.cpp 14 Jul 2004 18:34:35 -0000 1.1
--- Rand.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 59,62 ****
--- 59,67 ----
virtual void m_signal(int n, t_sample *const *in, t_sample *const *out);
virtual void m_dsp(int n, t_sample *const *in, t_sample *const *out);
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 65,68 ****
--- 70,74 ----
float hi;
RGen rgen;
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 71,74 ****
--- 77,82 ----
Rand_ar::Rand_ar(int argc, t_atom *argv)
{
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
+
AtomList Args(argc,argv);
***************
*** 81,85 ****
hi=sc_getfloatarg(Args,1);
! rgen.init(0); //this should be changed
AddOutSignal();
--- 89,93 ----
hi=sc_getfloatarg(Args,1);
! rgen.init(timeseed());
AddOutSignal();
***************
*** 120,127 ****
--- 128,141 ----
void m_loadbang();
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
+
private:
float lo;
float hi;
RGen rgen;
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 130,133 ****
--- 144,149 ----
Rand_kr::Rand_kr(int argc, t_atom *argv)
{
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
+
AtomList Args(argc,argv);
if (Args.Count() != 2)
***************
*** 139,144 ****
hi=sc_getfloatarg(Args,1);
! rgen.init(0);
!
AddOutFloat();
}
--- 155,160 ----
hi=sc_getfloatarg(Args,1);
! rgen.init(timeseed());
!
AddOutFloat();
}
--- NEW FILE: ExpRand.cpp ---
/* sc4pd
ExpRand, ExpRand~
Copyright (c) 2004 Tim Blechmann.
This code is derived from:
SuperCollider real time audio synthesis system
Copyright (c) 2002 James McCartney. All rights reserved.
http://www.audiosynth.com
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Based on:
PureData by Miller Puckette and others.
http://www.crca.ucsd.edu/~msp/software.html
FLEXT by Thomas Grill
http://www.parasitaere-kapazitaeten.net/ext
SuperCollider by James McCartney
http://www.audiosynth.com
Coded while listening to: Jim O'Rourke & Loren Mazzacane Connors: In Bern
*/
#include <flext.h>
#include "SC_PlugIn.h"
#include "support.hpp"
#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 406)
#error You need at least FLEXT version 0.4.6
#endif
/* ------------------------ ExpRand~ -------------------------------*/
class ExpRand_ar:
public flext_dsp
{
FLEXT_HEADER(ExpRand_ar,flext_dsp);
public:
ExpRand_ar(int argc, t_atom *argv);
protected:
virtual void m_signal(int n, t_sample *const *in, t_sample *const *out);
virtual void m_dsp(int n, t_sample *const *in, t_sample *const *out);
void m_seed(int i)
{
rgen.init(i);
}
private:
float m_sample;
float lo;
float hi;
int sc_n;
RGen rgen;
FLEXT_CALLBACK_I(m_seed);
};
FLEXT_LIB_DSP_V("ExpRand~",ExpRand_ar);
ExpRand_ar::ExpRand_ar(int argc, t_atom *argv)
{
FLEXT_ADDMETHOD_(0,"seed",m_seed);
AtomList Args(argc,argv);
if (Args.Count() != 2)
{
post("not enough arguments");
return;
}
lo=sc_getfloatarg(Args,0);
hi=sc_getfloatarg(Args,1);
rgen.init(timeseed());
AddOutSignal();
}
void ExpRand_ar::m_dsp(int n, t_sample *const *in, t_sample *const *out)
{
float ratio = hi / lo;
m_sample = pow(ratio,rgen.frand()) * lo);
}
void ExpRand_ar::m_signal(int n, t_sample *const *in,
t_sample *const *out)
{
t_sample *nout = *out;
float sample = m_sample;
for (int i = 0; i!= n;++i)
{
(*(nout)++) = sample;
}
}
/* ------------------------ ExpRand ---------------------------------*/
class ExpRand_kr:
public flext_base
{
FLEXT_HEADER(ExpRand_kr,flext_base);
public:
ExpRand_kr(int argc, t_atom *argv);
protected:
void m_loadbang();
void m_seed(int i)
{
rgen.init(i);
}
private:
float lo;
float hi;
int sc_n;
RGen rgen;
FLEXT_CALLBACK_I(m_seed);
};
FLEXT_LIB_V("ExpRand",ExpRand_kr);
ExpRand_kr::ExpRand_kr(int argc, t_atom *argv)
{
FLEXT_ADDMETHOD_(0,"seed",m_seed);
AtomList Args(argc,argv);
if (Args.Count() != 2)
{
post("not enough arguments");
return;
}
lo=sc_getfloatarg(Args,0);
hi=sc_getfloatarg(Args,1);
rgen.init(timeseed());
AddOutFloat();
}
void ExpRand_kr::m_loadbang()
{
float ratio = hi / lo;
ToOutFloat(0,pow(ratio,rgen.frand()) * lo);
}
Index: TIRand.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/TIRand.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TIRand.cpp 14 Jul 2004 22:07:27 -0000 1.1
--- TIRand.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 74,77 ****
--- 74,81 ----
}
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 85,88 ****
--- 89,93 ----
FLEXT_CALLBACK_I(m_setlo);
FLEXT_CALLBACK_I(m_sethi);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 102,106 ****
range = hi - lo;
! rgen.init(0); //this should be changed
AddOutSignal();
--- 107,111 ----
range = hi - lo;
! rgen.init(timeseed());
AddOutSignal();
***************
*** 109,112 ****
--- 114,118 ----
FLEXT_ADDMETHOD_(0,"setlo",m_setlo);
FLEXT_ADDMETHOD_(0,"sethi",m_sethi);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
}
***************
*** 161,164 ****
--- 167,175 ----
}
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
+
private:
int lo;
***************
*** 169,172 ****
--- 180,184 ----
FLEXT_CALLBACK_I(m_setlo);
FLEXT_CALLBACK_I(m_sethi);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 185,189 ****
range = hi - lo;
! rgen.init(0);
AddOutInt();
--- 197,201 ----
range = hi - lo;
! rgen.init(timeseed());
AddOutInt();
***************
*** 192,195 ****
--- 204,208 ----
FLEXT_ADDMETHOD_(0,"setlo",m_setlo);
FLEXT_ADDMETHOD_(0,"sethi",m_sethi);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
}
Index: BrownNoise.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/BrownNoise.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** BrownNoise.cpp 14 Jul 2004 16:21:44 -0000 1.1.1.1
--- BrownNoise.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 59,65 ****
--- 59,71 ----
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);
};
***************
*** 68,78 ****
BrownNoise_ar::BrownNoise_ar(int argc, t_atom *argv)
{
-
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
m_level=rgen.frand2();
!
AddOutSignal();
}
--- 74,85 ----
BrownNoise_ar::BrownNoise_ar(int argc, t_atom *argv)
{
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
m_level=rgen.frand2();
!
! FLEXT_ADDMETHOD_(0,"seed",m_seed);
!
AddOutSignal();
}
***************
*** 116,119 ****
--- 123,131 ----
protected:
void m_perform();
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 121,124 ****
--- 133,137 ----
RGen rgen;
FLEXT_CALLBACK(m_perform);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 128,136 ****
{
FLEXT_ADDBANG(0,m_perform);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
m_level=rgen.frand2();
--- 141,150 ----
{
FLEXT_ADDBANG(0,m_perform);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
m_level=rgen.frand2();
Index: GrayNoise.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/GrayNoise.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** GrayNoise.cpp 14 Jul 2004 16:21:44 -0000 1.1.1.1
--- GrayNoise.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 58,65 ****
--- 58,71 ----
protected:
virtual void m_signal(int n, t_sample *const *in, t_sample *const *out);
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
int m_counter;
RGen rgen;
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 68,76 ****
GrayNoise_ar::GrayNoise_ar(int argc, t_atom *argv)
{
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
AddOutSignal();
--- 74,83 ----
GrayNoise_ar::GrayNoise_ar(int argc, t_atom *argv)
{
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
AddOutSignal();
***************
*** 109,112 ****
--- 116,124 ----
protected:
void m_perform();
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 114,117 ****
--- 126,130 ----
RGen rgen;
FLEXT_CALLBACK(m_perform);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 121,129 ****
{
FLEXT_ADDBANG(0,m_perform);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
AddOutFloat();
--- 134,143 ----
{
FLEXT_ADDBANG(0,m_perform);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
AddOutFloat();
Index: TRand.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/TRand.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TRand.cpp 14 Jul 2004 22:07:27 -0000 1.1
--- TRand.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 74,77 ****
--- 74,81 ----
}
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 85,88 ****
--- 89,93 ----
FLEXT_CALLBACK_F(m_setlo);
FLEXT_CALLBACK_F(m_sethi);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 102,106 ****
range = hi - lo;
! rgen.init(0); //this should be changed
AddOutSignal();
--- 107,111 ----
range = hi - lo;
! rgen.init(timeseed());
AddOutSignal();
***************
*** 109,112 ****
--- 114,118 ----
FLEXT_ADDMETHOD_(0,"setlo",m_setlo);
FLEXT_ADDMETHOD_(0,"sethi",m_sethi);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
}
***************
*** 161,164 ****
--- 167,175 ----
}
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
+
private:
float lo;
***************
*** 169,172 ****
--- 180,184 ----
FLEXT_CALLBACK_F(m_setlo);
FLEXT_CALLBACK_F(m_sethi);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 185,189 ****
range = hi - lo;
! rgen.init(0);
AddOutFloat();
--- 197,201 ----
range = hi - lo;
! rgen.init(timeseed());
AddOutFloat();
***************
*** 192,195 ****
--- 204,208 ----
FLEXT_ADDMETHOD_(0,"setlo",m_setlo);
FLEXT_ADDMETHOD_(0,"sethi",m_sethi);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
}
Index: WhiteNoise.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/WhiteNoise.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** WhiteNoise.cpp 14 Jul 2004 16:21:44 -0000 1.1.1.1
--- WhiteNoise.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 58,64 ****
--- 58,70 ----
protected:
virtual void m_signal(int n, t_sample *const *in, t_sample *const *out);
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
RGen rgen;
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 67,75 ****
WhiteNoise_ar::WhiteNoise_ar(int argc, t_atom *argv)
{
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
AddOutSignal();
--- 73,82 ----
WhiteNoise_ar::WhiteNoise_ar(int argc, t_atom *argv)
{
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
AddOutSignal();
***************
*** 105,112 ****
--- 112,125 ----
protected:
void m_perform();
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
RGen rgen;
FLEXT_CALLBACK(m_perform);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 116,124 ****
{
FLEXT_ADDBANG(0,m_perform);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
AddOutFloat();
--- 129,138 ----
{
FLEXT_ADDBANG(0,m_perform);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
AddOutFloat();
Index: ClipNoise.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/ClipNoise.cpp,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** ClipNoise.cpp 14 Jul 2004 16:21:44 -0000 1.1.1.1
--- ClipNoise.cpp 15 Jul 2004 19:05:05 -0000 1.2
***************
*** 58,64 ****
--- 58,70 ----
protected:
virtual void m_signal(int n, t_sample *const *in, t_sample *const *out);
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
RGen rgen;
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 67,75 ****
ClipNoise_ar::ClipNoise_ar(int argc, t_atom *argv)
{
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
AddOutSignal();
--- 73,82 ----
ClipNoise_ar::ClipNoise_ar(int argc, t_atom *argv)
{
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
AddOutSignal();
***************
*** 105,112 ****
--- 112,125 ----
protected:
void m_perform();
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
RGen rgen;
FLEXT_CALLBACK(m_perform);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 116,124 ****
{
FLEXT_ADDBANG(0,m_perform);
!
//parse arguments
AtomList Args(argc,argv);
! rgen.init(0); //set seed to 0
AddOutFloat();
--- 129,137 ----
{
FLEXT_ADDBANG(0,m_perform);
! FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
AtomList Args(argc,argv);
! rgen.init(timeseed());
AddOutFloat();
Index: Dust.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/Dust.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Dust.cpp 14 Jul 2004 18:29:52 -0000 1.2
--- Dust.cpp 15 Jul 2004 19:05:05 -0000 1.3
***************
*** 64,70 ****
--- 64,76 ----
m_scale = m_thresh > 0.f ? 1.f / m_thresh : 0.f;
}
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
FLEXT_CALLBACK_F(m_set);
+ FLEXT_CALLBACK_I(m_seed);
float m_density, m_thresh, m_scale;
RGen rgen;
***************
*** 77,80 ****
--- 83,87 ----
{
FLEXT_ADDMETHOD_(0,"set",m_set);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
***************
*** 82,86 ****
m_density=sc_getfloatarg(Args,0);
! rgen.init(0); //set seed to 0
AddOutSignal();
--- 89,94 ----
m_density=sc_getfloatarg(Args,0);
! rgen.init(timeseed());
!
AddOutSignal();
***************
*** 130,133 ****
--- 138,146 ----
Timer Dust_timer;
void m_doit(void*);
+
+ void m_seed(int i)
+ {
+ rgen.init(i);
+ }
private:
***************
*** 137,140 ****
--- 150,154 ----
FLEXT_CALLBACK_1(m_set,float);
FLEXT_CALLBACK_T(m_doit);
+ FLEXT_CALLBACK_I(m_seed);
};
***************
*** 145,148 ****
--- 159,163 ----
{
FLEXT_ADDMETHOD(0,m_set);
+ FLEXT_ADDMETHOD_(0,"seed",m_seed);
//parse arguments
***************
*** 150,154 ****
m_density=sc_getfloatarg(Args,0);
! rgen.init(0); //set seed to 0
AddOutFloat();
--- 165,169 ----
m_density=sc_getfloatarg(Args,0);
! rgen.init(timeseed());
AddOutFloat();
More information about the Pd-cvs
mailing list