MILKDROP_PRESET_VERSION=201
PSVERSION=2
PSVERSION_WARP=2
PSVERSION_COMP=2
[preset00]
fRating=4.0
fGammaAdj=1.0
fDecay=0.8
fVideoEchoZoom=13.693630
fVideoEchoAlpha=0.0
nVideoEchoOrientation=0
nWaveMode=3
bAdditiveWaves=0
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.2
fWaveScale=0.532384
fWaveSmoothing=0.9
fWaveParam=0.0
fModWaveAlphaStart=0.5
fModWaveAlphaEnd=1.0
fWarpAnimSpeed=1.0
fWarpScale=1.430768
fZoomExponent=0.880200
fShader=0.330001
zoom=1.000489
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=0.341546
sx=0.999900
sy=0.999800
wave_r=1.0
wave_g=1.0
wave_b=1.0
wave_x=0.5
wave_y=0.5
ob_size=0.0
ob_r=0.0
ob_g=0.0
ob_b=0.0
ob_a=0.0
ib_size=0.0
ib_r=0.0
ib_g=0.3
ib_b=0.0
ib_a=0.0
nMotionVectorsX=64.0
nMotionVectorsY=48.0
mv_dx=0.0
mv_dy=0.0
mv_l=5.0
mv_r=1.0
mv_g=1.0
mv_b=1.0
mv_a=0.0
b1n=0.25
b2n=0.0
b3n=0.0
b1x=1.0
b2x=1.0
b3x=1.0
b1ed=0.25
wavecode_0_enabled=1
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.0
wavecode_0_r=1.0
wavecode_0_g=1.0
wavecode_0_b=1.0
wavecode_0_a=1.0
wave_0_per_point1=ox=.1*cos(sample*6.2831);
wave_0_per_point2=oy=.35*sin(sample*6.2831)*1.2;
wave_0_per_point3=x=.5+ox*cos(q8+1.0467)-oy*sin(q8+1.0467);
wave_0_per_point4=y=.5+ox*sin(q8+1.0467)+oy*cos(q8+1.0467);
wave_0_per_point5=r=abs(sample-.5);
wave_0_per_point6=g=abs(sample-.5);
wave_0_per_point7=b=abs(sample-.5);
wavecode_1_enabled=1
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.0
wavecode_1_r=1.0
wavecode_1_g=1.0
wavecode_1_b=1.0
wavecode_1_a=1.0
wave_1_per_point1=ox=.1*cos(sample*6.2831);
wave_1_per_point2=oy=.35*sin(sample*6.2831)*1.2;
wave_1_per_point3=x=.5+ox*cos(q8)-oy*sin(q8);
wave_1_per_point4=y=.5+ox*sin(q8)+oy*cos(q8);
wave_1_per_point5=r=abs(sample-.5);
wave_1_per_point6=g=abs(sample-.5);
wave_1_per_point7=b=abs(sample-.5);
wavecode_2_enabled=1
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.0
wavecode_2_r=1.0
wavecode_2_g=1.0
wavecode_2_b=1.0
wavecode_2_a=1.0
wave_2_per_point1=ox=.1*cos(sample*6.2831);
wave_2_per_point2=oy=.35*sin(sample*6.2831)*1.2;
wave_2_per_point3=x=.5+ox*cos(q8+2.0933)-oy*sin(q8+2.0933);
wave_2_per_point4=y=.5+ox*sin(q8+2.0933)+oy*cos(q8+2.0933);
wave_2_per_point5=r=abs(sample-.5);
wave_2_per_point6=g=abs(sample-.5);
wave_2_per_point7=b=abs(sample-.5);
wavecode_3_enabled=1
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=0
wavecode_3_bDrawThick=0
wavecode_3_bAdditive=1
wavecode_3_scaling=1.030300
wavecode_3_smoothing=0.0
wavecode_3_r=1.0
wavecode_3_g=1.0
wavecode_3_b=0.470000
wavecode_3_a=1.0
wave_3_per_frame1=fbx=.5+q1*cos(6.2831/3)-q2*sin(6.2831/3);
wave_3_per_frame2=fby=.5+q1*sin(6.2831/3)+q2*cos(6.2831/3);
wave_3_per_frame3=ox=(q1+.5+fbx)*.5;
wave_3_per_frame4=oy=(q2+.5+fby)*.5;
wave_3_per_frame5=nx=.5+(ox-.5)*cos(q8)-(oy-.5)*sin(q8);
wave_3_per_frame6=ny=.5+(ox-.5)*sin(q8)+(oy-.5)*cos(q8);
wave_3_per_frame7=t1=nx;
wave_3_per_frame8=t2=ny;
wave_3_per_frame9=nx=.5+(fbx-.5)*cos(q8)-(fby-.5)*sin(q8);
wave_3_per_frame10=ny=.5+(fbx-.5)*sin(q8)+(fby-.5)*cos(q8);
wave_3_per_frame11=t3=sqrt(sqr(ox-fbx)+sqr(oy-fby));
wave_3_per_frame12=t4=sqrt(q1*q1+q2*q2)*.5;
wave_3_per_frame13=t5=atan2(t2-ny,t1-nx);
wave_3_per_frame14=b=b+.2*(1-q5)
wave_3_per_point1=v1=t3*(1+.3*(1+q7)*value1*(1-sqr(2*abs(sample-.5))))*cos(3.1415*sample);
wave_3_per_point2=v2=t4*(1+.3*(1+q7)*value2*(1-sqr(2*abs(sample-.5))))*sin(3.1415*sample);
wave_3_per_point3=v2=v2*pow((1-abs(sample-.5)),1.3);
wave_3_per_point4=a=max(q7,.15*abs(cos(time*4.32+.63+sin(time*7.3+1.07)))*( 1-sqrt(2*abs(sample-.5))));
wave_3_per_point5=nx=v1*cos(t5)-v2*sin(t5);
wave_3_per_point6=ny=v1*sin(t5)+v2*cos(t5);
wave_3_per_point7=x=nx+t1;
wave_3_per_point8=y=ny+t2;
shapecode_0_enabled=1
shapecode_0_sides=100
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=0.999999
shapecode_0_r=0.050000
shapecode_0_g=0.050000
shapecode_0_b=0.9
shapecode_0_a=1.0
shapecode_0_r2=0.0
shapecode_0_g2=0.0
shapecode_0_b2=0.4
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.0
shapecode_1_enabled=1
shapecode_1_sides=50
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.050330
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.050000
shapecode_1_b=0.050000
shapecode_1_a=1.0
shapecode_1_r2=0.400001
shapecode_1_g2=0.020000
shapecode_1_b2=0.020000
shapecode_1_a2=0.1
shapecode_1_border_r=1.0
shapecode_1_border_g=1.0
shapecode_1_border_b=1.0
shapecode_1_border_a=0.0
shape_1_per_frame1=x=q1*cos(q8+1.0467)-q2*sin(q8+1.0467)+.5;
shape_1_per_frame2=y=q1*sin(q8+1.0467)+q2*cos(q8+1.0467)+.5;
shape_1_per_frame3=rad=.03+.02*q5+q7*.07;
shape_1_per_frame4=b=b+0.2*(1-q5);
shape_1_per_frame5=b2=b2+0.2*(1-q5);
shapecode_2_enabled=1
shapecode_2_sides=50
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.049832
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.050000
shapecode_2_b=0.050000
shapecode_2_a=1.0
shapecode_2_r2=0.400001
shapecode_2_g2=0.020000
shapecode_2_b2=0.020000
shapecode_2_a2=0.1
shapecode_2_border_r=1.0
shapecode_2_border_g=1.0
shapecode_2_border_b=1.0
shapecode_2_border_a=0.0
shape_2_per_frame1=x=q1*cos(q8+2.0933)-q2*sin(q8+2.0933)+.5;
shape_2_per_frame2=y=q1*sin(q8+2.0933)+q2*cos(q8+2.0933)+.5;
shape_2_per_frame3=
shape_2_per_frame4=rad=.03+.02*q5+q7*.07;
shape_2_per_frame5=b=b+0.2*(1-q5);
shape_2_per_frame6=b2=b2+0.2*(1-q5);
shapecode_3_enabled=1
shapecode_3_sides=50
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.049832
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.050000
shapecode_3_b=0.050000
shapecode_3_a=1.0
shapecode_3_r2=0.400001
shapecode_3_g2=0.020000
shapecode_3_b2=0.020000
shapecode_3_a2=0.1
shapecode_3_border_r=1.0
shapecode_3_border_g=1.0
shapecode_3_border_b=1.0
shapecode_3_border_a=0.0
shape_3_per_frame1=x=q1*cos(q8)-q2*sin(q8)+.5;
shape_3_per_frame2=y=q1*sin(q8)+q2*cos(q8)+.5;
shape_3_per_frame3=rad=.03+.02*q5+q7*.07;
shape_3_per_frame4=b=b+0.2*(1-q5);
shape_3_per_frame5=b2=b2+0.2*(1-q5);
per_frame_1=// -------------------------------- beat detection code ----------------------------------
per_frame_2=sure=if(equal(sure,0),.75,sure);
per_frame_3=interval=if(equal(interval,0),.7*FPS,interval);
per_frame_4=avginterval=if(equal(avginterval,0),.7*FPS,avginterval);
per_frame_5=lockinterval=if(equal(lockinterval,0),.7*FPS,lockinterval );
per_frame_6=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat);
per_frame_7=dbass=(bass-pbass)*FPS;
per_frame_8=beat=below(dbass,0)*above(pdbass,0)*above(bass,.95*avgbass)*above(frame-lastbeat,FPS/3);
per_frame_9=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5),
per_frame_10=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996);
per_frame_11=sure=max(.5,sure);
per_frame_12=avgbass=.995*avgbass+.005*bass;
per_frame_13=maxdbass=max(maxdbass*.999,dbass);
per_frame_14=maxdbass=min(200,maxdbass);
per_frame_15=maxdbass=max(.02,maxdbass);
per_frame_16=interval=if(beat*below(frame-lastbeat,1.8*interval), ((frame-lastbeat)*.25+.75*interval),interval);
per_frame_17=lastbeat=if((1-force)*beat+equal(lastbeat+interval,frame),frame,lastbeat);
per_frame_18=avginterval=if(beat,.9*avginterval+.1*interval, avginterval);
per_frame_19=lockinterval=if(beat,.9*lockinterval+.1*avginterval,lockinterval);
per_frame_20=pbass=bass;
per_frame_21=pdbass=dbass;
per_frame_22=bpm=60*FPS*.3333*( ((2*(1-sure))/interval)+((2*sure)/avginterval)+(1/lockinterval) );
per_frame_23=phase=min( (frame-lastbeat)/(.333*(2*sure*avginterval+2*(1-sure)*interval+lockinterval)), 1 );
per_frame_24=beat=if(equal(phase,0),1,beat);
per_frame_25=interval=min(interval,.7*FPS);
per_frame_26=avginterval=min(avginterval,.7*FPS);
per_frame_27=lockinterval=min(lockinterval,.7*FPS);
per_frame_28=// ----------------------------------------------------------------------------------------------
per_frame_29=
per_frame_30=//warp=0;
per_frame_31=//zoom=1;
per_frame_32=q1=.1*cos(time);
per_frame_33=q2=.35*sin(time)*1.2;
per_frame_34=q8=time*.1;
per_frame_35=q7=beat;
per_frame_36=q6=(time/6.2831-int(time/6.2831));
per_frame_37=q5=abs(q6*6.2831-3.1415)/3.1415;
per_frame_38=monitor=q6;
warp_1=`sampler sampler_smalltiled_electric_nebula;
warp_2=`float4 texsize_smalltiled_electric_nebula;
warp_3=`
warp_4=`shader_body
warp_5=`{
warp_6=`    // sample previous frame
warp_7=`    ret = tex2D( sampler_fc_main, uv ).xyz;
warp_8=`
warp_9=`    // this creates an endless texture zoom:
warp_10=`    {  // the { } block creates a local, temporary scope for any new variables
warp_11=`     float t = frac(time*0.5);
warp_12=`     float zoom1 = pow(0.5, t);
warp_13=`     float zoom2 = zoom1*2;
warp_14=`     float2 uv1 = (uv-0.5) * zoom1 + 0.5;
warp_15=`     float2 uv2 = (uv-0.5) * zoom2 + 0.5;    
warp_16=`     float3 c  = tex2D(sampler_smalltiled_electric_nebula, 
warp_17=`                  uv1*texsize.xy*texsize_smalltiled_electric_nebula.zw).xyz;
warp_18=`     float3 c2 = tex2D(sampler_smalltiled_electric_nebula, 
warp_19=`                  uv2*texsize.xy*texsize_smalltiled_electric_nebula.zw).xyz;
warp_20=`     c = lerp(c, c2, t);
warp_21=`     c *= saturate(rad*1.3)*1.1; //darken @ center
warp_22=`     ret = lerp(ret, c, 0.15);
warp_23=`    }
warp_24=`   
warp_25=`    // darken over time
warp_26=`    ret *= 0.80; //or try: ret -= 0.004;
warp_27=`
warp_28=`}
comp_1=`shader_body
comp_2=`{
comp_3=`    ret = tex2D(sampler_main, uv).xyz;
comp_4=`    //ret = lerp(ret, float3(0.03,0.03,0.70), 0.3);// - 0.25*rad);
comp_5=`    ret += (GetBlur1(uv) - blur1_min)*2;
comp_6=`
comp_7=`
comp_8=`    //ret *= 0.67 + 0.33*hue_shader; //old hue shader effect
comp_9=`}
