MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=4.0
fGammaAdj=2.0
fDecay=0.980000
fVideoEchoZoom=2.0
fVideoEchoAlpha=0.0
nVideoEchoOrientation=0
nWaveMode=1
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=0.001000
fWaveScale=0.132666
fWaveSmoothing=0.750000
fWaveParam=-0.380000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.0
fWarpScale=1.0
fZoomExponent=1.0
fShader=0.0
zoom=1.0
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.010000
ob_r=0.0
ob_g=0.0
ob_b=0.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=1
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
wave_0_per_frame1=r = .8+.2*sin(time*1.444);
wave_0_per_frame2=g = .8+.2*sin(time*1.2233);
wave_0_per_frame3=b = .8+.2*sin(time*1.332211);
wave_0_per_point1=x = .5+.3*sin(sample*20)*(value1*10);
wave_0_per_point2=y = .5+.3*cos(sample*20)*(value2*10);
wavecode_1_enabled=1
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
wave_1_init1=tme = 0;
wave_1_per_point1=tme = tme+bass*.5;
wave_1_per_point2=
wave_1_per_point3=x = .5+.24*sin(sample*3.1415926*2);
wave_1_per_point4=y = .5+.24*cos(sample*3.1415926*2);
wave_1_per_point5=r = sin((sample*20)+(tme*.0002));
wave_1_per_point6=g = 0;
wave_1_per_point7=b = 0;
wave_1_per_point8=a = .5+sin((sample*20)+(tme*.0002));
wave_1_per_point9=a = if(below(a,0),0,a);
wavecode_2_enabled=1
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=0
wavecode_2_bDrawThick=1
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
wave_2_init1=tme = 0;
wave_2_per_point1=tme = tme+treb*.5;
wave_2_per_point2=
wave_2_per_point3=x = .5+.241*sin(sample*3.1415926*2);
wave_2_per_point4=y = .5+.241*cos(sample*3.1415926*2);
wave_2_per_point5=r = 0;
wave_2_per_point6=g = sin((sample*20)+(tme*.0002));
wave_2_per_point7=b = 0;
wave_2_per_point8=a = .5+sin((sample*20)+(tme*.0002));
wave_2_per_point9=a = if(below(a,0),0,a);
wavecode_3_enabled=1
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
wave_3_per_point1=tme = tme+mid*.5;
wave_3_per_point2=
wave_3_per_point3=x = .5+.242*sin(sample*3.1415926*2);
wave_3_per_point4=y = .5+.242*cos(sample*3.1415926*2);
wave_3_per_point5=r = 0;
wave_3_per_point6=g = 0;
wave_3_per_point7=b = sin((sample*20)+(tme*.0002));
wave_3_per_point8=a = .5+sin((sample*20)+(tme*.0002));
wave_3_per_point9=a = if(below(a,0),0,a);
shapecode_0_enabled=0
shapecode_0_sides=100
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.164463
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=1.0
shapecode_0_b=1.0
shapecode_0_a=0.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=1.0
shapecode_0_border_g=1.0
shapecode_0_border_b=1.0
shapecode_0_border_a=0.0
shape_0_per_frame1=a = if(above(bass,2.5),1,0);
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_init_1=frbassc = 0;
per_frame_init_2=frtrebc = 0;
per_frame_1=warp = 0;
per_frame_2=wave_r = wave_r + .4*sin(time*.333)+bass_att*.2;
per_frame_3=wave_g = wave_g + .4*sin(time*.555)+treb_att*.2;
per_frame_4=wave_b = wave_b + .4*sin(time*.444)+mid_att*.2;
per_frame_5=frbassc = frbassc+bass*.5;
per_frame_6=frtrebc = frtrebc+treb*.5;
per_frame_7=q1 = sin(frbassc*.01);
per_frame_8=q2 = sin(frtrebc*.01);
per_pixel_1=zoom = 1+(abs(rad-(.8-(bass*.2)))*.1);
warp_1=`shader_body
warp_2=`{
warp_3=`    // sample previous frame
warp_4=`    ret = tex2D( sampler_fc_main, uv ).xyz;
warp_5=`    //ret = lerp(GetBlur1(uv)*1,ret,ret);
warp_6=`    // darken (decay) over time
warp_7=`    if (ret.x+ret.y+ret.z < (0+((mid+bass+treb)/3)*.3)){
warp_8=`       ret.x = ret.x+.6;
warp_9=`       ret.y = ret.y+.6;
warp_10=`       ret.z = ret.z+.6;
warp_11=`       }else{
warp_12=`       ret = (ret - .005)*0.99; //or try: ret -= 0.004;
warp_13=`    }
warp_14=`}
comp_1=`sampler sampler_smalltiled_electric_nebula;
comp_2=`float4 texsize_smalltiled_electric_nebula;
comp_3=`shader_body
comp_4=`{
comp_5=`  ret = tex2D(sampler_main,uv).xyz;
comp_6=`  float2 uv2 = float2(uv.x+.5+(q1),uv.y+.5+(q2));
comp_7=`  float3 ret2 = tex2D(sampler_smalltiled_electric_nebula,uv2*texsize.xy*texsize_smalltiled_electric_nebula.zw).xyz;
comp_8=`  ret = lerp(ret2*((bass+mid+treb)*.5),ret,ret*2.5);
comp_9=`}
