MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=3.0
fGammaAdj=2.0
fDecay=1.0
fVideoEchoZoom=1.0
fVideoEchoAlpha=0.0
nVideoEchoOrientation=0
nWaveMode=1
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=1.0
fWaveScale=0.504
fWaveSmoothing=0.750
fWaveParam=0.240
fModWaveAlphaStart=0.750
fModWaveAlphaEnd=0.950
fWarpAnimSpeed=9.861
fWarpScale=16.217
fZoomExponent=1.50374
fShader=0.0
zoom=1.02010
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.81954
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.005
ob_r=0.0
ob_g=0.0
ob_b=0.0
ob_a=0.2
ib_size=0.005
ib_r=0.0
ib_g=0.0
ib_b=0.0
ib_a=0.060
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.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=0
shapecode_0_sides=4
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.1
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=0.0
shapecode_0_b=0.0
shapecode_0_a=1.0
shapecode_0_r2=0.0
shapecode_0_g2=1.0
shapecode_0_b2=0.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.1
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_1=dx=-0.0005;
per_frame_2=dy=-0.0005;
per_frame_3=vol = (bass+mid+att)/6;
per_frame_4=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg);
per_frame_5=xamp = xamp + 0.5*(xamptarg-xamp);
per_frame_6=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir));
per_frame_7=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp);
per_frame_8=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp);
per_frame_9=xpos = xpos + 0.001*xspeed;
per_frame_10=wave_x = xpos + 0.5;
per_frame_11=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg);
per_frame_12=yamp = yamp + 0.5*(yamptarg-yamp);
per_frame_13=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir));
per_frame_14=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp);
per_frame_15=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp);
per_frame_16=ypos = ypos + 0.001*yspeed;
per_frame_17=wave_y = ypos + 0.5;
per_frame_18=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) );
per_frame_19=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) );
per_frame_20=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) );
per_frame_21=rot = rot + 0.030*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) );
per_frame_22=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) );
per_frame_23=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) );
per_frame_24=wave_mystery = wave_mystery + 0.15*( 0.60*sin(0.629*time) + 0.40*sin(1.826*time) );
per_frame_25=warp = warp*vol;
per_frame_26=zoom = zoom - 0.02*zoom*bass_att;
per_frame_27=zoom_exp = 1.5*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) );
per_frame_28=ob_a = 1 - 2*vol;
per_frame_29=monitor = zoom_exp;
warp_1=`shader_body
warp_2=`{
warp_3=`  float2 uv2 = uv;
warp_4=`
warp_5=`  // diffused version:
warp_6=`  float ss = 0.1;
warp_7=`  float3 blur = 0.25*(
warp_8=`    tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1, 1)).xyz +
warp_9=`    tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1, 1)).xyz +
warp_10=`    tex2D(sampler_main, uv2+ss*texsize.zw*float2( 1,-1)).xyz +
warp_11=`    tex2D(sampler_main, uv2+ss*texsize.zw*float2(-1,-1)).xyz
warp_12=`  );
warp_13=`
warp_14=`  // diffusion:  
warp_15=`  ret = blur;
warp_16=`
warp_17=`  float F2 = 0.035;
warp_18=`  float k2 = 0.060;
warp_19=`  float s = 0.025;
warp_20=`  float scale = 4;
warp_21=`
warp_22=`  // reaction:
warp_23=`  float3 z = ret;
warp_24=`  float uvv = ret.x*ret.y*ret.y;
warp_25=`  z.x += (-uvv + F2*(1-ret.x))*scale;
warp_26=`  z.y += (uvv - (F2+k2)*ret.y)*scale;
warp_27=`  //z.x += s*(16-ret.x*ret.y);
warp_28=`  //z.y += s*(ret.x*ret.y - ret.y - ret.z);
warp_29=`  z.z += 0;
warp_30=`
warp_31=`  // apply laplacian:
warp_32=`  z.x += (GetBlur1(uv2) - GetPixel(uv2))*0.1*scale;
warp_33=`
warp_34=`  ret = z;  
warp_35=`
warp_36=`  // add noise:
warp_37=`  ret += 0.05*(tex2d(sampler_noise_lq, uv*texsize.xy*texsize_noise_lq.zw + rand_frame.xy).xyz*2-1);
warp_38=`
warp_39=`  // darken (decay) over time
warp_40=`  //ret = (ret - 0.002)*0.99;
warp_41=`}
comp_1=`shader_body
comp_2=`{
comp_3=`    //ret = tex2D(sampler_main, uv).xyz;
comp_4=`
comp_5=`    //uv = (uv-0.5)*0.5 + 0.5;
comp_6=`
comp_7=`    //ret = max(ret, tex2D(sampler_main, uv).xyz);
comp_8=`    ret = tex2D(sampler_main, uv).xyz;
comp_9=`    //ret += (GetBlur1(uv) - blur1_min) * float3(0.7,0.5,1.1)*10;
comp_10=`
comp_11=`    //ret = saturate(ret.x*99);
comp_12=`}
