MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=3.0
fGammaAdj=1.0
fDecay=0.988999
fVideoEchoZoom=1.168096
fVideoEchoAlpha=0.0
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=1
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.003300
fWaveScale=0.572643
fWaveSmoothing=0.0
fWaveParam=0.0
fModWaveAlphaStart=0.240000
fModWaveAlphaEnd=1.300001
fWarpAnimSpeed=1.0
fWarpScale=1.331000
fZoomExponent=0.999998
fShader=0.0
zoom=1.000509
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.000022
sx=1.0
sy=1.0
wave_r=0.650000
wave_g=0.650000
wave_b=0.650000
wave_x=0.5
wave_y=0.5
ob_size=0.000500
ob_r=0.340000
ob_g=0.340000
ob_b=0.340000
ob_a=0.090000
ib_size=0.000500
ib_r=0.340000
ib_g=0.340000
ib_b=0.340000
ib_a=0.350001
nMotionVectorsX=64.0
nMotionVectorsY=48.0
mv_dx=0.0
mv_dy=0.0
mv_l=0.0
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=16
wavecode_0_bSpectrum=0
wavecode_0_bUseDots=0
wavecode_0_bDrawThick=1
wavecode_0_bAdditive=0
wavecode_0_scaling=2.279692
wavecode_0_smoothing=0.7
wavecode_0_r=1.0
wavecode_0_g=1.0
wavecode_0_b=1.0
wavecode_0_a=1.0
wave_0_init1=t8 = time;
wave_0_per_frame1=t7 = t8;
wave_0_per_frame2=t8 = time;
wave_0_per_point1=x = 0.5 + sin(sample*3 + time*0.1);
wave_0_per_point2=y = 0.5 + sin(sample*94.23) + 0.02*sin(time*4.5);
wave_0_per_point3=b=abs(sin(sample*100+time));
wave_0_per_point4=r=abs(sin(sample*512+time));
wave_0_per_point5=g=abs(sin(sample*10+time));
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=1
shapecode_0_sides=73
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=1
shapecode_0_x=0.5
shapecode_0_y=0.5
shapecode_0_rad=0.832629
shapecode_0_ang=6.031858
shapecode_0_tex_ang=5.780530
shapecode_0_tex_zoom=0.999998
shapecode_0_r=1.0
shapecode_0_g=1.0
shapecode_0_b=1.0
shapecode_0_a=1.0
shapecode_0_r2=1.0
shapecode_0_g2=1.0
shapecode_0_b2=1.0
shapecode_0_a2=1.0
shapecode_0_border_r=1.0
shapecode_0_border_g=1.0
shapecode_0_border_b=1.0
shapecode_0_border_a=0.0
shape_0_per_frame1=flag1=int(abs(flag1-q1));
shape_0_per_frame2=flag=int(abs(flag-q1*flag1));
shape_0_per_frame3=ang =ang +if(flag,0,-.4)+abs(sin(bass))*.4*if(flag,1,-1);
shape_0_per_frame4=
shape_0_per_frame5=x=x+sin(time*.7)*.06;
shape_0_per_frame6=y=y+sin(time*.5)*.06;
shape_0_per_frame7=
shapecode_1_enabled=1
shapecode_1_sides=4
shapecode_1_additive=0
shapecode_1_thickOutline=0
shapecode_1_textured=1
shapecode_1_x=0.810000
shapecode_1_y=0.220000
shapecode_1_rad=0.506271
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=1.0
shapecode_1_b=1.0
shapecode_1_a=0.890000
shapecode_1_r2=0.0
shapecode_1_g2=1.0
shapecode_1_b2=1.0
shapecode_1_a2=0.310000
shapecode_1_border_r=1.0
shapecode_1_border_g=1.0
shapecode_1_border_b=1.0
shapecode_1_border_a=0.0
shape_1_per_frame1=flag = abs(flag-q1);
shape_1_per_frame2=y = if(flag,.8,.2);
shapecode_2_enabled=1
shapecode_2_sides=4
shapecode_2_additive=0
shapecode_2_thickOutline=0
shapecode_2_textured=1
shapecode_2_x=0.181000
shapecode_2_y=0.8
shapecode_2_rad=0.599578
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=1.0
shapecode_2_b=1.0
shapecode_2_a=1.0
shapecode_2_r2=1.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.0
shape_2_per_frame1=flag = abs(flag-q1);
shape_2_per_frame2=y = if(flag,.2,.8);
shapecode_3_enabled=1
shapecode_3_sides=4
shapecode_3_additive=0
shapecode_3_thickOutline=0
shapecode_3_textured=0
shapecode_3_x=0.560000
shapecode_3_y=0.150000
shapecode_3_rad=0.230671
shapecode_3_ang=5.403541
shapecode_3_tex_ang=0.0
shapecode_3_tex_zoom=0.010000
shapecode_3_r=1.0
shapecode_3_g=1.0
shapecode_3_b=1.0
shapecode_3_a=1.0
shapecode_3_r2=1.0
shapecode_3_g2=1.0
shapecode_3_b2=1.0
shapecode_3_a2=0.4
shapecode_3_border_r=1.0
shapecode_3_border_g=1.0
shapecode_3_border_b=1.0
shapecode_3_border_a=0.1
shape_3_per_frame1=meanbass = 0.01*(meanbass*99+bass);
shape_3_per_frame2=meantreb = 0.01*(meantreb*99+treb);
shape_3_per_frame3=meanmid = 0.01*(meanmid*99+mid);
shape_3_per_frame4=bassdiff = (bass - meanbass)*15;
shape_3_per_frame5=trebdiff = (treb - meantreb)*15;
shape_3_per_frame6=middiff = (mid - meanmid)*15;
shape_3_per_frame7=bassdiff = above(bassdiff,0)*bassdiff;
shape_3_per_frame8=trebdiff = above(trebdiff,0)*trebdiff;
shape_3_per_frame9=middiff = above(middiff,0)*middiff;
shape_3_per_frame10=
shape_3_per_frame11=g = min(1,max(0,0.2*trebdiff));
shape_3_per_frame12=r = min(1,max(0,0.2*middiff));
shape_3_per_frame13=b = min(1,max(0,0.2*bassdiff));
shape_3_per_frame14=g2 = min(1,max(0,0.2*trebdiff));
shape_3_per_frame15=r2 = min(1,max(0,0.2*middiff));
shape_3_per_frame16=b2 = min(1,max(0,0.2*bassdiff));
shape_3_per_frame17=x=x+sin(time*.7)*.06;
shape_3_per_frame18=y=y+sin(time*.5)*.06;
shape_3_per_frame19=
shape_3_per_frame20=ang =sin(time);
shape_3_per_frame21=rad=rad-.4+.05*bass;
per_frame_init_1=oldy=.4;
per_frame_1=ib_g = abs(sin(0.1*time))*0.2;
per_frame_2=ib_b = abs(sin(0.3*time))*0.2;
per_frame_3=ib_r = abs(sin(0.7*time))*0.2;
per_frame_4=
per_frame_5=
per_frame_6=ob_b=abs(sin(time*100+time));
per_frame_7=ob_r=abs(sin(time*512+time));
per_frame_8=ob_g=abs(sin(time*10+time));
per_frame_9=ib_b=abs(sin(time*10+time));
per_frame_10=ib_r=abs(sin(time*512+time));
per_frame_11=ib_g=abs(sin(time*100+time));
per_frame_12=
per_frame_13=
per_frame_14=
per_frame_15=
per_frame_16=meanbass = 0.01*(meanbass*99+bass);
per_frame_17=meantreb = 0.01*(meantreb*99+treb);
per_frame_18=meanmid = 0.01*(meanmid*99+mid);
per_frame_19=bassdiff = (bass - meanbass)*15;
per_frame_20=trebdiff = (treb - meantreb)*15;
per_frame_21=middiff = (mid - meanmid)*15;
per_frame_22=bassdiff = above(bassdiff,0)*bassdiff;
per_frame_23=trebdiff = above(trebdiff,0)*trebdiff;
per_frame_24=middiff = above(middiff,0)*middiff;
per_frame_25=
per_frame_26=ob_g = min(1,max(0,0.2*trebdiff));
per_frame_27=ob_r = min(1,max(0,0.2*middiff));
per_frame_28=ob_b = min(1,max(0,0.2*bassdiff));
per_frame_29=
per_frame_30=
per_frame_31=
per_frame_32=
per_frame_33=//Thanks to krash for beat detection (modified)
per_frame_34=volume = 0.3*bass+mid;
per_frame_35=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate);
per_frame_36=lastbeat = lastbeat + equal(lastbeat,0)*time;
per_frame_37=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_38=runmeanbass =(runmeanbass*2 + bass_att)/3;
per_frame_39=peakbass_att = max(bass_att,peakbass_att);
per_frame_40=beat = above(volume,0.8)*above(bass_att,runmeanbass*1.1)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1));
per_frame_41=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_42=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995);
per_frame_43=lastbeat = beat*time + (1-beat)*lastbeat;
per_frame_44=peakbass_att = max(peakbass_att,1.1*meanbass_att);
per_frame_45=q1 = beat;
per_frame_46=
per_frame_47=temp = y;
per_frame_48=y = if(beat,oldy,y);
per_frame_49=oldy=if(beat,temp,oldy);
per_frame_50=
per_frame_51=monitor =y;
per_pixel_1=sq=above(x,.3)*below(x,.6)*above(y,.4)*below(y,.6);
per_pixel_2=cx =sin(x*10+time+bass);
per_pixel_3=cy =sin(y*10+time+treb);
per_pixel_4=rot=rot+.012;//*sin(bass*2)*4;
per_pixel_5=zoom = zoom-.7*sqq;
warp_1=`shader_body
warp_2=`{
warp_3=`    // PAINTERLY EFFECT:
warp_4=`    float2 uv2 = uv;
warp_5=`    const float mipbias = 0;
warp_6=`    float2 delta2 = texsize.zw*float2(1,1);
warp_7=`    float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz;
warp_8=`    uv2.xy += (blurry_color.xy-0.37) * 0.03;
warp_9=`
warp_10=`    // sample previous frame
warp_11=`    ret = tex2D( sampler_main, uv2 ).xyz;
warp_12=`
warp_13=`    // darken over time
warp_14=`    ret -= 0.004;    
warp_15=`}
comp_1=`shader_body
comp_2=`{
comp_3=`    uv *= 0.5;
comp_4=`    ret = tex2D(sampler_main, uv).xyz;
comp_5=`    ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0)).xyz);
comp_6=`    ret = max(ret, tex2D(sampler_main,uv + float2(0,0.5)).xyz);
comp_7=`    ret = max(ret, tex2D(sampler_main,uv + float2(0.5,0.5)).xyz);
comp_8=`
comp_9=`    ret *= 1.3; // a little bit of overbright
comp_10=`}
