MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=2.000000
fGammaAdj=2.0
fDecay=0.987000
fVideoEchoZoom=1.006435
fVideoEchoAlpha=0.5
nVideoEchoOrientation=3
nWaveMode=1
bAdditiveWaves=1
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=1.028400
fWaveScale=0.591188
fWaveSmoothing=0.180000
fWaveParam=0.240000
fModWaveAlphaStart=0.950000
fModWaveAlphaEnd=0.750000
fWarpAnimSpeed=1.0
fWarpScale=1.0
fZoomExponent=1.001700
fShader=0.1
zoom=0.970297
rot=0.0
cx=0.439900
cy=0.5
dx=0.0
dy=0.0
warp=0.010000
sx=1.0
sy=1.0
wave_r=0.5
wave_g=0.5
wave_b=0.5
wave_x=0.5
wave_y=0.5
ob_size=0.0
ob_r=0.0
ob_g=0.0
ob_b=0.0
ob_a=0.0
ib_size=0.0
ib_r=0.5
ib_g=0.5
ib_b=0.5
ib_a=0.0
nMotionVectorsX=12.0
nMotionVectorsY=9.0
mv_dx=0.0
mv_dy=0.0
mv_l=0.9
mv_r=1.0
mv_g=1.0
mv_b=1.0
mv_a=0.0
b1n=0.0
b2n=0.0
b3n=0.0
b1x=1.0
b2x=1.0
b3x=1.0
b1ed=0.25
wavecode_0_enabled=0
wavecode_0_samples=512
wavecode_0_sep=0
wavecode_0_bSpectrum=0
wavecode_0_bUseDots=0
wavecode_0_bDrawThick=0
wavecode_0_bAdditive=0
wavecode_0_scaling=1.0
wavecode_0_smoothing=0.5
wavecode_0_r=1.0
wavecode_0_g=1.0
wavecode_0_b=1.0
wavecode_0_a=1.0
wavecode_1_enabled=0
wavecode_1_samples=512
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=0
wavecode_1_bDrawThick=0
wavecode_1_bAdditive=0
wavecode_1_scaling=1.0
wavecode_1_smoothing=0.5
wavecode_1_r=1.0
wavecode_1_g=1.0
wavecode_1_b=1.0
wavecode_1_a=1.0
wavecode_2_enabled=0
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=0
wavecode_2_bDrawThick=0
wavecode_2_bAdditive=0
wavecode_2_scaling=1.0
wavecode_2_smoothing=0.5
wavecode_2_r=1.0
wavecode_2_g=1.0
wavecode_2_b=1.0
wavecode_2_a=1.0
wavecode_3_enabled=0
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=0
wavecode_3_bDrawThick=0
wavecode_3_bAdditive=0
wavecode_3_scaling=1.0
wavecode_3_smoothing=0.5
wavecode_3_r=1.0
wavecode_3_g=1.0
wavecode_3_b=1.0
wavecode_3_a=1.0
shapecode_0_enabled=0
shapecode_0_sides=4
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=0
shapecode_0_x=0.5
shapecode_0_y=0.5
shapecode_0_rad=0.1
shapecode_0_ang=0.0
shapecode_0_tex_ang=0.0
shapecode_0_tex_zoom=1.0
shapecode_0_r=1.0
shapecode_0_g=0.0
shapecode_0_b=0.0
shapecode_0_a=1.0
shapecode_0_r2=0.0
shapecode_0_g2=1.0
shapecode_0_b2=0.0
shapecode_0_a2=0.0
shapecode_0_border_r=1.0
shapecode_0_border_g=1.0
shapecode_0_border_b=1.0
shapecode_0_border_a=0.1
shapecode_1_enabled=0
shapecode_1_sides=4
shapecode_1_additive=0
shapecode_1_thickOutline=0
shapecode_1_textured=0
shapecode_1_x=0.5
shapecode_1_y=0.5
shapecode_1_rad=0.1
shapecode_1_ang=0.0
shapecode_1_tex_ang=0.0
shapecode_1_tex_zoom=1.0
shapecode_1_r=1.0
shapecode_1_g=0.0
shapecode_1_b=0.0
shapecode_1_a=1.0
shapecode_1_r2=0.0
shapecode_1_g2=1.0
shapecode_1_b2=0.0
shapecode_1_a2=0.0
shapecode_1_border_r=1.0
shapecode_1_border_g=1.0
shapecode_1_border_b=1.0
shapecode_1_border_a=0.1
shapecode_2_enabled=0
shapecode_2_sides=4
shapecode_2_additive=0
shapecode_2_thickOutline=0
shapecode_2_textured=0
shapecode_2_x=0.5
shapecode_2_y=0.5
shapecode_2_rad=0.1
shapecode_2_ang=0.0
shapecode_2_tex_ang=0.0
shapecode_2_tex_zoom=1.0
shapecode_2_r=1.0
shapecode_2_g=0.0
shapecode_2_b=0.0
shapecode_2_a=1.0
shapecode_2_r2=0.0
shapecode_2_g2=1.0
shapecode_2_b2=0.0
shapecode_2_a2=0.0
shapecode_2_border_r=1.0
shapecode_2_border_g=1.0
shapecode_2_border_b=1.0
shapecode_2_border_a=0.1
shapecode_3_enabled=0
shapecode_3_sides=4
shapecode_3_additive=0
shapecode_3_thickOutline=0
shapecode_3_textured=0
shapecode_3_x=0.5
shapecode_3_y=0.5
shapecode_3_rad=0.1
shapecode_3_ang=0.0
shapecode_3_tex_ang=0.0
shapecode_3_tex_zoom=1.0
shapecode_3_r=1.0
shapecode_3_g=0.0
shapecode_3_b=0.0
shapecode_3_a=1.0
shapecode_3_r2=0.0
shapecode_3_g2=1.0
shapecode_3_b2=0.0
shapecode_3_a2=0.0
shapecode_3_border_r=1.0
shapecode_3_border_g=1.0
shapecode_3_border_b=1.0
shapecode_3_border_a=0.1
per_frame_1=warp=0;
per_frame_2=old_bass_flop=bass_flop;
per_frame_3=old_treb_flop=treb_flop;
per_frame_4=old_mid_flop=mid_flop;
per_frame_5=chaos=.9+.1*sin(pulse);
per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy));
per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3);
per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2));
per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3);
per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2));
per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3);
per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2));
per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop));
per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop));
per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop));
per_frame_16=bass_residual = bass_changed*sin(time*(3-bass_thresh)) + bnot(bass_changed)*bass_residual;
per_frame_17=treb_residual = treb_changed*sin(time*(3-treb_thresh)) + bnot(treb_changed)*treb_residual;
per_frame_18=mid_residual = mid_changed*sin(time*(3-mid_thresh)) + bnot(mid_changed)*mid_residual;
per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.04*entropy*bor(bor(bass_changed*bnot(treb_changed),treb_changed*bnot(bass_changed))*bnot(mid_changed),mid_changed)+(mid+bass+treb)*.025);
per_frame_20=q1=mid_residual;
per_frame_21=q2=bass_residual;
per_frame_22=q3=treb_residual;
per_frame_23=q4=sin(pulse);
per_frame_24=q5=cos(pulse);
per_frame_25=wave_r=wave_r+.5*bass_residual;
per_frame_26=wave_r=wave_g+.5*mid_residual;
per_frame_27=wave_r=wave_b+.5*treb_residual;
per_frame_28=wave_mystery=wave_mystery+.23*mid_residual;
per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r);
per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b);
per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g);
per_frame_32=ob_a=.03+.02*wave_r;
per_frame_33=ob_size=.05+.04*wave_b;
per_frame_34=ib_r=if(bass_flop,ob_b,ob_g);
per_frame_35=ib_b=if(treb_flop,ob_g,ob_r);
per_frame_36=ib_g=if(mid_flop,ob_r,ob_b);
per_frame_37=ib_a=.03+.02*wave_g;
per_frame_38=ib_size=.05+.04*ob_g;
per_frame_39=zoom=zoom+.08*mid_residual;
per_pixel_1=rot=if(above(q1,0),.4*sin(rad+q3+q4),.4*sin(rad+q2+q5));
per_pixel_2=zoom=zoom-rot/10;
per_pixel_3=cx=cx+.3*sin(x*7*q4);
per_pixel_4=cy=cy+.3*cos(y*5*q5);
warp_1=`shader_body
warp_2=`{
warp_3=`    // sample previous frame 3 times, creating radial blur
warp_4=`    float2 v = normalize(uv - 0.5);
warp_5=`    //v = v.yx * float2(1,-1);
warp_6=`    v *= texsize.zw;
warp_7=`    ret = 0.2*(   tex2D( sampler_main, uv ).xyz
warp_8=`                   +  tex2D(sampler_main, uv - v*2.5 ).xyz
warp_9=`                   +  tex2D(sampler_main, uv - v*5.5 ).xyz
warp_10=`                   +  tex2D(sampler_main, uv - v*9  ).xyz
warp_11=`                   +  tex2D(sampler_main, uv - v*13 ).xyz
warp_12=`    );
warp_13=`    
warp_14=`    // darken over time
warp_15=`    ret *= 0.98; //or try: ret -= 0.004;
warp_16=`}
comp_1=`shader_body
comp_2=`{
comp_3=`    ret = tex2D(sampler_main, uv).xyz;
comp_4=`    ret = max(ret, tex2D(sampler_main, float2(1-uv.x,uv.y)));
comp_5=`    ret *= 1.50; //old gamma effect
comp_6=`    ret *= 0.90 + 0.10*hue_shader; //old hue shader effect
comp_7=`    ret *= ret; //old darken effect    
comp_8=`}
