diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2005-09-12 10:27:40 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2005-09-12 10:27:40 +0000 |
commit | b8827f17107c537f192c60eef0d7840ba1d2d3e8 (patch) | |
tree | c6bca0b6b8b354e633218ffbd75166ae53ffe18e /externals/grill/flext/source/flsndobj.cpp | |
parent | 4aa3cf590de6c27f0e43be1bb29923097dbf0c96 (diff) |
changed initialization functions accordingly
minimal additions for buffers and exception handling
change click modifier to shift (seems to work)
small fixes for tutorial examples
added flfeatures.h for compile-time version-specific feature detection
added typed flext::NewAligned
fixed severe Altivec bug
adapted for pd-devel 0.39
- better handling of click callback
slimmed object data structures
update DSP methods for SndObj and STK classes
- more compatible handling of attributes in patcher (hiding is now an option - define FLEXT_ATTRHIDE)
better buffer checking
svn path=/trunk/; revision=3537
Diffstat (limited to 'externals/grill/flext/source/flsndobj.cpp')
-rw-r--r-- | externals/grill/flext/source/flsndobj.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/externals/grill/flext/source/flsndobj.cpp b/externals/grill/flext/source/flsndobj.cpp index 830a7b46..b884ce73 100644 --- a/externals/grill/flext/source/flsndobj.cpp +++ b/externals/grill/flext/source/flsndobj.cpp @@ -50,7 +50,7 @@ void flext_sndobj::ClearObjs() } } -void flext_sndobj::m_dsp(int n,t_sample *const *in,t_sample *const *out) +bool flext_sndobj::CbDsp() { // called on every rebuild of the dsp chain @@ -68,13 +68,13 @@ void flext_sndobj::m_dsp(int n,t_sample *const *in,t_sample *const *out) inobj = new Inlet *[inobjs]; tmpobj = new SndObj *[inobjs]; for(i = 0; i < inobjs; ++i) { - inobj[i] = new Inlet(in[i],blsz,smprt); + inobj[i] = new Inlet(InSig(i),blsz,smprt); tmpobj[i] = new SndObj(NULL,blsz,smprt); } } if(outobjs) { outobj = new Outlet *[outobjs]; - for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(out[i],blsz,smprt); + for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(OutSig(i),blsz,smprt); } if(!NewObjs()) ClearObjs(); @@ -82,12 +82,13 @@ void flext_sndobj::m_dsp(int n,t_sample *const *in,t_sample *const *out) else { // assign changed input/output vectors - for(i = 0; i < inobjs; ++i) inobj[i]->SetBuf(in[i]); - for(i = 0; i < outobjs; ++i) outobj[i]->SetBuf(out[i]); + 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_sndobj::m_signal(int n,t_sample *const *in,t_sample *const *out) +void flext_sndobj::CbSignal() { for(int i = 0; i < inobjs; ++i) *tmpobj[i] << *inobj[i]; ProcessObjs(); |