MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=3.000000
fGammaAdj=2.000000
fDecay=1.000000
fVideoEchoZoom=0.999600
fVideoEchoAlpha=0.500000
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.000000
fWaveSmoothing=0.750000
fWaveParam=0.000000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.000000
fWarpScale=0.266718
fZoomExponent=1.000000
fShader=0.000000
zoom=1.160000
rot=-0.040000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=0.000521
sx=1.000000
sy=1.000000
wave_r=0.000000
wave_g=0.000000
wave_b=0.000000
wave_x=0.500000
wave_y=0.500000
ob_size=0.010000
ob_r=1.000000
ob_g=1.000000
ob_b=1.000000
ob_a=0.000000
ib_size=0.010000
ib_r=0.250000
ib_g=0.250000
ib_b=0.250000
ib_a=0.000000
nMotionVectorsX=12.000000
nMotionVectorsY=9.000000
mv_dx=0.000000
mv_dy=0.000000
mv_l=0.900000
mv_r=1.000000
mv_g=1.000000
mv_b=1.000000
mv_a=0.000000
b1n=0.000000
b2n=0.000000
b3n=0.000000
b1x=1.000000
b2x=1.000000
b3x=1.000000
b1ed=0.250000
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.000000
wavecode_0_smoothing=0.500000
wavecode_0_r=1.000000
wavecode_0_g=1.000000
wavecode_0_b=1.000000
wavecode_0_a=0.500000
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.000000
wavecode_1_smoothing=0.500000
wavecode_1_r=1.000000
wavecode_1_g=1.000000
wavecode_1_b=1.000000
wavecode_1_a=1.000000
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.000000
wavecode_2_smoothing=0.500000
wavecode_2_r=1.000000
wavecode_2_g=1.000000
wavecode_2_b=1.000000
wavecode_2_a=1.000000
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.000000
wavecode_3_smoothing=0.500000
wavecode_3_r=1.000000
wavecode_3_g=1.000000
wavecode_3_b=1.000000
wavecode_3_a=1.000000
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.000000
shapecode_0_tex_ang=0.000000
shapecode_0_tex_zoom=0.227462
shapecode_0_r=1.000000
shapecode_0_g=1.000000
shapecode_0_b=1.000000
shapecode_0_a=1.000000
shapecode_0_r2=1.000000
shapecode_0_g2=1.000000
shapecode_0_b2=1.000000
shapecode_0_a2=0.000000
shapecode_0_border_r=0.000000
shapecode_0_border_g=0.000000
shapecode_0_border_b=1.000000
shapecode_0_border_a=0.000000
shape_0_init1=tex_saw = 0.4;
shape_0_per_frame1=ang = q1*0.2;
shape_0_per_frame2=
shape_0_per_frame3=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.250000
shapecode_1_y=0.750000
shapecode_1_rad=0.741799
shapecode_1_ang=0.000000
shapecode_1_tex_ang=0.000000
shapecode_1_tex_zoom=0.227462
shapecode_1_r=1.000000
shapecode_1_g=1.000000
shapecode_1_b=1.000000
shapecode_1_a=1.000000
shapecode_1_r2=1.000000
shapecode_1_g2=1.000000
shapecode_1_b2=1.000000
shapecode_1_a2=0.000000
shapecode_1_border_r=0.000000
shapecode_1_border_g=0.000000
shapecode_1_border_b=1.000000
shapecode_1_border_a=0.000000
shape_1_init1=tex_saw = 0.4;
shape_1_per_frame1=ang = q1*0.2;
shape_1_per_frame2=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.500000
shapecode_2_y=0.500000
shapecode_2_rad=0.221671
shapecode_2_ang=0.000000
shapecode_2_tex_ang=0.000000
shapecode_2_tex_zoom=1.000000
shapecode_2_r=1.000000
shapecode_2_g=0.000000
shapecode_2_b=0.000000
shapecode_2_a=1.000000
shapecode_2_r2=0.000000
shapecode_2_g2=1.000000
shapecode_2_b2=0.000000
shapecode_2_a2=0.000000
shapecode_2_border_r=1.000000
shapecode_2_border_g=1.000000
shapecode_2_border_b=1.000000
shapecode_2_border_a=1.000000
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.500000
shapecode_3_y=0.500000
shapecode_3_rad=0.100000
shapecode_3_ang=0.000000
shapecode_3_tex_ang=0.000000
shapecode_3_tex_zoom=1.000000
shapecode_3_r=1.000000
shapecode_3_g=1.000000
shapecode_3_b=1.000000
shapecode_3_a=1.000000
shapecode_3_r2=1.000000
shapecode_3_g2=1.000000
shapecode_3_b2=1.000000
shapecode_3_a2=0.000000
shapecode_3_border_r=1.000000
shapecode_3_border_g=1.000000
shapecode_3_border_b=1.000000
shapecode_3_border_a=0.000000
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,5),xx,rand(100)*0.01);
shape_3_per_frame5=yy = if(above(q3,5),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=state = state + above(diff,10);
per_frame_44=spintime = spintime + bass*0.03*if(equal(state%2,1),1,-1); 
per_frame_45=q8 = spintime;
per_frame_46=
per_frame_47=state2 = state2 + above(diff,10);
per_frame_48=state2 = if(above(state2,10),1,state2);
per_frame_49=q9 = state2;
per_frame_50=
per_frame_51=monitor = state2;
per_pixel_1=zoom = 1.05 - q3*0.05;
per_pixel_2=rot = sin(rad)*0.01;
per_pixel_3=warp = 2*zoom*rad;
per_pixel_4=
per_pixel_5=
per_pixel_6=//rules
per_pixel_7=fuzzy1 = x;
per_pixel_8=fuzzy3 = x-1;
per_pixel_9=fuzzy2 = y;
per_pixel_10=fuzzy4 = y-1;
per_pixel_11=
per_pixel_12=//activations approx sawtooth with sin curve
per_pixel_13=f1 = sin(q2 - 1.5707);
per_pixel_14=f2 = sin(q2);
per_pixel_15=f3 = sin(q2 + 1.5707);
per_pixel_16=f4 = sin(q2 + 3.14);
per_pixel_17=
per_pixel_18=//take only values above zero
per_pixel_19=f1 = f1*above(f1,0);
per_pixel_20=f2 = f2*above(f2,0);
per_pixel_21=f3 = f3*above(f3,0);
per_pixel_22=f4 = f4*above(f4,0);
per_pixel_23=
per_pixel_24=//sum rule ativations
per_pixel_25=sum_fuzzy = fuzzy1*f1 + fuzzy2*f2 - fuzzy3*f3 - fuzzy4*f4;
per_pixel_26=sum_fuzzy = cos(sum_fuzzy)*1.2;
per_pixel_27=
per_pixel_28=zoom = 1 + sum_fuzzy*0.05;
warp_1=`shader_body
warp_2=`{
warp_3=`    // sample previous frame
warp_4=`    
warp_5=`
warp_6=`     float3 output1 = tex2D( sampler_main, (uv-0.5)*0.99 + 0.5).xyz;
warp_7=`     float3 output2 = tex2D( sampler_main, uv).xyz;
warp_8=`   
warp_9=`    ret = normalize(output1*0.1 + output2*0.9);
warp_10=`    // darken (decay) over time
warp_11=`    ret *= 1.04; //or try: ret -= 0.004;
warp_12=`}
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.8;
comp_16=`    
comp_17=`    ret += tex2D(sampler_main, uv2*q9).xyz*0.2;
comp_18=`    ret *= 1.00; //gamma
comp_19=`    ret = 1 - ret*(1 - ret)*4; //invert
comp_20=`}
