[preset00]
fRating=2
fGammaAdj=2
fDecay=1
fVideoEchoZoom=1.006496
fVideoEchoAlpha=0.5
nVideoEchoOrientation=3
nWaveMode=1
bAdditiveWaves=1
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=2.781664
fWaveScale=0.590116
fWaveSmoothing=0.36
fWaveParam=0
fModWaveAlphaStart=0.75
fModWaveAlphaEnd=0.95
fWarpAnimSpeed=1
fWarpScale=1
fZoomExponent=7.523901
fShader=0
zoom=1.009898
rot=0
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.01
ob_r=0
ob_g=0
ob_b=0
ob_a=1
ib_size=0
ib_r=0.25
ib_g=0.25
ib_b=0.25
ib_a=1
nMotionVectorsX=64
nMotionVectorsY=48
mv_dx=0
mv_dy=0
mv_l=0
mv_r=0.35
mv_g=0.35
mv_b=0.35
mv_a=0
per_frame_1=warp=0;
per_frame_2=state=if(above(bass_att,1.3),3,if(above(treb_att,1.3),2,1));
per_frame_3=wave_b=if(equal(state,2),.2+.2*sin(time),if(equal(state,3),.9+.1*sin(time),.6+.08*sin(time)));
per_frame_4=wave_g=if(equal(state,2),0,if(equal(state,3),0,.49));
per_frame_5=wave_r=if(equal(state,2),.7+.1*sin(time*.888),0);
per_frame_6=//zoom=if(above(bass_att+treb,2),1+sin(state*1.3)/10,1-sin(state*1.5)/10);
per_frame_7=q1=state;
per_frame_8=wave_mystery=wave_mystery+(1-zoom)*10;
per_frame_9=// timed sidon sensor
per_frame_10=// le = signal level; desired average value = 2
per_frame_11=le=1.4*bass_att+.1*bass+.5*treb;
per_frame_12=pulse=above(le,th);
per_frame_13=// pulsefreq = running average of interval between last 5 pulses
per_frame_14=pulsefreq=if(equal(pulsefreq,0),2,
per_frame_15=if(pulse,.8*pulsefreq+.2*(time-lastpulse),pulsefreq));
per_frame_16=lastpulse=if(pulse,time,lastpulse);
per_frame_17=// bt = relative time; 0 = prev beat; 1 = expected beat
per_frame_18=bt=(time-lastbeat)/(.5*beatfreq+.5*pulsefreq);
per_frame_19=// hccp = handcicap for th driven by bt
per_frame_20=hccp=(.03/(bt+.2))+.5*if(band(above(bt,.8),below(bt,1.2)),
per_frame_21=(pow(sin((bt-1)*7.854),4)-1),0);
per_frame_22=beat=band(above(le,th+hccp),btblock);
per_frame_23=btblock=1-above(le,th+hccp);
per_frame_24=lastbeat=if(beat,time,lastbeat);
per_frame_25=beatfreq=if(equal(beatfreq,0),2,
per_frame_26=if(beat,.8*beatfreq+.2*(time-lastbeat),beatfreq));
per_frame_27=// th = threshold
per_frame_28=th=if(above(le,th),le+114/(le+10)-7.407,
per_frame_29=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th));
per_frame_30=th=if(above(th,6),6,th);
per_frame_31=q3=30/fps;
per_frame_32=ccl=ccl+beat;
per_frame_33=minorccl=minorccl+.01*le;
per_frame_34=q4=beat;
per_frame_35=beatcounter = if(beat,beatcounter +1, beatcounter);
per_frame_36=beatcounter = if(above(beatcounter,7), 0, beatcounter);
per_frame_37=beateven = beatcounter%2;
per_frame_38=q5 = beateven;
per_frame_39=q8 =oldq8+ 0.005*(pow(1.2*bass+0.4*bass_att+0.1*treb+0.1*treb_att+0.1*mid+0.1*mid_att,6)/fps);
per_frame_40=oldq8 = q8;
per_pixel_1=grid=abs(x*18+3*q5)%2 + abs(y*18+3*q5)%2;
per_pixel_2=cx = grid;
per_pixel_3=cy = grid;
per_pixel_4=zoom=1+0.5*if(bnot(grid),cos(rad*10*sin(q8))*.07,cos(x*10*sin(q8))*.07);
per_pixel_5=rot = 0.01*(1-rad);
per_pixel_6=dx=0.4*grid*(0.008*sin((y*2-1)*48)+0.008*sin((y*2-1)*64));
per_pixel_7=dy=0.4*grid*(0.008*cos((x*2-1)*64)+0.008*cos((x*2-1)*48));
