home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 February / PCWorld_2008-02_cd.bin / audio-video / reaper / reaper2028-install.exe / Effects / LOSER / 50HzKicker < prev    next >
Text File  |  2007-12-03  |  2KB  |  60 lines

  1. // (C) 2007, Michael Gruhn.
  2.  
  3. // NO WARRANTY IS GRANTED. THIS PLUG-IN IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
  4. // WARRANTY OF ANY KIND. NO LIABILITY IS GRANTED, INCLUDING, BUT NOT LIMITED TO,
  5. // ANY DIRECT OR INDIRECT,  SPECIAL,  INCIDENTAL OR CONSEQUENTIAL DAMAGE ARISING
  6. // OUT OF  THE  USE  OR INABILITY  TO  USE  THIS PLUG-IN,  COMPUTER FAILTURE  OF
  7. // MALFUNCTION INCLUDED.  THE USE OF THE SOURCE CODE,  EITHER  PARTIALLY  OR  IN
  8. // TOTAL, IS ONLY GRANTED,  IF USED IN THE SENSE OF THE AUTHOR'S INTENTION,  AND
  9. // USED WITH ACKNOWLEDGEMENT OF THE AUTHOR. FURTHERMORE IS THIS PLUG-IN A  THIRD
  10. // PARTY CONTRIBUTION,  EVEN IF INCLUDED IN REAPER(TM),  COCKOS INCORPORATED  OR
  11. // ITS AFFILIATES HAVE NOTHING TO DO WITH IT.  LAST BUT NOT LEAST, BY USING THIS
  12. // PLUG-IN YOU RELINQUISH YOUR CLAIM TO SUE IT'S AUTHOR, AS WELL AS THE CLAIM TO
  13. // ENTRUST SOMEBODY ELSE WITH DOING SO.
  14.  
  15. // Further more is this released under the GPL License:
  16. // http://www.gnu.org/licenses/gpl.html
  17.  
  18. desc:50 Hz Kicker (Kick Drum Enhancer)
  19.  
  20. slider1:50<10,200,1>Freqency (Hz)
  21. slider2:-12<-120,12,1>Wet (dB)
  22. slider3:-3<-120,12,1>Dry (dB)
  23.  
  24. @init
  25. b1Det = -exp(-300 / srate );
  26. a0Det = 1.0 + b1Det;
  27.  
  28. b1Env1 = -exp(-3 / srate );
  29. a0Env1 = 1.0 + b1Env1;
  30. b1Env2 = -exp(-30 / srate );
  31. a0Env2 = 1.0 + b1Env2;
  32.  
  33. @slider
  34.  
  35. adj = 2*$pi*slider1 / srate;
  36.  
  37.  
  38. wet = 2^(slider2/6);
  39. dry = 2^(slider3/6);
  40.  
  41. gain = 0;
  42. tmpDet = 0;
  43. tmpEnv1 = 0.1;
  44. tmpEnv2 = 0;
  45.  
  46. @sample
  47.  
  48. det = abs(sqrt(tmpDet = a0Det*(spl0+spl1)*2 - b1Det*tmpDet));
  49. env1 = sqrt(tmpEnv1 = a0Env1*det - b1Env1*tmpEnv1);
  50. env2 = sqrt(tmpEnv2 = a0Env2*det - b1Env2*tmpEnv2);
  51.  
  52. gain = min(max(env2/env1,1)-1,1);
  53.  
  54. gain == 0 ? pos=0;
  55.  
  56. spl0 = sin(pos)*gain*wet + spl0*dry;
  57. spl1 = sin(pos)*gain*wet + spl1*dry;
  58.  
  59. pos += adj;
  60.