# HG changeset patch # User alex # Date 1107171289 0 # Node ID 0293cab15c039606e162dd54ad0d784b042723ac # Parent b9a05a39572683362a0ea5c1c589b8c6b257cd77 af_softclip diff -r b9a05a395726 -r 0293cab15c03 libaf/af_tools.c --- a/libaf/af_tools.c Mon Jan 31 11:22:11 2005 +0000 +++ b/libaf/af_tools.c Mon Jan 31 11:34:49 2005 +0000 @@ -78,3 +78,15 @@ } return AF_OK; } + +/* Soft clipping, the sound of a dream, thanks to Jon Wattes + post to Musicdsp.org */ +inline float af_softclip(float a) +{ + if (a >= M_PI/2) + return 1.0; + else if (a <= -M_PI/2) + return -1.0; + else + return sin(a); +}