[preset00]
fRating=2
fGammaAdj=2
fDecay=1
fVideoEchoZoom=0.999609
fVideoEchoAlpha=0
nVideoEchoOrientation=0
nWaveMode=7
bAdditiveWaves=0
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=1
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=4.711551
fWaveScale=0.08311
fWaveSmoothing=0.54
fWaveParam=0
fModWaveAlphaStart=0.75
fModWaveAlphaEnd=0.95
fWarpAnimSpeed=1
fWarpScale=1
fZoomExponent=1
fShader=0
zoom=0.99
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.998
ob_size=0.005
ob_r=0
ob_g=0
ob_b=0
ob_a=0.7
ib_size=0.005
ib_r=1
ib_g=0
ib_b=0
ib_a=0.21
nMotionVectorsX=1.28
nMotionVectorsY=5.28
mv_dx=0
mv_dy=0
mv_l=5
mv_r=0
mv_g=0
mv_b=0
mv_a=0
per_frame_1=warp = 0;
per_frame_2=dcounter = if( equal(dcounter,0),if(above(bass,1.5),bass,dcounter), if(below(dcounter,0),0,if(above(bass_att,1.35),dcounter+.14,dcounter-.14)));
per_frame_3=tcounter = if( equal(dcounter,0),if(above(treb,1.5),treb*.5,tcounter), if(below(tcounter,0),0,if(above(treb_att,1.35),tcounter+.2,tcounter-.2)));
per_frame_4=q1 = min(dcounter,2);
per_frame_5=q2 = min(tcounter,1.7);
per_frame_6=frametest = (frame)%2;
per_frame_7=wave_r = red + red*sin(time*1.067)+.2*bass*frametest;
per_frame_8=wave_g = green + green*sin(time*.722)+.2*treb*frametest;
per_frame_9=wave_b = blue + blue*sin(time*0.451)+.2*mid*frametest;
per_frame_10=wave_mystery = if(frametest,1,0);
per_frame_11=ib_a = 0.03*(treb_att +treb);
per_frame_12=ib_r = 0.08*(bass_att+bass);
per_frame_13=ib_g = 0.08*(mid+mid_att);
per_frame_14=ib_g =0.3*(mid*bass);
per_pixel_1=q4 = below(x,0.3)+ above(x,0.7);
per_pixel_2=q7 = 15 + int(3*rad);
per_pixel_3=cx = if(q4,(0&(x*q7-0.5))*(1/q7)+0.05,0.5);
per_pixel_4=cy =  if(q4,(0&(y*15-0.5))*(1/15)+0.05,0.5);
per_pixel_5=zoom = 1+if(q4,0,0.05*log(rad));
per_pixel_6=q5 = if(above(x,0.7),1,-1);
per_pixel_7=rot = if(q4,q5*0.05*(sy+bass+bass_att),0);
per_pixel_8=q6 = above(rad,0.2);
per_pixel_9=rot = if(q6,rot,0.125*(q1-q2));
per_frame_init_1=dcounter = 0;
per_frame_init_2=tcounter = 0;
per_frame_init_3=blue = (rand(30)/30) + 0.1;
per_frame_init_4=green = (rand(30)/30) + 0.1;
per_frame_init_5=red = (rand(30)/30) + 0.1;
