[preset00]
fRating=3.000000
fGammaAdj=1.994000
fDecay=0.930000
fVideoEchoZoom=0.999834
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.197884
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.600000
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.3*sin(time*4.132)*xpos;
per_frame_14=ib_b = ib_b + 2.3*sin(time*3.547)*ypos;
per_frame_15=ib_g = ib_g + 0.499*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.07);
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*((sqrt(2)*0.5)-rad);
per_pixel_2=q3  = below(rad,0.1*q5+ 0.3);
per_pixel_3=q7 =if(q3,0,12 + int(3*(rad)));
per_pixel_4=q8 =if(q3,0,10 + int(1*(rad)));
per_pixel_5=cx =if(q3,0.5,(0&(x*q7-q1))*(1/q7)+0.1*q1);
per_pixel_6=cy =if(q3,0.5,(0&(y*q8-0.3*rad))*(1/(q8-0.3*rad))+0.1*(0.3*rad));
per_pixel_7=rot = if(q3,2*q6*rad,0.1*(0.5*sqrt(2)-rad)- 0.1*bass_att-0.02*cx*cy);
per_pixel_8=zoomexp = if(q3,0.6+0.1*q5+ 0.5*q4,zoomexp);
per_pixel_9=zoom = zoomexp-0.005*(rad);
per_pixel_10=dx = if(q3,0,-0.0015*bass);
per_frame_init_1=Eff_test =1;
per_frame_init_2=Eff_size = 400;
