[preset00]
fRating=5.000000
fGammaAdj=2.050001
fDecay=0.975000
fVideoEchoZoom=0.996630
fVideoEchoAlpha=0.000000
nVideoEchoOrientation=3
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=100.000000
fWaveScale=1.005319
fWaveSmoothing=0.000000
fWaveParam=0.000000
fModWaveAlphaStart=2.000000
fModWaveAlphaEnd=2.000000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=1.000000
fShader=1.000000
zoom=0.999902
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=0.078303
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.500000
ob_r=0.100000
ob_g=0.200000
ob_b=0.400000
ob_a=0.040001
ib_size=0.000000
ib_r=0.250000
ib_g=0.250000
ib_b=0.250000
ib_a=0.000000
nMotionVectorsX=64.000000
nMotionVectorsY=48.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=0.100000
per_frame_1=wave_r = mv_b;
per_frame_2=wave_b = mv_g;
per_frame_3=wave_g = mv_r;
per_frame_4=b=max(bass-1,0);
per_frame_5=m=max(mid-1,0);
per_frame_6=t=max(treb-1,0);
per_frame_7=mv_r=.6*abs(sin(time*2.6+1.23+cos(time*4.87+2.145)))+b;
per_frame_8=mv_g=.6*abs(sin(time*4.451+2.89+cos(time*3.74+.78)))+m;
per_frame_9=mv_b=.6*abs(sin(time*3.845+1.23+cos(time*2.6+3)))+t;
per_frame_10=
per_frame_11=q1=3.14*cos(time*1.45 + 1.54 + cos(bass_att+time+ 3.22));
per_frame_12=q2 = 3.14*cos(time*2.4 + 2.69 + cos(bass_att+time+.65));
per_frame_13=q3=time%50;
per_frame_14=f=if(equal(endframe,0),1,0);
per_frame_15=beat_avg=if(equal(beat_avg,0),bass,beat_avg);
per_frame_16=beat_avg=(beat_avg+bass)/2;
per_frame_17=
per_frame_18=max_bass = if( beat*above(f*bass_att,max_bass),0.99*bass_att, max_bass );
per_frame_19=max_bass = if( equal(frame%3000,0),0.8*max_bass,max_bass*.9999);
per_frame_20=max_bass=if( above(max_bass,10*beat_avg),10*beat_avg,max_bass);
per_frame_21=trig=if( equal(beat,1)*above(bass_att,max_bass),1,0);
per_frame_22=endframe=if(equal(trig,1)*equal(endframe,0), frame+4*min(interval,FPS),endframe);
per_frame_23=trig=if(equal(frame,endframe),0,trig);
per_frame_24=endframe=if(above(frame,endframe),0,endframe);
per_frame_25=q4=if(above(endframe,0),1,0);
per_frame_26=wave_a=0;
per_frame_27=rot=.1*sin(time*1.53+cos(time*4.676+3.43));
per_frame_28=rot=rot*(1+.4*q4);
per_frame_29=ob_size=.3+.7*abs(cos(time*2.45 + 1.566 +sin(time*5 +2.43)));
per_frame_30=
per_frame_31=ob_r=mv_r*(rand(100)/100);
per_frame_32=ob_g=mv_g*(rand(100)/100);
per_frame_33=ob_b=mv_b*(rand(100)/100);
per_frame_34=ob_a=.075;
per_frame_35=mv_x=if(equal(q4,1),54+10*cos(time*10),64);
per_frame_36=sx= if(equal(rand(40+60*(1-q4)),29),-.75+rand(50)/100,sx);
per_frame_37=sy=if(equal(rand(40+60*(1-q4)),39),-.75+rand(50)/100,sy);
per_frame_38=zoom=if(equal(rand(40+60*(q4)),25),1.6,zoom);
per_frame_39=
per_frame_40=// -------------------------------- Beat Detective 007 ----------------------------------
per_frame_41=sure=if(equal(sure,0),.6,sure);
per_frame_42=interval=if(equal(interval,0),40,interval);
per_frame_43=lastbeat=if(equal(lastbeat,0),frame-FPS,lastbeat);
per_frame_44=dbass=(bass-pbass)/FPS;
per_frame_45=beat=above(dbass,.6*maxdbass)*above(frame-lastbeat,FPS/3);
per_frame_46=sure=if(beat*below(abs(frame-(interval+lastbeat)),FPS/5),
per_frame_47=min(.095+sure,1),beat*(sure-.095)+(1-beat)*sure*.9996);
per_frame_48=sure=max(.5,sure);
per_frame_49=cheat=if(above(frame,lastbeat+interval+ int(FPS/10))*above(sure,.91),1,cheat);
per_frame_50=beat=if(cheat,1,beat);
per_frame_51=sure=if(cheat,.95*sure,sure);
per_frame_52=maxdbass=max(maxdbass*.999,dbass);
per_frame_53=maxdbass=max(.012,maxdbass);
per_frame_54=maxdbass=min(.02,maxdbass);
per_frame_55=interval=if(beat, frame-lastbeat,interval);
per_frame_56=lastbeat=if(beat,frame-cheat*int(FPS/10),lastbeat);
per_frame_57=cheat=0;
per_frame_58=pbass=bass;
per_frame_59=// ----------------------------------------------------------------------------------------------
per_frame_60=
per_frame_61=zoom = if(equal(beat,1),zoom+bass*.7,zoom);
per_frame_62=monitor=sure;
per_frame_63=monitor=60*FPS/interval;
per_pixel_1=dx= if( below( abs(ang-q1), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q1)),dx);
per_pixel_2=dy=if( below(abs(ang-q1),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q1)),dy);
per_pixel_3=zoom=if(below( abs(ang-q1),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass),zoom);
per_pixel_4=
per_pixel_5=dx= if( below( abs(ang-q2), .4*sqrt(rad)),dx+(1-q4)*(.02*rad*sin(q2)),dx);
per_pixel_6=dy = if(below( abs(ang-q2),.4*sqrt(rad)),dy+(1-q4)*(.02*rad*cos(q2)),dy);
per_pixel_7=zoom = if(below(abs(ang-q2),.4*sqrt(rad)),zoom+(1-q4)*(.2*rad*bass), zoom);
per_pixel_8=zoom=zoom-(1-q4)*.04*rad +q4*.1;
per_frame_init_1=max_bass = 1.2;
