MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=4.0
fGammaAdj=2.0
fDecay=1.0
fVideoEchoZoom=0.999600
fVideoEchoAlpha=0.5
nVideoEchoOrientation=3
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=1
fWaveAlpha=0.001000
fWaveScale=1.0
fWaveSmoothing=0.750000
fWaveParam=0.0
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.0
fWarpScale=0.266718
fZoomExponent=1.0
fShader=0.0
zoom=1.160000
rot=-0.040000
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.000521
sx=1.0
sy=1.0
wave_r=0.0
wave_g=0.0
wave_b=0.0
wave_x=0.5
wave_y=0.5
ob_size=0.010000
ob_r=1.0
ob_g=1.0
ob_b=1.0
ob_a=0.0
ib_size=0.010000
ib_r=0.25
ib_g=0.25
ib_b=0.25
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=1
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=0.5
wave_0_per_point1=//init
wave_0_per_point2=zs = if(below(zs,1),9,zs);
wave_0_per_point3=
wave_0_per_point4=zs = if(above(zs, 1100),1, zs);
wave_0_per_point5=
wave_0_per_point6=speed = bass*0.002;
wave_0_per_point7=
wave_0_per_point8=//sum
wave_0_per_point9=zs = zs + tan(q1*0.015)*speed;
wave_0_per_point10=
wave_0_per_point11=zd = zd + 2;
wave_0_per_point12=
wave_0_per_point13=
wave_0_per_point14=
wave_0_per_point15=//project
wave_0_per_point16=x = 0.5 + 0.1*cos(q1*zs);
wave_0_per_point17=y = 0.5 + 0.1*sin(q1*zs);
wave_0_per_point18=
wave_0_per_point19=r = 0.5 + 0.5*sin(q1*1.2 + x + x);
wave_0_per_point20=g = 0.5 + 0.5*sin(q1*1.5 + x + y);
wave_0_per_point21=b = 0.5 + 0.5*sin(q1*1.36 + y + y);
wavecode_1_enabled=0
wavecode_1_samples=512
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=0
wavecode_1_bDrawThick=1
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=1
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=4
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=1
shapecode_0_x=0.750000
shapecode_0_y=0.750000
shapecode_0_rad=0.741799
shapecode_0_ang=0.0
shapecode_0_tex_ang=0.0
shapecode_0_tex_zoom=0.227462
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=0.0
shapecode_0_border_r=0.0
shapecode_0_border_g=0.0
shapecode_0_border_b=1.0
shapecode_0_border_a=0.0
shape_0_init1=tex_saw = 0.4;
shape_0_per_frame1=ang = q1*0.2;
shape_0_per_frame2=
shape_0_per_frame3=tex_capture = above(q3,2);
shape_0_per_frame4=tex_zoom = 0.6;
shapecode_1_enabled=1
shapecode_1_sides=4
shapecode_1_additive=0
shapecode_1_thickOutline=0
shapecode_1_textured=1
shapecode_1_x=0.25
shapecode_1_y=0.750000
shapecode_1_rad=0.741799
shapecode_1_ang=0.0
shapecode_1_tex_ang=0.0
shapecode_1_tex_zoom=0.227462
shapecode_1_r=1.0
shapecode_1_g=1.0
shapecode_1_b=1.0
shapecode_1_a=1.0
shapecode_1_r2=1.0
shapecode_1_g2=1.0
shapecode_1_b2=1.0
shapecode_1_a2=0.0
shapecode_1_border_r=0.0
shapecode_1_border_g=0.0
shapecode_1_border_b=1.0
shapecode_1_border_a=0.0
shape_1_init1=tex_saw = 0.4;
shape_1_per_frame1=ang = q1*0.2;
shape_1_per_frame2=//x = 0.5 + 0.2*sin(q2);
shape_1_per_frame3=//y = 0.5 + (0.3*sin(q2));
shape_1_per_frame4=
shape_1_per_frame5=tex_capture = above(q3,2);
shape_1_per_frame6=tex_zoom = 0.6;
shapecode_2_enabled=0
shapecode_2_sides=100
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.221671
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=1.0
shape_2_per_frame1=border_r = 0.5 + 0.5*sin(q1*10);
shapecode_3_enabled=1
shapecode_3_sides=100
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=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.0
shapecode_3_border_r=1.0
shapecode_3_border_g=1.0
shapecode_3_border_b=1.0
shapecode_3_border_a=0.0
shape_3_per_frame1=a = above(q3,2);
shape_3_per_frame2=a2 = above(q3,2)*0.8;
shape_3_per_frame3=
shape_3_per_frame4=xx = if(above(q3,6),xx,rand(100)*0.01);
shape_3_per_frame5=yy = if(above(q3,6),yy,rand(100)*0.01);
shape_3_per_frame6=radi = if(above(q3,5),radi,rand(100)*0.01);
shape_3_per_frame7=
shape_3_per_frame8=rad = radi;
shape_3_per_frame9=
shape_3_per_frame10=x = xx;
shape_3_per_frame11=y = yy;
shape_3_per_frame12=
shape_3_per_frame13=
shape_3_per_frame14=r = 0.5 + 0.5*sin(q1*1.22) + 0.1;
shape_3_per_frame15=g = 0.4 + 0.4*sin(q1*1.307);
shape_3_per_frame16=b = 0.4 + 0.4*sin(q1*1.959);
shape_3_per_frame17=
shape_3_per_frame18=
shape_3_per_frame19=r2 = 0.5 + 0.5*sin(q1*1.622) + 0.1;
shape_3_per_frame20=g2 = 0.4 + 0.4*sin(q1*1.507);
shape_3_per_frame21=b2 = 0.4 + 0.4*sin(q1*1.6559);
per_frame_init_1=spintime = 0;
per_frame_1=basstime = basstime + bass_att*0.03;
per_frame_2=q1 = basstime;
per_frame_3=vol = pow(bass+mid+treb,2);
per_frame_4=basssum = vol;
per_frame_5=
per_frame_6=basstime = if(below(basstime,465),465,basstime);
per_frame_7=
per_frame_8=stickybit = time%2;
per_frame_9=
per_frame_10=//avg vol
per_frame_11=//buffer 1
per_frame_12=volAvg = volAvg + vol*equal(stickybit,1);
per_frame_13=//number of samples 1 or framerate
per_frame_14=sample1 = sample1 + equal(stickybit,1);
per_frame_15=//buffer 2
per_frame_16=volAvg2 = volAvg2 + vol*equal(stickybit,0);
per_frame_17=//number of samples 2
per_frame_18=sample2 = sample2 + equal(stickybit,0);
per_frame_19=
per_frame_20=//transision
per_frame_21=edge = bnot(equal(bit2,stickybit));
per_frame_22=
per_frame_23=volAvg = volAvg - volAvg*edge*stickybit;
per_frame_24=volAvg2 = volAvg2 - volAvg2*edge*equal(stickybit,0);
per_frame_25=
per_frame_26=sample1 = sample1  - sample1*edge*stickybit;
per_frame_27=sample2 = sample2  - sample2*edge*equal(stickybit,0);
per_frame_28=
per_frame_29=//test vol against avg buffer lvl
per_frame_30=diff = if(equal(stickybit,1), (basssum/(volAvg2/sample2)) , 0);
per_frame_31=diff = if(equal(stickybit,0), (basssum/(volAvg/sample1)), diff);
per_frame_32=
per_frame_33=q3 = diff;
per_frame_34=
per_frame_35=bit2 = time%2;
per_frame_36=
per_frame_37=difftime = difftime + diff*0.03;
per_frame_38=q2 = difftime;
per_frame_39=
per_frame_40=//fix a strange error
per_frame_41=difftime = if(above(difftime,2000),0, difftime);
per_frame_42=
per_frame_43=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); 
per_frame_44=q8 = spintime;
per_frame_45=
per_frame_46=state = state + above(diff,10);
per_frame_47=
per_frame_48=monitor = spintime;
per_pixel_1=zoom = 1.05 - sin(q3)*0.04;
per_pixel_2=rot =0;// 4.72;
warp_1=`shader_body
warp_2=`{
warp_3=`    float2 uv2 = uv;
warp_4=`    float2 delta2 = texsize.zw*float2(-q3,q3);
warp_5=`
warp_6=`    // sample previous frame
warp_7=`    ret = tex2D( sampler_main, uv2 + delta2 ).xyz;
warp_8=`
warp_9=`    // darken over time
warp_10=`    ret -= 0.004;
warp_11=`}
comp_1=`shader_body
comp_2=`{
comp_3=`    
comp_4=`    //rotate texture cords
comp_5=`    float texRotU2 = (uv[0] - 0.5)*cos(-q8*0.29) + (uv[1] - 0.5)*sin(-q8*0.29);
comp_6=`    float texRotv2 = -(uv[0] - 0.5)*sin(-q8*0.29) + (uv[1] - 0.5)*cos(-q8*0.29);
comp_7=`
comp_8=`	
comp_9=`	    float2 uv2 = float2(texRotU2*0.8 +0.5, texRotv2*0.8 + 0.5);
comp_10=`
comp_11=`    float2 uv_echo = (uv - 0.5)*1.000*float2(-1,-1) + 0.5;
comp_12=`    ret = lerp( tex2D(sampler_main, uv).xyz, 
comp_13=`                tex2D(sampler_main, uv_echo).xyz, 
comp_14=`                0.50 
comp_15=`              )*0.6;
comp_16=`    
comp_17=`    ret += tex2D(sampler_main, uv2).xyz*0.4;
comp_18=`    ret *= 2.00; //gamma
comp_19=`    ret = (1 - ret*(1-ret)*4)*0.6; //invert
comp_20=`}
