aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flsndobj.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext/source/flsndobj.cpp')
-rw-r--r--externals/grill/flext/source/flsndobj.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/externals/grill/flext/source/flsndobj.cpp b/externals/grill/flext/source/flsndobj.cpp
index e377b4a7..c3b54014 100644
--- a/externals/grill/flext/source/flsndobj.cpp
+++ b/externals/grill/flext/source/flsndobj.cpp
@@ -8,9 +8,18 @@ flext_sndobj::flext_sndobj():
smprt(0),blsz(0)
{}
-flext_sndobj::~flext_sndobj()
+bool flext_sndobj::Init()
+{
+ bool ret = flext_dsp::Init();
+ inobjs = CntInSig();
+ outobjs = CntOutSig();
+ return ret;
+}
+
+void flext_sndobj::Exit()
{
ClearObjs();
+ flext_dsp::Exit();
}
void flext_sndobj::ClearObjs()
@@ -43,13 +52,13 @@ void flext_sndobj::m_dsp(int n,t_sample *const *in,t_sample *const *out)
smprt = Samplerate();
// set up sndobjs for inlets and outlets
- inobj = new Inlet *[inobjs = CntInSig()];
+ inobj = new Inlet *[inobjs];
tmpobj = new SndObj *[inobjs];
for(i = 0; i < inobjs; ++i) {
inobj[i] = new Inlet(in[i],blsz,smprt);
tmpobj[i] = new SndObj(NULL,blsz,smprt);
}
- outobj = new Outlet *[outobjs = CntInSig()];
+ outobj = new Outlet *[outobjs];
for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(out[i],blsz,smprt);
NewObjs();