[preset00]
fRating=2
fGammaAdj=2.98
fDecay=1
fVideoEchoZoom=2
fVideoEchoAlpha=0
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.1
fWaveParam=0
fModWaveAlphaStart=0.75
fModWaveAlphaEnd=0.95
fWarpAnimSpeed=1
fWarpScale=1.331
fZoomExponent=1
fShader=0
zoom=0.999972
rot=0
cx=0.5
cy=0.5
dx=0
dy=0
warp=0.000156
sx=0.999666
sy=0.9999
wave_r=0.35
wave_g=0.35
wave_b=0.35
wave_x=0.5
wave_y=0.38
ob_size=0.01
ob_r=0
ob_g=1
ob_b=0
ob_a=1
ib_size=0.01
ib_r=0.25
ib_g=0.25
ib_b=0.25
ib_a=0.1
nMotionVectorsX=64
nMotionVectorsY=2.4
mv_dx=0
mv_dy=-0.1
mv_l=5
mv_r=1
mv_g=1
mv_b=1
mv_a=0
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);
