[preset00]
fRating=2.000000
fGammaAdj=1.980000
fDecay=1.000000
fVideoEchoZoom=1.006596
fVideoEchoAlpha=0.000000
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=4.099998
fWaveScale=0.200015
fWaveSmoothing=0.630000
fWaveParam=0.300000
fModWaveAlphaStart=0.710000
fModWaveAlphaEnd=1.300000
fWarpAnimSpeed=1.000000
fWarpScale=1.331000
fZoomExponent=1.000000
fShader=0.000000
zoom=1.000000
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=0.010000
sx=1.000000
sy=1.000000
wave_r=0.650000
wave_g=0.650000
wave_b=0.650000
wave_x=0.500000
wave_y=0.500000
ob_size=0.005000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=1.000000
ib_size=0.005000
ib_r=0.250000
ib_g=0.250000
ib_b=0.250000
ib_a=1.000000
nMotionVectorsX=11.520000
nMotionVectorsY=10.559999
mv_dx=-0.698261
mv_dy=-0.023053
mv_l=0.900000
mv_r=0.123289
mv_g=0.943345
mv_b=0.422813
mv_a=0.000000
per_frame_1=ib_a =0.2*bass;
per_frame_2=warp = 0;
per_frame_3=counter1 = if(equal(counter2,1),if(equal(counter1,1),0,counter1+.05),1);
per_frame_4=counter2 = if(equal(counter1,1),if(equal(counter2,1),0,counter2+.05),1);
per_frame_5=cdelay1 = if(equal(cdelay2,1),1,if(equal(colorcounter%2,1),if(equal(counter1,1),2 ,0), if(equal(counter2,1),2,0)));
per_frame_6=cdelay2 = if(equal(cdelay1,2),1,0);
per_frame_7=colorcounter = if(above(colorcounter,7),0,if(equal(cdelay1,1),colorcounter+1,colorcounter));
per_frame_8=oldx = if(equal(colorcounter%2,1),if(equal(counter1,.95),rx,oldx),if(equal(counter2,.95),rx,oldx));
per_frame_9=oldy = if(equal(colorcounter%2,1),if(equal(counter1,.95),ry,oldy),if(equal(counter2,.95),ry,oldy));
per_frame_10=oldxs = if(equal(colorcounter%2,1),if(equal(counter1,.95),rxs,oldxs),if(equal(counter2,.95),rxs,oldxs));
per_frame_11=oldys = if(equal(colorcounter%2,1),if(equal(counter1,.95),rys,oldys),if(equal(counter2,.95),rys,oldys));
per_frame_12=rx = if(equal(cdelay1,1),(rand(100)*.01),rx);
per_frame_13=ry = if(equal(cdelay1,1),(rand(100)*.01),ry);
per_frame_14=rxs = if(equal(cdelay1,1),(rand(100)*.01),rxs);
per_frame_15=rys = if(equal(cdelay1,1),(rand(100)*.01),rys);
per_frame_16=xm = if(equal(cdelay1,1),(rx - oldx)*.05,xm);
per_frame_17=ym = if(equal(cdelay1,1),(ry - oldy)*.05,ym);
per_frame_18=xms = if(equal(cdelay1,1),(rxs - oldxs)*.05,xms);
per_frame_19=yms = if(equal(cdelay1,1),(rys - oldys)*.05,yms);
per_frame_20=monitor = colorcounter;
per_frame_21=wave_r = bass*.4;
per_frame_22=wave_g = treb*.4;
per_frame_23=
per_frame_24=wave_b = mid*.4;
per_frame_25=wave_a = bass;
per_frame_26=wave_mystery = -.5+bass*.1;
per_frame_27=wave_x = if(above(frame%2,0), if(equal(colorcounter%2,1),rx-(abs(counter1-1)*(xm*20)),rx-(abs(counter2-1)*(xm*20))), if(equal(colorcounter%2,1),rxs-(abs(counter1-1)*(xms*20)),rxs-(abs(counter2-1)*(xms*20))));
per_frame_28=wave_y = if(above(frame%2,0), if(equal(colorcounter%2,1),ry-(abs(counter1-1)*(ym*20)),ry-(abs(counter2-1)*(ym*20))), if(equal(colorcounter%2,1),rys-(abs(counter1-1)*(yms*20)),rys-(abs(counter2-1)*(yms*20))));
per_frame_29=zoom = .995;
per_frame_30=slowtime = slowtime+beat*time;
per_frame_31=ying = if(below(ying,1),1,ying);
per_frame_32=ying = if (beat,ying + bnot(time*10%3),ying);
per_frame_33=yin = ying%2;
per_frame_34=vol_now =  .4 * bass + 0.1 * (bass_att+treb+mid);
per_frame_35=vol_mean =  if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now));
per_frame_36=beat = if(above(vol_now,1.5*vol_mean),1,0);
per_frame_37=beatcount = if(bnot(time%5000),0,beatcount);
per_frame_38=beatcount = beatcount +.05*beat;
per_frame_39=yang = bnot(beatcount%2);
per_frame_40=ib_r = 0;
per_frame_41=ib_g = pow(abs(sign(sin(slowtime))),2)*sin(slowtime);
per_frame_42=ib_b= cos(slowtime)*sign(cos(slowtime))*pow(abs(sign(sin(slowtime))),2);
per_frame_43=mv_g = sin(slowtime)*(sign(sin(slowtime))-1)*(sign(sin(slowtime)));
per_frame_44=mv_b = -1*abs(cos(slowtime))+1;
per_frame_45=mv_r = .8;
per_frame_46=wave_b = if(above(ib_b,0),ib_b,mv_b);
per_frame_47=wave_g = if(above(ib_g,0),ib_g,mv_g);
per_frame_48=q1 = if(yin,sin(slowtime),q1);
per_frame_49=wave_r = .8*q1;
per_frame_50=q2 = if(yin,.01*cos(slowtime),0);
per_frame_51=q3 = sin(slowtime);
per_frame_52=dx = if(yang,q1,dx);
per_frame_53=dy = if(yang,q2,dy);
per_frame_54=q3 = if(yang,0,q1);
per_frame_55=q5 = if(bnot(yin),abs(cos(time)),dx);
per_frame_56=sy = bnot(q3 * sin(time));
per_frame_57=dx=if(below(dx,-1), -1, dx);
per_frame_58=dx=if(above(dx,1.0), 1.0, dx);
per_frame_59=dy=if(below(dy,-1), -1, dy);
per_frame_60=dy=if(above(dy,1.0), 1.0, dy);
per_frame_61=sy=if(below(sy,0.01), 0.01, sy);
per_frame_62=sy=if(above(sy,100.0), 100.0, sy);
per_frame_63=ib_a = sin(time);
per_frame_64=ob_a = cos(time);
per_pixel_1=solipsist = if(equal(q3,0),0,.01*( rad - q3*x + pow(q3,4)*y));
per_pixel_2=rot = rot + sin(rad)-5*solipsist-1.5*q5;
per_pixel_3=zoom = .3+sin( rad)-5*solipsist;
per_pixel_4=dx = if(equal(q3,0),.08*x,.8*x*q1);
per_pixel_5=dy = if(equal(q3,0),.08*y,.8*y*q2);
per_pixel_6=sy = if(equal(q3,0),sy,1-solipsist);
per_pixel_7=dx = if(above(dx * rot , x - q1) , q2 * x , q2 + y);
per_pixel_8=zoom=if(below(zoom,0.01), 0.01, zoom);
per_pixel_9=zoom=if(above(zoom,100), 100, zoom);
per_pixel_10=rot=if(below(rot,-1.0), -1.0, rot);
per_pixel_11=rot=if(above(rot,1.0), 1.0, rot);
per_pixel_12=dx=if(below(dx,-1), -1, dx);
per_pixel_13=dx=if(above(dx,1.0), 1.0, dx);
per_pixel_14=dy=if(below(dy,-1), -1, dy);
per_pixel_15=dy=if(above(dy,1.0), 1.0, dy);
per_pixel_16=sy=if(below(sy,0.01), 0.01, sy);
per_pixel_17=sy=if(above(sy,100.0), 100.0, sy);
per_frame_init_1=q8=0;
