diff options
author | Tom Schouten <doelie@users.sourceforge.net> | 2006-08-25 23:07:37 +0000 |
---|---|---|
committer | Tom Schouten <doelie@users.sourceforge.net> | 2006-08-25 23:07:37 +0000 |
commit | fd57cb0fc97e8321a63c446a5fdf83c72804ea4b (patch) | |
tree | 10b7be9b4706d1462a8e0b1560d958c98c8388bd /modules/extlib_util.h | |
parent | 0c6ac2f761a2a8ddcde91a1afc80eeadfe2f0bc1 (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.h | 12 |
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 |