diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2009-04-01 21:13:09 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2009-04-01 21:13:09 +0000 |
commit | 0ed7a8b68dd73e2b0473b8127aeca99f3bac9061 (patch) | |
tree | 5c67818b38a5cc2f9caa5ca7f8640ca356adf02b /externals/grill/flext/source/flstk.cpp | |
parent | bb4c7f6a245394d09dac9adfb2efb093d3d98452 (diff) |
cleaned up grill externals - replaced with svn:externals to svn.grrrr.org/ext/trunk/
svn path=/trunk/; revision=10951
Diffstat (limited to 'externals/grill/flext/source/flstk.cpp')
-rw-r--r-- | externals/grill/flext/source/flstk.cpp | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/externals/grill/flext/source/flstk.cpp b/externals/grill/flext/source/flstk.cpp deleted file mode 100644 index f3161565..00000000 --- a/externals/grill/flext/source/flstk.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -#include "flext.h" -#include "flstk.h" - -flext_stk::flext_stk(): - inobjs(0),outobjs(0), - inobj(NULL),outobj(NULL), - smprt(0),blsz(0) -{} - -bool flext_stk::Init() -{ - bool ret = flext_dsp::Init(); - inobjs = CntInSig(); - outobjs = CntOutSig(); - return ret; -} - -void flext_stk::Exit() -{ - ClearObjs(); - flext_dsp::Exit(); -} - -void flext_stk::ClearObjs() -{ - FreeObjs(); - - if(inobj) { - for(int i = 0; i < inobjs; ++i) delete inobj[i]; - delete[] inobj; inobj = NULL; - } - if(outobj) { - for(int i = 0; i < outobjs; ++i) delete outobj[i]; - delete[] outobj; outobj = NULL; - } -} - -bool flext_stk::CbDsp() -{ - // called on every rebuild of the dsp chain - - int i; - - if(Blocksize() != blsz || Samplerate() != smprt) { - // block size or sample rate has changed... rebuild all objects - - ClearObjs(); - - smprt = Samplerate(); - blsz = Blocksize(); - Stk::setSampleRate(smprt); - - // set up sndobjs for inlets and outlets - if(inobjs) { - inobj = new Input *[inobjs]; - for(i = 0; i < inobjs; ++i) - inobj[i] = new Input(InSig(i),blsz); - } - if(outobjs) { - outobj = new Output *[outobjs]; - for(i = 0; i < outobjs; ++i) - outobj[i] = new Output(OutSig(i),blsz); - } - - if(!NewObjs()) ClearObjs(); - } - else { - // assign changed input/output vectors - - for(i = 0; i < inobjs; ++i) inobj[i]->SetBuf(InSig(i)); - for(i = 0; i < outobjs; ++i) outobj[i]->SetBuf(OutSig(i)); - } - return true; -} - -void flext_stk::CbSignal() -{ - if(inobjs || outobjs) ProcessObjs(blsz); -} - - -// inlet class - -flext_stk::Input::Input(const t_sample *b,int v): - buf(b),vecsz(v), - index(0) -{} - -MY_FLOAT *flext_stk::Input::tick(MY_FLOAT *vector,unsigned int vectorSize) -{ - for(unsigned int i = 0; i < vectorSize; i++) vector[i] = tick(); - return vector; -} - - -// outlet class - -flext_stk::Output::Output(t_sample *b,int v): - buf(b),vecsz(v), - index(0) -{} - -void flext_stk::Output::tick(const MY_FLOAT *vector,unsigned int vectorSize) -{ - for(unsigned int i = 0; i < vectorSize; i++) tick(vector[i]); -} - |