[preset00]
fRating=2.0
fGammaAdj=2.0
fDecay=0.975000
fVideoEchoZoom=1.0
fVideoEchoAlpha=0.5
nVideoEchoOrientation=2
nWaveMode=3
bAdditiveWaves=0
bWaveDots=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bMotionVectorsOn=0
bRedBlueStereo=0
nMotionVectorsX=64
nMotionVectorsY=1
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=1.0
fWaveScale=0.108925
fWaveSmoothing=0.750000
fWaveParam=0.0
fModWaveAlphaStart=0.850000
fModWaveAlphaEnd=1.950000
fWarpAnimSpeed=1.0
fWarpScale=1.0
fZoomExponent=1.0
fShader=0.0
zoom=1.0
rot=0.0
cx=0.5
cy=0.5
dx=0.0
dy=0.0
warp=1.0
sx=1.0
sy=1.0
wave_r=0.4
wave_g=0.4
wave_b=0.4
wave_x=0.5
wave_y=0.5
ob_size=0.005000
ob_r=0.0
ob_g=0.0
ob_b=0.0
ob_a=1.0
ib_size=0.0
ib_r=0.0
ib_g=0.0
ib_b=0.0
ib_a=0.0
per_frame_1=warp=0;
per_frame_2=dx=-0.0005;
per_frame_3=dy=-0.0005;
per_frame_4=wave_x = 0.5+0.3*sin(bass+treb+mid);
per_frame_5=wave_r = 1 + sin(-wave_x*6.28);
per_frame_6=wave_g = abs(sin(2*wave_x*6.28));
per_frame_7=wave_b = sin(wave_x*6.28);
per_frame_8=treb_effect = if(above(treb_att,1.4),pow(0.99,treb_att),1);
per_frame_9=net_effect = if(above(bass_att,0.8*treb_att),1,treb_effect);
per_frame_10=zoom = net_effect*1.065;
per_frame_11=rot = rot + rot_residual;
per_frame_12=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*0.96+1.3);
per_frame_13=shift = (tan(time*7)) -0.05;
per_frame_14=shift = if(above(shift,0),0,if(below(shift,-0.1),-0.1,shift));
per_frame_15=rot_residual = if(equal(bass_thresh,2),shift,rot_residual);
per_pixel_1=rot = rot + if(equal(sin(ang), 0), rot, sin(1-rad)/2);
