[preset00]
fRating=3.000000
fGammaAdj=2.000000
fDecay=0.960000
fVideoEchoZoom=0.999836
fVideoEchoAlpha=0.000000
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=100.000000
fWaveScale=0.010000
fWaveSmoothing=0.750000
fWaveParam=0.500100
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=1.000000
fShader=0.000000
zoom=0.999900
rot=0.100000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=1.000000
sx=1.000000
sy=1.000000
wave_r=0.500000
wave_g=0.500000
wave_b=0.500000
wave_x=0.500000
wave_y=0.500000
ob_size=0.000000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=0.500000
ib_size=0.005000
ib_r=0.500000
ib_g=0.500000
ib_b=0.500000
ib_a=0.300000
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=1.000000
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;
