aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/xsample/source/record.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/xsample/source/record.cpp')
-rw-r--r--externals/grill/xsample/source/record.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/externals/grill/xsample/source/record.cpp b/externals/grill/xsample/source/record.cpp
index d6b9e70e..02ab41b8 100644
--- a/externals/grill/xsample/source/record.cpp
+++ b/externals/grill/xsample/source/record.cpp
@@ -67,10 +67,7 @@ private:
TMPLSIGFUN(s_rec);
DEFSIGCALL(recfun);
- virtual V m_signal(I n,S *const *in,S *const *out)
- {
- if(bufchk()) recfun(n,in,out);
- }
+ virtual V m_signal(I n,S *const *in,S *const *out);
FLEXT_CALLVAR_F(mg_pos,m_pos)
FLEXT_CALLBACK(m_all)
@@ -393,6 +390,16 @@ TMPLDEF V xrecord::s_rec(I n,S *const *invecs,S *const *outvecs)
if(lpbang) ToOutBang(3);
}
+V xrecord::m_signal(I n,S *const *in,S *const *out)
+{
+ if(bufchk())
+ // call the appropriate dsp function
+ recfun(n,in,out);
+ else
+ // set position signal to zero
+ ZeroSamples(out[0],n);
+}
+
V xrecord::s_dsp()
{
switch(buf->Channels()*1000+inchns) {