[PD-cvs] externals/sc4pd/source LFClipNoise.cpp,NONE,1.1 LFNoise0.cpp,NONE,1.1 ClipNoise.cpp,1.2,1.3 ExpRand.cpp,1.1,1.2 main.cpp,1.4,1.5 support.cpp,1.1,1.2
Tim Blechmann
timblech at users.sourceforge.net
Thu Jul 15 23:34:14 CEST 2004
- Previous message: [PD-cvs] externals/sc4pd/pd clipnoise.pd,NONE,1.1 lfclipnoise.pd,NONE,1.1 lfnoise0.pd,NONE,1.1
- Next message: [PD-cvs] externals/sc4pd config-pd-linux.txt,1.1.1.1,1.2 make-files.txt,1.4,1.5 makefile.pd-linux,1.1.1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/pure-data/externals/sc4pd/source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29224/source
Modified Files:
ClipNoise.cpp ExpRand.cpp main.cpp support.cpp
Added Files:
LFClipNoise.cpp LFNoise0.cpp
Log Message:
the work of this evening ...
Index: main.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/main.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** main.cpp 15 Jul 2004 19:05:05 -0000 1.4
--- main.cpp 15 Jul 2004 21:34:12 -0000 1.5
***************
*** 57,61 ****
"PinkNoise(~), \n Crackle(~), Rand(~), TRand(~), "
"TExpRand(~), IRand(~), TIRand(~),\n CoinGate, "
! "LinRand(~), NRand(~), ExpRand(~)\n");
//initialize objects
--- 57,62 ----
"PinkNoise(~), \n Crackle(~), Rand(~), TRand(~), "
"TExpRand(~), IRand(~), TIRand(~),\n CoinGate, "
! "LinRand(~), NRand(~), ExpRand(~), LFClipNoise(~),\n"
! " LFNoise0(~)\n");
//initialize objects
***************
*** 118,121 ****
--- 119,128 ----
FLEXT_DSP_SETUP(ExpRand_ar);
FLEXT_SETUP(ExpRand_kr);
+
+ FLEXT_DSP_SETUP(LFClipNoise_ar);
+ FLEXT_SETUP(LFClipNoise_kr);
+
+ FLEXT_DSP_SETUP(LFNoise0_ar);
+ FLEXT_SETUP(LFNoise0_kr);
}
Index: ExpRand.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/ExpRand.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ExpRand.cpp 15 Jul 2004 19:05:05 -0000 1.1
--- ExpRand.cpp 15 Jul 2004 21:34:12 -0000 1.2
***************
*** 98,102 ****
{
float ratio = hi / lo;
! m_sample = pow(ratio,rgen.frand()) * lo);
}
--- 98,102 ----
{
float ratio = hi / lo;
! m_sample = pow(ratio,rgen.frand()) * lo;
}
--- NEW FILE: LFNoise0.cpp ---
/* sc4pd
LFNoise0, LFNoise0~
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: Elliott Sharp: Revenge Of The Stuttering Child
*/
#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
/* ------------------------ LFNoise0~ -------------------------------*/
class LFNoise0_ar:
public flext_dsp
{
FLEXT_HEADER(LFNoise0_ar,flext_dsp);
public:
LFNoise0_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);
}
void m_set(float f)
{
m_freq = f;
}
private:
RGen rgen;
float m_freq;
float m_level;
int m_counter;
int m_sr;
FLEXT_CALLBACK_I(m_seed);
FLEXT_CALLBACK_F(m_set);
};
FLEXT_LIB_DSP_V("LFNoise0~",LFNoise0_ar);
LFNoise0_ar::LFNoise0_ar(int argc, t_atom *argv)
{
FLEXT_ADDMETHOD_(0,"seed",m_seed);
FLEXT_ADDMETHOD_(0,"set",m_set);
//parse arguments
AtomList Args(argc,argv);
m_freq = sc_getfloatarg(Args,0);
m_counter=0;
m_level=0;
rgen.init(timeseed());
AddOutSignal();
}
void LFNoise0_ar::m_dsp(int n, t_sample *const *in,
t_sample *const *out)
{
m_sr = Samplerate();
}
void LFNoise0_ar::m_signal(int n, t_sample *const *in,
t_sample *const *out)
{
t_sample *nout = *out;
float level = m_level;
int32 counter = m_counter;
RGET;
int remain = n;
do
{
if (counter<=0)
{
counter = (int)(m_sr / sc_max(m_freq, .001f));
counter = sc_max(1, counter);
level = frand2(s1,s2,s3);
}
int nsmps = sc_min(remain, counter);
remain -= nsmps;
counter -= nsmps;
for (int i = 0; i!= nsmps;++i)
{
(*(nout)++)=level;
}
}
while(remain);
m_level = level;
m_counter = counter;
RPUT;
}
/* ------------------------ LFNoise0 ---------------------------------*/
class LFNoise0_kr:
public flext_base
{
FLEXT_HEADER(LFNoise0_kr,flext_base);
public:
LFNoise0_kr(int argc, t_atom *argv);
protected:
void m_perform();
void m_seed(int i)
{
rgen.init(i);
}
void m_set(float f)
{
double dt = sc_min(1/f, .001f);
m_timer.Reset();
m_timer.Periodic(1000*dt);
}
private:
RGen rgen;
Timer m_timer;
FLEXT_CALLBACK_I(m_seed);
FLEXT_CALLBACK_T(m_perform);
FLEXT_CALLBACK_F(m_set);
};
FLEXT_LIB_V("LFNoise0",LFNoise0_kr);
LFNoise0_kr::LFNoise0_kr(int argc, t_atom *argv)
{
FLEXT_ADDMETHOD_(0,"seed",m_seed);
FLEXT_ADDMETHOD_(0,"set",m_set);
FLEXT_ADDTIMER(m_timer,m_perform);
//parse arguments
AtomList Args(argc,argv);
double dt = sc_min(1/sc_getfloatarg(Args,0), .001f);
rgen.init(timeseed());
m_timer.Periodic(1000*dt);
AddOutFloat();
}
void LFNoise0_kr::m_perform()
{
ToOutFloat(0,rgen.frand2());
}
--- NEW FILE: LFClipNoise.cpp ---
/* sc4pd
LFClipNoise, LFClipNoise~
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: Elliott Sharp: Revenge Of The Stuttering Child
*/
#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
/* ------------------------ LFClipNoise~ -------------------------------*/
class LFClipNoise_ar:
public flext_dsp
{
FLEXT_HEADER(LFClipNoise_ar,flext_dsp);
public:
LFClipNoise_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);
}
void m_set(float f)
{
m_freq = f;
}
private:
RGen rgen;
float m_freq;
float m_level;
int m_counter;
int m_sr;
FLEXT_CALLBACK_I(m_seed);
FLEXT_CALLBACK_F(m_set);
};
FLEXT_LIB_DSP_V("LFClipNoise~",LFClipNoise_ar);
LFClipNoise_ar::LFClipNoise_ar(int argc, t_atom *argv)
{
FLEXT_ADDMETHOD_(0,"seed",m_seed);
FLEXT_ADDMETHOD_(0,"set",m_set);
//parse arguments
AtomList Args(argc,argv);
m_freq = sc_getfloatarg(Args,0);
m_counter=0;
m_level=0;
rgen.init(timeseed());
AddOutSignal();
}
void LFClipNoise_ar::m_dsp(int n, t_sample *const *in,
t_sample *const *out)
{
m_sr = Samplerate();
}
void LFClipNoise_ar::m_signal(int n, t_sample *const *in,
t_sample *const *out)
{
t_sample *nout = *out;
float level = m_level;
int32 counter = m_counter;
RGET;
int remain = n;
do
{
if (counter<=0)
{
counter = (int)(m_sr / sc_max(m_freq, .001f));
counter = sc_max(1, counter);
level = fcoin(s1,s2,s3);
}
int nsmps = sc_min(remain, counter);
remain -= nsmps;
counter -= nsmps;
for (int i = 0; i!= nsmps;++i)
{
(*(nout)++)=level;
}
}
while(remain);
m_level = level;
m_counter = counter;
RPUT;
}
/* ------------------------ LFClipNoise ---------------------------------*/
class LFClipNoise_kr:
public flext_base
{
FLEXT_HEADER(LFClipNoise_kr,flext_base);
public:
LFClipNoise_kr(int argc, t_atom *argv);
protected:
void m_perform();
void m_seed(int i)
{
rgen.init(i);
}
void m_set(float f)
{
double dt = sc_min(1/f, .001f);
m_timer.Reset();
m_timer.Periodic(1000*dt);
}
private:
RGen rgen;
Timer m_timer;
FLEXT_CALLBACK_I(m_seed);
FLEXT_CALLBACK_T(m_perform);
FLEXT_CALLBACK_F(m_set);
};
FLEXT_LIB_V("LFClipNoise",LFClipNoise_kr);
LFClipNoise_kr::LFClipNoise_kr(int argc, t_atom *argv)
{
FLEXT_ADDMETHOD_(0,"seed",m_seed);
FLEXT_ADDMETHOD_(0,"set",m_set);
FLEXT_ADDTIMER(m_timer,m_perform);
//parse arguments
AtomList Args(argc,argv);
double dt = sc_min(1/sc_getfloatarg(Args,0), .001f);
rgen.init(timeseed());
m_timer.Periodic(1000*dt);
AddOutFloat();
}
void LFClipNoise_kr::m_perform()
{
ToOutFloat(0,rgen.fcoin());
}
Index: support.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/support.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** support.cpp 15 Jul 2004 19:03:22 -0000 1.1
--- support.cpp 15 Jul 2004 21:34:12 -0000 1.2
***************
*** 36,42 ****
#include <flext.h>
#include "SC_PlugIn.h"
- #include <sys/time.h>
#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 406)
--- 36,42 ----
#include <flext.h>
+ #include <flsupport.h>
#include "SC_PlugIn.h"
#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 406)
***************
*** 44,48 ****
#endif
-
bool sc_add (flext::AtomList a)
{
--- 44,47 ----
***************
*** 97,102 ****
{
static int32 count = 0;
! struct timeval tv;
! gettimeofday(&tv, 0);
! return (int32)tv.tv_sec ^ (int32)tv.tv_usec ^ count--;
}
--- 96,110 ----
{
static int32 count = 0;
!
! double time = flext::GetOSTime();
!
! double sec = trunc(time);
! double usec = (time-sec)*1e6;
!
! time_t tsec = sec;
! suseconds_t tusec =usec; /* not exacty the way, it's calculated
! in SuperCollider, but it's only
! the seed */
!
! return (int32)tsec ^ (int32)tusec ^ count--;
}
Index: ClipNoise.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/sc4pd/source/ClipNoise.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ClipNoise.cpp 15 Jul 2004 19:05:05 -0000 1.2
--- ClipNoise.cpp 15 Jul 2004 21:34:12 -0000 1.3
***************
*** 135,143 ****
rgen.init(timeseed());
! AddOutFloat();
}
void ClipNoise_kr::m_perform()
{
! ToOutFloat(0,rgen.fcoin());
}
--- 135,143 ----
rgen.init(timeseed());
! AddOutInt();
}
void ClipNoise_kr::m_perform()
{
! ToOutInt(0,rgen.fcoin());
}
- Previous message: [PD-cvs] externals/sc4pd/pd clipnoise.pd,NONE,1.1 lfclipnoise.pd,NONE,1.1 lfnoise0.pd,NONE,1.1
- Next message: [PD-cvs] externals/sc4pd config-pd-linux.txt,1.1.1.1,1.2 make-files.txt,1.4,1.5 makefile.pd-linux,1.1.1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Pd-cvs
mailing list