aboutsummaryrefslogtreecommitdiff
path: root/externals/grill
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-02-11 04:56:07 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-02-11 04:56:07 +0000
commit771bef794b7edb7ef6cbe78acf2ee93b39f10f74 (patch)
tree1760f275801be77be57e79a721a62e541c1048ab /externals/grill
parent18fe78414549e0d1630e35ae51c3268abecafa63 (diff)
Max: use high-priority click instead of qelem for message-posting
fixed flext::Timer::At method svn path=/trunk/; revision=2566
Diffstat (limited to 'externals/grill')
-rw-r--r--externals/grill/flext/changes.txt1
-rw-r--r--externals/grill/flext/source/flinternal.h4
-rwxr-xr-xexternals/grill/flext/source/fltimer.cpp8
3 files changed, 8 insertions, 5 deletions
diff --git a/externals/grill/flext/changes.txt b/externals/grill/flext/changes.txt
index d6ffec1e..845e5c8d 100644
--- a/externals/grill/flext/changes.txt
+++ b/externals/grill/flext/changes.txt
@@ -31,6 +31,7 @@ Version history:
- in ToOut check if we are inside dsp (and use ToQueue then...)
- some restructuring and use symbols (rather the char *) natively for AddMethod* and AddAttrib* functions
- added some more SIMD functionality
+- fixes to flext::Timer::At method
0.4.7:
- added flext::GetBool (just because flext::GetInt has been there for a while)
diff --git a/externals/grill/flext/source/flinternal.h b/externals/grill/flext/source/flinternal.h
index 82c3b0fe..d0d76eba 100644
--- a/externals/grill/flext/source/flinternal.h
+++ b/externals/grill/flext/source/flinternal.h
@@ -59,8 +59,8 @@ typedef t_perfroutine t_dspmethod;
#define qelem_new clock_new
#define qelem_free clock_free
-#define qelem_set clock_set
-#define qelem_front clock_set
+#define qelem_set clock_delay
+#define qelem_front clock_delay
#define qelem_unset clock_unset
#define CRITON()
diff --git a/externals/grill/flext/source/fltimer.cpp b/externals/grill/flext/source/fltimer.cpp
index c317df45..294da438 100755
--- a/externals/grill/flext/source/fltimer.cpp
+++ b/externals/grill/flext/source/fltimer.cpp
@@ -162,9 +162,11 @@ bool flext::Timer::At(double tm,void *data,bool dopast)
userdata = data;
period = 0;
#if FLEXT_SYS == FLEXT_SYS_PD
- const double ms = tm*1000.;
- if(dopast || clock_gettimesince(ms) <= 0)
- clock_set(clk,ms);
+ const double systm = clock_gettimesince(0);
+ double df = tm*1000.-systm;
+ if(dopast && df < 0) df = 0;
+ if(df >= 0)
+ clock_delay(clk,df);
#elif FLEXT_SYS == FLEXT_SYS_MAX
const double ms = tm*1000.;
double cur;