aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/xsample/source/groove.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/xsample/source/groove.cpp')
-rw-r--r--externals/grill/xsample/source/groove.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/externals/grill/xsample/source/groove.cpp b/externals/grill/xsample/source/groove.cpp
index fd899275..c989156e 100644
--- a/externals/grill/xsample/source/groove.cpp
+++ b/externals/grill/xsample/source/groove.cpp
@@ -1,7 +1,7 @@
/*
xsample - extended sample objects for Max/MSP and pd (pure data)
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
+Copyright (c) 2001-2007 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.
*/
@@ -322,7 +322,10 @@ void xgroove::s_pos_once(int n,t_sample *const *invecs,t_sample *const *outvecs)
else
s_pos_off(n,invecs,outvecs);
- if(UNLIKELY(lpbang)) ToOutBang(outchns+3);
+ if(UNLIKELY(lpbang)) {
+ doplay = false;
+ ToOutBang(outchns+3);
+ }
}
void xgroove::s_pos_loop(int n,t_sample *const *invecs,t_sample *const *outvecs)
@@ -361,6 +364,9 @@ void xgroove::s_pos_loop(int n,t_sample *const *invecs,t_sample *const *outvecs)
}
}
else {
+ ///////////////////////////////////
+ // Most of the time is spent in here
+ ///////////////////////////////////
for(int i = 0; i < n; ++i) {
const t_sample spd = speed[i]; // must be first because the vector is reused for output!
@@ -756,7 +762,7 @@ bool xgroove::do_xzone()
void xgroove::m_help()
{
post("%s - part of xsample objects, version " XSAMPLE_VERSION,thisName());
- post("(C) Thomas Grill, 2001-2006");
+ post("(C) Thomas Grill, 2001-2007");
#if FLEXT_SYS == FLEXT_SYS_MAX
post("Arguments: %s [channels=1] [buffer]",thisName());
#else