[preset00]
fRating=2
fGammaAdj=2
fDecay=0.96
fVideoEchoZoom=0.999836
fVideoEchoAlpha=0
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=1
fWaveScale=0.01
fWaveSmoothing=0.75
fWaveParam=0.5001
fModWaveAlphaStart=0.75
fModWaveAlphaEnd=0.95
fWarpAnimSpeed=1
fWarpScale=1
fZoomExponent=1
fShader=0
zoom=0.9999
rot=0.1
cx=0.5
cy=0.5
dx=0
dy=0
warp=1
sx=1
sy=1
wave_r=0.5
wave_g=0.5
wave_b=0.5
wave_x=0.5
wave_y=0.5
ob_size=0
ob_r=0
ob_g=0
ob_b=0
ob_a=0.5
ib_size=0.005
ib_r=0.5
ib_g=0.5
ib_b=0.5
ib_a=0.3
nMotionVectorsX=12
nMotionVectorsY=9
mv_dx=0
mv_dy=0
mv_l=5
mv_r=1
mv_g=1
mv_b=1
mv_a=1
per_frame_1=warp=0;
per_frame_2=vol = 0.167*(bass+mid);
per_frame_3=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg);
per_frame_4=xamp = xamp + 0.5*(xamptarg-xamp);
per_frame_5=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir));
per_frame_6=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp);
per_frame_7=xpos = xpos + 0.001*xspeed;
per_frame_8=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg);
per_frame_9=yamp = yamp + 0.5*(yamptarg-yamp);
per_frame_10=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir));
per_frame_11=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp);
per_frame_12=ypos = ypos + 0.001*yspeed;
per_frame_13=ib_r = ib_r + 2*sin(time*4.132)*xpos;
per_frame_14=ib_b = ib_b + 2*sin(time*4.042)*ypos;
per_frame_15=ib_g = ib_g + 0.3*sin(time*0.631);;
per_frame_16=ob_g = beat*treb*0.5;
per_frame_17=ob_a = 0.5 + 0.5*beat;
per_frame_18=ob_size = ob_size + 0.01*beat;
per_frame_19=mv_dx =0.15* xpos;
per_frame_20=mv_dy = 0.15*ypos;
per_frame_21=mv_l = 0.15;
per_frame_22=mv_r = 1 - ib_r;
per_frame_23=mv_b = 1-ib_g;
per_frame_24=mv_g = 1-ib_b;
per_frame_25=volume = 0.15*(bass_att+bass+mid+mid_att);
per_frame_26=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate));
per_frame_27=lastbeat = if(equal(lastbeat,0),time,lastbeat);
per_frame_28=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_29=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att);
per_frame_30=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_31=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_32=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att);
per_frame_33=lastbeat = if(beat,time,lastbeat);
per_frame_34=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att);
per_frame_35=Eff_test = if(below(Eff_size*200,500),1,0);
per_frame_36=Eff_size = if(beat,2.5*Eff_test+ 0.0025*rand(500),Old_Eff_size);
per_frame_37=Old_Eff_size =Eff_size;
per_frame_38=q5 = Eff_size;
per_frame_39=mv_l = if(Eff_test,q5*3,mv_l);
per_frame_40=q6 = 3*xpos;
per_frame_41=q4 = 3*ypos;
per_frame_42=decay = decay + if(Eff_test,0,0.04);
per_frame_43=wave_r = 1-ib_g;
per_frame_44=wave_g = 1-ib_b;
per_frame_45=wave_b = 1-ib_b;
per_pixel_1=q1 = 0.4*rad;
per_pixel_2=q2= (0.3*rad);
per_pixel_3=q3  = below(rad,0.1*q5+ 0.3);
per_pixel_4=q7 =if(q3,0,10 + int(1*(rad)));
per_pixel_5=q8 =if(q3,0,10 + int(1*(rad)));
per_pixel_6=cx =if(q3,0.5,(0&(x*q7-q1))*(1/q7)+0.1*q1);
per_pixel_7=cy =if(q3,0.5,(0&(y*q8-q2))*(1/q8)+0.1*q2);
per_pixel_8=rot = if(q3,2*q6*rad,0.1*rad+ 0.1*bass+0.00*cx*cy);
per_pixel_9=zoom = if(q3,0.3+0.1*q5+ 0.5*q4,zoom);
per_frame_init_1=Eff_test =1;
per_frame_init_2=Eff_size = 400;
