[preset00]
fRating=1.0
fGammaAdj=1
fDecay=0.977
fVideoEchoZoom=1.006596
fVideoEchoAlpha=0.5
nVideoEchoOrientation=3
nWaveMode=0
bAdditiveWaves=1
bWaveDots=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bMotionVectorsOn=0
bRedBlueStereo=0
nMotionVectorsX=12
nMotionVectorsY=9
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=4.099998
fWaveScale=3.192474
fWaveSmoothing=0
fWaveParam=0
fModWaveAlphaStart=0.71
fModWaveAlphaEnd=1.3
fWarpAnimSpeed=1
fWarpScale=1.331
fZoomExponent=1
fShader=0
zoom=0.999514
rot=0
cx=0.5
cy=0.5
dx=0
dy=0
warp=0.009091
sx=1
sy=1
wave_r=0.65
wave_g=0.65
wave_b=0.65
wave_x=0.5
wave_y=0.5
ob_size=0.5
ob_r=0.01
ob_g=0
ob_b=0
ob_a=0
ib_size=0.26
ib_r=0.25
ib_g=0.25
ib_b=0.25
ib_a=0
per_frame_1=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.35)*0.96+1.3);
per_frame_2=bass_factor = equal(bass_thresh,2)*sin(time*bass_thresh*.4) + (1-equal(bass_thresh,2))*bass_factor;
per_frame_3=mid_thresh = above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.35)*0.96+1.3);
per_frame_4=mid_factor = equal(mid_thresh,2)*sin(time*mid_thresh*.4) + (1-equal(mid_thresh,2))*mid_factor;
per_frame_5=treb_thresh = above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.35)*0.96+1.3);
per_frame_6=treb_factor = equal(treb_thresh,2)*sin(time*treb_thresh*.4) + (1-equal(treb_thresh,2))*treb_factor;
per_frame_7=wave_r = 0.5+0.5*bass_factor;
per_frame_8=wave_b = 0.5+0.5*mid_factor;
per_frame_9=wave_g = 0.5+0.5*treb_factor;
per_frame_10=wave_mystery = sin(time*.7)/10;
per_frame_11=q1=bass_factor;
per_frame_12=q2=mid_factor;
per_frame_13=q3=treb_factor;
per_pixel_1=pi=22/7+.2-.2*q1;
per_pixel_2=rpi=pi*rad;
per_pixel_3=api=(1-rad)*pi;
per_pixel_4=zoom = if(above(rad,abs(q2)),1.07+sin(rpi)*.04*q2, 0.97+(sin(rpi)/10-sin(api)/10)*.04*q2)+cos(rpi*3*q3)*.07;
per_pixel_5=rot = if(above(rad,abs(q2)),cos((rad*2*rpi)+sin(pi*pow(rad,5)))*.1*q1,(cos(api)/25+sin(rpi))*.1*q1)+cos(api*3*q3)*.1;
