MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=0
PSVERSION_COMP=2
[preset00]
fRating=1.0
fGammaAdj=2.0
fDecay=0.980000
fVideoEchoZoom=2.0
fVideoEchoAlpha=0.0
nVideoEchoOrientation=0
nWaveMode=2
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=3.221673
fWaveScale=0.685151
fWaveSmoothing=0.750000
fWaveParam=0.0
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.0
fWarpScale=1.0
fZoomExponent=100.0
fShader=1.0
zoom=0.999998
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=1.0
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.2
ob_g=0.4
ob_b=0.220000
ob_a=1.0
ib_size=0.005000
ib_r=0.5
ib_g=0.5
ib_b=0.5
ib_a=1.0
nMotionVectorsX=64.0
nMotionVectorsY=48.0
mv_dx=0.0
mv_dy=0.0
mv_l=5.0
mv_r=0.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=1
shapecode_0_sides=100
shapecode_0_additive=1
shapecode_0_thickOutline=0
shapecode_0_textured=1
shapecode_0_x=0.5
shapecode_0_y=0.5
shapecode_0_rad=1.791418
shapecode_0_ang=0.0
shapecode_0_tex_ang=0.062832
shapecode_0_tex_zoom=1.0
shapecode_0_r=1.0
shapecode_0_g=1.0
shapecode_0_b=1.0
shapecode_0_a=0.080000
shapecode_0_r2=1.0
shapecode_0_g2=1.0
shapecode_0_b2=1.0
shapecode_0_a2=0.080000
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=additive = q1;
shape_0_per_frame2=a = if(q1,1,a);
shape_0_per_frame3=a2 = a;
shape_0_per_frame4=r = q1;
shape_0_per_frame5=r2 =q1;
shape_0_per_frame6=tex_zoom = 3 - 3*bass;
shapecode_1_enabled=1
shapecode_1_sides=100
shapecode_1_additive=1
shapecode_1_thickOutline=0
shapecode_1_textured=1
shapecode_1_x=0.5
shapecode_1_y=0.5
shapecode_1_rad=1.791418
shapecode_1_ang=0.0
shapecode_1_tex_ang=0.062832
shapecode_1_tex_zoom=1.0
shapecode_1_r=1.0
shapecode_1_g=0.0
shapecode_1_b=1.0
shapecode_1_a=0.080000
shapecode_1_r2=1.0
shapecode_1_g2=1.0
shapecode_1_b2=0.0
shapecode_1_a2=0.080000
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=additive = q1;
shape_1_per_frame2=a = if(q1,1,a);
shape_1_per_frame3=a2 = a;
shape_1_per_frame4=r = q1;
shape_1_per_frame5=r2 =q1;
shape_1_per_frame6=tex_zoom = 3 - 2*bass;
shapecode_2_enabled=1
shapecode_2_sides=100
shapecode_2_additive=0
shapecode_2_thickOutline=1
shapecode_2_textured=1
shapecode_2_x=0.5
shapecode_2_y=0.5
shapecode_2_rad=0.919739
shapecode_2_ang=0.0
shapecode_2_tex_ang=0.628319
shapecode_2_tex_zoom=1.030299
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=1.0
shapecode_2_a2=1.0
shapecode_2_border_r=0.0
shapecode_2_border_g=0.0
shapecode_2_border_b=0.0
shapecode_2_border_a=0.0
shape_2_per_frame1=tex_zoom = q1+tex_zoom;
shape_2_per_frame2=a2 = 1;
shape_2_per_frame3=border_a = q1;
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.138869
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=0.050000
shapecode_3_r2=0.0
shapecode_3_g2=1.0
shapecode_3_b2=0.0
shapecode_3_a2=0.050000
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=r = 0.5 + 0.49*sin(time*0.2754);
shape_3_per_frame2=b = 0.5 + 0.49*sin(time*0.6254);
shape_3_per_frame3=g = 0.5 + 0.49*sin(time*0.514);
shape_3_per_frame4=r2 = 0.5 + 0.49*sin(time*0.475);
shape_3_per_frame5=b2 = 0.5 + 0.49*sin(time*0.2107);
shape_3_per_frame6=g2 = 0.5 + 0.49*sin(time*0.7714);
per_frame_init_1=beatcounter =0;
per_frame_1=warp = 0;
per_frame_2=wave_r = wave_r + .15*sin(time*.222);
per_frame_3=wave_g = wave_g + .15*sin(time*.333);
per_frame_4=wave_b = wave_b + .15*sin(time*.444);
per_frame_5=zoom = zoom+.01 - bass_att*.01;
per_frame_6=volume = 0.3*(bass+mid);
per_frame_7=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate));
per_frame_8=lastbeat = if(equal(lastbeat,0),time,lastbeat);
per_frame_9=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_10=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att);
per_frame_11=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0);
per_frame_12=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_13=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att);
per_frame_14=lastbeat = if(beat,time,lastbeat);
per_frame_15=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att);
per_frame_16=beatcounter = if(above(beat,0),beatcounter +1, beatcounter);
per_frame_17=beatcounter = if(above(beatcounter,5), 0, beatcounter);
per_frame_18=beateven = beatcounter%2;
per_frame_19=mycounter = if(beateven,if(beat,if(above(mycounter,4),0,mycounter+1),mycounter),mycounter);
per_frame_20=q2 = if(beat,if(beateven,2,mycounter+3),oldq2);
per_frame_21=oldq2 = q2;
per_frame_22=ib_r = ib_r + 0.25*sin(time*0.965);
per_frame_23=ib_g = ib_g +0.25*sin(time*1.123);
per_frame_24=ib_b = ib_b + 0.25*sin(time*1.046);
per_frame_25=ob_r = ob_r + 0.15*sin(time*0.865);
per_frame_26=ob_g = ob_g +0.15*sin(time*1.103);
per_frame_27=ob_b = ob_b + 0.15*sin(time*1.086);
per_frame_28=wave_a =0;
per_frame_29=ob_size =0.05*beat;
per_frame_30=q1 = beat;
per_frame_31=monitor = q2;
per_frame_32=mv_a = q1*0.02;
per_pixel_1=rot = .3*tan(.1*sin(pow(rad,4)*20+time)+ sin(time*.222)*.1);
per_pixel_2=zoom = zoom + .1*sin((ang)*q2-time);
per_pixel_3=zoomexp = 100*(sqrt(2)-rad);
comp_1=`sampler sampler_pw_noise_lq;
comp_2=`
comp_3=`shader_body
comp_4=`{
comp_5=`    float2 uv2 = float2( floor(uv.x*10), floor(uv.y*10) )*0.1 
comp_6=`               + rand_preset.xy;
comp_7=`    float4 N = tex2D( sampler_pw_noise_lq, uv2 * aspect.xy );
comp_8=`    uv += N.xy;
comp_9=`
comp_10=`    ret = tex2D(sampler_main, uv).xyz*1.4 - 0.4;    
comp_11=`}
