home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 February / PCWorld_2008-02_cd.bin / audio-video / reaper / reaper2028-install.exe / Effects / LOSER / TimeDelayer < prev    next >
Text File  |  2007-12-03  |  2KB  |  53 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. desc:Time Delayer
  16.  
  17. slider1:0<-100,100,1>Delay (Left) (ms)
  18. slider2:0<-100,100,1>Delay (Right) (ms)
  19.  
  20. @slider
  21. slider1 >= 0 && slider2 >= 0 ?
  22. (
  23.   buflL = floor(slider1 / 1000 * srate) ;
  24.   buflR = floor(slider2 / 1000 * srate) + buflL+1;
  25.  
  26. ):(
  27.  
  28.   slider1 <= slider2 ?
  29.   (
  30.     buflL = 0 ;
  31.     buflR = floor((slider2-slider1) / 1000 * srate) + buflL+1;
  32.   ):(
  33.     buflL = floor((slider1-slider2) / 1000 * srate) ;
  34.     buflR = buflL+1;
  35.   );
  36.  
  37.   pdc_delay = floor(min( -min(slider1,slider2)/1000 * srate,500000));
  38.   pdc_bot_ch=0; pdc_top_ch=2;
  39.  
  40. );
  41.  
  42. @sample
  43. bufLpos[0] = spl0 ;
  44. bufLpos = bufLpos + 1 ;
  45. bufLpos >= buflL ? bufLpos = 0;
  46.  
  47. bufRpos[0] = spl1 ;
  48. bufRpos = bufRpos + 1 ;
  49. bufRpos >= buflR ? bufRpos = buflL+1;
  50.  
  51. spl0 = bufLpos[0] ; 
  52. spl1 = bufRpos[0] ;
  53.