MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=3.0
fGammaAdj=1.0
fDecay=1.0
fVideoEchoZoom=1.006752
fVideoEchoAlpha=0.5
nVideoEchoOrientation=1
nWaveMode=7
bAdditiveWaves=1
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.1
fWaveScale=2.781282
fWaveSmoothing=0.9
fWaveParam=0.0
fModWaveAlphaStart=0.0
fModWaveAlphaEnd=1.1
fWarpAnimSpeed=1.0
fWarpScale=1.0
fZoomExponent=1.0
fShader=0.0
zoom=0.999902
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.010000
sx=1.0
sy=1.0
wave_r=0.650000
wave_g=0.650000
wave_b=1.0
wave_x=0.5
wave_y=0.5
ob_size=0.006500
ob_r=0.0
ob_g=0.0
ob_b=0.0
ob_a=0.0
ib_size=0.260000
ib_r=0.25
ib_g=0.25
ib_b=0.25
ib_a=0.0
nMotionVectorsX=64.0
nMotionVectorsY=48.0
mv_dx=0.0
mv_dy=0.0
mv_l=0.850000
mv_r=0.499900
mv_g=0.499900
mv_b=0.499900
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=3
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=0
shapecode_0_x=0.370000
shapecode_0_y=0.5
shapecode_0_rad=6.811289
shapecode_0_ang=3.644249
shapecode_0_tex_ang=0.0
shapecode_0_tex_zoom=1.0
shapecode_0_r=0.0
shapecode_0_g=0.0
shapecode_0_b=0.0
shapecode_0_a=0.5
shapecode_0_r2=0.0
shapecode_0_g2=0.0
shapecode_0_b2=0.0
shapecode_0_a2=0.5
shapecode_0_border_r=1.0
shapecode_0_border_g=1.0
shapecode_0_border_b=1.0
shapecode_0_border_a=1.0
shape_0_init1=t1 = rand(100)*0.01;
shape_0_init2=t2 = rand(100)*0.01;
shape_0_per_frame1=ang = q1*(0.03 + 0.01*t1);
shape_0_per_frame2=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1)));
shape_0_per_frame3=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2)));
shape_0_per_frame4=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4)));
shape_0_per_frame5=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3)));
shape_0_per_frame6=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5)));
shape_0_per_frame7=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6)));
shape_0_per_frame8=additive =0.5+0.15*(bass+bass_att);
shapecode_1_enabled=1
shapecode_1_sides=100
shapecode_1_additive=1
shapecode_1_thickOutline=0
shapecode_1_textured=1
shapecode_1_x=0.370000
shapecode_1_y=0.5
shapecode_1_rad=0.897961
shapecode_1_ang=3.644249
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.5
shapecode_1_r2=0.0
shapecode_1_g2=0.0
shapecode_1_b2=0.0
shapecode_1_a2=1.0
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_init1=t1 = rand(100)*0.01;
shape_1_init2=t2 = rand(100)*0.01;
shape_1_per_frame1=x = x + 0.05*sin(q1*0.15+3);
shape_1_per_frame2=y = y + 0.03*sin(q1*0.19+1);
shape_1_per_frame3=tex_ang = q1*(0.01 + 0.0001*t1);
shape_1_per_frame4=r = min(1,max(0,r + 0.01*sin(time*0.0417 + 1)));
shape_1_per_frame5=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2)));
shape_1_per_frame6=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4)));
shape_1_per_frame7=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3)));
shape_1_per_frame8=g2 = min(1,max(0,g2 + 0.01*sin(time*0.0437 + 5)));
shape_1_per_frame9=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6)));
shapecode_2_enabled=1
shapecode_2_sides=100
shapecode_2_additive=1
shapecode_2_thickOutline=0
shapecode_2_textured=1
shapecode_2_x=0.670000
shapecode_2_y=0.430000
shapecode_2_rad=0.513861
shapecode_2_ang=4.209736
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=0.0
shapecode_2_g2=0.0
shapecode_2_b2=0.0
shapecode_2_a2=1.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_init1=t1 = rand(100)*0.01;
shape_2_init2=t2 = rand(100)*0.01;
shape_2_per_frame1=x = x + 0.05*sin(q1*0.017);
shape_2_per_frame2=y = y + 0.03*sin(q1*0.013);
shape_2_per_frame3=tex_ang = q1*(0.02 + 0.0001*t1);
shape_2_per_frame4=rad = rad * (0.9 + 0.2*t2);
shape_2_per_frame5=r = min(1,max(0,r + 0.01*sin(time*0.417 + 1)));
shape_2_per_frame6=g = min(1,max(0,g + 0.01*sin(time*0.391 + 2)));
shape_2_per_frame7=b = min(1,max(0,b + 0.01*sin(time*0.432 + 4)));
shape_2_per_frame8=r2 = min(1,max(0,r2 + 0.01*sin(time*0.457 + 3)));
shape_2_per_frame9=g2 = min(1,max(0,g2 + 0.01*sin(time*0.437 + 5)));
shape_2_per_frame10=b2 = min(1,max(0,b2 + 0.01*sin(time*0.484 + 6)));
shapecode_3_enabled=1
shapecode_3_sides=100
shapecode_3_additive=1
shapecode_3_thickOutline=0
shapecode_3_textured=1
shapecode_3_x=0.5
shapecode_3_y=0.5
shapecode_3_rad=0.222979
shapecode_3_ang=0.0
shapecode_3_tex_ang=0.0
shapecode_3_tex_zoom=1.0
shapecode_3_r=0.6
shapecode_3_g=0.8
shapecode_3_b=1.0
shapecode_3_a=1.0
shapecode_3_r2=0.0
shapecode_3_g2=0.0
shapecode_3_b2=0.0
shapecode_3_a2=1.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=x = x + 0.2*sin(q1*0.25);
shape_3_per_frame2=y = y + 0.1*sin(q1*0.5+2);
per_frame_1=movement = movement + 0.01*(bass+bass_att) + 0.001*pow(bass+1,3);
per_frame_2=q1 = movement;
per_frame_3=monitor =q1;
warp_1=`shader_body
warp_2=`{
warp_3=`    // sample previous frame
warp_4=`    ret = tex2D( sampler_main, uv ).xyz;
warp_5=`
warp_6=`    // take the difference between the crisp and blurred images,
warp_7=`    // then add it back into the image.  Creates spots and stripes over time.
warp_8=`    ret += (ret - GetBlur2(uv))*0.3;
warp_9=`    ret *= 0.95;
warp_10=`
warp_11=`   // add noise:
warp_12=`   float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw * 0.4 + rand_frame.xy;
warp_13=`   ret += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0 * 12 * saturate(treb_att-1);
warp_14=`
warp_15=`   // desaturate over time, to keep the globs white
warp_16=`   ret = lerp(ret, lum(ret), 0.18);
warp_17=`}
comp_1=`sampler2D sampler_pw_noise_lq;
comp_2=`
comp_3=`shader_body
comp_4=`{
comp_5=`    ret = tex2D(sampler_main, uv).xyz;
comp_6=`
comp_7=`    ret *= 1; // a little bit of overbright
comp_8=`}
comp_9=`
comp_10=`
