MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=4.000000
fGammaAdj=1.000
fDecay=0.955
fVideoEchoZoom=0.997
fVideoEchoAlpha=0.500
nVideoEchoOrientation=1
nWaveMode=7
bAdditiveWaves=1
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.583
fWaveScale=1.286
fWaveSmoothing=0.630
fWaveParam=0.000
fModWaveAlphaStart=0.710
fModWaveAlphaEnd=1.300
fWarpAnimSpeed=1.000
fWarpScale=1.331
fZoomExponent=1.00000
fShader=1.000
zoom=1.00250
rot=0.00000
cx=0.500
cy=0.500
dx=0.00000
dy=0.00000
warp=0.01000
sx=1.00000
sy=1.00000
wave_r=0.650
wave_g=1.000
wave_b=0.350
wave_x=0.500
wave_y=0.500
ob_size=0.500
ob_r=0.010
ob_g=0.000
ob_b=0.000
ob_a=0.000
ib_size=0.260
ib_r=0.250
ib_g=0.250
ib_b=0.250
ib_a=0.000
nMotionVectorsX=64.000
nMotionVectorsY=48.000
mv_dx=0.000
mv_dy=0.000
mv_l=0.000
mv_r=1.000
mv_g=1.000
mv_b=1.000
mv_a=0.000
b1n=0.000
b2n=0.000
b3n=0.000
b1x=1.000
b2x=1.000
b3x=1.000
b1ed=0.250
wavecode_0_enabled=1
wavecode_0_samples=512
wavecode_0_sep=0
wavecode_0_bSpectrum=0
wavecode_0_bUseDots=0
wavecode_0_bDrawThick=1
wavecode_0_bAdditive=0
wavecode_0_scaling=1.00000
wavecode_0_smoothing=0.50000
wavecode_0_r=1.000
wavecode_0_g=1.000
wavecode_0_b=1.000
wavecode_0_a=1.000
wave_0_per_frame1=a = q17;
wave_0_per_point1=ma=ma+(above(bass,1)*3.1415*.01*bass);
wave_0_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb);
wave_0_per_point3=
wave_0_per_point4=mx=mx+(.0002*cos(ma));
wave_0_per_point5=my=my+(.0002*sin(ma));
wave_0_per_point6=
wave_0_per_point7=mx=if(above(mx,.9),(.9-mx),mx);
wave_0_per_point8=my=if(above(my,.9),(.9-my),my);
wave_0_per_point9=mx=if(below(mx,.1),(.9+mx),mx);
wave_0_per_point10=my=if(below(my,.1),(.9+my),my);
wave_0_per_point11=
wave_0_per_point12=x=mx;
wave_0_per_point13=y=my;
wave_0_per_point14=
wave_0_per_point15=
wavecode_1_enabled=1
wavecode_1_samples=512
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=0
wavecode_1_bDrawThick=1
wavecode_1_bAdditive=0
wavecode_1_scaling=1.00000
wavecode_1_smoothing=0.50000
wavecode_1_r=1.000
wavecode_1_g=1.000
wavecode_1_b=1.000
wavecode_1_a=1.000
wave_1_per_frame1=a = q17;
wave_1_per_point1=ma=ma+(above(bass,1)*3.1415*.05*bass);
wave_1_per_point2=ma=ma-(above(mid,1)*3.1415*.05*mid);
wave_1_per_point3=
wave_1_per_point4=mx=mx+(.0001*cos(ma));
wave_1_per_point5=my=my+(.0001*sin(ma));
wave_1_per_point6=
wave_1_per_point7=mx=if(above(mx,.9),(.9-mx),mx);
wave_1_per_point8=my=if(above(my,.9),(.9-my),my);
wave_1_per_point9=mx=if(below(mx,.1),(.9+mx),mx);
wave_1_per_point10=my=if(below(my,.1),(.9+my),my);
wave_1_per_point11=
wave_1_per_point12=x=mx;
wave_1_per_point13=y=my;
wave_1_per_point14=
wave_1_per_point15=
wavecode_2_enabled=1
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=0
wavecode_2_bDrawThick=1
wavecode_2_bAdditive=0
wavecode_2_scaling=1.00000
wavecode_2_smoothing=0.50000
wavecode_2_r=1.000
wavecode_2_g=1.000
wavecode_2_b=1.000
wavecode_2_a=1.000
wave_2_per_frame1=a = q17;
wave_2_per_point1=ma=ma+(above(mid,1)*3.1415*.01*mid);
wave_2_per_point2=ma=ma-(above(treb,1)*3.1415*.01*treb);
wave_2_per_point3=
wave_2_per_point4=mx=mx+(.0004*cos(ma));
wave_2_per_point5=my=my+(.0004*sin(ma));
wave_2_per_point6=
wave_2_per_point7=mx=if(above(mx,.9),(.9-mx),mx);
wave_2_per_point8=my=if(above(my,.9),(.9-my),my);
wave_2_per_point9=mx=if(below(mx,.1),(.9+mx),mx);
wave_2_per_point10=my=if(below(my,.1),(.9+my),my);
wave_2_per_point11=
wave_2_per_point12=x=mx;
wave_2_per_point13=y=my;
wave_2_per_point14=
wavecode_3_enabled=1
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=0
wavecode_3_bDrawThick=1
wavecode_3_bAdditive=0
wavecode_3_scaling=1.00000
wavecode_3_smoothing=0.50000
wavecode_3_r=1.000
wavecode_3_g=1.000
wavecode_3_b=1.000
wavecode_3_a=1.000
wave_3_per_frame1=a = q17;
wave_3_per_point1=ma=ma+(above(bass,.5)*3.1415*.02*bass);
wave_3_per_point2=ma=ma-(above(treb,.5)*3.1415*.02*treb);
wave_3_per_point3=
wave_3_per_point4=mx=mx+(.0008*cos(ma));
wave_3_per_point5=my=my+(.0008*sin(ma));
wave_3_per_point6=
wave_3_per_point7=mx=if(above(mx,.9),(.9-mx),mx);
wave_3_per_point8=my=if(above(my,.9),(.9-my),my);
wave_3_per_point9=mx=if(below(mx,.1),(.9+mx),mx);
wave_3_per_point10=my=if(below(my,.1),(.9+my),my);
wave_3_per_point11=
wave_3_per_point12=x=mx;
wave_3_per_point13=y=my;
wave_3_per_point14=
shapecode_0_enabled=0
shapecode_0_sides=4
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=1
shapecode_0_num_inst=1
shapecode_0_x=0.500
shapecode_0_y=0.500
shapecode_0_rad=1.79142
shapecode_0_ang=0.00000
shapecode_0_tex_ang=0.62832
shapecode_0_tex_zoom=1.00000
shapecode_0_r=1.000
shapecode_0_g=1.000
shapecode_0_b=1.000
shapecode_0_a=0.000
shapecode_0_r2=0.000
shapecode_0_g2=0.000
shapecode_0_b2=0.000
shapecode_0_a2=1.000
shapecode_0_border_r=1.000
shapecode_0_border_g=1.000
shapecode_0_border_b=1.000
shapecode_0_border_a=0.000
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.500
shapecode_1_y=0.500
shapecode_1_rad=0.10000
shapecode_1_ang=0.00000
shapecode_1_tex_ang=0.00000
shapecode_1_tex_zoom=1.00000
shapecode_1_r=1.000
shapecode_1_g=0.000
shapecode_1_b=0.000
shapecode_1_a=1.000
shapecode_1_r2=0.000
shapecode_1_g2=1.000
shapecode_1_b2=0.000
shapecode_1_a2=0.000
shapecode_1_border_r=1.000
shapecode_1_border_g=1.000
shapecode_1_border_b=1.000
shapecode_1_border_a=0.100
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.500
shapecode_2_y=0.500
shapecode_2_rad=0.10000
shapecode_2_ang=0.00000
shapecode_2_tex_ang=0.00000
shapecode_2_tex_zoom=1.00000
shapecode_2_r=1.000
shapecode_2_g=0.000
shapecode_2_b=0.000
shapecode_2_a=1.000
shapecode_2_r2=0.000
shapecode_2_g2=1.000
shapecode_2_b2=0.000
shapecode_2_a2=0.000
shapecode_2_border_r=1.000
shapecode_2_border_g=1.000
shapecode_2_border_b=1.000
shapecode_2_border_a=0.100
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.500
shapecode_3_y=0.500
shapecode_3_rad=0.10000
shapecode_3_ang=0.00000
shapecode_3_tex_ang=0.00000
shapecode_3_tex_zoom=1.00000
shapecode_3_r=1.000
shapecode_3_g=0.000
shapecode_3_b=0.000
shapecode_3_a=1.000
shapecode_3_r2=0.000
shapecode_3_g2=1.000
shapecode_3_b2=0.000
shapecode_3_a2=0.000
shapecode_3_border_r=1.000
shapecode_3_border_g=1.000
shapecode_3_border_b=1.000
shapecode_3_border_a=0.100
per_frame_init_1=q16 = pow(rand(100)*0.01, 1.5)*0.029;
per_frame_1=// custom beat detection code: (fps-independent; quiet songs don't freak out)
per_frame_2=min_att    = 2.5;               // lower # = quieter songs can declare beats
per_frame_3=decay_to   = 0.8;               // lower # = more hasty to declare a beat
per_frame_4=decay_rate = pow(0.9990, fps);  // lower # = more hasty to declare a beat
per_frame_5=beat =           bass/max(min_att,bass_att);
per_frame_6=beat = max(beat, mid /max(min_att,mid_att ));
per_frame_7=beat = max(beat, treb/max(min_att,treb_att));
per_frame_8=beat = max( beat, (prev_beat-decay_to)*decay_rate + decay_to );
per_frame_9=beat_level     = (beat - prev_beat - 0.03)*24;
per_frame_10=is_beat = above(beat_level, 0.5);
per_frame_11=prev_beat = beat;
per_frame_12=  // put your beat responses HERE:
per_frame_13=  //wave_a = beat_level;
per_frame_14=  //q17 = max(0, min(1, beat_level));
per_frame_15=  q17 = (max(max(bass/bass_att,treb/treb_att),mid/mid_att) - 0.82) * 3;
per_frame_16=  q17 = max(0,min(1,q17));
per_frame_17=
per_frame_18=zoom = zoom + q16;
warp_1=`#define MyGet GetPixel //GetBlur1
warp_2=`shader_body
warp_3=`{
warp_4=`    // GROW EFFECT - bright pixels spread radially outward.
warp_5=`    // BE CAREFUL - this can really thrash the texture cache! (SLOW)
warp_6=`    float grad_rad = 4;  //TWEAK
warp_7=`    float str = 2.3;      //TWEAK
warp_8=`    float3 d = float3(texsize.zw, 0) * grad_rad;
warp_9=`    float4 lums = 0;
warp_10=`    lums.x = lum( MyGet(uv + texsize.zw*d.xz) );
warp_11=`    lums.y = lum( MyGet(uv - texsize.zw*d.xz) );
warp_12=`    lums.z = lum( MyGet(uv + texsize.zw*d.zy) );
warp_13=`    lums.w = lum( MyGet(uv - texsize.zw*d.zy) );
warp_14=`    float2 grad = float2(lums.x-lums.y, lums.z-lums.w)*str*1000/grad_rad;
warp_15=`    grad = (saturate(grad*0.5+0.5)*2-1)*1.4;
warp_16=`    // sample previous frame
warp_17=`    ret = tex2D( sampler_fc_main, uv + grad*texsize.zw ).xyz;
warp_18=`
warp_19=`    // darken (decay) over time
warp_20=`    ret *= 0.965; //or try: ret -= 0.004;
warp_21=`}
comp_1=`shader_body
comp_2=`{
comp_3=`    ret = tex2D(sampler_main, uv).xyz;
comp_4=`    ret = ret*1.5 - 0.1;
comp_5=`
comp_6=`    ret += GetBlur1(uv)*float3(0.5,0.32,0.1)*0.8;
comp_7=`
comp_8=`}
comp_9=`
comp_10=`
