aboutsummaryrefslogtreecommitdiff
path: root/modules/extlib_util.h
diff options
context:
space:
mode:
authorTom Schouten <doelie@users.sourceforge.net>2006-08-25 23:07:37 +0000
committerTom Schouten <doelie@users.sourceforge.net>2006-08-25 23:07:37 +0000
commitfd57cb0fc97e8321a63c446a5fdf83c72804ea4b (patch)
tree10b7be9b4706d1462a8e0b1560d958c98c8388bd /modules/extlib_util.h
parent0c6ac2f761a2a8ddcde91a1afc80eeadfe2f0bc1 (diff)
removed envelope_utils.c - moved milliseconds_2_one_minus_realpole() to extlib_util.h as static inline
svn path=/trunk/externals/creb/; revision=5744
Diffstat (limited to 'modules/extlib_util.h')
-rw-r--r--modules/extlib_util.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/modules/extlib_util.h b/modules/extlib_util.h
index ea292be..195d85f 100644
--- a/modules/extlib_util.h
+++ b/modules/extlib_util.h
@@ -31,7 +31,17 @@
#define ENVELOPE_MIN ENVELOPE_RANGE
/* convert milliseconds to 1-p, with p a real pole */
-float milliseconds_2_one_minus_realpole(float time);
+static inline float milliseconds_2_one_minus_realpole(float time)
+{
+ float r;
+
+ if (time < 0.0f) time = 0.0f;
+ r = -expm1(1000.0f * log(ENVELOPE_RANGE) / (sys_getsr() * time));
+ if (!(r < 1.0f)) r = 1.0f;
+
+ //post("%f",r);
+ return r;
+}
typedef union