home *** CD-ROM | disk | FTP | other *** search
- // (C) 2006, Michael Gruhn.
-
- // NO WARRANTY IS GRANTED. THIS PLUG-IN IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
- // WARRANTY OF ANY KIND. NO LIABILITY IS GRANTED, INCLUDING, BUT NOT LIMITED TO,
- // ANY DIRECT OR INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGE ARISING
- // OUT OF THE USE OR INABILITY TO USE THIS PLUG-IN, COMPUTER FAILTURE OF
- // MALFUNCTION INCLUDED. THE USE OF THE SOURCE CODE, EITHER PARTIALLY OR IN
- // TOTAL, IS ONLY GRANTED, IF USED IN THE SENSE OF THE AUTHOR'S INTENTION, AND
- // USED WITH ACKNOWLEDGEMENT OF THE AUTHOR. FURTHERMORE IS THIS PLUG-IN A THIRD
- // PARTY CONTRIBUTION, EVEN IF INCLUDED IN REAPER(TM), COCKOS INCORPORATED OR
- // ITS AFFILIATES HAVE NOTHING TO DO WITH IT. LAST BUT NOT LEAST, BY USING THIS
- // PLUG-IN YOU RELINQUISH YOUR CLAIM TO SUE IT'S AUTHOR, AS WELL AS THE CLAIM TO
- // ENTRUST SOMEBODY ELSE WITH DOING SO.
-
-
- desc:Simple Peak-1 Limiter
- slider1:-0<-20,0,.1>Treshold (dB)
- slider2:0,REDUCTION (dB)
-
- @init
- gain = 1; c = 8.65617025; dc = 10^(-30);
- @slider
-
- thresh = exp(slider1/c); seekgain = 1;
- gain = 1;
- t = 0;
- b = -exp(-62.83185307 / srate );
- a = 1.0 + b;
-
- @sample
- rms = max( abs(spl0) , abs(spl1) );
- rms = max( sqrt( (t = a*rms-b*t+dc)-dc) , rms);
- (rms > thresh) ? gain = rms : gain = thresh;
- spl0 /= gain;
- spl1 /= gain;
- slider2 = log(thresh/gain)*c;
- sliderchange(2);
-
-