[preset00]
fRating=3.0
fGammaAdj=1
fDecay=1
fVideoEchoZoom=0.999609
fVideoEchoAlpha=0
nVideoEchoOrientation=0
nWaveMode=7
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.001
fWaveScale=0.6401
fWaveSmoothing=0.27
fWaveParam=0
fModWaveAlphaStart=0.75
fModWaveAlphaEnd=0.95
fWarpAnimSpeed=5.99579
fWarpScale=1.331
fZoomExponent=1.01
fShader=0
zoom=0.998531
rot=0.002
cx=0.5
cy=0.5
dx=0
dy=0
warp=0.01
sx=1
sy=1
wave_r=0.5
wave_g=0.5
wave_b=0.5
wave_x=0.5
wave_y=0.96
ob_size=0.01
ob_r=0
ob_g=0.9
ob_b=0.2
ob_a=1
ib_size=0
ib_r=0.5
ib_g=0.5
ib_b=0.5
ib_a=1
nMotionVectorsX=31.199999
nMotionVectorsY=2.280001
mv_dx=0
mv_dy=0
mv_l=2.5
mv_r=1
mv_g=1
mv_b=0.8
mv_a=0
per_frame_1=q8 =oldq8+ 0.001*(pow(1.2*bass+0.4*bass_att+0.2*treb+0.2*treb_att+0.2*mid+0.2*mid_att,6)/fps) +0.1/fps;
per_frame_2=oldq8 = q8;
per_frame_3=ob_r = 0.3 - 0.3*(0.5*sin(q8*0.701)+ 0.3*cos(q8*0.438));
per_frame_4=ob_g = 0.6- 0.4*sin(q8*2.924);
per_frame_5=ob_b = 0.35 - 0.3*cos(q8*0.816);
per_frame_6=warp =0;
per_frame_7=ib_size = 0.02;
per_frame_8=ib_r = ib_r + 0.5*sin(q8*3.034);
per_frame_9=ib_g = ib_g + 0.5*sin(q8*2.547);
per_frame_10=ib_b = ib_b - 0.5*sin(q8*1.431);
per_frame_11=volume = 0.15*(bass_att+bass+mid+mid_att);
per_frame_12=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate));
per_frame_13=lastbeat = if(equal(lastbeat,0),time,lastbeat);
per_frame_14=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_15=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att);
per_frame_16=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_17=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_18=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att);
per_frame_19=lastbeat = if(beat,time,lastbeat);
per_frame_20=mybeat = if(beat,mybeat+1,mybeat);
per_frame_21=mybeat = if(above(mybeat,7),0,mybeat);
per_frame_22=mybeat2 = if(equal(mybeat,1),1,0);
per_frame_23=q7 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq7);
per_frame_24=oldq7=q7;
per_frame_25=q6 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq6);
per_frame_26=oldq6=q6;
per_frame_27=q5= if(beat*mybeat2,0.001+0.0001*rand(40),oldq5);
per_frame_28=oldq5=q5;
per_frame_29=q4 = if(beat*mybeat2,0.001+0.0001*rand(40),oldq4);
per_frame_30=oldq4=q4;
per_frame_31=Flag = If(beat*mybeat2,if(Rand(2)-1,1,0),oldFlag);
per_frame_32=oldflag = flag;
per_frame_33=Ratio = If(Beat*mybeat2,100+rand(60),oldRatio);
per_frame_34=OldRatio = Ratio;
per_frame_35=q3 = if(beat*mybeat2,if(flag,ratio,0.75*ratio),oldq3);
per_frame_36=oldq3=q3;
per_frame_37=q2 = if(beat*mybeat2,if(flag,0.75*ratio,ratio),oldq2);
per_frame_38=oldq2=q2;
per_pixel_1=box=(0.7*sqrt(2)-rad)+0.5*abs(x*3-0.4*sin(q1))%2 + 0.5*abs(y*3+0.4*sin(q1))%2;
per_pixel_2=q1 = 8.3+(sin(x+0.137*q8)-cos(y+0.213*q8));
per_pixel_3=zoom = if(above(box,1),q1*.1,zoom);
per_pixel_4=rot = if(above(box,1),0.1*rad+sin(0.385*q8),rot);
per_pixel_5=dx=if(above(box,1),dx,q4*sin((y-0.5)*q3)+q5*sin((y-0.5)*q2));
per_pixel_6=dy=if(above(box,1),dy,q6*cos((x-0.5)*q2)+q7*cos((x-0.5)*q3));
per_frame_init_1=q8=0;
