[preset00]
fRating=3.000000
fGammaAdj=2.013328
fDecay=0.974000
fVideoEchoZoom=1.014851
fVideoEchoAlpha=0.001339
nVideoEchoOrientation=2
nWaveMode=6
bAdditiveWaves=1
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=4.089408
fWaveScale=4.061914
fWaveSmoothing=0.893392
fWaveParam=0.820357
fModWaveAlphaStart=0.690700
fModWaveAlphaEnd=1.285837
fWarpAnimSpeed=1.003879
fWarpScale=1.317889
fZoomExponent=0.993950
fShader=0.000997
zoom=1.068231
rot=0.008654
cx=0.509134
cy=0.505007
dx=0.012951
dy=0.019927
warp=0.212130
sx=0.983901
sy=0.985109
wave_r=0.173493
wave_g=0.314463
wave_b=0.994274
wave_x=0.814175
wave_y=0.113972
ob_size=0.000000
ob_r=0.285250
ob_g=0.096257
ob_b=0.172696
ob_a=0.000000
ib_size=0.023197
ib_r=0.568091
ib_g=0.199823
ib_b=0.943238
ib_a=0.000000
nMotionVectorsX=11.999315
nMotionVectorsY=8.992329
mv_dx=-0.380524
mv_dy=0.620417
mv_l=3.905494
mv_r=0.889021
mv_g=0.590976
mv_b=0.145450
mv_a=0.688509
per_frame_1=volume = 0.3*(bass+mid+att);
per_frame_2=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate));
per_frame_3=lastbeat = if(equal(lastbeat,0),time,lastbeat);
per_frame_4=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_5=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_6=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.5*(beatrate + time - lastbeat),beatrate),beatrate),0.1);
per_frame_7=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att);
per_frame_8=lastbeat = if(beat,time,lastbeat);
per_frame_9=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att);
per_frame_10=q1=beat;
per_frame_11=ob_r = 49.5036006*asin(if(equal(peakbass_att * mv_l , wave_mode * ib_r) , ob_a - ob_a , wave_mode - mv_x));
per_frame_12=ib_r = max(warp * treb , mv_r + ib_g);
per_frame_13=ib_b = 39.6116972*asin(bnot(mv_l * sy));
per_frame_14=mv_a = 29.12615538*int(92.13204384*sqrt(ib_b + ib_size));
per_frame_15=wave_y = bnot(treb - mv_l);
per_frame_16=cy = 21.95614576*int(-92.39946604*sign(bor(wave_mode - progress , warp - mid)));
per_pixel_1=rot=if(above(bnot(1*bass),bnot(1*treb)),rot*sin(rad*sin(time)),-rot*sin(rad*cos(time)));
per_pixel_2=cy = x * rad;
per_pixel_3=zoomexp = ang * ang;
