MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=5.0
fGammaAdj=1.0
fDecay=0.980
fVideoEchoZoom=2.0
fVideoEchoAlpha=0.0
nVideoEchoOrientation=0
nWaveMode=5
bAdditiveWaves=0
bWaveDots=1
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=8.2
fWaveScale=3.587
fWaveSmoothing=0.9
fWaveParam=0.0
fModWaveAlphaStart=1.190
fModWaveAlphaEnd=1.710
fWarpAnimSpeed=1.0
fWarpScale=1.0
fZoomExponent=1.0
fShader=0.0
zoom=1.19500
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.01605
sx=1.0
sy=1.0
wave_r=0.8
wave_g=0.8
wave_b=0.8
wave_x=0.5
wave_y=0.5
ob_size=0.010
ob_r=0.0
ob_g=0.0
ob_b=0.0
ob_a=0.0
ib_size=0.010
ib_r=0.250
ib_g=0.250
ib_b=0.250
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.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_num_inst=1
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_num_inst=1
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_num_inst=1
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_num_inst=1
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=wave_r = wave_r + 0.300*( 0.90*sin(1.753*time+0) + 0.40*sin(1.315*time+1) );
per_frame_2=wave_g = wave_g + 0.300*( 0.90*sin(2.883*time+3) + 0.40*sin(1.006*time+4) );
per_frame_3=wave_b = wave_b + 0.300*( 0.90*sin(1.393*time+5) + 0.40*sin(2.733*time+2) );
per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) );
per_frame_5=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) );
per_frame_6=cx = cx + 0.003*( 0.60*sin(0.471*time) + 0.40*sin(0.297*time) );
per_frame_7=cy = cy + 0.003*( 0.60*sin(0.379*time) + 0.40*sin(0.351*time) );
per_frame_8=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) );
per_frame_9=rot=rot+0.02*(sin(time*2.134)+sin(time*1.7134)+sin(time*2.834));
per_frame_10=dx=dx+0.01*(sin(time*1.134)+sin(time*0.7134)+sin(time*2.334));
per_frame_11=dy=dy+0.01*(sin(time*1.8834)+sin(time*1.0144)+sin(time*1.334));
warp_1=`shader_body
warp_2=`{
warp_3=`    // sample previous frame
warp_4=`    ret.xyz = tex2D( sampler_main, uv ).xyz;
warp_5=`
warp_6=`    // slow, smooth brightness normalizer:
warp_7=`    float4 b;
warp_8=`    b.x = lum(GetBlur2(float2(0.35,0.35)));
warp_9=`    b.y = lum(GetBlur2(float2(0.65,0.35)));
warp_10=`    b.z = lum(GetBlur2(float2(0.35,0.65)));
warp_11=`    b.w = lum(GetBlur2(float2(0.65,0.65)));
warp_12=`    float fmin = min(min(b.x,b.y), min(b.z,b.w)) * 0.8;
warp_13=`    float fmax = max(max(b.x,b.y), max(b.z,b.w)) / 0.8;
warp_14=`    float normalized = (ret - fmin)/(fmax-fmin);
warp_15=`    ret = lerp(ret, normalized, 0.04); 
warp_16=`}
comp_1=`shader_body
comp_2=`{
comp_3=`    ret = tex2D(sampler_main, uv).xyz;
comp_4=`    float L = lum(ret);
comp_5=`    float bw = saturate(cos(L*27 + 3)*30 - 26);
comp_6=`    float L2 = lum(GetBlur1(uv));
comp_7=`    float bw2 = saturate(cos(L*27 + 3)*30 - 26);
comp_8=`
comp_9=`    ret = ret*ret * (1 + bw*bw2*0.5);
comp_10=`
comp_11=`}
