[preset00]
fRating=2
fGammaAdj=2
fDecay=1
fVideoEchoZoom=1
fVideoEchoAlpha=0
nVideoEchoOrientation=0
nWaveMode=5
bAdditiveWaves=0
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=1
fWaveScale=0.550326
fWaveSmoothing=0
fWaveParam=0.716487
fModWaveAlphaStart=0.75
fModWaveAlphaEnd=0.95
fWarpAnimSpeed=1
fWarpScale=1
fZoomExponent=1
fShader=1
zoom=1
rot=0
cx=0.5
cy=0.5
dx=0
dy=0
warp=1
sx=1
sy=1
wave_r=0.901354
wave_g=0.377889
wave_b=0.000471
wave_x=0.413669
wave_y=0.018739
ob_size=0.01
ob_r=0.819144
ob_g=0.689338
ob_b=0.246663
ob_a=0.008466
ib_size=0.005
ib_r=0.585938
ib_g=0.006329
ib_b=0.63108
ib_a=0.28655
nMotionVectorsX=12
nMotionVectorsY=9
mv_dx=0.369793
mv_dy=-0.432902
mv_l=0.9
mv_r=0.240271
mv_g=0.431694
mv_b=0.877384
mv_a=0
per_frame_1=warp=0;
per_frame_2=drip1grav = if(above(drip1y,1.2),0.001*(1+rand(10)),drip1grav) + equal(drip1grav,0)*0.05;
per_frame_3=drip1x = if(above(drip1y,1.2),0.01*rand(100),drip1x);
per_frame_4=drip1y = if(above(drip1y,1.2),0,drip1y);
per_frame_5=drip2grav = if(above(drip2y,1.2),0.001*(1+rand(10)),drip2grav) + equal(drip2grav,0)*0.06;
per_frame_6=drip2x = if(above(drip2y,1.2),0.01*rand(100),drip2x);
per_frame_7=drip2y = if(above(drip2y,1.2),0,drip2y);
per_frame_8=drip3grav = if(above(drip3y,1.2),0.001*(1+rand(10)),drip3grav) + equal(drip3grav,0)*0.07;
per_frame_9=drip3x = if(above(drip3y,1.2),0.01*rand(100),drip3x);
per_frame_10=drip3y = if(above(drip3y,1.2),0,drip3y);
per_frame_11=drip4grav = if(above(drip4y,1.2),0.001*(1+rand(10)),drip4grav) + equal(drip4grav,0)*0.08;
per_frame_12=drip4x = if(above(drip4y,1.2),0.01*rand(100),drip4x);
per_frame_13=drip4y = if(above(drip4y,1.2),0,drip4y);
per_frame_14=drip1y = 0.001 + drip1y + drip1grav;
per_frame_15=drip2y = 0.001 + drip2y + drip2grav;
per_frame_16=drip3y = 0.001 + drip3y + drip3grav;
per_frame_17=drip4y = 0.001 + drip4y + drip4grav;
per_frame_18=q1 = if(equal(frame%4,0),drip1x,if(equal(frame%4,1),drip2x,if(equal(frame%4,2),drip3x,drip4x)));
per_frame_19=q2 = if(equal(frame%4,0),drip1y,if(equal(frame%4,1),drip2y,if(equal(frame%4,2),drip3y,drip4y)));
per_frame_20=wave_r = wave_r + 0.350*( 0.60*sin(0.980*time) + 0.40*sin(1.047*time) );
per_frame_21=wave_g = wave_g + 0.350*( 0.60*sin(0.835*time) + 0.40*sin(1.081*time) );
per_frame_22=wave_b = wave_b + 0.350*( 0.60*sin(0.814*time) + 0.40*sin(1.011*time) );
per_frame_23=vol = (bass+mid+att)/6;
per_frame_24=xamptarg = if(equal(frame%15,0),min(0.5*vol*bass_att,0.5),xamptarg);
per_frame_25=xamp = xamp + 0.5*(xamptarg-xamp);
per_frame_26=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir));
per_frame_27=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp);
per_frame_28=xpos = xpos + 0.001*xspeed;
per_frame_29=wave_x = xpos + 0.5;
per_frame_30=yamptarg = if(equal(frame%15,0),min(0.3*vol*treb_att,0.5),yamptarg);
per_frame_31=yamp = yamp + 0.5*(yamptarg-yamp);
per_frame_32=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir));
per_frame_33=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp);
per_frame_34=ypos = ypos + 0.001*yspeed;
per_frame_35=wave_y = ypos + 0.5;
per_frame_36=rot = rot + 0.01*( 0.60*sin(0.381*time) + 0.40*sin(0.479*time) );
per_frame_37=cx = cx + 0.410*( 0.60*sin(0.374*time) + 0.40*sin(0.294*time) );
per_frame_38=cy = cy + 0.410*( 0.60*sin(0.393*time) + 0.40*sin(0.223*time) );
per_frame_39=wave_mystery = wave_mystery + 0.15*( 0.60*sin(0.629*time) + 0.40*sin(1.826*time) );
per_frame_40=warp = warp*vol;
per_frame_41=dy = dy + above(bass_att,1.2)*bass_att*0.003;
per_frame_42=ob_a = ob_a - 2*vol;
per_frame_43=rot=if(below(rot,-1.0), -1.0, rot);
per_frame_44=rot=if(above(rot,1.0), 1.0, rot);
per_frame_45=warp=if(below(warp,0.01), 0.01, warp);
per_frame_46=warp=if(above(warp,100.0), 100.0, warp);
per_frame_47=cx=if(below(cx,-1.0), -1.0, cx);
per_frame_48=cx=if(above(cx,2.0), 2.0, cx);
per_frame_49=cy=if(below(cy,-1.0), -1.0, cy);
per_frame_50=cy=if(above(cy,2.0), 2.0, cy);
per_frame_51=dy=if(below(dy,-1), -1, dy);
per_frame_52=dy=if(above(dy,1.0), 1.0, dy);
per_frame_53=wave_x=if(below(wave_x,0.0), 0.0, wave_x);
per_frame_54=wave_x=if(above(wave_x,1.0), 1.0, wave_x);
per_frame_55=wave_y=if(below(wave_y,0.0), 0.0, wave_y);
per_frame_56=wave_y=if(above(wave_y,1.0), 1.0, wave_y);
per_frame_57=wave_mystery=if(below(wave_mystery,-1.0), -1.0, wave_mystery);
per_frame_58=wave_mystery=if(above(wave_mystery,1.0), 1.0, wave_mystery);
per_frame_59=ob_a=if(below(ob_a,0.0), 0.0, ob_a);
per_frame_60=ob_a=if(above(ob_a,1.0), 1.0, ob_a);
per_pixel_1=dy = dy + if(below(abs(q1-x),0.01),if(below(y,q2),max(0.02-abs(q1-x),0),0.001),0.001);
per_pixel_2=cx = 8.13988973*sqr(warp - x);
per_pixel_3=cx=if(below(cx,-1.0), -1.0, cx);
per_pixel_4=cx=if(above(cx,2.0), 2.0, cx);
per_pixel_5=dy=if(below(dy,-1), -1, dy);
per_pixel_6=dy=if(above(dy,1.0), 1.0, dy);
