MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=3.500000
fGammaAdj=1.9
fDecay=0.980
fVideoEchoZoom=1.169
fVideoEchoAlpha=0.0
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.3
fWaveScale=1.128
fWaveSmoothing=0.333
fWaveParam=-0.2
fModWaveAlphaStart=0.850
fModWaveAlphaEnd=1.330
fWarpAnimSpeed=1.0
fWarpScale=1.503
fZoomExponent=0.13267
fShader=0.0
zoom=1.01489
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.04750
sx=1.0
sy=1.0
wave_r=0.710
wave_g=0.690
wave_b=0.680
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 = 0.75 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4);
per_frame_2=wave_g = 0.75 + 0.25*sin(0.544*time+2) + 0.15*sin(0.143*time+5);
per_frame_3=wave_b = 0.95 + 0.25*sin(0.751*time+3) + 0.15*sin(0.117*time+6);
per_frame_4=//wave_r = sqrt(wave_r);
per_frame_5=//wave_g = sqrt(wave_g);
per_frame_6=//wave_b = sqrt(wave_b);
per_frame_7=rot = rot + 0.010*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) );
per_frame_8=cx = cx + 0.210*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) );
per_frame_9=cy = cy + 0.210*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) );
per_frame_10=dx = dx + 0.003*( 0.60*sin(0.234*time) + 0.40*sin(0.277*time) );
per_frame_11=dy = dy + 0.003*( 0.60*sin(0.284*time) + 0.40*sin(0.247*time) );
per_frame_12=decay = decay - 0.01*equal(frame%6,0);
per_frame_13=dx = dx + dx_residual;
per_frame_14=dy = dy + dy_residual;
per_frame_15=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3);
per_frame_16=dx_residual = equal(bass_thresh,2.13)*0.016*sin(time*7) + (1-equal(bass_thresh,2.13))*dx_residual;
per_frame_17=dy_residual = equal(bass_thresh,2.13)*0.012*sin(time*9) + (1-equal(bass_thresh,2.13))*dy_residual;
per_frame_18=wave_x = wave_x - dx_residual*7;
per_frame_19=wave_y = wave_y - dy_residual*7;
per_frame_20=//wave_mystery = time*0.03;
per_frame_21=
per_frame_22=zoom = zoom + 0.008*(0.35*sin(0.844*time+2) + 0.55*sin(1.743*time+5));
per_frame_23=//zoom = zoom + max(0,treb-1.2)*0.1;
per_frame_24=
per_frame_25=q1 = 0.03;// + 0.09*pow( 0.5 + 0.25*sin(0.437*time+1) + 0.15*sin(0.197*time+4), 8 );
per_frame_26=
per_frame_27=q6 = dx*50;
per_frame_28=q7 = dy*50;
warp_1=`sampler sampler_lichen;
warp_2=`
warp_3=`shader_body
warp_4=`{
warp_5=`    // PAINTERLY EFFECT:
warp_6=`    float2 uv2 = uv;
warp_7=`    float2 delta2 = texsize.zw*float2(1,1);
warp_8=`    float3 blurry_color = tex2D( sampler_main, 
warp_9=`        lerp(uv,uv_orig,-1) + delta2 ).xyz;
warp_10=`    uv2.xy += (blurry_color.xy-0.5) * q1;
warp_11=`
warp_12=`    // sample previous frame
warp_13=`    ret = tex2D( sampler_main, uv2 ).xyz;
warp_14=`
warp_15=`    // push all colors toward 0.5:
warp_16=`    ret.xyz -= (saturate((ret.xyz-0.5)*99)*2-1)*float3(1,1,0)*0.001;
warp_17=`
warp_18=`    float2 uv3 = float2(slow_roam_cos.w,slow_roam_sin.z)*0.7 + uv_orig.xy*0.2;
warp_19=`    ret.xyz *= 0.998 - 0.1*saturate(tex2D(sampler_lichen, uv3).y*5-3.7);
warp_20=`
warp_21=`    float2 dither_uv = uv_orig*texsize.xy*texsize_noise_lq.zw + rand_frame.xy;
warp_22=`    ret.xyz += (tex2D(sampler_noise_lq, dither_uv).xyz-0.5)/256.0*15;
warp_23=`}
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.5; 
comp_12=`    ret += saturate((b1-b2)*1)*13.40*float3(1,0.7,0.3);
comp_13=`    ret += saturate((b3-b4)*1)*13.40*float3(0.2,0.5,0.7);
comp_14=`
comp_15=`    ret *= 1.5;
comp_16=`}
