[preset00]
fRating=3.000000
fGammaAdj=1.000000
fDecay=1.000000
fVideoEchoZoom=1.008000
fVideoEchoAlpha=0.500000
nVideoEchoOrientation=1
nWaveMode=2
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=2.916200
fWaveScale=0.999400
fWaveSmoothing=0.666000
fWaveParam=-0.020000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=1.079900
fWarpAnimSpeed=0.941900
fWarpScale=2.814595
fZoomExponent=0.999600
fShader=0.830000
zoom=1.006500
rot=0.000000
cx=0.500001
cy=0.500000
dx=0.000000
dy=0.000000
warp=3.947234
sx=0.999600
sy=0.999899
wave_r=0.500000
wave_g=0.500000
wave_b=0.500000
wave_x=0.500000
wave_y=0.500000
ob_size=0.010000
ob_r=0.250000
ob_g=0.650000
ob_b=0.250000
ob_a=1.000000
ib_size=0.010000
ib_r=0.650000
ib_g=0.250001
ib_b=0.250001
ib_a=1.000000
nMotionVectorsX=11.999902
nMotionVectorsY=48.000000
mv_dx=0.000000
mv_dy=0.000000
mv_l=0.050000
mv_r=1.000000
mv_g=1.000000
mv_b=1.000000
mv_a=1.000000
per_frame_1=wave_r = sin(5*ff/bass)/2+0.5;
per_frame_2=wave_g = cos(ff/mid)/2+0.5;
per_frame_3=wave_b = cos(3*ff/treb)/2+0.5;
per_frame_4=cx = cx + 0.110*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) );
per_frame_5=cy = cy + 0.110*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) );
per_frame_6=ib_r = ib_r + 0.2*sin(time*0.5413);
per_frame_7=ib_g = ib_g + 0.2*sin(time*0.6459);
per_frame_8=ib_b = ib_b + 0.2*sin(time*0.4354);
per_frame_9=ob_r=wave_r;
per_frame_10=ob_g=wave_g;
per_frame_11=ob_b=wave_b;
per_frame_12=mv_x = lastingbass*30+24;
per_frame_13=mv_y= madtreb*48+8;
per_frame_14=mv_r = 0.7-bass_att;
per_frame_15=mv_b = 0.6-treb_att;
per_frame_16=mv_g = 0.5-mid_att;
per_frame_17=ff = frame/100;
per_frame_18=rot = rot + 0.040*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) );
per_frame_19=zoom=max(0.97, min(0.15+0.7*bass_att, 1.75 ));
per_pixel_1=q2=above(rad,.303);
per_pixel_2=rot=rot+if(q2,0,sin(time*.7243)*.5);
per_pixel_3=zoom=zoom+if(q2,0,rad*sin(time*.734)*.8);
per_pixel_4=warp=warp+if(above(rad,.2166),sin(ang*rad),0);
per_pixel_5=thresh = above(bass_att,thresh)*2+(1-above(bass_att,thresh))*((thresh-1.3)*0.96+1.3);
per_pixel_6=dx_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dx_r;
per_pixel_7=dy_r = equal(thresh,2)*0.025*sin(5*time)+(1-equal(thresh,2))*dy_r;
per_pixel_8=crack = 1.34*sin(3.12*thresh*time) + 0.95*sin(5*thresh*time) + 1.73*cos(1.66*thresh*time) - 0.5*sin(0.25*thresh*time);
per_pixel_9=rip = 1.92*cos(1.96*thresh*time) - 0.195*cos(3.27*thresh*time) + 0.236*sin(3.25*thresh*time) + 1.5*sin(thresh*time);
per_pixel_10=crackdown = ((crack*2)*dx_r)*sin(3.75*time);
per_pixel_11=ripdown = ((rip*2)*dy_r)*sin(5.75*time);
per_pixel_12=dx = dx + if (above(crack,rip), 2*dx_r*crackdown, -2*dx_r*ripdown)*25;
per_pixel_13=dy = dy + if (above(rip,crack), 2*dy_r*crackdown, -2*dy_r*ripdown)*25;
per_pixel_14=pre_zoom=zoom-.07*acos(y*2-1)*sin(time*1.2*q1)*zoom-.07*acos(x*2-1)*sin(time*1.1*q1);
per_pixel_15=zoom=if(above(abs(zoom-1),.04),pre_zoom,.99);
per_pixel_16=rot=if(above(abs(zoom-1),2),-.4+.2*q1,0);
