[PD-cvs] externals/unauthorized/stksitar~ Makefile,1.1,1.2 README,1.1,1.2 sitar.cc,1.1,1.2 sitar.h,1.1,1.2 stksitar~.cc,1.1,1.2
Yves Degoyon
sevyves at users.sourceforge.net
Sun Nov 14 23:46:54 CET 2004
Update of /cvsroot/pure-data/externals/unauthorized/stksitar~
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20979
Modified Files:
Makefile README sitar.cc sitar.h stksitar~.cc
Log Message:
adapted for STK 4.2.0
Index: stksitar~.cc
===================================================================
RCS file: /cvsroot/pure-data/externals/unauthorized/stksitar~/stksitar~.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** stksitar~.cc 16 Aug 2003 17:08:55 -0000 1.1
--- stksitar~.cc 14 Nov 2004 22:46:51 -0000 1.2
***************
*** 50,54 ****
return;
}
! x->x_stksitar->setFreq( (MY_FLOAT) ffreq );
x->x_freq = ffreq;
}
--- 50,54 ----
return;
}
! x->x_stksitar->setFreq( (StkFloat) ffreq );
x->x_freq = ffreq;
}
***************
*** 61,65 ****
return;
}
! x->x_stksitar->pluck( (MY_FLOAT) fpluck );
x->x_pluck = fpluck;
}
--- 61,65 ----
return;
}
! x->x_stksitar->pluck( (StkFloat) fpluck );
x->x_pluck = fpluck;
}
Index: README
===================================================================
RCS file: /cvsroot/pure-data/externals/unauthorized/stksitar~/README,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** README 16 Aug 2003 17:08:55 -0000 1.1
--- README 14 Nov 2004 22:46:51 -0000 1.2
***************
*** 1,4 ****
*****************************************************************************
! Version 0.01
embedding Perry Cook's ragamatic in Pure Data
copyright 2001 by Perry Cook
--- 1,4 ----
*****************************************************************************
! Version 0.2
embedding Perry Cook's ragamatic in Pure Data
copyright 2001 by Perry Cook
Index: Makefile
===================================================================
RCS file: /cvsroot/pure-data/externals/unauthorized/stksitar~/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Makefile 16 Aug 2003 17:08:55 -0000 1.1
--- Makefile 14 Nov 2004 22:46:51 -0000 1.2
***************
*** 22,27 ****
g++ -O3 -Wall -D__OS_Linux_ -g -I$(STK_HOME)/include -c sitar.cc
g++ $(LINUXCCFLAGS) $(LINUXINCLUDE) -I$(STK_HOME)/include -o $*.o -c $*.cc
! ld -export_dynamic -shared -o $*.pd_linux *.o $(STK_HOME)/src/stklib.a -lc -lm -lstdc++ -lg++
! #strip --strip-unneeded $*.pd_linux
rm -f *.o ../$*.pd_linux
ln -s $*/$*.pd_linux ..
--- 22,27 ----
g++ -O3 -Wall -D__OS_Linux_ -g -I$(STK_HOME)/include -c sitar.cc
g++ $(LINUXCCFLAGS) $(LINUXINCLUDE) -I$(STK_HOME)/include -o $*.o -c $*.cc
! g++ -export_dynamic -shared -o $*.pd_linux *.o $(STK_HOME)/src/libstk.a -lc -lm -lpthread
! strip --strip-unneeded $*.pd_linux
rm -f *.o ../$*.pd_linux
ln -s $*/$*.pd_linux ..
Index: sitar.cc
===================================================================
RCS file: /cvsroot/pure-data/externals/unauthorized/stksitar~/sitar.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** sitar.cc 16 Aug 2003 17:08:55 -0000 1.1
--- sitar.cc 14 Nov 2004 22:46:51 -0000 1.2
***************
*** 10,25 ****
#include "sitar.h"
! #ifndef MY_FLOAT
! #warning "weird : MY_FLOAT undefined"
! #define MY_FLOAT double
! #endif
!
! sitar :: sitar(MY_FLOAT lowestFreq)
{
length = (long) (SRATE / lowestFreq + 1);
! loopGain = (MY_FLOAT) 0.999;
loopFilt = new OneZero();
! loopFilt->setCoeff(0.01);
! delayLine = new DLineA(length);
delay = length/2;
delayTarg = delay;
--- 10,20 ----
#include "sitar.h"
! sitar :: sitar(StkFloat lowestFreq)
{
length = (long) (SRATE / lowestFreq + 1);
! loopGain = (StkFloat) 0.999;
loopFilt = new OneZero();
! loopFilt->setZero(0.01);
! delayLine = new DelayA(0.5 * length, length);
delay = length/2;
delayTarg = delay;
***************
*** 44,62 ****
}
! void sitar :: setFreq(MY_FLOAT frequency)
{
delayTarg = (SRATE / frequency);
delay = delayTarg * (1.0 + (0.05 * noise->tick()));
delayLine->setDelay(delay);
! loopGain = (MY_FLOAT) 0.995 + (frequency * (MY_FLOAT) 0.000001);
! if (loopGain>1.0) loopGain = (MY_FLOAT) 0.9995;
}
! void sitar :: pluck(MY_FLOAT amplitude)
{
envelope->keyOn();
}
! void sitar :: noteOn(MY_FLOAT freq, MY_FLOAT amp)
{
this->setFreq(freq);
--- 39,57 ----
}
! void sitar :: setFreq(StkFloat frequency)
{
delayTarg = (SRATE / frequency);
delay = delayTarg * (1.0 + (0.05 * noise->tick()));
delayLine->setDelay(delay);
! loopGain = (StkFloat) 0.995 + (frequency * (StkFloat) 0.000001);
! if (loopGain>1.0) loopGain = (StkFloat) 0.9995;
}
! void sitar :: pluck(StkFloat amplitude)
{
envelope->keyOn();
}
! void sitar :: noteOn(StkFloat freq, StkFloat amp)
{
this->setFreq(freq);
***************
*** 68,74 ****
}
! void sitar :: noteOff(MY_FLOAT amp)
{
! loopGain = (MY_FLOAT) 1.0 - amp;
#if defined(_debug_)
printf("sitar : NoteOff: Amp=%lf\n",amp);
--- 63,69 ----
}
! void sitar :: noteOff(StkFloat amp)
{
! loopGain = (StkFloat) 1.0 - amp;
#if defined(_debug_)
printf("sitar : NoteOff: Amp=%lf\n",amp);
***************
*** 76,82 ****
}
! MY_FLOAT sitar :: tick()
{
! MY_FLOAT temp;
temp = delayLine->lastOut();
--- 71,77 ----
}
! StkFloat sitar :: tick()
{
! StkFloat temp;
temp = delayLine->lastOut();
***************
*** 98,105 ****
}
! lastOutput = delayLine->tick(loopFilt->tick(temp)
+ (amPluck * envelope->tick() * noise->tick()));
! return lastOutput;
}
--- 93,100 ----
}
! lastOutput_ = delayLine->tick(loopFilt->tick(temp)
+ (amPluck * envelope->tick() * noise->tick()));
! return lastOutput_;
}
Index: sitar.h
===================================================================
RCS file: /cvsroot/pure-data/externals/unauthorized/stksitar~/sitar.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** sitar.h 16 Aug 2003 17:08:55 -0000 1.1
--- sitar.h 14 Nov 2004 22:46:51 -0000 1.2
***************
*** 11,42 ****
#define __sitar_h
! #include "Instrmnt.h"
! #include "DLineA.h"
#include "OneZero.h"
! #include "ADSR.h"
! #include "Noise.h"
! #include "Object.h"
class sitar : public Instrmnt
{
protected:
! DLineA *delayLine;
OneZero *loopFilt;
ADSR *envelope;
Noise *noise;
long length;
! MY_FLOAT loopGain;
! MY_FLOAT amPluck;
! MY_FLOAT delay;
! MY_FLOAT delayTarg;
public:
! sitar(MY_FLOAT lowestFreq);
~sitar();
void clear();
! virtual void setFreq(MY_FLOAT frequency);
! void pluck(MY_FLOAT amplitude);
! virtual void noteOn(MY_FLOAT freq, MY_FLOAT amp);
! virtual void noteOff(MY_FLOAT amp);
! virtual MY_FLOAT tick();
};
--- 11,41 ----
#define __sitar_h
! #include "Instrmnt.h"
! #include "DelayA.h"
#include "OneZero.h"
! #include "Noise.h"
! #include "ADSR.h"
class sitar : public Instrmnt
{
protected:
! DelayA *delayLine;
OneZero *loopFilt;
ADSR *envelope;
Noise *noise;
long length;
! StkFloat loopGain;
! StkFloat amPluck;
! StkFloat delay;
! StkFloat delayTarg;
public:
! sitar(StkFloat lowestFreq);
~sitar();
void clear();
! virtual void setFreq(StkFloat frequency);
! void pluck(StkFloat amplitude);
! virtual void noteOn(StkFloat freq, StkFloat amp);
! virtual void noteOff(StkFloat amp);
! virtual StkFloat tick();
};
More information about the Pd-cvs
mailing list