[preset00]
fRating=2.000000
fGammaAdj=2.980000
fDecay=1.000000
fVideoEchoZoom=2.000000
fVideoEchoAlpha=0.000000
nVideoEchoOrientation=0
nWaveMode=7
bAdditiveWaves=0
bWaveDots=1
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=1
fWaveAlpha=1.169958
fWaveScale=0.634243
fWaveSmoothing=0.100000
fWaveParam=0.000000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.000000
fWarpScale=1.331000
fZoomExponent=1.000000
fShader=0.000000
zoom=0.999972
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=0.000156
sx=0.999666
sy=0.999900
wave_r=0.350000
wave_g=0.350000
wave_b=0.350000
wave_x=0.500000
wave_y=0.380000
ob_size=0.010000
ob_r=0.000000
ob_g=1.000000
ob_b=0.000000
ob_a=1.000000
ib_size=0.010000
ib_r=0.250000
ib_g=0.250000
ib_b=0.250000
ib_a=0.100000
nMotionVectorsX=64.000000
nMotionVectorsY=2.400000
mv_dx=0.000000
mv_dy=-0.100000
mv_l=5.000000
mv_r=1.000000
mv_g=1.000000
mv_b=1.000000
mv_a=0.000000
per_frame_1=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) );
per_frame_2=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) );
per_frame_3=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) );
per_frame_4=volume = 0.15*(bass_att+bass+mid+mid_att);
per_frame_5=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate));
per_frame_6=lastbeat = if(equal(lastbeat,0),time,lastbeat);
per_frame_7=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_8=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att);
per_frame_9=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_10=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_11=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att);
per_frame_12=lastbeat = if(beat,time,lastbeat);
per_frame_13=countertime = if(beat,time,countertime);
per_frame_14=counter =-pow(min((time-countertime-1.5),0),9);
per_frame_15=q7 = min(time-countertime,1);
per_frame_16=q5=oldq5+0.04*counter;
per_frame_17=oldq5=q5;
per_frame_18=q6 = beat;
per_frame_19=//mv_a = q6;
per_frame_20=q1 = 0.62*( 0.60*sin(0.374*q5) + 0.40*sin(0.294*q5) );
per_frame_21=q2 = 0.62*( 0.60*sin(0.393*q5) + 0.40*sin(0.223*q5) );
per_frame_22=q3 = 0.62*( 0.60*sin(0.174*-q5) + 0.40*sin(0.364*q5) );
per_frame_23=q4 = 0.62*( 0.60*sin(0.234*q5) + 0.40*sin(0.271*-q5) );
per_frame_24=ob_r = 0.4 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438));
per_frame_25=ob_g = 0.5- 0.48*sin(time*3.324);
per_frame_26=ob_b = 0.5 - 0.48*cos(time*2.316);
per_frame_27=ib_r = 0.4 - 0.3*(0.5*sin(time*0.801)+ 0.3*cos(time*0.338));
per_frame_28=ib_g = 0.5- 0.48*sin(time*4.8124);
per_frame_29=ib_b = 0.5 - 0.48*cos(time*3.316);
per_frame_30=wave_a = 0;
per_pixel_1=du = x*2-1 - q1;
per_pixel_2=dv = y*2-1 - q2;
per_pixel_3=dist = sqrt(du*du+dv*dv);
per_pixel_4=ang2 = atan2(du,dv);
per_pixel_5=mult = 0.008/(dist+0.4);
per_pixel_6=dx = mult*sin(ang2-1.5);
per_pixel_7=dy = mult*cos(ang2-1.5);
per_pixel_8=du = x*2-1 - q3;
per_pixel_9=dv = y*2-1 - q4;
per_pixel_10=dist = sqrt(du*du+dv*dv);
per_pixel_11=ang2 = atan2(du,dv);
per_pixel_12=mult = 0.015/(dist+0.4);
per_pixel_13=dx = dx + mult*sin(ang2+1.5);
per_pixel_14=dy = dy + mult*cos(ang2+1.5);
