MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=4.000
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 = q7;
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 = q7;
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 = q7;
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 = q7;
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=  q7 = (max(max(bass/bass_att,treb/treb_att),mid/mid_att) - 0.82) * 3;
per_frame_16=  q7 = max(0,min(1,q7));
per_frame_17=
per_frame_18=// the möbius transformation
per_frame_19=// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector
per_frame_20=// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c
per_frame_21=// so a/c and mu can be calculated outside of the shader
per_frame_22=
per_frame_23=//before inversion
per_frame_24=
per_frame_25=scale = 1;
per_frame_26=angle = time*.2;
per_frame_27=translation_x = 0;
per_frame_28=translation_y = 0.12;
per_frame_29=
per_frame_30=a_r = cos(angle)*scale;
per_frame_31=a_i = sin(angle)*scale;
per_frame_32=b_r = translation_x;
per_frame_33=b_i = translation_y;
per_frame_34=
per_frame_35=//complex inverted
per_frame_36=scale = 1;
per_frame_37=angle = sin(time*0.1337)*0.3;
per_frame_38=translation_u = 0;
per_frame_39=translation_v = -0.2;
per_frame_40=
per_frame_41=// c
per_frame_42=q15 = cos(angle)*scale;
per_frame_43=q16 = sin(angle)*scale;
per_frame_44=
per_frame_45=// d
per_frame_46=q17 = translation_u;
per_frame_47=q18 = translation_v;
per_frame_48=
per_frame_49=// c^(-1)
per_frame_50=c_inv_r = q15/(q15*q15+q16*q16);
per_frame_51=c_inv_i = q16/(q15*q15+q16*q16);
per_frame_52=
per_frame_53=// a*c^(-1)
per_frame_54=q11 = (a_r*c_inv_r - a_i*c_inv_i);
per_frame_55=q12 = (a_r*c_inv_i - a_i*c_inv_r);
per_frame_56=
per_frame_57=// (bc-ad)
per_frame_58=bcad_r = (b_r*q15 - b_i*q16)-(a_r*q17-a_i*q18);
per_frame_59=bcad_i = (b_r*q16 - b_i*q15)-(a_r*q18-a_i*q17);
per_frame_60=
per_frame_61=// mu*c^(-1)
per_frame_62=q13 = bcad_r*c_inv_r - bcad_i*c_inv_i;
per_frame_63=q14 = bcad_r*c_inv_i - bcad_i*c_inv_r;
warp_1=`#define MyGet GetPixel
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=`sampler sampler_sunrise;
comp_2=`shader_body
comp_3=`{
comp_4=`
comp_5=`float2 ac = float2(q11,q12);
comp_6=`float2 mu = float2(q13,q14);
comp_7=`float2 c = float2(q15,q16);
comp_8=`float2 d = float2(q17,q18);
comp_9=`
comp_10=`float2 z = (uv-0.5);
comp_11=`
comp_12=`// (c*z + d)
comp_13=`float2 czd = float2(z.x*c.x-z.y*c.y,z.x*c.y-z.y*c.x)*aspect.yx + d;
comp_14=`// mu/(cz+d)
comp_15=`float2 moebius = float2( mu.x*czd.x + mu.y*czd.y , mu.y*czd.x-mu.x*czd.y )/(czd.x*czd.x+czd.y*czd.y) + ac;
comp_16=`
comp_17=`moebius = 0.5 + (1.0 - abs( frac( moebius * 0.5 ) * 2 - 1.0 )-0.5)*0.99;
comp_18=`
comp_19=`uv = moebius;
comp_20=`//the fun starts here ;-)
comp_21=`
comp_22=`    ret = tex2D(sampler_main, uv).xyz;
comp_23=`    ret = ret*1.5 - 0.1;
comp_24=`
comp_25=`    ret += GetBlur1(uv)*float3(0.5,0.32,0.1)*0.8;
comp_26=`ret = lerp(ret,GetBlur3(uv)*(1-rad*1.2)*1.5,rad);
comp_27=`}
comp_28=`
