MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=3.0
fGammaAdj=1.0
fDecay=1.0
fVideoEchoZoom=1.007
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.0
fWaveScale=3.815
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.99980
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.01000
sx=1.0
sy=1.0
wave_r=0.650
wave_g=0.650
wave_b=1.0
wave_x=0.5
wave_y=0.5
ob_size=0.007
ob_r=0.0
ob_g=0.0
ob_b=0.0
ob_a=0.0
ib_size=0.260
ib_r=0.250
ib_g=0.250
ib_b=0.250
ib_a=0.0
nMotionVectorsX=64.0
nMotionVectorsY=48.0
mv_dx=0.0
mv_dy=0.0
mv_l=0.850
mv_r=0.5
mv_g=0.5
mv_b=0.5
mv_a=0.0
b1n=0.0
b2n=0.0
b3n=0.0
b1x=1.0
b2x=1.0
b3x=1.0
b1ed=0.250
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_num_inst=1
shapecode_0_x=0.5
shapecode_0_y=0.5
shapecode_0_rad=6.81129
shapecode_0_ang=3.64425
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.3
shapecode_0_r2=0.0
shapecode_0_g2=0.0
shapecode_0_b2=0.0
shapecode_0_a2=0.3
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_init1=t1 = rand(100)*0.01;
shape_0_init2=t2 = rand(100)*0.01;
shape_0_per_frame1=x = x + 0.23*cos(time*0.01317+1);
shape_0_per_frame2=y = y + 0.17*cos(time*0.00843+3);
shape_0_per_frame3=ang = q1*(0.303 + 0.01*t1 + instance);
shape_0_per_frame4=r = min(1,max(0,0+ 0.1*sin(time*0.417 + 1)));
shape_0_per_frame5=g = min(1,max(0,0 + 0.1*sin(time*0.391 + 2)));
shape_0_per_frame6=b = min(1,max(0,0 + 0.1*sin(time*0.432 + 4)));
shape_0_per_frame7=r2 = min(1,max(0,r2 + 0.02*sin(time*0.657 + 3)));
shape_0_per_frame8=g2 = min(1,max(0,g2 + 0.02*sin(time*0.737 + 5)));
shape_0_per_frame9=b2 = min(1,max(0,b2 + 0.02*sin(time*0.884 + 6)));
shape_0_per_frame10=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_num_inst=1
shapecode_1_x=0.410
shapecode_1_y=0.5
shapecode_1_rad=0.89796
shapecode_1_ang=3.64425
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.3
shapecode_1_r2=0.0
shapecode_1_g2=0.0
shapecode_1_b2=0.0
shapecode_1_a2=0.6
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.17*sin(q1*0.15+3);
shape_1_per_frame2=y = y + 0.13*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_num_inst=1
shapecode_2_x=0.630
shapecode_2_y=0.450
shapecode_2_rad=0.51386
shapecode_2_ang=4.20974
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=0.4
shapecode_2_r2=0.0
shapecode_2_g2=0.0
shapecode_2_b2=0.0
shapecode_2_a2=0.7
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.25*sin(q1*0.017);
shape_2_per_frame2=y = y + 0.29*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_num_inst=1
shapecode_3_x=0.5
shapecode_3_y=0.540
shapecode_3_rad=0.44747
shapecode_3_ang=0.0
shapecode_3_tex_ang=1.88496
shapecode_3_tex_zoom=1.48886
shapecode_3_r=0.6
shapecode_3_g=0.8
shapecode_3_b=1.0
shapecode_3_a=0.8
shapecode_3_r2=0.0
shapecode_3_g2=0.0
shapecode_3_b2=0.0
shapecode_3_a2=0.6
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.21*sin(q1*0.25);
shape_3_per_frame2=y = y + 0.17*sin(q1*0.5+2);
shape_3_per_frame3=ang = time;
per_frame_1=movement = movement + 0.1*max(0,bass+bass_att-2) + 0.15*pow(bass,3) + 0.005;
per_frame_2=q1 = movement;
per_frame_3=monitor =q1;
warp_1=`shader_body
warp_2=`{
warp_3=`    // PAINTERLY EFFECT:
warp_4=`    float2 uv2 = uv;
warp_5=`    const float mipbias = 0;
warp_6=`    float2 delta2 = texsize.zw*float2(1,1);
warp_7=`    float3 blurry_color = tex2D( sampler_main, uv2 + delta2 ).xyz;
warp_8=`    //uv2.xy += (blurry_color.xy-0.37) * 0.005;
warp_9=`
warp_10=`  
warp_11=`    // sample previous frame
warp_12=`    ret = tex2D( sampler_main, uv2 ).xyz;
warp_13=`
warp_14=`    ret += (ret - GetBlur1(uv2))*0.2;
warp_15=`
warp_16=`    // darken over time
warp_17=`    ret -= 0.02;    
warp_18=`}
comp_1=`shader_body
comp_2=`{
comp_3=`    ret = tex2D(sampler_main, uv).xyz;    
comp_4=`
comp_5=`    float3 d = float3(texsize.zw, 0)*1.25;
comp_6=`    float b1 = lum(GetBlur1(uv + d.xz));
comp_7=`    float b2 = lum(GetBlur1(uv - d.xz));
comp_8=`    float b3 = lum(GetBlur1(uv + d.zy));
comp_9=`    float b4 = lum(GetBlur1(uv - d.zy));
comp_10=`
comp_11=`    ret *= 0.2; 
comp_12=`    ret += saturate((b1-b2)*8)*0.60*float3(1,0.6,0.1);
comp_13=`    ret += saturate((b3-b4)*8)*0.60*float3(0.2,0.5,0.7);
comp_14=`
comp_15=`    ret *= 2;
comp_16=`}
