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

  1. // (C) 2006, 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.  
  16. desc:5-Band Splitter (Splits In Low:CH1+2,Mid:CH3+4,High:CH5+6,Ueberhigh:CH7+8,SomeMore:CH9+10)
  17. slider1:200<0,22000,1>Frequency (Hz)
  18. slider2:2000<0,22000,1>Frequency (Hz)
  19. slider3:5000<0,22000,1>Frequency (Hz)
  20. slider4:8000<0,22000,1>Frequency (Hz)
  21.  
  22. @init
  23. cDenorm=10^-30;
  24.  
  25. @slider
  26.  
  27. freqHII = max(min(slider4,srate),slider3);
  28. xHII = exp(-2.0*$pi*freqHII/srate);
  29. a0HII = 1.0-xHII;
  30. b1HII = -xHII;
  31.  
  32. freqHI = max(min(min(slider3,srate),slider4),slider2);
  33. xHI = exp(-2.0*$pi*freqHI/srate);
  34. a0HI = 1.0-xHI;
  35. b1HI = -xHI;
  36.  
  37. freqMID = max(min(min(slider2,srate),slider3),slider1);
  38. xMID = exp(-2.0*$pi*freqMID/srate);
  39. a0MID = 1.0-xMID;
  40. b1MID = -xMID;
  41.  
  42. freqLOW = min(min(slider1,srate),slider3);
  43. xLOW = exp(-2.0*$pi*freqLOW/srate);
  44. a0LOW = 1.0-xLOW;
  45. b1LOW = -xLOW;
  46.  
  47. @sample
  48.  
  49. s0 = spl0;
  50. s1 = spl1;
  51. s0 = (tmplHII = a0HII*s0 - b1HII*tmplHII + cDenorm);
  52. s1 = (tmprHII = a0HII*s1 - b1HII*tmprHII + cDenorm);
  53. spl8 = spl0 - s0;
  54. spl9 = spl1 - s1;
  55.  
  56. spl0 = s0;
  57. spl1 = s1;
  58. s0 = (tmplHI = a0HI*s0 - b1HI*tmplHI + cDenorm);
  59. s1 = (tmprHI = a0HI*s1 - b1HI*tmprHI + cDenorm);
  60. spl6 = spl0 - s0;
  61. spl7 = spl1 - s1;
  62.  
  63. spl0 = s0;
  64. spl1 = s1;
  65. s0 = (tmplMID = a0MID*s0 - b1MID*tmplMID + cDenorm);
  66. s1 = (tmprMID = a0MID*s1 - b1MID*tmprMID + cDenorm);
  67. spl4 = spl0 - s0;
  68. spl5 = spl1 - s1;
  69.  
  70. spl0 = s0;
  71. spl1 = s1;
  72. s0 = (tmplLOW = a0LOW*s0 - b1LOW*tmplLOW + cDenorm);
  73. s1 = (tmprLOW = a0LOW*s1 - b1LOW*tmprLOW + cDenorm);
  74. spl2 = spl0 - s0;
  75. spl3 = spl1 - s1;
  76.  
  77. spl0 = s0;
  78. spl1 = s1;
  79.