home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2008 February
/
PCWorld_2008-02_cd.bin
/
audio-video
/
reaper
/
reaper2028-install.exe
/
Effects
/
LOSER
/
waveShapingDstr
< prev
next >
Wrap
Text File
|
2007-12-09
|
2KB
|
69 lines
// (C) 2007, 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:Waveshapping Distortion
slider1:0<0,100,.1>Distortion
@slider
hdistr = min(slider1/100,.999);
foo = 2*hdistr/(1-hdistr);
@sample
spl0 = min(max(spl0,-1),1);
spl1 = min(max(spl1,-1),1);
spl0 = (1+foo)*spl0/(1+foo*abs(spl0));
spl1 = (1+foo)*spl1/(1+foo*abs(spl1));
@gfx
gfxSize = min(gfx_w,gfx_h);
gfx_r=gfx_g=gfx_b=0; gfx_a=1;
gfx_x=gfx_y=0;
gfx_rectto(gfx_w,gfx_h);
gfx_r=gfx_g=gfx_b=0.8; gfx_a=1;
gfx_x=gfxSize/2; gfx_y=0;
gfx_lineto(gfxSize/2,gfxSize,0);
gfx_x=0; gfx_y=gfxSize/2;
gfx_lineto(gfxSize,gfxSize/2,0);
gfx_x = gfxSize-20; gfx_y = gfxSize/2;
gfx_drawchar($'I');
gfx_drawchar($'N');
gfx_x = gfxSize/2+2; gfx_y = 0;
gfx_drawchar($'O');
gfx_drawchar($'U');
gfx_drawchar($'T');
slider1 ? (
gfx_r=0.5; gfx_g=1; gfx_b=0; gfx_a=1;
gfx_x=0; gfx_y=gfxSize;
x = -1;
while(
y = -(1+foo)*x/(1+foo*abs(x));
gfx_lineto(x*gfxSize/2+gfxSize/2,y*gfxSize/2+gfxSize/2,1);
(x+=0.05) <= 1;
);
gfx_lineto(gfxSize,0,1);
):(
gfx_r=0.5; gfx_g=1; gfx_b=0; gfx_a=1;
gfx_x=0; gfx_y=gfxSize;
gfx_lineto(gfxSize,0,1);
);