[preset00]
fRating=3.000000
fGammaAdj=2.000000
fDecay=0.960000
fVideoEchoZoom=1.000000
fVideoEchoAlpha=1.000000
nVideoEchoOrientation=2
nWaveMode=6
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=10.892525
fWaveScale=0.248318
fWaveSmoothing=0.750000
fWaveParam=-1.000000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=4.141529
fShader=1.000000
zoom=1.000000
rot=0.000000
cx=0.020000
cy=0.020000
dx=0.000000
dy=0.000000
warp=1.000000
sx=1.000000
sy=0.999995
wave_r=0.500000
wave_g=0.500000
wave_b=0.500000
wave_x=0.100000
wave_y=0.500000
ob_size=0.005000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=1.000000
ib_size=0.005000
ib_r=0.000000
ib_g=0.000000
ib_b=0.100000
ib_a=1.000000
nMotionVectorsX=12.000000
nMotionVectorsY=9.000000
mv_dx=0.000000
mv_dy=0.000000
mv_l=5.000000
mv_r=1.000000
mv_g=1.000000
mv_b=1.000000
mv_a=0.000000
per_frame_1=warp=0;
per_frame_2=volume = 0.15*(bass_att+bass+mid+mid_att);
per_frame_3=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate));
per_frame_4=lastbeat = if(equal(lastbeat,0),time,lastbeat);
per_frame_5=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_6=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att);
per_frame_7=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0);
per_frame_8=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_9=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att);
per_frame_10=lastbeat = if(beat,time,lastbeat);
per_frame_11=beatcounter = if(above(beat,0),beatcounter +1, beatcounter);
per_frame_12=beatcounter = if(above(beatcounter,7), 0, beatcounter);
per_frame_13=beateven = beatcounter%2;
per_frame_14=drip1grav = if(beateven,0.001*(1+(3*bass)),drip1grav) + equal(drip1grav,0)*0.05;
per_frame_15=drip1x = if(beat,0.5*beateven +0.005*rand(100),drip1x);
per_frame_16=drip1y = if(beat,0,drip1y);
per_frame_17=drip2grav = if(beateven,0.001*(1+(3*treb)),drip2grav) + equal(drip2grav,0)*0.06;
per_frame_18=drip2x = if(beat,0.5*beateven +0.005*rand(100),drip2x);
per_frame_19=drip2y = if(beat,0,drip2y);
per_frame_20=drip3grav = if(beat,0.001*(1+(3*mid)),drip3grav) + equal(drip3grav,0)*0.07;
per_frame_21=drip3x = if(beat,0.5*beateven +0.005*rand(100),drip3x);
per_frame_22=drip3y = if(beat,0,drip3y);
per_frame_23=drip4grav = if(beat,0.001*(1+(1*(mid+treb+bass))),drip4grav) + equal(drip4grav,0)*0.08;
per_frame_24=drip4x = if(beat,0.5*beateven +0.005*rand(100),drip4x);
per_frame_25=drip4y = if(beat,0,drip4y);
per_frame_26=drip1y = min(0.001 + drip1y + drip1grav,1.2);
per_frame_27=drip2y = min(0.001 + drip2y + drip2grav,1.2);
per_frame_28=drip3y = min(0.001 + drip3y + drip3grav,1.2);
per_frame_29=drip4y = min(0.001 + drip4y + drip4grav,1.2);
per_frame_30=q1 = if(equal(frame%4,0),drip1x,if(equal(frame%4,1),drip2x,if(equal(frame%4,2),drip3x,drip4x)));
per_frame_31=q2 = if(equal(frame%4,0),drip1y,if(equal(frame%4,1),drip2y,if(equal(frame%4,2),drip3y,drip4y)));
per_frame_32=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) );
per_frame_33=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) );
per_frame_34=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) );
per_frame_35=ob_r = 1-wave_b;
per_frame_36=ob_g = wave_r;
per_frame_37=echo_alpha=1*sin(above(time*.53,time*.87))*sin(Time*.76);
per_frame_38=wave_mystery=wave_mystery+1*sin(time*.86)-2*sin(time*.53);
per_pixel_1=dye = if(below(abs(q1-x),0.01),if(below(y,q2),max(0.02-abs(q1-x),0),0.001),0.001+-raD*.01-.03)+.05;
per_pixel_2=dxe=-dye;
per_pixel_3=//sy = 1+ if(above(bass,1),0.02*(bass+bass_att),0)-x/50*sin(time);
per_pixel_4=//sy = if(dy,sy,2);
per_pixel_5=dx=dxe*Sin(time*.98*sin(Time*bass&time));
per_pixel_6=dy=dye*sin(time*.45*sin(time*bass_Att&time));
